geoengineer 0.1.3 → 0.1.4

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 (189) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data.tar.gz.sig +0 -0
  4. data/README.md +8 -6
  5. data/lib/geoengineer.rb +2 -0
  6. data/lib/geoengineer/cli/geo_cli.rb +1 -4
  7. data/lib/geoengineer/cli/terraform_commands.rb +4 -2
  8. data/lib/geoengineer/environment.rb +14 -1
  9. data/lib/geoengineer/provider.rb +38 -0
  10. data/lib/geoengineer/resource.rb +29 -15
  11. data/lib/geoengineer/resources/api_gateway/helpers.rb +107 -0
  12. data/lib/geoengineer/resources/aws_alb.rb +39 -0
  13. data/lib/geoengineer/resources/aws_alb_listener.rb +39 -0
  14. data/lib/geoengineer/resources/aws_alb_listener_rule.rb +42 -0
  15. data/lib/geoengineer/resources/aws_alb_target_group.rb +30 -0
  16. data/lib/geoengineer/resources/aws_api_gateway_account.rb +18 -0
  17. data/lib/geoengineer/resources/aws_api_gateway_api_key.rb +20 -0
  18. data/lib/geoengineer/resources/aws_api_gateway_authorizer.rb +20 -0
  19. data/lib/geoengineer/resources/aws_api_gateway_base_path_mapping.rb +20 -0
  20. data/lib/geoengineer/resources/aws_api_gateway_client_certificate.rb +24 -0
  21. data/lib/geoengineer/resources/aws_api_gateway_deployment.rb +65 -0
  22. data/lib/geoengineer/resources/aws_api_gateway_domain_name.rb +27 -0
  23. data/lib/geoengineer/resources/aws_api_gateway_integration.rb +58 -0
  24. data/lib/geoengineer/resources/aws_api_gateway_integration_response.rb +68 -0
  25. data/lib/geoengineer/resources/aws_api_gateway_method.rb +59 -0
  26. data/lib/geoengineer/resources/aws_api_gateway_method_response.rb +69 -0
  27. data/lib/geoengineer/resources/aws_api_gateway_model.rb +19 -0
  28. data/lib/geoengineer/resources/aws_api_gateway_resource.rb +47 -0
  29. data/lib/geoengineer/resources/aws_api_gateway_rest_api.rb +79 -0
  30. data/lib/geoengineer/resources/aws_api_gateway_usage_plan.rb +27 -0
  31. data/lib/geoengineer/resources/aws_cloudfront_distribution.rb +25 -0
  32. data/lib/geoengineer/resources/aws_cloudtrail.rb +2 -2
  33. data/lib/geoengineer/resources/aws_cloudwatch_event_rule.rb +12 -3
  34. data/lib/geoengineer/resources/aws_cloudwatch_event_target.rb +2 -2
  35. data/lib/geoengineer/resources/aws_cloudwatch_metric_alarm.rb +10 -8
  36. data/lib/geoengineer/resources/aws_customer_gateway.rb +4 -2
  37. data/lib/geoengineer/resources/aws_db_instance.rb +2 -2
  38. data/lib/geoengineer/resources/aws_db_parameter_group.rb +4 -2
  39. data/lib/geoengineer/resources/aws_dynamodb_table.rb +2 -2
  40. data/lib/geoengineer/resources/aws_eip.rb +2 -2
  41. data/lib/geoengineer/resources/aws_elasticache_cluster.rb +2 -2
  42. data/lib/geoengineer/resources/aws_elasticache_parameter_group.rb +2 -2
  43. data/lib/geoengineer/resources/aws_elasticache_replication_group.rb +2 -2
  44. data/lib/geoengineer/resources/aws_elasticache_subnet_group.rb +2 -2
  45. data/lib/geoengineer/resources/aws_elasticsearch_domain.rb +2 -2
  46. data/lib/geoengineer/resources/aws_elb.rb +4 -2
  47. data/lib/geoengineer/resources/aws_iam_account_password_policy.rb +2 -1
  48. data/lib/geoengineer/resources/aws_iam_group.rb +2 -2
  49. data/lib/geoengineer/resources/aws_iam_group_membership.rb +1 -1
  50. data/lib/geoengineer/resources/aws_iam_instance_profile.rb +3 -3
  51. data/lib/geoengineer/resources/aws_iam_policy.rb +6 -4
  52. data/lib/geoengineer/resources/aws_iam_policy_attachment.rb +1 -1
  53. data/lib/geoengineer/resources/aws_iam_role.rb +2 -2
  54. data/lib/geoengineer/resources/aws_iam_role_policy.rb +10 -9
  55. data/lib/geoengineer/resources/aws_iam_user.rb +4 -4
  56. data/lib/geoengineer/resources/aws_instance.rb +3 -3
  57. data/lib/geoengineer/resources/aws_internet_gateway.rb +3 -2
  58. data/lib/geoengineer/resources/aws_kinesis_stream.rb +4 -4
  59. data/lib/geoengineer/resources/aws_kms_key.rb +5 -3
  60. data/lib/geoengineer/resources/aws_lambda_alias.rb +7 -7
  61. data/lib/geoengineer/resources/aws_lambda_event_source_mapping.rb +2 -2
  62. data/lib/geoengineer/resources/aws_lambda_function.rb +2 -2
  63. data/lib/geoengineer/resources/aws_lambda_permission.rb +9 -8
  64. data/lib/geoengineer/resources/aws_lb_cookie_stickiness_policy.rb +47 -0
  65. data/lib/geoengineer/resources/aws_load_balancer_backend_server_policy.rb +2 -2
  66. data/lib/geoengineer/resources/aws_load_balancer_policy.rb +5 -5
  67. data/lib/geoengineer/resources/aws_main_route_table_association.rb +2 -2
  68. data/lib/geoengineer/resources/aws_nat_gateway.rb +2 -2
  69. data/lib/geoengineer/resources/aws_network_acl.rb +2 -2
  70. data/lib/geoengineer/resources/aws_network_acl_rule.rb +2 -2
  71. data/lib/geoengineer/resources/aws_proxy_protocol_policy.rb +1 -1
  72. data/lib/geoengineer/resources/aws_redshift_cluster.rb +2 -2
  73. data/lib/geoengineer/resources/aws_route.rb +2 -2
  74. data/lib/geoengineer/resources/aws_route53_record.rb +6 -6
  75. data/lib/geoengineer/resources/aws_route53_zone.rb +2 -2
  76. data/lib/geoengineer/resources/aws_route_table.rb +2 -2
  77. data/lib/geoengineer/resources/aws_route_table_association.rb +2 -2
  78. data/lib/geoengineer/resources/aws_s3_bucket.rb +2 -2
  79. data/lib/geoengineer/resources/aws_s3_bucket_notification.rb +38 -0
  80. data/lib/geoengineer/resources/aws_security_group.rb +2 -2
  81. data/lib/geoengineer/resources/aws_ses_receipt_rule.rb +2 -2
  82. data/lib/geoengineer/resources/aws_ses_receipt_rule_set.rb +2 -2
  83. data/lib/geoengineer/resources/aws_sns_topic.rb +2 -2
  84. data/lib/geoengineer/resources/aws_sns_topic_subscription.rb +5 -5
  85. data/lib/geoengineer/resources/aws_sqs_queue.rb +2 -2
  86. data/lib/geoengineer/resources/aws_subnet.rb +2 -2
  87. data/lib/geoengineer/resources/aws_vpc.rb +2 -2
  88. data/lib/geoengineer/resources/aws_vpc_dhcp_options.rb +2 -2
  89. data/lib/geoengineer/resources/aws_vpc_dhcp_options_association.rb +2 -2
  90. data/lib/geoengineer/resources/aws_vpc_endpoint.rb +2 -2
  91. data/lib/geoengineer/resources/aws_vpc_peering_connection.rb +2 -2
  92. data/lib/geoengineer/resources/aws_vpn_connection.rb +3 -2
  93. data/lib/geoengineer/resources/aws_vpn_connection_route.rb +2 -2
  94. data/lib/geoengineer/resources/aws_vpn_gateway.rb +2 -2
  95. data/lib/geoengineer/resources/aws_vpn_gateway_attachment.rb +2 -2
  96. data/lib/geoengineer/template.rb +3 -1
  97. data/lib/geoengineer/templates/json_rest_api.rb +197 -0
  98. data/lib/geoengineer/utils/aws_clients.rb +129 -38
  99. data/lib/geoengineer/utils/has_templates.rb +1 -1
  100. data/lib/geoengineer/version.rb +1 -1
  101. data/spec/environment_spec.rb +1 -1
  102. data/spec/resource_spec.rb +24 -10
  103. data/spec/resources/aws_alb_listener_rule_spec.rb +45 -0
  104. data/spec/resources/aws_alb_listener_spec.rb +33 -0
  105. data/spec/resources/aws_alb_spec.rb +33 -0
  106. data/spec/resources/aws_alb_target_group_spec.rb +35 -0
  107. data/spec/resources/aws_api_gateway_account_spec.rb +6 -0
  108. data/spec/resources/aws_api_gateway_api_key_spec.rb +6 -0
  109. data/spec/resources/aws_api_gateway_authorizer_spec.rb +6 -0
  110. data/spec/resources/aws_api_gateway_base_path_mapping_spec.rb +6 -0
  111. data/spec/resources/aws_api_gateway_client_certificate_spec.rb +6 -0
  112. data/spec/resources/aws_api_gateway_deployment_spec.rb +6 -0
  113. data/spec/resources/aws_api_gateway_domain_name_spec.rb +6 -0
  114. data/spec/resources/aws_api_gateway_integration_response_spec.rb +6 -0
  115. data/spec/resources/aws_api_gateway_integration_spec.rb +6 -0
  116. data/spec/resources/aws_api_gateway_method_response_spec.rb +6 -0
  117. data/spec/resources/aws_api_gateway_method_spec.rb +6 -0
  118. data/spec/resources/aws_api_gateway_model_spec.rb +6 -0
  119. data/spec/resources/aws_api_gateway_resource_spec.rb +6 -0
  120. data/spec/resources/aws_api_gateway_rest_api_spec.rb +6 -0
  121. data/spec/resources/aws_cloudfront_distribution_spec.rb +50 -0
  122. data/spec/resources/aws_cloudtrail_spec.rb +3 -3
  123. data/spec/resources/aws_cloudwatch_event_rule_spec.rb +3 -3
  124. data/spec/resources/aws_cloudwatch_event_target_spec.rb +4 -6
  125. data/spec/resources/aws_cloudwatch_metric_alarm_spec.rb +3 -6
  126. data/spec/resources/aws_customer_gateway_spec.rb +4 -3
  127. data/spec/resources/aws_db_instance_spec.rb +3 -3
  128. data/spec/resources/aws_db_parameter_group_spec.rb +3 -3
  129. data/spec/resources/aws_dynamodb_table_spec.rb +3 -3
  130. data/spec/resources/aws_eip_spec.rb +3 -3
  131. data/spec/resources/aws_elasticache_replication_group_spec.rb +3 -6
  132. data/spec/resources/aws_elasticache_subnet_group_spec.rb +4 -6
  133. data/spec/resources/aws_elasticcache_cluster_spec.rb +3 -3
  134. data/spec/resources/aws_elasticcache_parameter_group_spec.rb +3 -6
  135. data/spec/resources/aws_elasticsearch_domain_spec.rb +3 -3
  136. data/spec/resources/aws_elb_spec.rb +3 -3
  137. data/spec/resources/aws_iam_account_password_policy_spec.rb +2 -6
  138. data/spec/resources/aws_iam_group_membership_spec.rb +2 -6
  139. data/spec/resources/aws_iam_group_spec.rb +3 -3
  140. data/spec/resources/aws_iam_instance_profile_spec.rb +3 -6
  141. data/spec/resources/aws_iam_policy_attachment_spec.rb +2 -6
  142. data/spec/resources/aws_iam_policy_spec.rb +3 -5
  143. data/spec/resources/aws_iam_role_spec.rb +3 -4
  144. data/spec/resources/aws_iam_rule_policy_spec.rb +2 -5
  145. data/spec/resources/aws_iam_user_spec.rb +3 -4
  146. data/spec/resources/aws_instance_spec.rb +3 -3
  147. data/spec/resources/aws_internet_gateway_spec.rb +3 -3
  148. data/spec/resources/aws_kinesis_stream_spec.rb +3 -4
  149. data/spec/resources/aws_kms_key_spec.rb +3 -3
  150. data/spec/resources/aws_lambda_alias_spec.rb +2 -3
  151. data/spec/resources/aws_lambda_event_source_mapping_spec.rb +2 -5
  152. data/spec/resources/aws_lambda_function_spec.rb +3 -4
  153. data/spec/resources/aws_lambda_permission_spec.rb +1 -1
  154. data/spec/resources/aws_lb_cookie_stickiness_policy_spec.rb +38 -0
  155. data/spec/resources/aws_load_balancer_backend_server_policy_spec.rb +2 -3
  156. data/spec/resources/aws_load_balancer_policy_spec.rb +3 -4
  157. data/spec/resources/aws_main_route_table_association_spec.rb +2 -5
  158. data/spec/resources/aws_nat_gateway_spec.rb +3 -4
  159. data/spec/resources/aws_network_acl_rule_spec.rb +2 -3
  160. data/spec/resources/aws_network_acl_spec.rb +3 -3
  161. data/spec/resources/aws_proxy_protocol_policy_spec.rb +2 -2
  162. data/spec/resources/aws_redshift_cluster_spec.rb +3 -3
  163. data/spec/resources/aws_route53_record_spec.rb +3 -4
  164. data/spec/resources/aws_route53_zone_spec.rb +3 -4
  165. data/spec/resources/aws_route_spec.rb +3 -6
  166. data/spec/resources/aws_route_table_association_spec.rb +4 -6
  167. data/spec/resources/aws_route_table_spec.rb +3 -3
  168. data/spec/resources/aws_s3_bucket_notification_spec.rb +4 -0
  169. data/spec/resources/aws_s3_bucket_spec.rb +3 -3
  170. data/spec/resources/aws_security_group_spec.rb +5 -5
  171. data/spec/resources/aws_ses_receipt_rule_set_spec.rb +3 -4
  172. data/spec/resources/aws_ses_receipt_rule_spec.rb +3 -4
  173. data/spec/resources/aws_sns_topic_spec.rb +10 -6
  174. data/spec/resources/aws_sns_topic_subscription_spec.rb +8 -7
  175. data/spec/resources/aws_sqs_queue_spec.rb +3 -3
  176. data/spec/resources/aws_subnet_spec.rb +3 -3
  177. data/spec/resources/aws_vpc_dhcp_options_association_spec.rb +3 -6
  178. data/spec/resources/aws_vpc_dhcp_options_spec.rb +3 -3
  179. data/spec/resources/aws_vpc_endpoint_spec.rb +3 -6
  180. data/spec/resources/aws_vpc_peering_connection_spec.rb +4 -6
  181. data/spec/resources/aws_vpc_spec.rb +3 -3
  182. data/spec/resources/aws_vpn_connection_route_spec.rb +3 -6
  183. data/spec/resources/aws_vpn_connection_spec.rb +3 -3
  184. data/spec/resources/aws_vpn_gateway_attachment_spec.rb +4 -6
  185. data/spec/resources/aws_vpn_gateway_spec.rb +3 -3
  186. data/spec/spec_helper.rb +3 -1
  187. data/spec/support/normalize_indent.rb +12 -0
  188. metadata +92 -22
  189. metadata.gz.sig +0 -0
@@ -1,10 +1,7 @@
1
1
  require_relative '../spec_helper'
2
2
 
3
- describe("GeoEngineer::Resources::AwsVpcDhcpOptionsAssociation") do
4
- common_resource_tests(
5
- GeoEngineer::Resources::AwsVpcDhcpOptionsAssociation,
6
- 'aws_vpc_dhcp_options_association'
7
- )
3
+ describe(GeoEngineer::Resources::AwsVpcDhcpOptionsAssociation) do
4
+ common_resource_tests(described_class, described_class.type_from_class_name)
8
5
 
9
6
  describe "#_fetch_remote_resources" do
10
7
  let(:ec2) { AwsClients.ec2 }
@@ -36,7 +33,7 @@ describe("GeoEngineer::Resources::AwsVpcDhcpOptionsAssociation") do
36
33
  end
37
34
 
38
35
  it 'should create list of hashes from returned AWS SDK' do
39
- remote_resources = GeoEngineer::Resources::AwsVpc._fetch_remote_resources
36
+ remote_resources = GeoEngineer::Resources::AwsVpc._fetch_remote_resources(nil)
40
37
  expect(remote_resources.length).to eq(2)
41
38
  end
42
39
  end
@@ -1,7 +1,7 @@
1
1
  require_relative '../spec_helper'
2
2
 
3
- describe("GeoEngineer::Resources::AwsVpcDhcpOptions") do
4
- common_resource_tests(GeoEngineer::Resources::AwsVpcDhcpOptions, 'aws_vpc_dhcp_options')
3
+ describe(GeoEngineer::Resources::AwsVpcDhcpOptions) do
4
+ common_resource_tests(described_class, described_class.type_from_class_name)
5
5
  name_tag_geo_id_tests(GeoEngineer::Resources::AwsVpcDhcpOptions)
6
6
 
7
7
  describe "#_fetch_remote_resources" do
@@ -17,7 +17,7 @@ describe("GeoEngineer::Resources::AwsVpcDhcpOptions") do
17
17
  }
18
18
  )
19
19
  ec2.stub_responses(:describe_dhcp_options, stub)
20
- remote_resources = GeoEngineer::Resources::AwsVpcDhcpOptions._fetch_remote_resources
20
+ remote_resources = GeoEngineer::Resources::AwsVpcDhcpOptions._fetch_remote_resources(nil)
21
21
  expect(remote_resources.length).to eq(2)
22
22
  end
23
23
  end
@@ -1,10 +1,7 @@
1
1
  require_relative '../spec_helper'
2
2
 
3
- describe("GeoEngineer::Resources::AwsVpcEndpoint") do
4
- common_resource_tests(
5
- GeoEngineer::Resources::AwsVpcEndpoint,
6
- 'aws_vpc_endpoint'
7
- )
3
+ describe(GeoEngineer::Resources::AwsVpcEndpoint) do
4
+ common_resource_tests(described_class, described_class.type_from_class_name)
8
5
 
9
6
  describe "#_fetch_remote_resources" do
10
7
  let(:ec2) { AwsClients.ec2 }
@@ -34,7 +31,7 @@ describe("GeoEngineer::Resources::AwsVpcEndpoint") do
34
31
  end
35
32
 
36
33
  it 'should create list of hashes from returned AWS SDK' do
37
- remote_resources = GeoEngineer::Resources::AwsVpcEndpoint._fetch_remote_resources
34
+ remote_resources = GeoEngineer::Resources::AwsVpcEndpoint._fetch_remote_resources(nil)
38
35
  expect(remote_resources.length).to eq(2)
39
36
  end
40
37
  end
@@ -1,10 +1,7 @@
1
1
  require_relative '../spec_helper'
2
2
 
3
- describe("GeoEngineer::Resources::AwsVpcPeeringConnection") do
4
- common_resource_tests(
5
- GeoEngineer::Resources::AwsVpcPeeringConnection,
6
- 'aws_vpc_peering_connection'
7
- )
3
+ describe(GeoEngineer::Resources::AwsVpcPeeringConnection) do
4
+ common_resource_tests(described_class, described_class.type_from_class_name)
8
5
 
9
6
  describe "#_fetch_remote_resources" do
10
7
  let(:ec2) { AwsClients.ec2 }
@@ -26,7 +23,8 @@ describe("GeoEngineer::Resources::AwsVpcPeeringConnection") do
26
23
  end
27
24
 
28
25
  it 'should create list of hashes from returned AWS SDK' do
29
- remote_resources = GeoEngineer::Resources::AwsVpcPeeringConnection._fetch_remote_resources
26
+ remote_resources = GeoEngineer::Resources::AwsVpcPeeringConnection
27
+ ._fetch_remote_resources(nil)
30
28
  expect(remote_resources.length).to eq(2)
31
29
  end
32
30
  end
@@ -1,7 +1,7 @@
1
1
  require_relative '../spec_helper'
2
2
 
3
- describe("GeoEngineer::Resources::AwsVpc") do
4
- common_resource_tests(GeoEngineer::Resources::AwsVpc, 'aws_vpc')
3
+ describe(GeoEngineer::Resources::AwsVpc) do
4
+ common_resource_tests(described_class, described_class.type_from_class_name)
5
5
  name_tag_geo_id_tests(GeoEngineer::Resources::AwsVpc)
6
6
 
7
7
  describe "#_fetch_remote_resources" do
@@ -17,7 +17,7 @@ describe("GeoEngineer::Resources::AwsVpc") do
17
17
  }
18
18
  )
19
19
  ec2.stub_responses(:describe_vpcs, stub)
20
- remote_resources = GeoEngineer::Resources::AwsVpc._fetch_remote_resources
20
+ remote_resources = GeoEngineer::Resources::AwsVpc._fetch_remote_resources(nil)
21
21
  expect(remote_resources.length).to eq(2)
22
22
  end
23
23
  end
@@ -1,10 +1,7 @@
1
1
  require_relative '../spec_helper'
2
2
 
3
- describe("GeoEngineer::Resources::AwsVpnConnectionRoute") do
4
- common_resource_tests(
5
- GeoEngineer::Resources::AwsVpnConnectionRoute,
6
- 'aws_vpn_connection_route'
7
- )
3
+ describe(GeoEngineer::Resources::AwsVpnConnectionRoute) do
4
+ common_resource_tests(described_class, described_class.type_from_class_name)
8
5
 
9
6
  describe "#_fetch_remote_resources" do
10
7
  let(:ec2) { AwsClients.ec2 }
@@ -36,7 +33,7 @@ describe("GeoEngineer::Resources::AwsVpnConnectionRoute") do
36
33
  end
37
34
 
38
35
  it 'should create list of hashes from returned AWS SDK' do
39
- remote_resources = GeoEngineer::Resources::AwsVpnConnectionRoute._fetch_remote_resources
36
+ remote_resources = GeoEngineer::Resources::AwsVpnConnectionRoute._fetch_remote_resources(nil)
40
37
  expect(remote_resources.length).to eq(2)
41
38
  end
42
39
  end
@@ -1,7 +1,7 @@
1
1
  require_relative '../spec_helper'
2
2
 
3
- describe("GeoEngineer::Resources::AwsVpnConnection") do
4
- common_resource_tests(GeoEngineer::Resources::AwsVpnConnection, 'aws_vpn_connection')
3
+ describe(GeoEngineer::Resources::AwsVpnConnection) do
4
+ common_resource_tests(described_class, described_class.type_from_class_name)
5
5
  name_tag_geo_id_tests(GeoEngineer::Resources::AwsVpnConnection)
6
6
 
7
7
  describe "#_fetch_remote_resources" do
@@ -34,7 +34,7 @@ describe("GeoEngineer::Resources::AwsVpnConnection") do
34
34
  end
35
35
 
36
36
  it 'should create list of hashes from returned AWS SDK' do
37
- remote_resources = GeoEngineer::Resources::AwsVpnConnection._fetch_remote_resources
37
+ remote_resources = GeoEngineer::Resources::AwsVpnConnection._fetch_remote_resources(nil)
38
38
  expect(remote_resources.length).to eq(2)
39
39
  end
40
40
  end
@@ -1,10 +1,7 @@
1
1
  require_relative '../spec_helper'
2
2
 
3
- describe("GeoEngineer::Resources::AwsVpnGatewayAttachment") do
4
- common_resource_tests(
5
- GeoEngineer::Resources::AwsVpnGatewayAttachment,
6
- 'aws_vpn_gateway_attachment'
7
- )
3
+ describe(GeoEngineer::Resources::AwsVpnGatewayAttachment) do
4
+ common_resource_tests(described_class, described_class.type_from_class_name)
8
5
 
9
6
  describe "#_fetch_remote_resources" do
10
7
  let(:ec2) { AwsClients.ec2 }
@@ -34,7 +31,8 @@ describe("GeoEngineer::Resources::AwsVpnGatewayAttachment") do
34
31
  end
35
32
 
36
33
  it 'should create list of hashes from returned AWS SDK' do
37
- remote_resources = GeoEngineer::Resources::AwsVpnGatewayAttachment._fetch_remote_resources
34
+ remote_resources = GeoEngineer::Resources::AwsVpnGatewayAttachment
35
+ ._fetch_remote_resources(nil)
38
36
  expect(remote_resources.length).to eq(2)
39
37
  end
40
38
  end
@@ -1,7 +1,7 @@
1
1
  require_relative '../spec_helper'
2
2
 
3
- describe("GeoEngineer::Resources::AwsVpnGateway") do
4
- common_resource_tests(GeoEngineer::Resources::AwsVpnGateway, 'aws_vpn_gateway')
3
+ describe(GeoEngineer::Resources::AwsVpnGateway) do
4
+ common_resource_tests(described_class, described_class.type_from_class_name)
5
5
  name_tag_geo_id_tests(GeoEngineer::Resources::AwsVpnGateway)
6
6
 
7
7
  describe "#_fetch_remote_resources" do
@@ -32,7 +32,7 @@ describe("GeoEngineer::Resources::AwsVpnGateway") do
32
32
  end
33
33
 
34
34
  it 'should create list of hashes from returned AWS SDK' do
35
- remote_resources = GeoEngineer::Resources::AwsVpnGateway._fetch_remote_resources
35
+ remote_resources = GeoEngineer::Resources::AwsVpnGateway._fetch_remote_resources(nil)
36
36
  expect(remote_resources.length).to eq(2)
37
37
  end
38
38
  end
@@ -2,6 +2,8 @@ require 'rspec'
2
2
  require_relative '../lib/geoengineer'
3
3
  require 'pry'
4
4
 
5
+ Dir[File.dirname(__FILE__) + '/support/**/*.rb'].each { |f| require f }
6
+
5
7
  # https://ruby.awsblog.com/post/Tx2SU6TYJWQQLC3/Stubbing-AWS-Responses
6
8
  AwsClients.stub!
7
9
 
@@ -36,7 +38,7 @@ end
36
38
 
37
39
  def fetch_empty_should_work(clazz)
38
40
  it 'should work with emtpy response' do
39
- remote_resources = clazz._fetch_remote_resources
41
+ remote_resources = clazz._fetch_remote_resources(nil)
40
42
  expect(remote_resources.length).to eq 0
41
43
  end
42
44
  end
@@ -0,0 +1,12 @@
1
+ module IndentNormalizer
2
+ # Strips off excess leading indentation from each line so we can use Heredocs
3
+ # for writing code without having the leading indentation included.
4
+ def normalize_indent(code)
5
+ leading_indent = code[/^(\s*)/, 1]
6
+ code.lstrip.gsub(/\n#{leading_indent}/, "\n")
7
+ end
8
+ end
9
+
10
+ RSpec.configure do |_config|
11
+ include IndentNormalizer
12
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: geoengineer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - coinbase
@@ -10,27 +10,28 @@ bindir: bin
10
10
  cert_chain:
11
11
  - |
12
12
  -----BEGIN CERTIFICATE-----
13
- MIIDijCCAnKgAwIBAgIBATANBgkqhkiG9w0BAQUFADBFMRQwEgYDVQQDDAtnZW9l
14
- bmdpbmVlcjEYMBYGCgmSJomT8ixkARkWCGNvaW5iYXNlMRMwEQYKCZImiZPyLGQB
15
- GRYDY29tMB4XDTE2MTIyOTE4MzQ0M1oXDTE3MTIyOTE4MzQ0M1owRTEUMBIGA1UE
16
- AwwLZ2VvZW5naW5lZXIxGDAWBgoJkiaJk/IsZAEZFghjb2luYmFzZTETMBEGCgmS
17
- JomT8ixkARkWA2NvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALaH
18
- THSRh8ZT/1ATMtT0E3QMe9vpCc+CXx9NE1ulkwZZxBNoRQtJwF+AW8A2WJ38crxk
19
- RyYJy7iE/ZEA1rrYLbMuvpbK6x5WaC9g68Iwb/vtc04GNVkiY4IuE9H2jm04yVMB
20
- Tsvs7boRoEt0LfiGgEjBpBQmUE0IuU3q1PnXfhrJvBVb4r+6/PaCTsjwy3226yXr
21
- rtEPHZP9uou6ZwaWrHrNkREOAAoRc4QTsuQoh6MZuUpcKhWk75ZuLihQi7ST1K6U
22
- DvmGB3nrmnZbzlyPI3bjolWGoDRR72sMFNs2djASTeKQI52vJB03wFv/1Qow89+r
23
- JBNHgZeGfSgYOPV8r20CAwEAAaOBhDCBgTAJBgNVHRMEAjAAMAsGA1UdDwQEAwIE
24
- sDAdBgNVHQ4EFgQUxM51GnNOQC4m66Hikp6h6qEHNCEwIwYDVR0RBBwwGoEYZ2Vv
25
- ZW5naW5lZXJAY29pbmJhc2UuY29tMCMGA1UdEgQcMBqBGGdlb2VuZ2luZWVyQGNv
26
- aW5iYXNlLmNvbTANBgkqhkiG9w0BAQUFAAOCAQEAio4/74eUc8dECI9UrmpCB5y5
27
- G4Hrgk4epPeQoeBJPtVfxtyAui3itTUKA8dzT3st+yopzliSImTUMNwRa+K9WfFM
28
- AQ7Jd3vZT0jSK7y0FmmBaZzl0rXBqGOvXLcIoChvaZj6obzNarPODyRlllKX6ATM
29
- jfuWe0dOA1gZHMwI9xYL6CLTceJTs2M3sW9o5vZyWLnFL93rqpMH5TncwIZP+Zfi
30
- 6WK7/7ziN7oP5gOag1gEqjCieZEtmPdj2uvE5+X0/bQOpstnZfPbeaMxswFdxMB4
31
- gvJWIT9xvxqnL8bM/44RAGrzrkx7OQi5HEoMCpfXJevlu1PF17Y3ylbNGBL4Og==
13
+ MIIDkjCCAnqgAwIBAgIBATANBgkqhkiG9w0BAQUFADBHMRYwFAYDVQQDDA1ncmFo
14
+ YW0uamVuc29uMRgwFgYKCZImiZPyLGQBGRYIY29pbmJhc2UxEzARBgoJkiaJk/Is
15
+ ZAEZFgNjb20wHhcNMTcwNTE4MTcyNzA1WhcNMTgwNTE4MTcyNzA1WjBHMRYwFAYD
16
+ VQQDDA1ncmFoYW0uamVuc29uMRgwFgYKCZImiZPyLGQBGRYIY29pbmJhc2UxEzAR
17
+ BgoJkiaJk/IsZAEZFgNjb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
18
+ AQCu8wL79Us/0fesRC9YByKLOHc+QGF5ZjPZACsVOiaWwlqHMa5wAsvlTuepdoUa
19
+ WQ918CaXyeacrIkRVCn1unaU8aI70ZspbdznaZ4xN06faEQvvIzHjB8OkRMUhYPF
20
+ IhsHMSqfvenWV9fywzju0yBWOgMsZcQgVl2cZqfjj9yHES3F55PEQMbJL8eLdj4s
21
+ y+lvoftOFSo+fByaTDYk8fRcKjczWdCXYyjXUOXPsMTRvbVlY70HW+1dZ4Jq38sX
22
+ 08H/UGpypDquG7/IlEP2htE4Ie0cc3/1/76YCirVVfBbQKOwAnAOWlMCRAd+QFxD
23
+ eprvTNX5BaCImdwLwlZszoVxAgMBAAGjgYgwgYUwCQYDVR0TBAIwADALBgNVHQ8E
24
+ BAMCBLAwHQYDVR0OBBYEFLboa/7VNHrQZK9xVUOsxppaNrLFMCUGA1UdEQQeMByB
25
+ GmdyYWhhbS5qZW5zb25AY29pbmJhc2UuY29tMCUGA1UdEgQeMByBGmdyYWhhbS5q
26
+ ZW5zb25AY29pbmJhc2UuY29tMA0GCSqGSIb3DQEBBQUAA4IBAQBOiXdx2N2NgwnQ
27
+ xZ3S0sa7ktVskGaOLQooUEYHif3MPeQ22Ih+kwLUhCONxYfaRR8jMkCrmH0mBPY+
28
+ uy1tCnjt26N3K6+TtpvxcT2gUHCIAHNSmi+ZaqqHDh4wqINGRXl6VO8ebd8SldP9
29
+ F3keXj6r9kZgeBmV5MVWPuif1Z1tE5DhkLzmPUF5OdhfeNgZPv0cRay2ztdYdBKG
30
+ hTXi5vaJyQer3kiRf7Ot7GiTMVhZrHfTBS3AqOLeO6BD0+br8/rYR9x/Zf+PX9Fq
31
+ /uh1ggoD3DEtJFiR1KLueTTmWbOrmhzKgyPiQUYOt8dakCJYED2VhgDLVs+/d4ar
32
+ EWw3+Vet
32
33
  -----END CERTIFICATE-----
33
- date: 2017-02-17 00:00:00.000000000 Z
34
+ date: 2017-05-18 00:00:00.000000000 Z
34
35
  dependencies:
35
36
  - !ruby/object:Gem::Dependency
36
37
  name: rspec
@@ -192,7 +193,29 @@ files:
192
193
  - lib/geoengineer/environment.rb
193
194
  - lib/geoengineer/output.rb
194
195
  - lib/geoengineer/project.rb
196
+ - lib/geoengineer/provider.rb
195
197
  - lib/geoengineer/resource.rb
198
+ - lib/geoengineer/resources/api_gateway/helpers.rb
199
+ - lib/geoengineer/resources/aws_alb.rb
200
+ - lib/geoengineer/resources/aws_alb_listener.rb
201
+ - lib/geoengineer/resources/aws_alb_listener_rule.rb
202
+ - lib/geoengineer/resources/aws_alb_target_group.rb
203
+ - lib/geoengineer/resources/aws_api_gateway_account.rb
204
+ - lib/geoengineer/resources/aws_api_gateway_api_key.rb
205
+ - lib/geoengineer/resources/aws_api_gateway_authorizer.rb
206
+ - lib/geoengineer/resources/aws_api_gateway_base_path_mapping.rb
207
+ - lib/geoengineer/resources/aws_api_gateway_client_certificate.rb
208
+ - lib/geoengineer/resources/aws_api_gateway_deployment.rb
209
+ - lib/geoengineer/resources/aws_api_gateway_domain_name.rb
210
+ - lib/geoengineer/resources/aws_api_gateway_integration.rb
211
+ - lib/geoengineer/resources/aws_api_gateway_integration_response.rb
212
+ - lib/geoengineer/resources/aws_api_gateway_method.rb
213
+ - lib/geoengineer/resources/aws_api_gateway_method_response.rb
214
+ - lib/geoengineer/resources/aws_api_gateway_model.rb
215
+ - lib/geoengineer/resources/aws_api_gateway_resource.rb
216
+ - lib/geoengineer/resources/aws_api_gateway_rest_api.rb
217
+ - lib/geoengineer/resources/aws_api_gateway_usage_plan.rb
218
+ - lib/geoengineer/resources/aws_cloudfront_distribution.rb
196
219
  - lib/geoengineer/resources/aws_cloudtrail.rb
197
220
  - lib/geoengineer/resources/aws_cloudwatch_event_rule.rb
198
221
  - lib/geoengineer/resources/aws_cloudwatch_event_target.rb
@@ -225,6 +248,7 @@ files:
225
248
  - lib/geoengineer/resources/aws_lambda_event_source_mapping.rb
226
249
  - lib/geoengineer/resources/aws_lambda_function.rb
227
250
  - lib/geoengineer/resources/aws_lambda_permission.rb
251
+ - lib/geoengineer/resources/aws_lb_cookie_stickiness_policy.rb
228
252
  - lib/geoengineer/resources/aws_load_balancer_backend_server_policy.rb
229
253
  - lib/geoengineer/resources/aws_load_balancer_policy.rb
230
254
  - lib/geoengineer/resources/aws_main_route_table_association.rb
@@ -239,6 +263,7 @@ files:
239
263
  - lib/geoengineer/resources/aws_route_table.rb
240
264
  - lib/geoengineer/resources/aws_route_table_association.rb
241
265
  - lib/geoengineer/resources/aws_s3_bucket.rb
266
+ - lib/geoengineer/resources/aws_s3_bucket_notification.rb
242
267
  - lib/geoengineer/resources/aws_security_group.rb
243
268
  - lib/geoengineer/resources/aws_ses_receipt_rule.rb
244
269
  - lib/geoengineer/resources/aws_ses_receipt_rule_set.rb
@@ -258,6 +283,7 @@ files:
258
283
  - lib/geoengineer/resources/iam/statement.rb
259
284
  - lib/geoengineer/sub_resource.rb
260
285
  - lib/geoengineer/template.rb
286
+ - lib/geoengineer/templates/json_rest_api.rb
261
287
  - lib/geoengineer/utils/aws_clients.rb
262
288
  - lib/geoengineer/utils/crc32.rb
263
289
  - lib/geoengineer/utils/has_attributes.rb
@@ -273,6 +299,25 @@ files:
273
299
  - spec/output_spec.rb
274
300
  - spec/project_spec.rb
275
301
  - spec/resource_spec.rb
302
+ - spec/resources/aws_alb_listener_rule_spec.rb
303
+ - spec/resources/aws_alb_listener_spec.rb
304
+ - spec/resources/aws_alb_spec.rb
305
+ - spec/resources/aws_alb_target_group_spec.rb
306
+ - spec/resources/aws_api_gateway_account_spec.rb
307
+ - spec/resources/aws_api_gateway_api_key_spec.rb
308
+ - spec/resources/aws_api_gateway_authorizer_spec.rb
309
+ - spec/resources/aws_api_gateway_base_path_mapping_spec.rb
310
+ - spec/resources/aws_api_gateway_client_certificate_spec.rb
311
+ - spec/resources/aws_api_gateway_deployment_spec.rb
312
+ - spec/resources/aws_api_gateway_domain_name_spec.rb
313
+ - spec/resources/aws_api_gateway_integration_response_spec.rb
314
+ - spec/resources/aws_api_gateway_integration_spec.rb
315
+ - spec/resources/aws_api_gateway_method_response_spec.rb
316
+ - spec/resources/aws_api_gateway_method_spec.rb
317
+ - spec/resources/aws_api_gateway_model_spec.rb
318
+ - spec/resources/aws_api_gateway_resource_spec.rb
319
+ - spec/resources/aws_api_gateway_rest_api_spec.rb
320
+ - spec/resources/aws_cloudfront_distribution_spec.rb
276
321
  - spec/resources/aws_cloudtrail_spec.rb
277
322
  - spec/resources/aws_cloudwatch_event_rule_spec.rb
278
323
  - spec/resources/aws_cloudwatch_event_target_spec.rb
@@ -305,6 +350,7 @@ files:
305
350
  - spec/resources/aws_lambda_event_source_mapping_spec.rb
306
351
  - spec/resources/aws_lambda_function_spec.rb
307
352
  - spec/resources/aws_lambda_permission_spec.rb
353
+ - spec/resources/aws_lb_cookie_stickiness_policy_spec.rb
308
354
  - spec/resources/aws_load_balancer_backend_server_policy_spec.rb
309
355
  - spec/resources/aws_load_balancer_policy_spec.rb
310
356
  - spec/resources/aws_main_route_table_association_spec.rb
@@ -318,6 +364,7 @@ files:
318
364
  - spec/resources/aws_route_spec.rb
319
365
  - spec/resources/aws_route_table_association_spec.rb
320
366
  - spec/resources/aws_route_table_spec.rb
367
+ - spec/resources/aws_s3_bucket_notification_spec.rb
321
368
  - spec/resources/aws_s3_bucket_spec.rb
322
369
  - spec/resources/aws_security_group_spec.rb
323
370
  - spec/resources/aws_ses_receipt_rule_set_spec.rb
@@ -338,6 +385,7 @@ files:
338
385
  - spec/rubocop_spec.rb
339
386
  - spec/spec_helper.rb
340
387
  - spec/sub_resource_spec.rb
388
+ - spec/support/normalize_indent.rb
341
389
  - spec/template_spec.rb
342
390
  - spec/utils/crc32_spec.rb
343
391
  - spec/utils/has_attributes_spec.rb
@@ -366,7 +414,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
366
414
  version: '0'
367
415
  requirements: []
368
416
  rubyforge_project:
369
- rubygems_version: 2.5.1
417
+ rubygems_version: 2.6.11
370
418
  signing_key:
371
419
  specification_version: 4
372
420
  summary: GeoEngineer can codeify, plan and execute changes to cloud resources.
@@ -375,6 +423,25 @@ test_files:
375
423
  - spec/output_spec.rb
376
424
  - spec/project_spec.rb
377
425
  - spec/resource_spec.rb
426
+ - spec/resources/aws_alb_listener_rule_spec.rb
427
+ - spec/resources/aws_alb_listener_spec.rb
428
+ - spec/resources/aws_alb_spec.rb
429
+ - spec/resources/aws_alb_target_group_spec.rb
430
+ - spec/resources/aws_api_gateway_account_spec.rb
431
+ - spec/resources/aws_api_gateway_api_key_spec.rb
432
+ - spec/resources/aws_api_gateway_authorizer_spec.rb
433
+ - spec/resources/aws_api_gateway_base_path_mapping_spec.rb
434
+ - spec/resources/aws_api_gateway_client_certificate_spec.rb
435
+ - spec/resources/aws_api_gateway_deployment_spec.rb
436
+ - spec/resources/aws_api_gateway_domain_name_spec.rb
437
+ - spec/resources/aws_api_gateway_integration_response_spec.rb
438
+ - spec/resources/aws_api_gateway_integration_spec.rb
439
+ - spec/resources/aws_api_gateway_method_response_spec.rb
440
+ - spec/resources/aws_api_gateway_method_spec.rb
441
+ - spec/resources/aws_api_gateway_model_spec.rb
442
+ - spec/resources/aws_api_gateway_resource_spec.rb
443
+ - spec/resources/aws_api_gateway_rest_api_spec.rb
444
+ - spec/resources/aws_cloudfront_distribution_spec.rb
378
445
  - spec/resources/aws_cloudtrail_spec.rb
379
446
  - spec/resources/aws_cloudwatch_event_rule_spec.rb
380
447
  - spec/resources/aws_cloudwatch_event_target_spec.rb
@@ -407,6 +474,7 @@ test_files:
407
474
  - spec/resources/aws_lambda_event_source_mapping_spec.rb
408
475
  - spec/resources/aws_lambda_function_spec.rb
409
476
  - spec/resources/aws_lambda_permission_spec.rb
477
+ - spec/resources/aws_lb_cookie_stickiness_policy_spec.rb
410
478
  - spec/resources/aws_load_balancer_backend_server_policy_spec.rb
411
479
  - spec/resources/aws_load_balancer_policy_spec.rb
412
480
  - spec/resources/aws_main_route_table_association_spec.rb
@@ -420,6 +488,7 @@ test_files:
420
488
  - spec/resources/aws_route_spec.rb
421
489
  - spec/resources/aws_route_table_association_spec.rb
422
490
  - spec/resources/aws_route_table_spec.rb
491
+ - spec/resources/aws_s3_bucket_notification_spec.rb
423
492
  - spec/resources/aws_s3_bucket_spec.rb
424
493
  - spec/resources/aws_security_group_spec.rb
425
494
  - spec/resources/aws_ses_receipt_rule_set_spec.rb
@@ -440,6 +509,7 @@ test_files:
440
509
  - spec/rubocop_spec.rb
441
510
  - spec/spec_helper.rb
442
511
  - spec/sub_resource_spec.rb
512
+ - spec/support/normalize_indent.rb
443
513
  - spec/template_spec.rb
444
514
  - spec/utils/crc32_spec.rb
445
515
  - spec/utils/has_attributes_spec.rb
metadata.gz.sig CHANGED
Binary file