MovableInkAWS 2.6.5 → 2.7.0

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: d617b4671eb664f2e36fc1f1df11607066c0a46c1c5e536a552eb2c7ac451545
4
- data.tar.gz: 5d975ee847ec37369c1488dd7c4ecc11c5d4abae33bb9131308260af256a557d
3
+ metadata.gz: 0c539b888e241eca594269dd052c7742eefdad57ab4dd5eeb0790a0fad507cff
4
+ data.tar.gz: 0ae613422476b0371f818eee49d7b8da5f659f93e4d8541f361816fb93afb3c4
5
5
  SHA512:
6
- metadata.gz: 70ace6a3c1a4f9d4a60e1053f93c0d37e10e5737800b149c358f804b02b3de9522dd9624dc0723b1da66bc2912544ce91de18ee8852926e39665c61cc2d8a6d5
7
- data.tar.gz: b51afda56e2c80126efa86737ef9359327698324a61fc67e9c86774e4f0eb191cead2c235e665f843c8fb4f0f7b6be881dee04c271671a6c9d3e70680f5862ad
6
+ metadata.gz: 31f107ee7940dd7b18d7e7c50764fcc2971c63660eafc14ae642cf1819389487a118b2b26438912cd7e234b00e4009f95d60c58308a8200d31f47c86971390a3
7
+ data.tar.gz: 70b71c81bd0fe0a7806824b034dea3c4d08151582377de6eec2c9416a6d5fecc1fb4fae20f62ffe948a2c5c609f6399a70460d2fa4ba5cebdaae3726abc7bc8d
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- MovableInkAWS (2.6.5)
4
+ MovableInkAWS (2.7.0)
5
5
  aws-sdk-athena (~> 1)
6
6
  aws-sdk-autoscaling (~> 1)
7
7
  aws-sdk-cloudwatch (~> 1)
@@ -25,53 +25,53 @@ GEM
25
25
  addressable (2.7.0)
26
26
  public_suffix (>= 2.0.2, < 5.0)
27
27
  aws-eventstream (1.2.0)
28
- aws-partitions (1.573.0)
29
- aws-sdk-athena (1.52.0)
28
+ aws-partitions (1.605.0)
29
+ aws-sdk-athena (1.54.0)
30
30
  aws-sdk-core (~> 3, >= 3.127.0)
31
31
  aws-sigv4 (~> 1.1)
32
- aws-sdk-autoscaling (1.78.0)
32
+ aws-sdk-autoscaling (1.79.0)
33
33
  aws-sdk-core (~> 3, >= 3.127.0)
34
34
  aws-sigv4 (~> 1.1)
35
- aws-sdk-cloudwatch (1.62.0)
35
+ aws-sdk-cloudwatch (1.64.0)
36
36
  aws-sdk-core (~> 3, >= 3.127.0)
37
37
  aws-sigv4 (~> 1.1)
38
- aws-sdk-core (3.130.0)
38
+ aws-sdk-core (3.131.2)
39
39
  aws-eventstream (~> 1, >= 1.0.2)
40
40
  aws-partitions (~> 1, >= 1.525.0)
41
41
  aws-sigv4 (~> 1.1)
42
- jmespath (~> 1.0)
43
- aws-sdk-ec2 (1.305.0)
42
+ jmespath (~> 1, >= 1.6.1)
43
+ aws-sdk-ec2 (1.321.0)
44
44
  aws-sdk-core (~> 3, >= 3.127.0)
45
45
  aws-sigv4 (~> 1.1)
46
- aws-sdk-eks (1.74.0)
46
+ aws-sdk-eks (1.75.0)
47
47
  aws-sdk-core (~> 3, >= 3.127.0)
48
48
  aws-sigv4 (~> 1.1)
49
- aws-sdk-elasticache (1.76.0)
49
+ aws-sdk-elasticache (1.78.0)
50
50
  aws-sdk-core (~> 3, >= 3.127.0)
51
51
  aws-sigv4 (~> 1.1)
52
- aws-sdk-iam (1.68.0)
52
+ aws-sdk-iam (1.69.0)
53
53
  aws-sdk-core (~> 3, >= 3.127.0)
54
54
  aws-sigv4 (~> 1.1)
55
- aws-sdk-kms (1.55.0)
55
+ aws-sdk-kms (1.57.0)
56
56
  aws-sdk-core (~> 3, >= 3.127.0)
57
57
  aws-sigv4 (~> 1.1)
58
- aws-sdk-rds (1.142.0)
58
+ aws-sdk-rds (1.148.0)
59
59
  aws-sdk-core (~> 3, >= 3.127.0)
60
60
  aws-sigv4 (~> 1.1)
61
- aws-sdk-route53 (1.62.0)
61
+ aws-sdk-route53 (1.63.0)
62
62
  aws-sdk-core (~> 3, >= 3.127.0)
63
63
  aws-sigv4 (~> 1.1)
64
- aws-sdk-s3 (1.113.0)
64
+ aws-sdk-s3 (1.114.0)
65
65
  aws-sdk-core (~> 3, >= 3.127.0)
66
66
  aws-sdk-kms (~> 1)
67
67
  aws-sigv4 (~> 1.4)
68
68
  aws-sdk-sns (1.53.0)
69
69
  aws-sdk-core (~> 3, >= 3.127.0)
70
70
  aws-sigv4 (~> 1.1)
71
- aws-sdk-ssm (1.134.0)
71
+ aws-sdk-ssm (1.137.0)
72
72
  aws-sdk-core (~> 3, >= 3.127.0)
73
73
  aws-sigv4 (~> 1.1)
74
- aws-sigv4 (1.4.0)
74
+ aws-sigv4 (1.5.0)
75
75
  aws-eventstream (~> 1, >= 1.0.2)
76
76
  crack (0.4.3)
77
77
  safe_yaml (~> 1.0.0)
@@ -91,7 +91,7 @@ GEM
91
91
  mime-types-data (~> 3.2015)
92
92
  mime-types-data (3.2022.0105)
93
93
  multi_xml (0.6.0)
94
- multipart-post (2.1.1)
94
+ multipart-post (2.2.3)
95
95
  public_suffix (4.0.5)
96
96
  rspec (3.9.0)
97
97
  rspec-core (~> 3.9.0)
@@ -121,4 +121,4 @@ DEPENDENCIES
121
121
  webmock
122
122
 
123
123
  BUNDLED WITH
124
- 2.3.11
124
+ 2.3.14
@@ -13,18 +13,20 @@ module MovableInk
13
13
  end
14
14
 
15
15
  def get_resource_record_sets_by_instance_name(zone, instance_name, client = nil)
16
- resource_record_sets(zone, client).select{|rrs| rrs.set_identifier == instance_name}.first.to_h
16
+ resource_record_sets(zone, client).select{|rrs| rrs.set_identifier == instance_name}.map(&:to_h)
17
17
  end
18
18
 
19
19
  def delete_resource_record_sets(zone, instance_name, client = nil)
20
- resource_record_set = get_resource_record_sets_by_instance_name(zone, instance_name, client)
21
- return if resource_record_set.empty?
20
+ resource_record_sets = get_resource_record_sets_by_instance_name(zone, instance_name, client)
21
+ return if resource_record_sets.empty?
22
22
 
23
23
  change_batch = {
24
- "changes": [{
25
- "action": 'DELETE',
26
- "resource_record_set": resource_record_set
27
- }]
24
+ "changes": resource_record_sets.map { |resource_record_set|
25
+ {
26
+ "action": 'DELETE',
27
+ "resource_record_set": resource_record_set
28
+ }
29
+ }
28
30
  }
29
31
 
30
32
  run_with_backoff do
@@ -1,5 +1,5 @@
1
1
  module MovableInk
2
2
  class AWS
3
- VERSION = '2.6.5'
3
+ VERSION = '2.7.0'
4
4
  end
5
5
  end
data/spec/route53_spec.rb CHANGED
@@ -15,6 +15,11 @@ describe MovableInk::AWS::Route53 do
15
15
  name: 'host2.domain.tld.',
16
16
  set_identifier: '10_0_0_2',
17
17
  type: '???'
18
+ },
19
+ {
20
+ name: 'host2-other.domain.tld.',
21
+ set_identifier: '10_0_0_2',
22
+ type: '???'
18
23
  }
19
24
  ])
20
25
  }
@@ -23,12 +28,23 @@ describe MovableInk::AWS::Route53 do
23
28
  route53.stub_responses(:list_resource_record_sets, rrset_data)
24
29
  allow(aws).to receive(:route53).and_return(route53)
25
30
 
26
- expect(aws.resource_record_sets('Z123').count).to eq(2)
27
- expect(aws.resource_record_sets('Z123').first.name).to eq('host1.domain.tld.')
28
- expect(aws.resource_record_sets('Z123').last.name).to eq('host2.domain.tld.')
31
+ expect(aws.resource_record_sets('Z123').count).to eq(3)
32
+ expect(aws.resource_record_sets('Z123')[0].name).to eq('host1.domain.tld.')
33
+ expect(aws.resource_record_sets('Z123')[1].name).to eq('host2.domain.tld.')
34
+ expect(aws.resource_record_sets('Z123')[2].name).to eq('host2-other.domain.tld.')
35
+ end
36
+
37
+ it "returns all sets with an identifier" do
38
+ route53.stub_responses(:list_resource_record_sets, rrset_data)
39
+ allow(aws).to receive(:route53).and_return(route53)
40
+
41
+ sets = aws.get_resource_record_sets_by_instance_name('Z123', '10_0_0_2')
42
+ expect(sets.count).to eq(2)
43
+ expect(sets[0][:name]).to eq('host2.domain.tld.')
44
+ expect(sets[1][:name]).to eq('host2-other.domain.tld.')
29
45
  end
30
46
 
31
- it 'deletes a rrset that exists' do
47
+ it 'deletes rrsets that exist under the same identifier' do
32
48
  route53.stub_responses(:list_resource_record_sets, rrset_data)
33
49
  allow(aws).to receive(:route53).and_return(route53)
34
50
 
@@ -41,6 +57,14 @@ describe MovableInk::AWS::Route53 do
41
57
  type: "???",
42
58
  set_identifier: "10_0_0_2"
43
59
  }
60
+ },
61
+ {
62
+ action: "DELETE",
63
+ resource_record_set: {
64
+ name: "host2-other.domain.tld.",
65
+ type: "???",
66
+ set_identifier: "10_0_0_2"
67
+ }
44
68
  }]
45
69
  },
46
70
  hosted_zone_id: "Z123"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: MovableInkAWS
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.6.5
4
+ version: 2.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matt Chesler
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-06-17 00:00:00.000000000 Z
11
+ date: 2022-07-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core