awspec 1.12.4 → 1.12.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8cbf742d6798a1af84303ae4e02b784f0315159edde20f42935c8dd6a94f8691
4
- data.tar.gz: 72ff7241198823d08f65185d59d8cc47f45f56a0f97b37c542690796cd985eb5
3
+ metadata.gz: 797c0a76eedaac924e9fae9b797ef5aa145db194897b20a71e4d8b1d8c61572c
4
+ data.tar.gz: ea9b100cac9a2e284add01af86f01b081cfdb95a2654c8fe938f3714eedcc778
5
5
  SHA512:
6
- metadata.gz: b5c305643fadbe181998b9345da1683a3d3ab8013dc57292adcceb73e375eb87a2f1c903946382bfc4b767520adb99be32bab05c136987a5795a8a4d39674d1f
7
- data.tar.gz: d17b7c98cfc54324d54acee1abaedaa4494008a06fe4df25659ca57aeb22aab15e66bcc151a652dd007c55fa0dde47a9ad5860651a0ce5a6f24266cb771e81d6
6
+ metadata.gz: 52e51107ea7b8c30ab9500e416ecd7d058853c890a403b48d6a8154356bcce0109b3762da60fc7ca3e7045c79805bb012ac764b42df018f6a6f51434c188ca08
7
+ data.tar.gz: 2be23ba27f8cb3b5bd907749b0ba60075b4729ab8e8d4f4d0992a16eb7be784ea6dab2d69b408e736a3b652a1fbd985a598d00576bceb074076d42b5b845cd31
@@ -60,6 +60,15 @@ describe vpc('vpc-ab123cde') do
60
60
  end
61
61
  ```
62
62
 
63
+ ### have_vpc_attribute
64
+
65
+ ```ruby
66
+ describe vpc('vpc-ab123cde') do
67
+ it { should have_vpc_attribute('enableDnsHostnames') }
68
+ it { should_not have_vpc_attribute('enableDnsSupport') }
69
+ end
70
+ ```
71
+
63
72
  ### advanced
64
73
 
65
74
  `vpc` can use `Aws::EC2::Vpc` resource (see http://docs.aws.amazon.com/sdkforruby/api/Aws/EC2/Vpc.html).
@@ -225,7 +225,7 @@ end
225
225
  ```
226
226
 
227
227
 
228
- ### its(:target_group_arn), its(:target_group_name), its(:protocol), its(:port), its(:vpc_id), its(:health_check_protocol), its(:health_check_port), its(:health_check_interval_seconds), its(:health_check_timeout_seconds), its(:healthy_threshold_count), its(:unhealthy_threshold_count), its(:health_check_path), its(:load_balancer_arns), its(:target_type)
228
+ ### its(:target_group_arn), its(:target_group_name), its(:protocol), its(:port), its(:vpc_id), its(:health_check_protocol), its(:health_check_port), its(:health_check_enabled), its(:health_check_interval_seconds), its(:health_check_timeout_seconds), its(:healthy_threshold_count), its(:unhealthy_threshold_count), its(:health_check_path), its(:load_balancer_arns), its(:target_type)
229
229
  ## <a name="ami">ami</a>
230
230
 
231
231
  AMI resource type.
@@ -608,7 +608,7 @@ CloudwatchEvent resource type.
608
608
 
609
609
  ### be_scheduled
610
610
 
611
- ### its(:name), its(:arn), its(:event_pattern), its(:state), its(:description), its(:schedule_expression), its(:role_arn)
611
+ ### its(:name), its(:arn), its(:event_pattern), its(:state), its(:description), its(:schedule_expression), its(:role_arn), its(:managed_by)
612
612
  ## <a name="cloudwatch_logs">cloudwatch_logs</a>
613
613
 
614
614
  CloudwatchLogs resource type.
@@ -768,7 +768,7 @@ end
768
768
  ```
769
769
 
770
770
 
771
- ### its(:table_name), its(:table_status), its(:creation_date_time), its(:table_size_bytes), its(:item_count), its(:table_arn), its(:table_id), its(:local_secondary_indexes), its(:global_secondary_indexes), its(:stream_specification), its(:latest_stream_label), its(:latest_stream_arn), its(:restore_summary), its(:sse_description)
771
+ ### its(:table_name), its(:table_status), its(:creation_date_time), its(:table_size_bytes), its(:item_count), its(:table_arn), its(:table_id), its(:billing_mode_summary), its(:local_secondary_indexes), its(:global_secondary_indexes), its(:stream_specification), its(:latest_stream_label), its(:latest_stream_arn), its(:restore_summary), its(:sse_description)
772
772
  ### :unlock: Advanced use
773
773
 
774
774
  `dynamodb_table` can use `Aws::DynamoDB::Table` resource (see http://docs.aws.amazon.com/sdkforruby/api/Aws/DynamoDB/Table.html).
@@ -1014,7 +1014,7 @@ end
1014
1014
  ```
1015
1015
 
1016
1016
 
1017
- ### its(:ami_launch_index), its(:image_id), its(:instance_id), its(:instance_type), its(:kernel_id), its(:key_name), its(:launch_time), its(:monitoring), its(:placement), its(:platform), its(:private_dns_name), its(:private_ip_address), its(:product_codes), its(:public_dns_name), its(:public_ip_address), its(:ramdisk_id), its(:state_transition_reason), its(:subnet_id), its(:vpc_id), its(:architecture), its(:client_token), its(:ebs_optimized), its(:ena_support), its(:hypervisor), its(:instance_lifecycle), its(:elastic_gpu_associations), its(:root_device_name), its(:root_device_type), its(:source_dest_check), its(:spot_instance_request_id), its(:sriov_net_support), its(:state_reason), its(:virtualization_type), its(:cpu_options), its(:capacity_reservation_id), its(:capacity_reservation_specification)
1017
+ ### its(:ami_launch_index), its(:image_id), its(:instance_id), its(:instance_type), its(:kernel_id), its(:key_name), its(:launch_time), its(:monitoring), its(:placement), its(:platform), its(:private_dns_name), its(:private_ip_address), its(:product_codes), its(:public_dns_name), its(:public_ip_address), its(:ramdisk_id), its(:state_transition_reason), its(:subnet_id), its(:vpc_id), its(:architecture), its(:client_token), its(:ebs_optimized), its(:ena_support), its(:hypervisor), its(:instance_lifecycle), its(:elastic_gpu_associations), its(:elastic_inference_accelerator_associations), its(:root_device_name), its(:root_device_type), its(:source_dest_check), its(:spot_instance_request_id), its(:sriov_net_support), its(:state_reason), its(:virtualization_type), its(:cpu_options), its(:capacity_reservation_id), its(:capacity_reservation_specification), its(:hibernation_options), its(:licenses)
1018
1018
  ### :unlock: Advanced use
1019
1019
 
1020
1020
  `ec2` can use `Aws::EC2::Instance` resource (see http://docs.aws.amazon.com/sdkforruby/api/Aws/EC2/Instance.html).
@@ -1157,7 +1157,7 @@ describe ecs_service('my-ecs-service') do
1157
1157
  end
1158
1158
  ```
1159
1159
 
1160
- ### its(:service_arn), its(:service_name), its(:cluster_arn), its(:load_balancers), its(:service_registries), its(:status), its(:desired_count), its(:running_count), its(:pending_count), its(:launch_type), its(:platform_version), its(:task_definition), its(:role_arn), its(:created_at), its(:placement_constraints), its(:placement_strategy), its(:network_configuration), its(:health_check_grace_period_seconds), its(:scheduling_strategy), its(:tags), its(:created_by), its(:enable_ecs_managed_tags), its(:propagate_tags)
1160
+ ### its(:service_arn), its(:service_name), its(:cluster_arn), its(:load_balancers), its(:service_registries), its(:status), its(:desired_count), its(:running_count), its(:pending_count), its(:launch_type), its(:platform_version), its(:task_definition), its(:task_sets), its(:role_arn), its(:created_at), its(:placement_constraints), its(:placement_strategy), its(:network_configuration), its(:health_check_grace_period_seconds), its(:scheduling_strategy), its(:deployment_controller), its(:tags), its(:created_by), its(:enable_ecs_managed_tags), its(:propagate_tags)
1161
1161
  ## <a name="ecs_task_definition">ecs_task_definition</a>
1162
1162
 
1163
1163
  ECS Task Definition resource type.
@@ -1909,7 +1909,7 @@ describe internet_gateway('igw-1ab2cd3e') do
1909
1909
  end
1910
1910
  ```
1911
1911
 
1912
- ### its(:internet_gateway_id)
1912
+ ### its(:internet_gateway_id), its(:owner_id)
1913
1913
  ## <a name="kinesis">kinesis</a>
1914
1914
 
1915
1915
  Kinesis resource type.
@@ -2000,7 +2000,7 @@ DOC
2000
2000
  end
2001
2001
  ```
2002
2002
 
2003
- ### its(:aws_account_id), its(:key_id), its(:arn), its(:creation_date), its(:enabled), its(:description), its(:key_usage), its(:key_state), its(:deletion_date), its(:valid_to), its(:origin), its(:expiration_model), its(:key_manager)
2003
+ ### its(:aws_account_id), its(:key_id), its(:arn), its(:creation_date), its(:enabled), its(:description), its(:key_usage), its(:key_state), its(:deletion_date), its(:valid_to), its(:origin), its(:custom_key_store_id), its(:cloud_hsm_cluster_id), its(:expiration_model), its(:key_manager)
2004
2004
  ## <a name="lambda">lambda</a>
2005
2005
 
2006
2006
  Lambda resource type.
@@ -2018,7 +2018,7 @@ end
2018
2018
 
2019
2019
  This matcher does not support Amazon S3 event sources. ( [See SDK doc](http://docs.aws.amazon.com/sdkforruby/api/Aws/Lambda/Client.html#list_event_source_mappings-instance_method) )
2020
2020
 
2021
- ### its(:function_name), its(:function_arn), its(:runtime), its(:role), its(:handler), its(:code_size), its(:description), its(:timeout), its(:memory_size), its(:last_modified), its(:code_sha_256), its(:version), its(:vpc_config), its(:dead_letter_config), its(:environment), its(:kms_key_arn), its(:tracing_config), its(:master_arn), its(:revision_id)
2021
+ ### its(:function_name), its(:function_arn), its(:runtime), its(:role), its(:handler), its(:code_size), its(:description), its(:timeout), its(:memory_size), its(:last_modified), its(:code_sha_256), its(:version), its(:vpc_config), its(:dead_letter_config), its(:environment), its(:kms_key_arn), its(:tracing_config), its(:master_arn), its(:revision_id), its(:layers)
2022
2022
  ## <a name="launch_configuration">launch_configuration</a>
2023
2023
 
2024
2024
  LaunchConfiguration resource type.
@@ -2136,7 +2136,7 @@ end
2136
2136
  ```
2137
2137
 
2138
2138
 
2139
- ### its(:inbound_entries_count), its(:outbound_entries_count), its(:is_default), its(:network_acl_id), its(:vpc_id)
2139
+ ### its(:inbound_entries_count), its(:outbound_entries_count), its(:is_default), its(:network_acl_id), its(:vpc_id), its(:owner_id)
2140
2140
  ### :unlock: Advanced use
2141
2141
 
2142
2142
  `network_acl` can use `Aws::EC2::NetworkAcl` resource (see http://docs.aws.amazon.com/sdkforruby/api/Aws/EC2/NetworkAcl.html).
@@ -2364,7 +2364,7 @@ end
2364
2364
  ```
2365
2365
 
2366
2366
 
2367
- ### its(:target_group_arn), its(:target_group_name), its(:protocol), its(:port), its(:vpc_id), its(:health_check_protocol), its(:health_check_port), its(:health_check_interval_seconds), its(:health_check_timeout_seconds), its(:healthy_threshold_count), its(:unhealthy_threshold_count), its(:health_check_path), its(:load_balancer_arns), its(:target_type)
2367
+ ### its(:target_group_arn), its(:target_group_name), its(:protocol), its(:port), its(:vpc_id), its(:health_check_protocol), its(:health_check_port), its(:health_check_enabled), its(:health_check_interval_seconds), its(:health_check_timeout_seconds), its(:healthy_threshold_count), its(:unhealthy_threshold_count), its(:health_check_path), its(:load_balancer_arns), its(:target_type)
2368
2368
  ## <a name="rds">rds</a>
2369
2369
 
2370
2370
  RDS resource type.
@@ -2597,7 +2597,7 @@ end
2597
2597
  ```
2598
2598
 
2599
2599
 
2600
- ### its(:propagating_vgws), its(:route_table_id), its(:vpc_id)
2600
+ ### its(:propagating_vgws), its(:route_table_id), its(:vpc_id), its(:owner_id)
2601
2601
  ### :unlock: Advanced use
2602
2602
 
2603
2603
  `route_table` can use `Aws::EC2::RouteTable` resource (see http://docs.aws.amazon.com/sdkforruby/api/Aws/EC2/RouteTable.html).
@@ -3033,7 +3033,7 @@ end
3033
3033
  ```
3034
3034
 
3035
3035
 
3036
- ### its(:availability_zone), its(:available_ip_address_count), its(:cidr_block), its(:default_for_az), its(:map_public_ip_on_launch), its(:state), its(:subnet_id), its(:vpc_id), its(:assign_ipv_6_address_on_creation), its(:ipv_6_cidr_block_association_set)
3036
+ ### its(:availability_zone), its(:availability_zone_id), its(:available_ip_address_count), its(:cidr_block), its(:default_for_az), its(:map_public_ip_on_launch), its(:state), its(:subnet_id), its(:vpc_id), its(:owner_id), its(:assign_ipv_6_address_on_creation), its(:ipv_6_cidr_block_association_set), its(:subnet_arn)
3037
3037
  ### :unlock: Advanced use
3038
3038
 
3039
3039
  `subnet` can use `Aws::EC2::Subnet` resource (see http://docs.aws.amazon.com/sdkforruby/api/Aws/EC2/Subnet.html).
@@ -3114,6 +3114,16 @@ end
3114
3114
  ```
3115
3115
 
3116
3116
 
3117
+ ### have_vpc_attribute
3118
+
3119
+ ```ruby
3120
+ describe vpc('vpc-ab123cde') do
3121
+ it { should have_vpc_attribute('enableDnsHostnames') }
3122
+ it { should_not have_vpc_attribute('enableDnsSupport') }
3123
+ end
3124
+ ```
3125
+
3126
+
3117
3127
  ### have_vpc_peering_connection
3118
3128
 
3119
3129
  ```ruby
@@ -3125,7 +3135,7 @@ end
3125
3135
  ```
3126
3136
 
3127
3137
 
3128
- ### its(:cidr_block), its(:dhcp_options_id), its(:state), its(:vpc_id), its(:instance_tenancy), its(:ipv_6_cidr_block_association_set), its(:cidr_block_association_set), its(:is_default)
3138
+ ### its(:cidr_block), its(:dhcp_options_id), its(:state), its(:vpc_id), its(:owner_id), its(:instance_tenancy), its(:ipv_6_cidr_block_association_set), its(:cidr_block_association_set), its(:is_default)
3129
3139
  ### :unlock: Advanced use
3130
3140
 
3131
3141
  `vpc` can use `Aws::EC2::Vpc` resource (see http://docs.aws.amazon.com/sdkforruby/api/Aws/EC2/Vpc.html).
@@ -3175,7 +3185,7 @@ end
3175
3185
  ```
3176
3186
 
3177
3187
 
3178
- ### its(:customer_gateway_configuration), its(:customer_gateway_id), its(:category), its(:state), its(:type), its(:vpn_connection_id), its(:vpn_gateway_id), its(:options), its(:routes), its(:vgw_telemetry)
3188
+ ### its(:customer_gateway_configuration), its(:customer_gateway_id), its(:category), its(:state), its(:type), its(:vpn_connection_id), its(:vpn_gateway_id), its(:transit_gateway_id), its(:options), its(:routes), its(:vgw_telemetry)
3179
3189
  ## <a name="vpn_gateway">vpn_gateway</a>
3180
3190
 
3181
3191
  VpnGateway resource type.
@@ -12,6 +12,7 @@ module Awspec::Generator
12
12
  @vpc_tag_name = vpc.tag_name
13
13
  route_tables = select_route_table_by_vpc_id(@vpc_id)
14
14
  network_acls = select_network_acl_by_vpc_id(@vpc_id)
15
+ vpc_attributes = select_vpc_attribute(@vpc_id)
15
16
  spec = ERB.new(vpc_spec_template, nil, '-').result(binding).gsub(/^\n/, '')
16
17
  end
17
18
 
@@ -48,6 +49,13 @@ describe vpc('<%= @vpc_id %>') do
48
49
  it { should have_network_acl('<%= network_acl.network_acl_id %>') }
49
50
  <%- end -%>
50
51
  <% end %>
52
+ <% vpc_attributes.each do |vpc_attribute| %>
53
+ <%- if vpc_attribute[1] -%>
54
+ it { should have_vpc_attribute('<%= vpc_attribute[0] %>') }
55
+ <%- else -%>
56
+ it { should_not have_vpc_attribute('<%= vpc_attribute[0] %>') }
57
+ <%- end -%>
58
+ <% end %>
51
59
  end
52
60
  EOF
53
61
  template
@@ -83,6 +83,33 @@ module Awspec::Helper
83
83
  conn.accepter_vpc_info.vpc_id == vpc_id || conn.requester_vpc_info.vpc_id == vpc_id
84
84
  end
85
85
  end
86
+
87
+ def find_vpc_attribute(vpc_id, vpc_attribute)
88
+ res = ec2_client.describe_vpc_attribute({ vpc_id: vpc_id, attribute: vpc_attribute })
89
+ case vpc_attribute
90
+ when 'enableDnsSupport' then
91
+ res.enable_dns_support.value
92
+ when 'enableDnsHostnames' then
93
+ res.enable_dns_hostnames.value
94
+ end
95
+ end
96
+
97
+ def select_vpc_attribute(vpc_id)
98
+ attributes = {}
99
+ vpc_attributes = %w(
100
+ enableDnsHostnames enableDnsSupport
101
+ )
102
+ vpc_attributes.each do |vpc_attribute|
103
+ res = ec2_client.describe_vpc_attribute({ vpc_id: vpc_id, attribute: vpc_attribute })
104
+ attributes[vpc_attribute] = case vpc_attribute
105
+ when 'enableDnsHostnames' then
106
+ res.enable_dns_hostnames.value
107
+ when 'enableDnsSupport' then
108
+ res.enable_dns_support.value
109
+ end
110
+ end
111
+ attributes
112
+ end
86
113
  end
87
114
  end
88
115
  end
@@ -100,6 +100,15 @@ Aws.config[:ec2] = {
100
100
  ]
101
101
  }
102
102
  ]
103
+ },
104
+ describe_vpc_attribute: {
105
+ vpc_id: 'vpc-bcd1235e',
106
+ enable_dns_hostnames: {
107
+ value: true
108
+ },
109
+ enable_dns_support: {
110
+ value: false
111
+ }
103
112
  }
104
113
  }
105
114
  }
@@ -58,5 +58,9 @@ module Awspec::Type
58
58
  connection
59
59
  end
60
60
  end
61
+
62
+ def has_vpc_attribute?(vpc_attribute)
63
+ find_vpc_attribute(resource_via_client.vpc_id, vpc_attribute)
64
+ end
61
65
  end
62
66
  end
@@ -1,3 +1,3 @@
1
1
  module Awspec
2
- VERSION = '1.12.4'
2
+ VERSION = '1.12.5'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: awspec
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.12.4
4
+ version: 1.12.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - k1LoW
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-11-26 00:00:00.000000000 Z
11
+ date: 2018-12-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk