MovableInkAWS 2.6.5 → 2.7.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.
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