-
Notifications
You must be signed in to change notification settings - Fork 105
/
Copy pathaws_wafv2_ip_set.rb
50 lines (41 loc) · 1.08 KB
/
aws_wafv2_ip_set.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
require "aws_backend"
class AWSWAFV2IPSet < AwsResourceBase
name "aws_wafv2_ip_set"
desc "Describes one WAF IP set."
example "
describe aws_wafv2_ip_set(ip_set_id: 'IP_SET_ID') do
it { should exits }
end
"
def initialize(opts = {})
opts = { ip_set_id: opts } if opts.is_a?(String)
super(opts)
validate_parameters(required: %i(ip_set_id))
raise ArgumentError, "#{@__resource_name__}: ip_set_id must be provided" unless opts[:ip_set_id] && !opts[:ip_set_id].empty?
@display_name = opts[:ip_set_id]
catch_aws_errors do
resp = @aws.waf_client_v2.get_ip_set({ ip_set_id: opts[:ip_set_id] })
@resp = resp.ip_set.to_h
create_resource_methods(@resp)
end
end
def ip_set_id
return nil unless exists?
@resp[:ip_set_id]
end
def exists?
!@resp.nil? && !@resp.empty?
end
def to_s
"IP Set ID: #{@display_name}"
end
def ip_set_descriptors_types
ip_set_descriptors.map(&:type)
end
def ip_set_descriptors_values
ip_set_descriptors.map(&:value)
end
def resource_id
@display_name
end
end