aws-sdk-route53resolver 1.20.0 → 1.25.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -28,6 +28,7 @@ module Aws::Route53Resolver
28
28
  #
29
29
  # ## Error Classes
30
30
  # * {AccessDeniedException}
31
+ # * {ConflictException}
31
32
  # * {InternalServiceErrorException}
32
33
  # * {InvalidNextTokenException}
33
34
  # * {InvalidParameterException}
@@ -41,6 +42,7 @@ module Aws::Route53Resolver
41
42
  # * {ResourceUnavailableException}
42
43
  # * {ThrottlingException}
43
44
  # * {UnknownResourceException}
45
+ # * {ValidationException}
44
46
  #
45
47
  # Additionally, error classes are dynamically generated for service errors based on the error code
46
48
  # if they are not defined above.
@@ -63,6 +65,21 @@ module Aws::Route53Resolver
63
65
  end
64
66
  end
65
67
 
68
+ class ConflictException < ServiceError
69
+
70
+ # @param [Seahorse::Client::RequestContext] context
71
+ # @param [String] message
72
+ # @param [Aws::Route53Resolver::Types::ConflictException] data
73
+ def initialize(context, message, data = Aws::EmptyStructure.new)
74
+ super(context, message, data)
75
+ end
76
+
77
+ # @return [String]
78
+ def message
79
+ @message || @data[:message]
80
+ end
81
+ end
82
+
66
83
  class InternalServiceErrorException < ServiceError
67
84
 
68
85
  # @param [Seahorse::Client::RequestContext] context
@@ -288,5 +305,20 @@ module Aws::Route53Resolver
288
305
  end
289
306
  end
290
307
 
308
+ class ValidationException < ServiceError
309
+
310
+ # @param [Seahorse::Client::RequestContext] context
311
+ # @param [String] message
312
+ # @param [Aws::Route53Resolver::Types::ValidationException] data
313
+ def initialize(context, message, data = Aws::EmptyStructure.new)
314
+ super(context, message, data)
315
+ end
316
+
317
+ # @return [String]
318
+ def message
319
+ @message || @data[:message]
320
+ end
321
+ end
322
+
291
323
  end
292
324
  end
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -24,6 +24,100 @@ module Aws::Route53Resolver
24
24
  include Aws::Structure
25
25
  end
26
26
 
27
+ # @note When making an API call, you may pass AssociateFirewallRuleGroupRequest
28
+ # data as a hash:
29
+ #
30
+ # {
31
+ # creator_request_id: "CreatorRequestId", # required
32
+ # firewall_rule_group_id: "ResourceId", # required
33
+ # vpc_id: "ResourceId", # required
34
+ # priority: 1, # required
35
+ # name: "Name", # required
36
+ # mutation_protection: "ENABLED", # accepts ENABLED, DISABLED
37
+ # tags: [
38
+ # {
39
+ # key: "TagKey", # required
40
+ # value: "TagValue", # required
41
+ # },
42
+ # ],
43
+ # }
44
+ #
45
+ # @!attribute [rw] creator_request_id
46
+ # A unique string that identifies the request and that allows failed
47
+ # requests to be retried without the risk of executing the operation
48
+ # twice. `CreatorRequestId` can be any unique string, for example, a
49
+ # date/time stamp.
50
+ #
51
+ # **A suitable default value is auto-generated.** You should normally
52
+ # not need to pass this option.
53
+ # @return [String]
54
+ #
55
+ # @!attribute [rw] firewall_rule_group_id
56
+ # The unique identifier of the firewall rule group.
57
+ # @return [String]
58
+ #
59
+ # @!attribute [rw] vpc_id
60
+ # The unique identifier of the VPC that you want to associate with the
61
+ # rule group.
62
+ # @return [String]
63
+ #
64
+ # @!attribute [rw] priority
65
+ # The setting that determines the processing order of the rule group
66
+ # among the rule groups that you associate with the specified VPC. DNS
67
+ # Firewall filters VPC traffic starting from rule group with the
68
+ # lowest numeric priority setting.
69
+ #
70
+ # You must specify a unique priority for each rule group that you
71
+ # associate with a single VPC. To make it easier to insert rule groups
72
+ # later, leave space between the numbers, for example, use 100, 200,
73
+ # and so on. You can change the priority setting for a rule group
74
+ # association after you create it.
75
+ # @return [Integer]
76
+ #
77
+ # @!attribute [rw] name
78
+ # A name that lets you identify the association, to manage and use it.
79
+ # @return [String]
80
+ #
81
+ # @!attribute [rw] mutation_protection
82
+ # If enabled, this setting disallows modification or removal of the
83
+ # association, to help prevent against accidentally altering DNS
84
+ # firewall protections. When you create the association, the default
85
+ # setting is `DISABLED`.
86
+ # @return [String]
87
+ #
88
+ # @!attribute [rw] tags
89
+ # A list of the tag keys and values that you want to associate with
90
+ # the rule group association.
91
+ # @return [Array<Types::Tag>]
92
+ #
93
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/AssociateFirewallRuleGroupRequest AWS API Documentation
94
+ #
95
+ class AssociateFirewallRuleGroupRequest < Struct.new(
96
+ :creator_request_id,
97
+ :firewall_rule_group_id,
98
+ :vpc_id,
99
+ :priority,
100
+ :name,
101
+ :mutation_protection,
102
+ :tags)
103
+ SENSITIVE = []
104
+ include Aws::Structure
105
+ end
106
+
107
+ # @!attribute [rw] firewall_rule_group_association
108
+ # The association that you just created. The association has an Id
109
+ # that you can use to identify it in other requests, like update and
110
+ # delete.
111
+ # @return [Types::FirewallRuleGroupAssociation]
112
+ #
113
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/AssociateFirewallRuleGroupResponse AWS API Documentation
114
+ #
115
+ class AssociateFirewallRuleGroupResponse < Struct.new(
116
+ :firewall_rule_group_association)
117
+ SENSITIVE = []
118
+ include Aws::Structure
119
+ end
120
+
27
121
  # @note When making an API call, you may pass AssociateResolverEndpointIpAddressRequest
28
122
  # data as a hash:
29
123
  #
@@ -163,6 +257,263 @@ module Aws::Route53Resolver
163
257
  include Aws::Structure
164
258
  end
165
259
 
260
+ # @!attribute [rw] message
261
+ # @return [String]
262
+ #
263
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ConflictException AWS API Documentation
264
+ #
265
+ class ConflictException < Struct.new(
266
+ :message)
267
+ SENSITIVE = []
268
+ include Aws::Structure
269
+ end
270
+
271
+ # @note When making an API call, you may pass CreateFirewallDomainListRequest
272
+ # data as a hash:
273
+ #
274
+ # {
275
+ # creator_request_id: "CreatorRequestId", # required
276
+ # name: "Name", # required
277
+ # tags: [
278
+ # {
279
+ # key: "TagKey", # required
280
+ # value: "TagValue", # required
281
+ # },
282
+ # ],
283
+ # }
284
+ #
285
+ # @!attribute [rw] creator_request_id
286
+ # A unique string that identifies the request and that allows you to
287
+ # retry failed requests without the risk of executing the operation
288
+ # twice. `CreatorRequestId` can be any unique string, for example, a
289
+ # date/time stamp.
290
+ #
291
+ # **A suitable default value is auto-generated.** You should normally
292
+ # not need to pass this option.
293
+ # @return [String]
294
+ #
295
+ # @!attribute [rw] name
296
+ # A name that lets you identify the domain list to manage and use it.
297
+ # @return [String]
298
+ #
299
+ # @!attribute [rw] tags
300
+ # A list of the tag keys and values that you want to associate with
301
+ # the domain list.
302
+ # @return [Array<Types::Tag>]
303
+ #
304
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/CreateFirewallDomainListRequest AWS API Documentation
305
+ #
306
+ class CreateFirewallDomainListRequest < Struct.new(
307
+ :creator_request_id,
308
+ :name,
309
+ :tags)
310
+ SENSITIVE = []
311
+ include Aws::Structure
312
+ end
313
+
314
+ # @!attribute [rw] firewall_domain_list
315
+ # The domain list that you just created.
316
+ # @return [Types::FirewallDomainList]
317
+ #
318
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/CreateFirewallDomainListResponse AWS API Documentation
319
+ #
320
+ class CreateFirewallDomainListResponse < Struct.new(
321
+ :firewall_domain_list)
322
+ SENSITIVE = []
323
+ include Aws::Structure
324
+ end
325
+
326
+ # @note When making an API call, you may pass CreateFirewallRuleGroupRequest
327
+ # data as a hash:
328
+ #
329
+ # {
330
+ # creator_request_id: "CreatorRequestId", # required
331
+ # name: "Name", # required
332
+ # tags: [
333
+ # {
334
+ # key: "TagKey", # required
335
+ # value: "TagValue", # required
336
+ # },
337
+ # ],
338
+ # }
339
+ #
340
+ # @!attribute [rw] creator_request_id
341
+ # A unique string defined by you to identify the request. This allows
342
+ # you to retry failed requests without the risk of executing the
343
+ # operation twice. This can be any unique string, for example, a
344
+ # timestamp.
345
+ #
346
+ # **A suitable default value is auto-generated.** You should normally
347
+ # not need to pass this option.
348
+ # @return [String]
349
+ #
350
+ # @!attribute [rw] name
351
+ # A name that lets you identify the rule group, to manage and use it.
352
+ # @return [String]
353
+ #
354
+ # @!attribute [rw] tags
355
+ # A list of the tag keys and values that you want to associate with
356
+ # the rule group.
357
+ # @return [Array<Types::Tag>]
358
+ #
359
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/CreateFirewallRuleGroupRequest AWS API Documentation
360
+ #
361
+ class CreateFirewallRuleGroupRequest < Struct.new(
362
+ :creator_request_id,
363
+ :name,
364
+ :tags)
365
+ SENSITIVE = []
366
+ include Aws::Structure
367
+ end
368
+
369
+ # @!attribute [rw] firewall_rule_group
370
+ # A collection of rules used to filter DNS network traffic.
371
+ # @return [Types::FirewallRuleGroup]
372
+ #
373
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/CreateFirewallRuleGroupResponse AWS API Documentation
374
+ #
375
+ class CreateFirewallRuleGroupResponse < Struct.new(
376
+ :firewall_rule_group)
377
+ SENSITIVE = []
378
+ include Aws::Structure
379
+ end
380
+
381
+ # @note When making an API call, you may pass CreateFirewallRuleRequest
382
+ # data as a hash:
383
+ #
384
+ # {
385
+ # creator_request_id: "CreatorRequestId", # required
386
+ # firewall_rule_group_id: "ResourceId", # required
387
+ # firewall_domain_list_id: "ResourceId", # required
388
+ # priority: 1, # required
389
+ # action: "ALLOW", # required, accepts ALLOW, BLOCK, ALERT
390
+ # block_response: "NODATA", # accepts NODATA, NXDOMAIN, OVERRIDE
391
+ # block_override_domain: "BlockOverrideDomain",
392
+ # block_override_dns_type: "CNAME", # accepts CNAME
393
+ # block_override_ttl: 1,
394
+ # name: "Name", # required
395
+ # }
396
+ #
397
+ # @!attribute [rw] creator_request_id
398
+ # A unique string that identifies the request and that allows you to
399
+ # retry failed requests without the risk of executing the operation
400
+ # twice. `CreatorRequestId` can be any unique string, for example, a
401
+ # date/time stamp.
402
+ #
403
+ # **A suitable default value is auto-generated.** You should normally
404
+ # not need to pass this option.
405
+ # @return [String]
406
+ #
407
+ # @!attribute [rw] firewall_rule_group_id
408
+ # The unique identifier of the firewall rule group where you want to
409
+ # create the rule.
410
+ # @return [String]
411
+ #
412
+ # @!attribute [rw] firewall_domain_list_id
413
+ # The ID of the domain list that you want to use in the rule.
414
+ # @return [String]
415
+ #
416
+ # @!attribute [rw] priority
417
+ # The setting that determines the processing order of the rule in the
418
+ # rule group. DNS Firewall processes the rules in a rule group by
419
+ # order of priority, starting from the lowest setting.
420
+ #
421
+ # You must specify a unique priority for each rule in a rule group. To
422
+ # make it easier to insert rules later, leave space between the
423
+ # numbers, for example, use 100, 200, and so on. You can change the
424
+ # priority setting for the rules in a rule group at any time.
425
+ # @return [Integer]
426
+ #
427
+ # @!attribute [rw] action
428
+ # The action that DNS Firewall should take on a DNS query when it
429
+ # matches one of the domains in the rule's domain list:
430
+ #
431
+ # * `ALLOW` - Permit the request to go through.
432
+ #
433
+ # * `ALERT` - Permit the request and send metrics and log to Cloud
434
+ # Watch.
435
+ #
436
+ # * `BLOCK` - Disallow the request. This option requires additional
437
+ # details in the rule's `BlockResponse`.
438
+ # @return [String]
439
+ #
440
+ # @!attribute [rw] block_response
441
+ # The way that you want DNS Firewall to block the request, used with
442
+ # the rule aciton setting `BLOCK`.
443
+ #
444
+ # * `NODATA` - Respond indicating that the query was successful, but
445
+ # no response is available for it.
446
+ #
447
+ # * `NXDOMAIN` - Respond indicating that the domain name that's in
448
+ # the query doesn't exist.
449
+ #
450
+ # * `OVERRIDE` - Provide a custom override in the response. This
451
+ # option requires custom handling details in the rule's
452
+ # `BlockOverride*` settings.
453
+ #
454
+ # This setting is required if the rule action setting is `BLOCK`.
455
+ # @return [String]
456
+ #
457
+ # @!attribute [rw] block_override_domain
458
+ # The custom DNS record to send back in response to the query. Used
459
+ # for the rule action `BLOCK` with a `BlockResponse` setting of
460
+ # `OVERRIDE`.
461
+ #
462
+ # This setting is required if the `BlockResponse` setting is
463
+ # `OVERRIDE`.
464
+ # @return [String]
465
+ #
466
+ # @!attribute [rw] block_override_dns_type
467
+ # The DNS record's type. This determines the format of the record
468
+ # value that you provided in `BlockOverrideDomain`. Used for the rule
469
+ # action `BLOCK` with a `BlockResponse` setting of `OVERRIDE`.
470
+ #
471
+ # This setting is required if the `BlockResponse` setting is
472
+ # `OVERRIDE`.
473
+ # @return [String]
474
+ #
475
+ # @!attribute [rw] block_override_ttl
476
+ # The recommended amount of time, in seconds, for the DNS resolver or
477
+ # web browser to cache the provided override record. Used for the rule
478
+ # action `BLOCK` with a `BlockResponse` setting of `OVERRIDE`.
479
+ #
480
+ # This setting is required if the `BlockResponse` setting is
481
+ # `OVERRIDE`.
482
+ # @return [Integer]
483
+ #
484
+ # @!attribute [rw] name
485
+ # A name that lets you identify the rule in the rule group.
486
+ # @return [String]
487
+ #
488
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/CreateFirewallRuleRequest AWS API Documentation
489
+ #
490
+ class CreateFirewallRuleRequest < Struct.new(
491
+ :creator_request_id,
492
+ :firewall_rule_group_id,
493
+ :firewall_domain_list_id,
494
+ :priority,
495
+ :action,
496
+ :block_response,
497
+ :block_override_domain,
498
+ :block_override_dns_type,
499
+ :block_override_ttl,
500
+ :name)
501
+ SENSITIVE = []
502
+ include Aws::Structure
503
+ end
504
+
505
+ # @!attribute [rw] firewall_rule
506
+ # The firewall rule that you just created.
507
+ # @return [Types::FirewallRule]
508
+ #
509
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/CreateFirewallRuleResponse AWS API Documentation
510
+ #
511
+ class CreateFirewallRuleResponse < Struct.new(
512
+ :firewall_rule)
513
+ SENSITIVE = []
514
+ include Aws::Structure
515
+ end
516
+
166
517
  # @note When making an API call, you may pass CreateResolverEndpointRequest
167
518
  # data as a hash:
168
519
  #
@@ -442,120 +793,252 @@ module Aws::Route53Resolver
442
793
  include Aws::Structure
443
794
  end
444
795
 
445
- # @note When making an API call, you may pass DeleteResolverEndpointRequest
796
+ # @note When making an API call, you may pass DeleteFirewallDomainListRequest
446
797
  # data as a hash:
447
798
  #
448
799
  # {
449
- # resolver_endpoint_id: "ResourceId", # required
800
+ # firewall_domain_list_id: "ResourceId", # required
450
801
  # }
451
802
  #
452
- # @!attribute [rw] resolver_endpoint_id
453
- # The ID of the Resolver endpoint that you want to delete.
803
+ # @!attribute [rw] firewall_domain_list_id
804
+ # The ID of the domain list that you want to delete.
454
805
  # @return [String]
455
806
  #
456
- # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DeleteResolverEndpointRequest AWS API Documentation
807
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DeleteFirewallDomainListRequest AWS API Documentation
457
808
  #
458
- class DeleteResolverEndpointRequest < Struct.new(
459
- :resolver_endpoint_id)
809
+ class DeleteFirewallDomainListRequest < Struct.new(
810
+ :firewall_domain_list_id)
460
811
  SENSITIVE = []
461
812
  include Aws::Structure
462
813
  end
463
814
 
464
- # @!attribute [rw] resolver_endpoint
465
- # Information about the `DeleteResolverEndpoint` request, including
466
- # the status of the request.
467
- # @return [Types::ResolverEndpoint]
815
+ # @!attribute [rw] firewall_domain_list
816
+ # The domain list that you just deleted.
817
+ # @return [Types::FirewallDomainList]
468
818
  #
469
- # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DeleteResolverEndpointResponse AWS API Documentation
819
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DeleteFirewallDomainListResponse AWS API Documentation
470
820
  #
471
- class DeleteResolverEndpointResponse < Struct.new(
472
- :resolver_endpoint)
821
+ class DeleteFirewallDomainListResponse < Struct.new(
822
+ :firewall_domain_list)
473
823
  SENSITIVE = []
474
824
  include Aws::Structure
475
825
  end
476
826
 
477
- # @note When making an API call, you may pass DeleteResolverQueryLogConfigRequest
827
+ # @note When making an API call, you may pass DeleteFirewallRuleGroupRequest
478
828
  # data as a hash:
479
829
  #
480
830
  # {
481
- # resolver_query_log_config_id: "ResourceId", # required
831
+ # firewall_rule_group_id: "ResourceId", # required
482
832
  # }
483
833
  #
484
- # @!attribute [rw] resolver_query_log_config_id
485
- # The ID of the query logging configuration that you want to delete.
834
+ # @!attribute [rw] firewall_rule_group_id
835
+ # The unique identifier of the firewall rule group that you want to
836
+ # delete.
486
837
  # @return [String]
487
838
  #
488
- # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DeleteResolverQueryLogConfigRequest AWS API Documentation
839
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DeleteFirewallRuleGroupRequest AWS API Documentation
489
840
  #
490
- class DeleteResolverQueryLogConfigRequest < Struct.new(
491
- :resolver_query_log_config_id)
841
+ class DeleteFirewallRuleGroupRequest < Struct.new(
842
+ :firewall_rule_group_id)
492
843
  SENSITIVE = []
493
844
  include Aws::Structure
494
845
  end
495
846
 
496
- # @!attribute [rw] resolver_query_log_config
497
- # Information about the query logging configuration that you deleted,
498
- # including the status of the request.
499
- # @return [Types::ResolverQueryLogConfig]
847
+ # @!attribute [rw] firewall_rule_group
848
+ # A collection of rules used to filter DNS network traffic.
849
+ # @return [Types::FirewallRuleGroup]
500
850
  #
501
- # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DeleteResolverQueryLogConfigResponse AWS API Documentation
851
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DeleteFirewallRuleGroupResponse AWS API Documentation
502
852
  #
503
- class DeleteResolverQueryLogConfigResponse < Struct.new(
504
- :resolver_query_log_config)
853
+ class DeleteFirewallRuleGroupResponse < Struct.new(
854
+ :firewall_rule_group)
505
855
  SENSITIVE = []
506
856
  include Aws::Structure
507
857
  end
508
858
 
509
- # @note When making an API call, you may pass DeleteResolverRuleRequest
859
+ # @note When making an API call, you may pass DeleteFirewallRuleRequest
510
860
  # data as a hash:
511
861
  #
512
862
  # {
513
- # resolver_rule_id: "ResourceId", # required
863
+ # firewall_rule_group_id: "ResourceId", # required
864
+ # firewall_domain_list_id: "ResourceId", # required
514
865
  # }
515
866
  #
516
- # @!attribute [rw] resolver_rule_id
517
- # The ID of the Resolver rule that you want to delete.
867
+ # @!attribute [rw] firewall_rule_group_id
868
+ # The unique identifier of the firewall rule group that you want to
869
+ # delete the rule from.
518
870
  # @return [String]
519
871
  #
520
- # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DeleteResolverRuleRequest AWS API Documentation
872
+ # @!attribute [rw] firewall_domain_list_id
873
+ # The ID of the domain list that's used in the rule.
874
+ # @return [String]
521
875
  #
522
- class DeleteResolverRuleRequest < Struct.new(
523
- :resolver_rule_id)
876
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DeleteFirewallRuleRequest AWS API Documentation
877
+ #
878
+ class DeleteFirewallRuleRequest < Struct.new(
879
+ :firewall_rule_group_id,
880
+ :firewall_domain_list_id)
524
881
  SENSITIVE = []
525
882
  include Aws::Structure
526
883
  end
527
884
 
528
- # @!attribute [rw] resolver_rule
529
- # Information about the `DeleteResolverRule` request, including the
530
- # status of the request.
531
- # @return [Types::ResolverRule]
885
+ # @!attribute [rw] firewall_rule
886
+ # The specification for the firewall rule that you just deleted.
887
+ # @return [Types::FirewallRule]
532
888
  #
533
- # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DeleteResolverRuleResponse AWS API Documentation
889
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DeleteFirewallRuleResponse AWS API Documentation
534
890
  #
535
- class DeleteResolverRuleResponse < Struct.new(
536
- :resolver_rule)
891
+ class DeleteFirewallRuleResponse < Struct.new(
892
+ :firewall_rule)
537
893
  SENSITIVE = []
538
894
  include Aws::Structure
539
895
  end
540
896
 
541
- # @note When making an API call, you may pass DisassociateResolverEndpointIpAddressRequest
897
+ # @note When making an API call, you may pass DeleteResolverEndpointRequest
542
898
  # data as a hash:
543
899
  #
544
900
  # {
545
901
  # resolver_endpoint_id: "ResourceId", # required
546
- # ip_address: { # required
547
- # ip_id: "ResourceId",
548
- # subnet_id: "SubnetId",
549
- # ip: "Ip",
550
- # },
551
902
  # }
552
903
  #
553
904
  # @!attribute [rw] resolver_endpoint_id
554
- # The ID of the Resolver endpoint that you want to disassociate an IP
555
- # address from.
905
+ # The ID of the Resolver endpoint that you want to delete.
556
906
  # @return [String]
557
907
  #
558
- # @!attribute [rw] ip_address
908
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DeleteResolverEndpointRequest AWS API Documentation
909
+ #
910
+ class DeleteResolverEndpointRequest < Struct.new(
911
+ :resolver_endpoint_id)
912
+ SENSITIVE = []
913
+ include Aws::Structure
914
+ end
915
+
916
+ # @!attribute [rw] resolver_endpoint
917
+ # Information about the `DeleteResolverEndpoint` request, including
918
+ # the status of the request.
919
+ # @return [Types::ResolverEndpoint]
920
+ #
921
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DeleteResolverEndpointResponse AWS API Documentation
922
+ #
923
+ class DeleteResolverEndpointResponse < Struct.new(
924
+ :resolver_endpoint)
925
+ SENSITIVE = []
926
+ include Aws::Structure
927
+ end
928
+
929
+ # @note When making an API call, you may pass DeleteResolverQueryLogConfigRequest
930
+ # data as a hash:
931
+ #
932
+ # {
933
+ # resolver_query_log_config_id: "ResourceId", # required
934
+ # }
935
+ #
936
+ # @!attribute [rw] resolver_query_log_config_id
937
+ # The ID of the query logging configuration that you want to delete.
938
+ # @return [String]
939
+ #
940
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DeleteResolverQueryLogConfigRequest AWS API Documentation
941
+ #
942
+ class DeleteResolverQueryLogConfigRequest < Struct.new(
943
+ :resolver_query_log_config_id)
944
+ SENSITIVE = []
945
+ include Aws::Structure
946
+ end
947
+
948
+ # @!attribute [rw] resolver_query_log_config
949
+ # Information about the query logging configuration that you deleted,
950
+ # including the status of the request.
951
+ # @return [Types::ResolverQueryLogConfig]
952
+ #
953
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DeleteResolverQueryLogConfigResponse AWS API Documentation
954
+ #
955
+ class DeleteResolverQueryLogConfigResponse < Struct.new(
956
+ :resolver_query_log_config)
957
+ SENSITIVE = []
958
+ include Aws::Structure
959
+ end
960
+
961
+ # @note When making an API call, you may pass DeleteResolverRuleRequest
962
+ # data as a hash:
963
+ #
964
+ # {
965
+ # resolver_rule_id: "ResourceId", # required
966
+ # }
967
+ #
968
+ # @!attribute [rw] resolver_rule_id
969
+ # The ID of the Resolver rule that you want to delete.
970
+ # @return [String]
971
+ #
972
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DeleteResolverRuleRequest AWS API Documentation
973
+ #
974
+ class DeleteResolverRuleRequest < Struct.new(
975
+ :resolver_rule_id)
976
+ SENSITIVE = []
977
+ include Aws::Structure
978
+ end
979
+
980
+ # @!attribute [rw] resolver_rule
981
+ # Information about the `DeleteResolverRule` request, including the
982
+ # status of the request.
983
+ # @return [Types::ResolverRule]
984
+ #
985
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DeleteResolverRuleResponse AWS API Documentation
986
+ #
987
+ class DeleteResolverRuleResponse < Struct.new(
988
+ :resolver_rule)
989
+ SENSITIVE = []
990
+ include Aws::Structure
991
+ end
992
+
993
+ # @note When making an API call, you may pass DisassociateFirewallRuleGroupRequest
994
+ # data as a hash:
995
+ #
996
+ # {
997
+ # firewall_rule_group_association_id: "ResourceId", # required
998
+ # }
999
+ #
1000
+ # @!attribute [rw] firewall_rule_group_association_id
1001
+ # The identifier of the FirewallRuleGroupAssociation.
1002
+ # @return [String]
1003
+ #
1004
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DisassociateFirewallRuleGroupRequest AWS API Documentation
1005
+ #
1006
+ class DisassociateFirewallRuleGroupRequest < Struct.new(
1007
+ :firewall_rule_group_association_id)
1008
+ SENSITIVE = []
1009
+ include Aws::Structure
1010
+ end
1011
+
1012
+ # @!attribute [rw] firewall_rule_group_association
1013
+ # The firewall rule group association that you just removed.
1014
+ # @return [Types::FirewallRuleGroupAssociation]
1015
+ #
1016
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DisassociateFirewallRuleGroupResponse AWS API Documentation
1017
+ #
1018
+ class DisassociateFirewallRuleGroupResponse < Struct.new(
1019
+ :firewall_rule_group_association)
1020
+ SENSITIVE = []
1021
+ include Aws::Structure
1022
+ end
1023
+
1024
+ # @note When making an API call, you may pass DisassociateResolverEndpointIpAddressRequest
1025
+ # data as a hash:
1026
+ #
1027
+ # {
1028
+ # resolver_endpoint_id: "ResourceId", # required
1029
+ # ip_address: { # required
1030
+ # ip_id: "ResourceId",
1031
+ # subnet_id: "SubnetId",
1032
+ # ip: "Ip",
1033
+ # },
1034
+ # }
1035
+ #
1036
+ # @!attribute [rw] resolver_endpoint_id
1037
+ # The ID of the Resolver endpoint that you want to disassociate an IP
1038
+ # address from.
1039
+ # @return [String]
1040
+ #
1041
+ # @!attribute [rw] ip_address
559
1042
  # The IPv4 address that you want to remove from a Resolver endpoint.
560
1043
  # @return [Types::IpAddressUpdate]
561
1044
  #
@@ -662,9 +1145,10 @@ module Aws::Route53Resolver
662
1145
 
663
1146
  # For Resolver list operations ([ListResolverEndpoints][1],
664
1147
  # [ListResolverRules][2], [ListResolverRuleAssociations][3],
665
- # [ListResolverQueryLogConfigs][4], and
666
- # [ListResolverQueryLogConfigAssociations][5]), an optional
667
- # specification to return a subset of objects.
1148
+ # [ListResolverQueryLogConfigs][4],
1149
+ # [ListResolverQueryLogConfigAssociations][5]), and
1150
+ # [ListResolverDnssecConfigs][6]), an optional specification to return a
1151
+ # subset of objects.
668
1152
  #
669
1153
  # To filter objects, such as Resolver endpoints or Resolver rules, you
670
1154
  # specify `Name` and `Values`. For example, to list only inbound
@@ -678,6 +1162,7 @@ module Aws::Route53Resolver
678
1162
  # [3]: https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverRuleAssociations.html
679
1163
  # [4]: https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverQueryLogConfigs.html
680
1164
  # [5]: https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverQueryLogConfigAssociations.html
1165
+ # [6]: https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverDnssecConfigs.html
681
1166
  #
682
1167
  # @note When making an API call, you may pass Filter
683
1168
  # data as a hash:
@@ -867,7 +1352,7 @@ module Aws::Route53Resolver
867
1352
  # [7]: https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverEndpoint.html
868
1353
  # [8]: https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ResolverEndpoint.html
869
1354
  # [9]: https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ResolverQueryLogConfig.html#Route53Resolver-Type-route53resolver_ResolverQueryLogConfig-Status
870
- # [10]: https://docs.aws.amazon.com/API_route53resolver_ResolverQueryLogConfigAssociation.html#Route53Resolver-Type-route53resolver_ResolverQueryLogConfigAssociation-Status
1355
+ # [10]: https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ResolverQueryLogConfigAssociation.html#Route53Resolver-Type-route53resolver_ResolverQueryLogConfigAssociation-Status
871
1356
  # @return [String]
872
1357
  #
873
1358
  # @!attribute [rw] values
@@ -887,174 +1372,583 @@ module Aws::Route53Resolver
887
1372
  include Aws::Structure
888
1373
  end
889
1374
 
890
- # @note When making an API call, you may pass GetResolverEndpointRequest
891
- # data as a hash:
1375
+ # Configuration of the firewall behavior provided by DNS Firewall for a
1376
+ # single Amazon virtual private cloud (VPC).
892
1377
  #
893
- # {
894
- # resolver_endpoint_id: "ResourceId", # required
895
- # }
1378
+ # @!attribute [rw] id
1379
+ # The Id of the firewall configuration.
1380
+ # @return [String]
896
1381
  #
897
- # @!attribute [rw] resolver_endpoint_id
898
- # The ID of the Resolver endpoint that you want to get information
899
- # about.
1382
+ # @!attribute [rw] resource_id
1383
+ # The ID of the VPC that this firewall configuration applies to.
900
1384
  # @return [String]
901
1385
  #
902
- # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverEndpointRequest AWS API Documentation
1386
+ # @!attribute [rw] owner_id
1387
+ # The AWS account ID of the owner of the VPC that this firewall
1388
+ # configuration applies to.
1389
+ # @return [String]
903
1390
  #
904
- class GetResolverEndpointRequest < Struct.new(
905
- :resolver_endpoint_id)
906
- SENSITIVE = []
907
- include Aws::Structure
908
- end
909
-
910
- # @!attribute [rw] resolver_endpoint
911
- # Information about the Resolver endpoint that you specified in a
912
- # `GetResolverEndpoint` request.
913
- # @return [Types::ResolverEndpoint]
1391
+ # @!attribute [rw] firewall_fail_open
1392
+ # Determines how DNS Firewall operates during failures, for example
1393
+ # when all traffic that is sent to DNS Firewall fails to receive a
1394
+ # reply.
914
1395
  #
915
- # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverEndpointResponse AWS API Documentation
1396
+ # * By default, fail open is disabled, which means the failure mode is
1397
+ # closed. This approach favors security over availability. DNS
1398
+ # Firewall returns a failure error when it is unable to properly
1399
+ # evaluate a query.
916
1400
  #
917
- class GetResolverEndpointResponse < Struct.new(
918
- :resolver_endpoint)
1401
+ # * If you enable this option, the failure mode is open. This approach
1402
+ # favors availability over security. DNS Firewall allows queries to
1403
+ # proceed if it is unable to properly evaluate them.
1404
+ #
1405
+ # This behavior is only enforced for VPCs that have at least one DNS
1406
+ # Firewall rule group association.
1407
+ # @return [String]
1408
+ #
1409
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/FirewallConfig AWS API Documentation
1410
+ #
1411
+ class FirewallConfig < Struct.new(
1412
+ :id,
1413
+ :resource_id,
1414
+ :owner_id,
1415
+ :firewall_fail_open)
919
1416
  SENSITIVE = []
920
1417
  include Aws::Structure
921
1418
  end
922
1419
 
923
- # @note When making an API call, you may pass GetResolverQueryLogConfigAssociationRequest
924
- # data as a hash:
1420
+ # High level information about a list of firewall domains for use in a
1421
+ # FirewallRule. This is returned by GetFirewallDomainList.
925
1422
  #
926
- # {
927
- # resolver_query_log_config_association_id: "ResourceId", # required
928
- # }
1423
+ # To retrieve the domains that are defined for this domain list, call
1424
+ # ListFirewallDomains.
929
1425
  #
930
- # @!attribute [rw] resolver_query_log_config_association_id
931
- # The ID of the Resolver query logging configuration association that
932
- # you want to get information about.
1426
+ # @!attribute [rw] id
1427
+ # The ID of the domain list.
933
1428
  # @return [String]
934
1429
  #
935
- # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverQueryLogConfigAssociationRequest AWS API Documentation
1430
+ # @!attribute [rw] arn
1431
+ # The Amazon Resource Name (ARN) of the firewall domain list.
1432
+ # @return [String]
936
1433
  #
937
- class GetResolverQueryLogConfigAssociationRequest < Struct.new(
938
- :resolver_query_log_config_association_id)
939
- SENSITIVE = []
940
- include Aws::Structure
941
- end
942
-
943
- # @!attribute [rw] resolver_query_log_config_association
944
- # Information about the Resolver query logging configuration
945
- # association that you specified in a `GetQueryLogConfigAssociation`
946
- # request.
947
- # @return [Types::ResolverQueryLogConfigAssociation]
1434
+ # @!attribute [rw] name
1435
+ # The name of the domain list.
1436
+ # @return [String]
948
1437
  #
949
- # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverQueryLogConfigAssociationResponse AWS API Documentation
1438
+ # @!attribute [rw] domain_count
1439
+ # The number of domain names that are specified in the domain list.
1440
+ # @return [Integer]
950
1441
  #
951
- class GetResolverQueryLogConfigAssociationResponse < Struct.new(
952
- :resolver_query_log_config_association)
1442
+ # @!attribute [rw] status
1443
+ # The status of the domain list.
1444
+ # @return [String]
1445
+ #
1446
+ # @!attribute [rw] status_message
1447
+ # Additional information about the status of the list, if available.
1448
+ # @return [String]
1449
+ #
1450
+ # @!attribute [rw] managed_owner_name
1451
+ # The owner of the list, used only for lists that are not managed by
1452
+ # you. For example, the managed domain list
1453
+ # `AWSManagedDomainsMalwareDomainList` has the managed owner name
1454
+ # `Route 53 Resolver DNS Firewall`.
1455
+ # @return [String]
1456
+ #
1457
+ # @!attribute [rw] creator_request_id
1458
+ # A unique string defined by you to identify the request. This allows
1459
+ # you to retry failed requests without the risk of executing the
1460
+ # operation twice. This can be any unique string, for example, a
1461
+ # timestamp.
1462
+ # @return [String]
1463
+ #
1464
+ # @!attribute [rw] creation_time
1465
+ # The date and time that the domain list was created, in Unix time
1466
+ # format and Coordinated Universal Time (UTC).
1467
+ # @return [String]
1468
+ #
1469
+ # @!attribute [rw] modification_time
1470
+ # The date and time that the domain list was last modified, in Unix
1471
+ # time format and Coordinated Universal Time (UTC).
1472
+ # @return [String]
1473
+ #
1474
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/FirewallDomainList AWS API Documentation
1475
+ #
1476
+ class FirewallDomainList < Struct.new(
1477
+ :id,
1478
+ :arn,
1479
+ :name,
1480
+ :domain_count,
1481
+ :status,
1482
+ :status_message,
1483
+ :managed_owner_name,
1484
+ :creator_request_id,
1485
+ :creation_time,
1486
+ :modification_time)
953
1487
  SENSITIVE = []
954
1488
  include Aws::Structure
955
1489
  end
956
1490
 
957
- # @note When making an API call, you may pass GetResolverQueryLogConfigPolicyRequest
958
- # data as a hash:
1491
+ # Minimal high-level information for a firewall domain list. The action
1492
+ # ListFirewallDomainLists returns an array of these objects.
959
1493
  #
960
- # {
961
- # arn: "Arn", # required
962
- # }
1494
+ # To retrieve full information for a firewall domain list, call
1495
+ # GetFirewallDomainList and ListFirewallDomains.
1496
+ #
1497
+ # @!attribute [rw] id
1498
+ # The ID of the domain list.
1499
+ # @return [String]
963
1500
  #
964
1501
  # @!attribute [rw] arn
965
- # The ARN of the query logging configuration that you want to get the
966
- # query logging policy for.
1502
+ # The Amazon Resource Name (ARN) of the firewall domain list metadata.
967
1503
  # @return [String]
968
1504
  #
969
- # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverQueryLogConfigPolicyRequest AWS API Documentation
1505
+ # @!attribute [rw] name
1506
+ # The name of the domain list.
1507
+ # @return [String]
970
1508
  #
971
- class GetResolverQueryLogConfigPolicyRequest < Struct.new(
972
- :arn)
973
- SENSITIVE = []
974
- include Aws::Structure
975
- end
976
-
977
- # @!attribute [rw] resolver_query_log_config_policy
978
- # Information about the query logging policy for the query logging
979
- # configuration that you specified in a
980
- # `GetResolverQueryLogConfigPolicy` request.
1509
+ # @!attribute [rw] creator_request_id
1510
+ # A unique string defined by you to identify the request. This allows
1511
+ # you to retry failed requests without the risk of executing the
1512
+ # operation twice. This can be any unique string, for example, a
1513
+ # timestamp.
981
1514
  # @return [String]
982
1515
  #
983
- # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverQueryLogConfigPolicyResponse AWS API Documentation
1516
+ # @!attribute [rw] managed_owner_name
1517
+ # The owner of the list, used only for lists that are not managed by
1518
+ # you. For example, the managed domain list
1519
+ # `AWSManagedDomainsMalwareDomainList` has the managed owner name
1520
+ # `Route 53 Resolver DNS Firewall`.
1521
+ # @return [String]
984
1522
  #
985
- class GetResolverQueryLogConfigPolicyResponse < Struct.new(
986
- :resolver_query_log_config_policy)
1523
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/FirewallDomainListMetadata AWS API Documentation
1524
+ #
1525
+ class FirewallDomainListMetadata < Struct.new(
1526
+ :id,
1527
+ :arn,
1528
+ :name,
1529
+ :creator_request_id,
1530
+ :managed_owner_name)
987
1531
  SENSITIVE = []
988
1532
  include Aws::Structure
989
1533
  end
990
1534
 
991
- # @note When making an API call, you may pass GetResolverQueryLogConfigRequest
992
- # data as a hash:
993
- #
994
- # {
995
- # resolver_query_log_config_id: "ResourceId", # required
996
- # }
1535
+ # A single firewall rule in a rule group.
997
1536
  #
998
- # @!attribute [rw] resolver_query_log_config_id
999
- # The ID of the Resolver query logging configuration that you want to
1000
- # get information about.
1537
+ # @!attribute [rw] firewall_rule_group_id
1538
+ # The unique identifier of the firewall rule group of the rule.
1001
1539
  # @return [String]
1002
1540
  #
1003
- # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverQueryLogConfigRequest AWS API Documentation
1541
+ # @!attribute [rw] firewall_domain_list_id
1542
+ # The ID of the domain list that's used in the rule.
1543
+ # @return [String]
1004
1544
  #
1005
- class GetResolverQueryLogConfigRequest < Struct.new(
1006
- :resolver_query_log_config_id)
1545
+ # @!attribute [rw] name
1546
+ # The name of the rule.
1547
+ # @return [String]
1548
+ #
1549
+ # @!attribute [rw] priority
1550
+ # The priority of the rule in the rule group. This value must be
1551
+ # unique within the rule group. DNS Firewall processes the rules in a
1552
+ # rule group by order of priority, starting from the lowest setting.
1553
+ # @return [Integer]
1554
+ #
1555
+ # @!attribute [rw] action
1556
+ # The action that DNS Firewall should take on a DNS query when it
1557
+ # matches one of the domains in the rule's domain list:
1558
+ #
1559
+ # * `ALLOW` - Permit the request to go through.
1560
+ #
1561
+ # * `ALERT` - Permit the request to go through but send an alert to
1562
+ # the logs.
1563
+ #
1564
+ # * `BLOCK` - Disallow the request. If this is specified, additional
1565
+ # handling details are provided in the rule's `BlockResponse`
1566
+ # setting.
1567
+ # @return [String]
1568
+ #
1569
+ # @!attribute [rw] block_response
1570
+ # The way that you want DNS Firewall to block the request. Used for
1571
+ # the rule action setting `BLOCK`.
1572
+ #
1573
+ # * `NODATA` - Respond indicating that the query was successful, but
1574
+ # no response is available for it.
1575
+ #
1576
+ # * `NXDOMAIN` - Respond indicating that the domain name that's in
1577
+ # the query doesn't exist.
1578
+ #
1579
+ # * `OVERRIDE` - Provide a custom override in the response. This
1580
+ # option requires custom handling details in the rule's
1581
+ # `BlockOverride*` settings.
1582
+ # @return [String]
1583
+ #
1584
+ # @!attribute [rw] block_override_domain
1585
+ # The custom DNS record to send back in response to the query. Used
1586
+ # for the rule action `BLOCK` with a `BlockResponse` setting of
1587
+ # `OVERRIDE`.
1588
+ # @return [String]
1589
+ #
1590
+ # @!attribute [rw] block_override_dns_type
1591
+ # The DNS record's type. This determines the format of the record
1592
+ # value that you provided in `BlockOverrideDomain`. Used for the rule
1593
+ # action `BLOCK` with a `BlockResponse` setting of `OVERRIDE`.
1594
+ # @return [String]
1595
+ #
1596
+ # @!attribute [rw] block_override_ttl
1597
+ # The recommended amount of time, in seconds, for the DNS resolver or
1598
+ # web browser to cache the provided override record. Used for the rule
1599
+ # action `BLOCK` with a `BlockResponse` setting of `OVERRIDE`.
1600
+ # @return [Integer]
1601
+ #
1602
+ # @!attribute [rw] creator_request_id
1603
+ # A unique string defined by you to identify the request. This allows
1604
+ # you to retry failed requests without the risk of executing the
1605
+ # operation twice. This can be any unique string, for example, a
1606
+ # timestamp.
1607
+ # @return [String]
1608
+ #
1609
+ # @!attribute [rw] creation_time
1610
+ # The date and time that the rule was created, in Unix time format and
1611
+ # Coordinated Universal Time (UTC).
1612
+ # @return [String]
1613
+ #
1614
+ # @!attribute [rw] modification_time
1615
+ # The date and time that the rule was last modified, in Unix time
1616
+ # format and Coordinated Universal Time (UTC).
1617
+ # @return [String]
1618
+ #
1619
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/FirewallRule AWS API Documentation
1620
+ #
1621
+ class FirewallRule < Struct.new(
1622
+ :firewall_rule_group_id,
1623
+ :firewall_domain_list_id,
1624
+ :name,
1625
+ :priority,
1626
+ :action,
1627
+ :block_response,
1628
+ :block_override_domain,
1629
+ :block_override_dns_type,
1630
+ :block_override_ttl,
1631
+ :creator_request_id,
1632
+ :creation_time,
1633
+ :modification_time)
1007
1634
  SENSITIVE = []
1008
1635
  include Aws::Structure
1009
1636
  end
1010
1637
 
1011
- # @!attribute [rw] resolver_query_log_config
1012
- # Information about the Resolver query logging configuration that you
1013
- # specified in a `GetQueryLogConfig` request.
1014
- # @return [Types::ResolverQueryLogConfig]
1638
+ # High-level information for a firewall rule group. A firewall rule
1639
+ # group is a collection of rules that DNS Firewall uses to filter DNS
1640
+ # network traffic for a VPC. To retrieve the rules for the rule group,
1641
+ # call ListFirewallRules.
1015
1642
  #
1016
- # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverQueryLogConfigResponse AWS API Documentation
1643
+ # @!attribute [rw] id
1644
+ # The ID of the rule group.
1645
+ # @return [String]
1017
1646
  #
1018
- class GetResolverQueryLogConfigResponse < Struct.new(
1019
- :resolver_query_log_config)
1647
+ # @!attribute [rw] arn
1648
+ # The ARN (Amazon Resource Name) of the rule group.
1649
+ # @return [String]
1650
+ #
1651
+ # @!attribute [rw] name
1652
+ # The name of the rule group.
1653
+ # @return [String]
1654
+ #
1655
+ # @!attribute [rw] rule_count
1656
+ # The number of rules in the rule group.
1657
+ # @return [Integer]
1658
+ #
1659
+ # @!attribute [rw] status
1660
+ # The status of the domain list.
1661
+ # @return [String]
1662
+ #
1663
+ # @!attribute [rw] status_message
1664
+ # Additional information about the status of the rule group, if
1665
+ # available.
1666
+ # @return [String]
1667
+ #
1668
+ # @!attribute [rw] owner_id
1669
+ # The AWS account ID for the account that created the rule group. When
1670
+ # a rule group is shared with your account, this is the account that
1671
+ # has shared the rule group with you.
1672
+ # @return [String]
1673
+ #
1674
+ # @!attribute [rw] creator_request_id
1675
+ # A unique string defined by you to identify the request. This allows
1676
+ # you to retry failed requests without the risk of executing the
1677
+ # operation twice. This can be any unique string, for example, a
1678
+ # timestamp.
1679
+ # @return [String]
1680
+ #
1681
+ # @!attribute [rw] share_status
1682
+ # Whether the rule group is shared with other AWS accounts, or was
1683
+ # shared with the current account by another AWS account. Sharing is
1684
+ # configured through AWS Resource Access Manager (AWS RAM).
1685
+ # @return [String]
1686
+ #
1687
+ # @!attribute [rw] creation_time
1688
+ # The date and time that the rule group was created, in Unix time
1689
+ # format and Coordinated Universal Time (UTC).
1690
+ # @return [String]
1691
+ #
1692
+ # @!attribute [rw] modification_time
1693
+ # The date and time that the rule group was last modified, in Unix
1694
+ # time format and Coordinated Universal Time (UTC).
1695
+ # @return [String]
1696
+ #
1697
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/FirewallRuleGroup AWS API Documentation
1698
+ #
1699
+ class FirewallRuleGroup < Struct.new(
1700
+ :id,
1701
+ :arn,
1702
+ :name,
1703
+ :rule_count,
1704
+ :status,
1705
+ :status_message,
1706
+ :owner_id,
1707
+ :creator_request_id,
1708
+ :share_status,
1709
+ :creation_time,
1710
+ :modification_time)
1020
1711
  SENSITIVE = []
1021
1712
  include Aws::Structure
1022
1713
  end
1023
1714
 
1024
- # @note When making an API call, you may pass GetResolverRuleAssociationRequest
1715
+ # An association between a firewall rul group and a VPC, which enables
1716
+ # DNS filtering for the VPC.
1717
+ #
1718
+ # @!attribute [rw] id
1719
+ # The identifier for the association.
1720
+ # @return [String]
1721
+ #
1722
+ # @!attribute [rw] arn
1723
+ # The Amazon Resource Name (ARN) of the firewall rule group
1724
+ # association.
1725
+ # @return [String]
1726
+ #
1727
+ # @!attribute [rw] firewall_rule_group_id
1728
+ # The unique identifier of the firewall rule group.
1729
+ # @return [String]
1730
+ #
1731
+ # @!attribute [rw] vpc_id
1732
+ # The unique identifier of the VPC that is associated with the rule
1733
+ # group.
1734
+ # @return [String]
1735
+ #
1736
+ # @!attribute [rw] name
1737
+ # The name of the association.
1738
+ # @return [String]
1739
+ #
1740
+ # @!attribute [rw] priority
1741
+ # The setting that determines the processing order of the rule group
1742
+ # among the rule groups that are associated with a single VPC. DNS
1743
+ # Firewall filters VPC traffic starting from rule group with the
1744
+ # lowest numeric priority setting.
1745
+ # @return [Integer]
1746
+ #
1747
+ # @!attribute [rw] mutation_protection
1748
+ # If enabled, this setting disallows modification or removal of the
1749
+ # association, to help prevent against accidentally altering DNS
1750
+ # firewall protections.
1751
+ # @return [String]
1752
+ #
1753
+ # @!attribute [rw] managed_owner_name
1754
+ # The owner of the association, used only for associations that are
1755
+ # not managed by you. If you use AWS Firewall Manager to manage your
1756
+ # DNS Firewalls, then this reports Firewall Manager as the managed
1757
+ # owner.
1758
+ # @return [String]
1759
+ #
1760
+ # @!attribute [rw] status
1761
+ # The current status of the association.
1762
+ # @return [String]
1763
+ #
1764
+ # @!attribute [rw] status_message
1765
+ # Additional information about the status of the response, if
1766
+ # available.
1767
+ # @return [String]
1768
+ #
1769
+ # @!attribute [rw] creator_request_id
1770
+ # A unique string defined by you to identify the request. This allows
1771
+ # you to retry failed requests without the risk of executing the
1772
+ # operation twice. This can be any unique string, for example, a
1773
+ # timestamp.
1774
+ # @return [String]
1775
+ #
1776
+ # @!attribute [rw] creation_time
1777
+ # The date and time that the association was created, in Unix time
1778
+ # format and Coordinated Universal Time (UTC).
1779
+ # @return [String]
1780
+ #
1781
+ # @!attribute [rw] modification_time
1782
+ # The date and time that the association was last modified, in Unix
1783
+ # time format and Coordinated Universal Time (UTC).
1784
+ # @return [String]
1785
+ #
1786
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/FirewallRuleGroupAssociation AWS API Documentation
1787
+ #
1788
+ class FirewallRuleGroupAssociation < Struct.new(
1789
+ :id,
1790
+ :arn,
1791
+ :firewall_rule_group_id,
1792
+ :vpc_id,
1793
+ :name,
1794
+ :priority,
1795
+ :mutation_protection,
1796
+ :managed_owner_name,
1797
+ :status,
1798
+ :status_message,
1799
+ :creator_request_id,
1800
+ :creation_time,
1801
+ :modification_time)
1802
+ SENSITIVE = []
1803
+ include Aws::Structure
1804
+ end
1805
+
1806
+ # Minimal high-level information for a firewall rule group. The action
1807
+ # ListFirewallRuleGroups returns an array of these objects.
1808
+ #
1809
+ # To retrieve full information for a firewall rule group, call
1810
+ # GetFirewallRuleGroup and ListFirewallRules.
1811
+ #
1812
+ # @!attribute [rw] id
1813
+ # The ID of the rule group.
1814
+ # @return [String]
1815
+ #
1816
+ # @!attribute [rw] arn
1817
+ # The ARN (Amazon Resource Name) of the rule group.
1818
+ # @return [String]
1819
+ #
1820
+ # @!attribute [rw] name
1821
+ # The name of the rule group.
1822
+ # @return [String]
1823
+ #
1824
+ # @!attribute [rw] owner_id
1825
+ # The AWS account ID for the account that created the rule group. When
1826
+ # a rule group is shared with your account, this is the account that
1827
+ # has shared the rule group with you.
1828
+ # @return [String]
1829
+ #
1830
+ # @!attribute [rw] creator_request_id
1831
+ # A unique string defined by you to identify the request. This allows
1832
+ # you to retry failed requests without the risk of executing the
1833
+ # operation twice. This can be any unique string, for example, a
1834
+ # timestamp.
1835
+ # @return [String]
1836
+ #
1837
+ # @!attribute [rw] share_status
1838
+ # Whether the rule group is shared with other AWS accounts, or was
1839
+ # shared with the current account by another AWS account. Sharing is
1840
+ # configured through AWS Resource Access Manager (AWS RAM).
1841
+ # @return [String]
1842
+ #
1843
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/FirewallRuleGroupMetadata AWS API Documentation
1844
+ #
1845
+ class FirewallRuleGroupMetadata < Struct.new(
1846
+ :id,
1847
+ :arn,
1848
+ :name,
1849
+ :owner_id,
1850
+ :creator_request_id,
1851
+ :share_status)
1852
+ SENSITIVE = []
1853
+ include Aws::Structure
1854
+ end
1855
+
1856
+ # @note When making an API call, you may pass GetFirewallConfigRequest
1025
1857
  # data as a hash:
1026
1858
  #
1027
1859
  # {
1028
- # resolver_rule_association_id: "ResourceId", # required
1860
+ # resource_id: "ResourceId", # required
1029
1861
  # }
1030
1862
  #
1031
- # @!attribute [rw] resolver_rule_association_id
1032
- # The ID of the Resolver rule association that you want to get
1033
- # information about.
1863
+ # @!attribute [rw] resource_id
1864
+ # The ID of the Amazon virtual private cloud (VPC) that the
1865
+ # configuration is for.
1034
1866
  # @return [String]
1035
1867
  #
1036
- # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverRuleAssociationRequest AWS API Documentation
1868
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetFirewallConfigRequest AWS API Documentation
1037
1869
  #
1038
- class GetResolverRuleAssociationRequest < Struct.new(
1039
- :resolver_rule_association_id)
1870
+ class GetFirewallConfigRequest < Struct.new(
1871
+ :resource_id)
1040
1872
  SENSITIVE = []
1041
1873
  include Aws::Structure
1042
1874
  end
1043
1875
 
1044
- # @!attribute [rw] resolver_rule_association
1045
- # Information about the Resolver rule association that you specified
1046
- # in a `GetResolverRuleAssociation` request.
1047
- # @return [Types::ResolverRuleAssociation]
1876
+ # @!attribute [rw] firewall_config
1877
+ # Configuration of the firewall behavior provided by DNS Firewall for
1878
+ # a single Amazon virtual private cloud (VPC).
1879
+ # @return [Types::FirewallConfig]
1048
1880
  #
1049
- # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverRuleAssociationResponse AWS API Documentation
1881
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetFirewallConfigResponse AWS API Documentation
1050
1882
  #
1051
- class GetResolverRuleAssociationResponse < Struct.new(
1052
- :resolver_rule_association)
1883
+ class GetFirewallConfigResponse < Struct.new(
1884
+ :firewall_config)
1053
1885
  SENSITIVE = []
1054
1886
  include Aws::Structure
1055
1887
  end
1056
1888
 
1057
- # @note When making an API call, you may pass GetResolverRulePolicyRequest
1889
+ # @note When making an API call, you may pass GetFirewallDomainListRequest
1890
+ # data as a hash:
1891
+ #
1892
+ # {
1893
+ # firewall_domain_list_id: "ResourceId", # required
1894
+ # }
1895
+ #
1896
+ # @!attribute [rw] firewall_domain_list_id
1897
+ # The ID of the domain list.
1898
+ # @return [String]
1899
+ #
1900
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetFirewallDomainListRequest AWS API Documentation
1901
+ #
1902
+ class GetFirewallDomainListRequest < Struct.new(
1903
+ :firewall_domain_list_id)
1904
+ SENSITIVE = []
1905
+ include Aws::Structure
1906
+ end
1907
+
1908
+ # @!attribute [rw] firewall_domain_list
1909
+ # The domain list that you requested.
1910
+ # @return [Types::FirewallDomainList]
1911
+ #
1912
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetFirewallDomainListResponse AWS API Documentation
1913
+ #
1914
+ class GetFirewallDomainListResponse < Struct.new(
1915
+ :firewall_domain_list)
1916
+ SENSITIVE = []
1917
+ include Aws::Structure
1918
+ end
1919
+
1920
+ # @note When making an API call, you may pass GetFirewallRuleGroupAssociationRequest
1921
+ # data as a hash:
1922
+ #
1923
+ # {
1924
+ # firewall_rule_group_association_id: "ResourceId", # required
1925
+ # }
1926
+ #
1927
+ # @!attribute [rw] firewall_rule_group_association_id
1928
+ # The identifier of the FirewallRuleGroupAssociation.
1929
+ # @return [String]
1930
+ #
1931
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetFirewallRuleGroupAssociationRequest AWS API Documentation
1932
+ #
1933
+ class GetFirewallRuleGroupAssociationRequest < Struct.new(
1934
+ :firewall_rule_group_association_id)
1935
+ SENSITIVE = []
1936
+ include Aws::Structure
1937
+ end
1938
+
1939
+ # @!attribute [rw] firewall_rule_group_association
1940
+ # The association that you requested.
1941
+ # @return [Types::FirewallRuleGroupAssociation]
1942
+ #
1943
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetFirewallRuleGroupAssociationResponse AWS API Documentation
1944
+ #
1945
+ class GetFirewallRuleGroupAssociationResponse < Struct.new(
1946
+ :firewall_rule_group_association)
1947
+ SENSITIVE = []
1948
+ include Aws::Structure
1949
+ end
1950
+
1951
+ # @note When making an API call, you may pass GetFirewallRuleGroupPolicyRequest
1058
1952
  # data as a hash:
1059
1953
  #
1060
1954
  # {
@@ -1062,299 +1956,1135 @@ module Aws::Route53Resolver
1062
1956
  # }
1063
1957
  #
1064
1958
  # @!attribute [rw] arn
1065
- # The ID of the Resolver rule policy that you want to get information
1066
- # about.
1959
+ # The ARN (Amazon Resource Name) for the rule group.
1067
1960
  # @return [String]
1068
1961
  #
1069
- # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverRulePolicyRequest AWS API Documentation
1962
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetFirewallRuleGroupPolicyRequest AWS API Documentation
1070
1963
  #
1071
- class GetResolverRulePolicyRequest < Struct.new(
1964
+ class GetFirewallRuleGroupPolicyRequest < Struct.new(
1072
1965
  :arn)
1073
1966
  SENSITIVE = []
1074
1967
  include Aws::Structure
1075
1968
  end
1076
1969
 
1077
- # @!attribute [rw] resolver_rule_policy
1078
- # Information about the Resolver rule policy that you specified in a
1079
- # `GetResolverRulePolicy` request.
1970
+ # @!attribute [rw] firewall_rule_group_policy
1971
+ # The AWS Identity and Access Management (AWS IAM) policy for sharing
1972
+ # the specified rule group. You can use the policy to share the rule
1973
+ # group using AWS Resource Access Manager (RAM).
1974
+ # @return [String]
1975
+ #
1976
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetFirewallRuleGroupPolicyResponse AWS API Documentation
1977
+ #
1978
+ class GetFirewallRuleGroupPolicyResponse < Struct.new(
1979
+ :firewall_rule_group_policy)
1980
+ SENSITIVE = []
1981
+ include Aws::Structure
1982
+ end
1983
+
1984
+ # @note When making an API call, you may pass GetFirewallRuleGroupRequest
1985
+ # data as a hash:
1986
+ #
1987
+ # {
1988
+ # firewall_rule_group_id: "ResourceId", # required
1989
+ # }
1990
+ #
1991
+ # @!attribute [rw] firewall_rule_group_id
1992
+ # The unique identifier of the firewall rule group.
1993
+ # @return [String]
1994
+ #
1995
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetFirewallRuleGroupRequest AWS API Documentation
1996
+ #
1997
+ class GetFirewallRuleGroupRequest < Struct.new(
1998
+ :firewall_rule_group_id)
1999
+ SENSITIVE = []
2000
+ include Aws::Structure
2001
+ end
2002
+
2003
+ # @!attribute [rw] firewall_rule_group
2004
+ # A collection of rules used to filter DNS network traffic.
2005
+ # @return [Types::FirewallRuleGroup]
2006
+ #
2007
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetFirewallRuleGroupResponse AWS API Documentation
2008
+ #
2009
+ class GetFirewallRuleGroupResponse < Struct.new(
2010
+ :firewall_rule_group)
2011
+ SENSITIVE = []
2012
+ include Aws::Structure
2013
+ end
2014
+
2015
+ # @note When making an API call, you may pass GetResolverDnssecConfigRequest
2016
+ # data as a hash:
2017
+ #
2018
+ # {
2019
+ # resource_id: "ResourceId", # required
2020
+ # }
2021
+ #
2022
+ # @!attribute [rw] resource_id
2023
+ # The ID of the virtual private cloud (VPC) for the DNSSEC validation
2024
+ # status.
2025
+ # @return [String]
2026
+ #
2027
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverDnssecConfigRequest AWS API Documentation
2028
+ #
2029
+ class GetResolverDnssecConfigRequest < Struct.new(
2030
+ :resource_id)
2031
+ SENSITIVE = []
2032
+ include Aws::Structure
2033
+ end
2034
+
2035
+ # @!attribute [rw] resolver_dnssec_config
2036
+ # The information about a configuration for DNSSEC validation.
2037
+ # @return [Types::ResolverDnssecConfig]
2038
+ #
2039
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverDnssecConfigResponse AWS API Documentation
2040
+ #
2041
+ class GetResolverDnssecConfigResponse < Struct.new(
2042
+ :resolver_dnssec_config)
2043
+ SENSITIVE = []
2044
+ include Aws::Structure
2045
+ end
2046
+
2047
+ # @note When making an API call, you may pass GetResolverEndpointRequest
2048
+ # data as a hash:
2049
+ #
2050
+ # {
2051
+ # resolver_endpoint_id: "ResourceId", # required
2052
+ # }
2053
+ #
2054
+ # @!attribute [rw] resolver_endpoint_id
2055
+ # The ID of the Resolver endpoint that you want to get information
2056
+ # about.
2057
+ # @return [String]
2058
+ #
2059
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverEndpointRequest AWS API Documentation
2060
+ #
2061
+ class GetResolverEndpointRequest < Struct.new(
2062
+ :resolver_endpoint_id)
2063
+ SENSITIVE = []
2064
+ include Aws::Structure
2065
+ end
2066
+
2067
+ # @!attribute [rw] resolver_endpoint
2068
+ # Information about the Resolver endpoint that you specified in a
2069
+ # `GetResolverEndpoint` request.
2070
+ # @return [Types::ResolverEndpoint]
2071
+ #
2072
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverEndpointResponse AWS API Documentation
2073
+ #
2074
+ class GetResolverEndpointResponse < Struct.new(
2075
+ :resolver_endpoint)
2076
+ SENSITIVE = []
2077
+ include Aws::Structure
2078
+ end
2079
+
2080
+ # @note When making an API call, you may pass GetResolverQueryLogConfigAssociationRequest
2081
+ # data as a hash:
2082
+ #
2083
+ # {
2084
+ # resolver_query_log_config_association_id: "ResourceId", # required
2085
+ # }
2086
+ #
2087
+ # @!attribute [rw] resolver_query_log_config_association_id
2088
+ # The ID of the Resolver query logging configuration association that
2089
+ # you want to get information about.
2090
+ # @return [String]
2091
+ #
2092
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverQueryLogConfigAssociationRequest AWS API Documentation
2093
+ #
2094
+ class GetResolverQueryLogConfigAssociationRequest < Struct.new(
2095
+ :resolver_query_log_config_association_id)
2096
+ SENSITIVE = []
2097
+ include Aws::Structure
2098
+ end
2099
+
2100
+ # @!attribute [rw] resolver_query_log_config_association
2101
+ # Information about the Resolver query logging configuration
2102
+ # association that you specified in a `GetQueryLogConfigAssociation`
2103
+ # request.
2104
+ # @return [Types::ResolverQueryLogConfigAssociation]
2105
+ #
2106
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverQueryLogConfigAssociationResponse AWS API Documentation
2107
+ #
2108
+ class GetResolverQueryLogConfigAssociationResponse < Struct.new(
2109
+ :resolver_query_log_config_association)
2110
+ SENSITIVE = []
2111
+ include Aws::Structure
2112
+ end
2113
+
2114
+ # @note When making an API call, you may pass GetResolverQueryLogConfigPolicyRequest
2115
+ # data as a hash:
2116
+ #
2117
+ # {
2118
+ # arn: "Arn", # required
2119
+ # }
2120
+ #
2121
+ # @!attribute [rw] arn
2122
+ # The ARN of the query logging configuration that you want to get the
2123
+ # query logging policy for.
2124
+ # @return [String]
2125
+ #
2126
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverQueryLogConfigPolicyRequest AWS API Documentation
2127
+ #
2128
+ class GetResolverQueryLogConfigPolicyRequest < Struct.new(
2129
+ :arn)
2130
+ SENSITIVE = []
2131
+ include Aws::Structure
2132
+ end
2133
+
2134
+ # @!attribute [rw] resolver_query_log_config_policy
2135
+ # Information about the query logging policy for the query logging
2136
+ # configuration that you specified in a
2137
+ # `GetResolverQueryLogConfigPolicy` request.
2138
+ # @return [String]
2139
+ #
2140
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverQueryLogConfigPolicyResponse AWS API Documentation
2141
+ #
2142
+ class GetResolverQueryLogConfigPolicyResponse < Struct.new(
2143
+ :resolver_query_log_config_policy)
2144
+ SENSITIVE = []
2145
+ include Aws::Structure
2146
+ end
2147
+
2148
+ # @note When making an API call, you may pass GetResolverQueryLogConfigRequest
2149
+ # data as a hash:
2150
+ #
2151
+ # {
2152
+ # resolver_query_log_config_id: "ResourceId", # required
2153
+ # }
2154
+ #
2155
+ # @!attribute [rw] resolver_query_log_config_id
2156
+ # The ID of the Resolver query logging configuration that you want to
2157
+ # get information about.
2158
+ # @return [String]
2159
+ #
2160
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverQueryLogConfigRequest AWS API Documentation
2161
+ #
2162
+ class GetResolverQueryLogConfigRequest < Struct.new(
2163
+ :resolver_query_log_config_id)
2164
+ SENSITIVE = []
2165
+ include Aws::Structure
2166
+ end
2167
+
2168
+ # @!attribute [rw] resolver_query_log_config
2169
+ # Information about the Resolver query logging configuration that you
2170
+ # specified in a `GetQueryLogConfig` request.
2171
+ # @return [Types::ResolverQueryLogConfig]
2172
+ #
2173
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverQueryLogConfigResponse AWS API Documentation
2174
+ #
2175
+ class GetResolverQueryLogConfigResponse < Struct.new(
2176
+ :resolver_query_log_config)
2177
+ SENSITIVE = []
2178
+ include Aws::Structure
2179
+ end
2180
+
2181
+ # @note When making an API call, you may pass GetResolverRuleAssociationRequest
2182
+ # data as a hash:
2183
+ #
2184
+ # {
2185
+ # resolver_rule_association_id: "ResourceId", # required
2186
+ # }
2187
+ #
2188
+ # @!attribute [rw] resolver_rule_association_id
2189
+ # The ID of the Resolver rule association that you want to get
2190
+ # information about.
2191
+ # @return [String]
2192
+ #
2193
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverRuleAssociationRequest AWS API Documentation
2194
+ #
2195
+ class GetResolverRuleAssociationRequest < Struct.new(
2196
+ :resolver_rule_association_id)
2197
+ SENSITIVE = []
2198
+ include Aws::Structure
2199
+ end
2200
+
2201
+ # @!attribute [rw] resolver_rule_association
2202
+ # Information about the Resolver rule association that you specified
2203
+ # in a `GetResolverRuleAssociation` request.
2204
+ # @return [Types::ResolverRuleAssociation]
2205
+ #
2206
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverRuleAssociationResponse AWS API Documentation
2207
+ #
2208
+ class GetResolverRuleAssociationResponse < Struct.new(
2209
+ :resolver_rule_association)
2210
+ SENSITIVE = []
2211
+ include Aws::Structure
2212
+ end
2213
+
2214
+ # @note When making an API call, you may pass GetResolverRulePolicyRequest
2215
+ # data as a hash:
2216
+ #
2217
+ # {
2218
+ # arn: "Arn", # required
2219
+ # }
2220
+ #
2221
+ # @!attribute [rw] arn
2222
+ # The ID of the Resolver rule that you want to get the Resolver rule
2223
+ # policy for.
2224
+ # @return [String]
2225
+ #
2226
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverRulePolicyRequest AWS API Documentation
2227
+ #
2228
+ class GetResolverRulePolicyRequest < Struct.new(
2229
+ :arn)
2230
+ SENSITIVE = []
2231
+ include Aws::Structure
2232
+ end
2233
+
2234
+ # @!attribute [rw] resolver_rule_policy
2235
+ # The Resolver rule policy for the rule that you specified in a
2236
+ # `GetResolverRulePolicy` request.
2237
+ # @return [String]
2238
+ #
2239
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverRulePolicyResponse AWS API Documentation
2240
+ #
2241
+ class GetResolverRulePolicyResponse < Struct.new(
2242
+ :resolver_rule_policy)
2243
+ SENSITIVE = []
2244
+ include Aws::Structure
2245
+ end
2246
+
2247
+ # @note When making an API call, you may pass GetResolverRuleRequest
2248
+ # data as a hash:
2249
+ #
2250
+ # {
2251
+ # resolver_rule_id: "ResourceId", # required
2252
+ # }
2253
+ #
2254
+ # @!attribute [rw] resolver_rule_id
2255
+ # The ID of the Resolver rule that you want to get information about.
2256
+ # @return [String]
2257
+ #
2258
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverRuleRequest AWS API Documentation
2259
+ #
2260
+ class GetResolverRuleRequest < Struct.new(
2261
+ :resolver_rule_id)
2262
+ SENSITIVE = []
2263
+ include Aws::Structure
2264
+ end
2265
+
2266
+ # @!attribute [rw] resolver_rule
2267
+ # Information about the Resolver rule that you specified in a
2268
+ # `GetResolverRule` request.
2269
+ # @return [Types::ResolverRule]
2270
+ #
2271
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverRuleResponse AWS API Documentation
2272
+ #
2273
+ class GetResolverRuleResponse < Struct.new(
2274
+ :resolver_rule)
2275
+ SENSITIVE = []
2276
+ include Aws::Structure
2277
+ end
2278
+
2279
+ # @note When making an API call, you may pass ImportFirewallDomainsRequest
2280
+ # data as a hash:
2281
+ #
2282
+ # {
2283
+ # firewall_domain_list_id: "ResourceId", # required
2284
+ # operation: "REPLACE", # required, accepts REPLACE
2285
+ # domain_file_url: "DomainListFileUrl", # required
2286
+ # }
2287
+ #
2288
+ # @!attribute [rw] firewall_domain_list_id
2289
+ # The ID of the domain list that you want to modify with the import
2290
+ # operation.
2291
+ # @return [String]
2292
+ #
2293
+ # @!attribute [rw] operation
2294
+ # What you want DNS Firewall to do with the domains that are listed in
2295
+ # the file. This must be set to `REPLACE`, which updates the domain
2296
+ # list to exactly match the list in the file.
2297
+ # @return [String]
2298
+ #
2299
+ # @!attribute [rw] domain_file_url
2300
+ # The fully qualified URL or URI of the file stored in Amazon Simple
2301
+ # Storage Service (S3) that contains the list of domains to import.
2302
+ #
2303
+ # The file must be in an S3 bucket that's in the same Region as your
2304
+ # DNS Firewall. The file must be a text file and must contain a single
2305
+ # domain per line.
2306
+ # @return [String]
2307
+ #
2308
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ImportFirewallDomainsRequest AWS API Documentation
2309
+ #
2310
+ class ImportFirewallDomainsRequest < Struct.new(
2311
+ :firewall_domain_list_id,
2312
+ :operation,
2313
+ :domain_file_url)
2314
+ SENSITIVE = []
2315
+ include Aws::Structure
2316
+ end
2317
+
2318
+ # @!attribute [rw] id
2319
+ # The Id of the firewall domain list that DNS Firewall just updated.
2320
+ # @return [String]
2321
+ #
2322
+ # @!attribute [rw] name
2323
+ # The name of the domain list.
2324
+ # @return [String]
2325
+ #
2326
+ # @!attribute [rw] status
2327
+ # @return [String]
2328
+ #
2329
+ # @!attribute [rw] status_message
2330
+ # Additional information about the status of the list, if available.
2331
+ # @return [String]
2332
+ #
2333
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ImportFirewallDomainsResponse AWS API Documentation
2334
+ #
2335
+ class ImportFirewallDomainsResponse < Struct.new(
2336
+ :id,
2337
+ :name,
2338
+ :status,
2339
+ :status_message)
2340
+ SENSITIVE = []
2341
+ include Aws::Structure
2342
+ end
2343
+
2344
+ # We encountered an unknown error. Try again in a few minutes.
2345
+ #
2346
+ # @!attribute [rw] message
2347
+ # @return [String]
2348
+ #
2349
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/InternalServiceErrorException AWS API Documentation
2350
+ #
2351
+ class InternalServiceErrorException < Struct.new(
2352
+ :message)
2353
+ SENSITIVE = []
2354
+ include Aws::Structure
2355
+ end
2356
+
2357
+ # The value that you specified for `NextToken` in a `List` request
2358
+ # isn't valid.
2359
+ #
2360
+ # @!attribute [rw] message
2361
+ # @return [String]
2362
+ #
2363
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/InvalidNextTokenException AWS API Documentation
2364
+ #
2365
+ class InvalidNextTokenException < Struct.new(
2366
+ :message)
2367
+ SENSITIVE = []
2368
+ include Aws::Structure
2369
+ end
2370
+
2371
+ # One or more parameters in this request are not valid.
2372
+ #
2373
+ # @!attribute [rw] message
2374
+ # @return [String]
2375
+ #
2376
+ # @!attribute [rw] field_name
2377
+ # For an `InvalidParameterException` error, the name of the parameter
2378
+ # that's invalid.
2379
+ # @return [String]
2380
+ #
2381
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/InvalidParameterException AWS API Documentation
2382
+ #
2383
+ class InvalidParameterException < Struct.new(
2384
+ :message,
2385
+ :field_name)
2386
+ SENSITIVE = []
2387
+ include Aws::Structure
2388
+ end
2389
+
2390
+ # The specified Resolver rule policy is invalid.
2391
+ #
2392
+ # @!attribute [rw] message
2393
+ # @return [String]
2394
+ #
2395
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/InvalidPolicyDocument AWS API Documentation
2396
+ #
2397
+ class InvalidPolicyDocument < Struct.new(
2398
+ :message)
2399
+ SENSITIVE = []
2400
+ include Aws::Structure
2401
+ end
2402
+
2403
+ # The request is invalid.
2404
+ #
2405
+ # @!attribute [rw] message
2406
+ # @return [String]
2407
+ #
2408
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/InvalidRequestException AWS API Documentation
2409
+ #
2410
+ class InvalidRequestException < Struct.new(
2411
+ :message)
2412
+ SENSITIVE = []
2413
+ include Aws::Structure
2414
+ end
2415
+
2416
+ # The specified tag is invalid.
2417
+ #
2418
+ # @!attribute [rw] message
2419
+ # @return [String]
2420
+ #
2421
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/InvalidTagException AWS API Documentation
2422
+ #
2423
+ class InvalidTagException < Struct.new(
2424
+ :message)
2425
+ SENSITIVE = []
2426
+ include Aws::Structure
2427
+ end
2428
+
2429
+ # In a [CreateResolverEndpoint][1] request, the IP address that DNS
2430
+ # queries originate from (for outbound endpoints) or that you forward
2431
+ # DNS queries to (for inbound endpoints). `IpAddressRequest` also
2432
+ # includes the ID of the subnet that contains the IP address.
2433
+ #
2434
+ #
2435
+ #
2436
+ # [1]: https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_CreateResolverEndpoint.html
2437
+ #
2438
+ # @note When making an API call, you may pass IpAddressRequest
2439
+ # data as a hash:
2440
+ #
2441
+ # {
2442
+ # subnet_id: "SubnetId", # required
2443
+ # ip: "Ip",
2444
+ # }
2445
+ #
2446
+ # @!attribute [rw] subnet_id
2447
+ # The ID of the subnet that contains the IP address.
2448
+ # @return [String]
2449
+ #
2450
+ # @!attribute [rw] ip
2451
+ # The IP address that you want to use for DNS queries.
2452
+ # @return [String]
2453
+ #
2454
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/IpAddressRequest AWS API Documentation
2455
+ #
2456
+ class IpAddressRequest < Struct.new(
2457
+ :subnet_id,
2458
+ :ip)
2459
+ SENSITIVE = []
2460
+ include Aws::Structure
2461
+ end
2462
+
2463
+ # In the response to a [GetResolverEndpoint][1] request, information
2464
+ # about the IP addresses that the Resolver endpoint uses for DNS
2465
+ # queries.
2466
+ #
2467
+ #
2468
+ #
2469
+ # [1]: https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverEndpoint.html
2470
+ #
2471
+ # @!attribute [rw] ip_id
2472
+ # The ID of one IP address.
2473
+ # @return [String]
2474
+ #
2475
+ # @!attribute [rw] subnet_id
2476
+ # The ID of one subnet.
2477
+ # @return [String]
2478
+ #
2479
+ # @!attribute [rw] ip
2480
+ # One IP address that the Resolver endpoint uses for DNS queries.
2481
+ # @return [String]
2482
+ #
2483
+ # @!attribute [rw] status
2484
+ # A status code that gives the current status of the request.
2485
+ # @return [String]
2486
+ #
2487
+ # @!attribute [rw] status_message
2488
+ # A message that provides additional information about the status of
2489
+ # the request.
2490
+ # @return [String]
2491
+ #
2492
+ # @!attribute [rw] creation_time
2493
+ # The date and time that the IP address was created, in Unix time
2494
+ # format and Coordinated Universal Time (UTC).
2495
+ # @return [String]
2496
+ #
2497
+ # @!attribute [rw] modification_time
2498
+ # The date and time that the IP address was last modified, in Unix
2499
+ # time format and Coordinated Universal Time (UTC).
2500
+ # @return [String]
2501
+ #
2502
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/IpAddressResponse AWS API Documentation
2503
+ #
2504
+ class IpAddressResponse < Struct.new(
2505
+ :ip_id,
2506
+ :subnet_id,
2507
+ :ip,
2508
+ :status,
2509
+ :status_message,
2510
+ :creation_time,
2511
+ :modification_time)
2512
+ SENSITIVE = []
2513
+ include Aws::Structure
2514
+ end
2515
+
2516
+ # In an [UpdateResolverEndpoint][1] request, information about an IP
2517
+ # address to update.
2518
+ #
2519
+ #
2520
+ #
2521
+ # [1]: https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_UpdateResolverEndpoint.html
2522
+ #
2523
+ # @note When making an API call, you may pass IpAddressUpdate
2524
+ # data as a hash:
2525
+ #
2526
+ # {
2527
+ # ip_id: "ResourceId",
2528
+ # subnet_id: "SubnetId",
2529
+ # ip: "Ip",
2530
+ # }
2531
+ #
2532
+ # @!attribute [rw] ip_id
2533
+ # *Only when removing an IP address from a Resolver endpoint*\: The ID
2534
+ # of the IP address that you want to remove. To get this ID, use
2535
+ # [GetResolverEndpoint][1].
2536
+ #
2537
+ #
2538
+ #
2539
+ # [1]: https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverEndpoint.html
2540
+ # @return [String]
2541
+ #
2542
+ # @!attribute [rw] subnet_id
2543
+ # The ID of the subnet that includes the IP address that you want to
2544
+ # update. To get this ID, use [GetResolverEndpoint][1].
2545
+ #
2546
+ #
2547
+ #
2548
+ # [1]: https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverEndpoint.html
2549
+ # @return [String]
2550
+ #
2551
+ # @!attribute [rw] ip
2552
+ # The new IP address.
2553
+ # @return [String]
2554
+ #
2555
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/IpAddressUpdate AWS API Documentation
2556
+ #
2557
+ class IpAddressUpdate < Struct.new(
2558
+ :ip_id,
2559
+ :subnet_id,
2560
+ :ip)
2561
+ SENSITIVE = []
2562
+ include Aws::Structure
2563
+ end
2564
+
2565
+ # The request caused one or more limits to be exceeded.
2566
+ #
2567
+ # @!attribute [rw] message
2568
+ # @return [String]
2569
+ #
2570
+ # @!attribute [rw] resource_type
2571
+ # For a `LimitExceededException` error, the type of resource that
2572
+ # exceeded the current limit.
2573
+ # @return [String]
2574
+ #
2575
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/LimitExceededException AWS API Documentation
2576
+ #
2577
+ class LimitExceededException < Struct.new(
2578
+ :message,
2579
+ :resource_type)
2580
+ SENSITIVE = []
2581
+ include Aws::Structure
2582
+ end
2583
+
2584
+ # @note When making an API call, you may pass ListFirewallConfigsRequest
2585
+ # data as a hash:
2586
+ #
2587
+ # {
2588
+ # max_results: 1,
2589
+ # next_token: "NextToken",
2590
+ # }
2591
+ #
2592
+ # @!attribute [rw] max_results
2593
+ # The maximum number of objects that you want Resolver to return for
2594
+ # this request. If more objects are available, in the response,
2595
+ # Resolver provides a `NextToken` value that you can use in a
2596
+ # subsequent call to get the next batch of objects.
2597
+ #
2598
+ # If you don't specify a value for `MaxResults`, Resolver returns up
2599
+ # to 100 objects.
2600
+ # @return [Integer]
2601
+ #
2602
+ # @!attribute [rw] next_token
2603
+ # For the first call to this list request, omit this value.
2604
+ #
2605
+ # When you request a list of objects, Resolver returns at most the
2606
+ # number of objects specified in `MaxResults`. If more objects are
2607
+ # available for retrieval, Resolver returns a `NextToken` value in the
2608
+ # response. To retrieve the next batch of objects, use the token that
2609
+ # was returned for the prior request in your next request.
2610
+ # @return [String]
2611
+ #
2612
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListFirewallConfigsRequest AWS API Documentation
2613
+ #
2614
+ class ListFirewallConfigsRequest < Struct.new(
2615
+ :max_results,
2616
+ :next_token)
2617
+ SENSITIVE = []
2618
+ include Aws::Structure
2619
+ end
2620
+
2621
+ # @!attribute [rw] next_token
2622
+ # If objects are still available for retrieval, Resolver returns this
2623
+ # token in the response. To retrieve the next batch of objects,
2624
+ # provide this token in your next request.
1080
2625
  # @return [String]
1081
2626
  #
1082
- # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverRulePolicyResponse AWS API Documentation
2627
+ # @!attribute [rw] firewall_configs
2628
+ # The configurations for the firewall behavior provided by DNS
2629
+ # Firewall for Amazon virtual private clouds (VPC).
2630
+ # @return [Array<Types::FirewallConfig>]
1083
2631
  #
1084
- class GetResolverRulePolicyResponse < Struct.new(
1085
- :resolver_rule_policy)
2632
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListFirewallConfigsResponse AWS API Documentation
2633
+ #
2634
+ class ListFirewallConfigsResponse < Struct.new(
2635
+ :next_token,
2636
+ :firewall_configs)
1086
2637
  SENSITIVE = []
1087
2638
  include Aws::Structure
1088
2639
  end
1089
2640
 
1090
- # @note When making an API call, you may pass GetResolverRuleRequest
2641
+ # @note When making an API call, you may pass ListFirewallDomainListsRequest
1091
2642
  # data as a hash:
1092
2643
  #
1093
2644
  # {
1094
- # resolver_rule_id: "ResourceId", # required
2645
+ # max_results: 1,
2646
+ # next_token: "NextToken",
1095
2647
  # }
1096
2648
  #
1097
- # @!attribute [rw] resolver_rule_id
1098
- # The ID of the Resolver rule that you want to get information about.
2649
+ # @!attribute [rw] max_results
2650
+ # The maximum number of objects that you want Resolver to return for
2651
+ # this request. If more objects are available, in the response,
2652
+ # Resolver provides a `NextToken` value that you can use in a
2653
+ # subsequent call to get the next batch of objects.
2654
+ #
2655
+ # If you don't specify a value for `MaxResults`, Resolver returns up
2656
+ # to 100 objects.
2657
+ # @return [Integer]
2658
+ #
2659
+ # @!attribute [rw] next_token
2660
+ # For the first call to this list request, omit this value.
2661
+ #
2662
+ # When you request a list of objects, Resolver returns at most the
2663
+ # number of objects specified in `MaxResults`. If more objects are
2664
+ # available for retrieval, Resolver returns a `NextToken` value in the
2665
+ # response. To retrieve the next batch of objects, use the token that
2666
+ # was returned for the prior request in your next request.
1099
2667
  # @return [String]
1100
2668
  #
1101
- # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverRuleRequest AWS API Documentation
2669
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListFirewallDomainListsRequest AWS API Documentation
1102
2670
  #
1103
- class GetResolverRuleRequest < Struct.new(
1104
- :resolver_rule_id)
2671
+ class ListFirewallDomainListsRequest < Struct.new(
2672
+ :max_results,
2673
+ :next_token)
1105
2674
  SENSITIVE = []
1106
2675
  include Aws::Structure
1107
2676
  end
1108
2677
 
1109
- # @!attribute [rw] resolver_rule
1110
- # Information about the Resolver rule that you specified in a
1111
- # `GetResolverRule` request.
1112
- # @return [Types::ResolverRule]
2678
+ # @!attribute [rw] next_token
2679
+ # If objects are still available for retrieval, Resolver returns this
2680
+ # token in the response. To retrieve the next batch of objects,
2681
+ # provide this token in your next request.
2682
+ # @return [String]
1113
2683
  #
1114
- # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverRuleResponse AWS API Documentation
2684
+ # @!attribute [rw] firewall_domain_lists
2685
+ # A list of the domain lists that you have defined.
1115
2686
  #
1116
- class GetResolverRuleResponse < Struct.new(
1117
- :resolver_rule)
2687
+ # This might be a parital list of the domain lists that you've
2688
+ # defined. For information, see `MaxResults`.
2689
+ # @return [Array<Types::FirewallDomainListMetadata>]
2690
+ #
2691
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListFirewallDomainListsResponse AWS API Documentation
2692
+ #
2693
+ class ListFirewallDomainListsResponse < Struct.new(
2694
+ :next_token,
2695
+ :firewall_domain_lists)
1118
2696
  SENSITIVE = []
1119
2697
  include Aws::Structure
1120
2698
  end
1121
2699
 
1122
- # We encountered an unknown error. Try again in a few minutes.
2700
+ # @note When making an API call, you may pass ListFirewallDomainsRequest
2701
+ # data as a hash:
1123
2702
  #
1124
- # @!attribute [rw] message
2703
+ # {
2704
+ # firewall_domain_list_id: "ResourceId", # required
2705
+ # max_results: 1,
2706
+ # next_token: "NextToken",
2707
+ # }
2708
+ #
2709
+ # @!attribute [rw] firewall_domain_list_id
2710
+ # The ID of the domain list whose domains you want to retrieve.
1125
2711
  # @return [String]
1126
2712
  #
1127
- # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/InternalServiceErrorException AWS API Documentation
2713
+ # @!attribute [rw] max_results
2714
+ # The maximum number of objects that you want Resolver to return for
2715
+ # this request. If more objects are available, in the response,
2716
+ # Resolver provides a `NextToken` value that you can use in a
2717
+ # subsequent call to get the next batch of objects.
1128
2718
  #
1129
- class InternalServiceErrorException < Struct.new(
1130
- :message)
2719
+ # If you don't specify a value for `MaxResults`, Resolver returns up
2720
+ # to 100 objects.
2721
+ # @return [Integer]
2722
+ #
2723
+ # @!attribute [rw] next_token
2724
+ # For the first call to this list request, omit this value.
2725
+ #
2726
+ # When you request a list of objects, Resolver returns at most the
2727
+ # number of objects specified in `MaxResults`. If more objects are
2728
+ # available for retrieval, Resolver returns a `NextToken` value in the
2729
+ # response. To retrieve the next batch of objects, use the token that
2730
+ # was returned for the prior request in your next request.
2731
+ # @return [String]
2732
+ #
2733
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListFirewallDomainsRequest AWS API Documentation
2734
+ #
2735
+ class ListFirewallDomainsRequest < Struct.new(
2736
+ :firewall_domain_list_id,
2737
+ :max_results,
2738
+ :next_token)
1131
2739
  SENSITIVE = []
1132
2740
  include Aws::Structure
1133
2741
  end
1134
2742
 
1135
- # The value that you specified for `NextToken` in a `List` request
1136
- # isn't valid.
1137
- #
1138
- # @!attribute [rw] message
2743
+ # @!attribute [rw] next_token
2744
+ # If objects are still available for retrieval, Resolver returns this
2745
+ # token in the response. To retrieve the next batch of objects,
2746
+ # provide this token in your next request.
1139
2747
  # @return [String]
1140
2748
  #
1141
- # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/InvalidNextTokenException AWS API Documentation
2749
+ # @!attribute [rw] domains
2750
+ # A list of the domains in the firewall domain list.
1142
2751
  #
1143
- class InvalidNextTokenException < Struct.new(
1144
- :message)
2752
+ # This might be a parital list of the domains that you've defined in
2753
+ # the domain list. For information, see `MaxResults`.
2754
+ # @return [Array<String>]
2755
+ #
2756
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListFirewallDomainsResponse AWS API Documentation
2757
+ #
2758
+ class ListFirewallDomainsResponse < Struct.new(
2759
+ :next_token,
2760
+ :domains)
1145
2761
  SENSITIVE = []
1146
2762
  include Aws::Structure
1147
2763
  end
1148
2764
 
1149
- # One or more parameters in this request are not valid.
2765
+ # @note When making an API call, you may pass ListFirewallRuleGroupAssociationsRequest
2766
+ # data as a hash:
1150
2767
  #
1151
- # @!attribute [rw] message
2768
+ # {
2769
+ # firewall_rule_group_id: "ResourceId",
2770
+ # vpc_id: "ResourceId",
2771
+ # priority: 1,
2772
+ # status: "COMPLETE", # accepts COMPLETE, DELETING, UPDATING
2773
+ # max_results: 1,
2774
+ # next_token: "NextToken",
2775
+ # }
2776
+ #
2777
+ # @!attribute [rw] firewall_rule_group_id
2778
+ # The unique identifier of the firewall rule group that you want to
2779
+ # retrieve the associations for. Leave this blank to retrieve
2780
+ # associations for any rule group.
1152
2781
  # @return [String]
1153
2782
  #
1154
- # @!attribute [rw] field_name
1155
- # For an `InvalidParameterException` error, the name of the parameter
1156
- # that's invalid.
2783
+ # @!attribute [rw] vpc_id
2784
+ # The unique identifier of the VPC that you want to retrieve the
2785
+ # associations for. Leave this blank to retrieve associations for any
2786
+ # VPC.
1157
2787
  # @return [String]
1158
2788
  #
1159
- # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/InvalidParameterException AWS API Documentation
2789
+ # @!attribute [rw] priority
2790
+ # The setting that determines the processing order of the rule group
2791
+ # among the rule groups that are associated with a single VPC. DNS
2792
+ # Firewall filters VPC traffic starting from rule group with the
2793
+ # lowest numeric priority setting.
2794
+ # @return [Integer]
1160
2795
  #
1161
- class InvalidParameterException < Struct.new(
1162
- :message,
1163
- :field_name)
1164
- SENSITIVE = []
1165
- include Aws::Structure
1166
- end
1167
-
1168
- # The specified Resolver rule policy is invalid.
2796
+ # @!attribute [rw] status
2797
+ # The association `Status` setting that you want DNS Firewall to
2798
+ # filter on for the list. If you don't specify this, then DNS
2799
+ # Firewall returns all associations, regardless of status.
2800
+ # @return [String]
1169
2801
  #
1170
- # @!attribute [rw] message
2802
+ # @!attribute [rw] max_results
2803
+ # The maximum number of objects that you want Resolver to return for
2804
+ # this request. If more objects are available, in the response,
2805
+ # Resolver provides a `NextToken` value that you can use in a
2806
+ # subsequent call to get the next batch of objects.
2807
+ #
2808
+ # If you don't specify a value for `MaxResults`, Resolver returns up
2809
+ # to 100 objects.
2810
+ # @return [Integer]
2811
+ #
2812
+ # @!attribute [rw] next_token
2813
+ # For the first call to this list request, omit this value.
2814
+ #
2815
+ # When you request a list of objects, Resolver returns at most the
2816
+ # number of objects specified in `MaxResults`. If more objects are
2817
+ # available for retrieval, Resolver returns a `NextToken` value in the
2818
+ # response. To retrieve the next batch of objects, use the token that
2819
+ # was returned for the prior request in your next request.
1171
2820
  # @return [String]
1172
2821
  #
1173
- # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/InvalidPolicyDocument AWS API Documentation
2822
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListFirewallRuleGroupAssociationsRequest AWS API Documentation
1174
2823
  #
1175
- class InvalidPolicyDocument < Struct.new(
1176
- :message)
2824
+ class ListFirewallRuleGroupAssociationsRequest < Struct.new(
2825
+ :firewall_rule_group_id,
2826
+ :vpc_id,
2827
+ :priority,
2828
+ :status,
2829
+ :max_results,
2830
+ :next_token)
1177
2831
  SENSITIVE = []
1178
2832
  include Aws::Structure
1179
2833
  end
1180
2834
 
1181
- # The request is invalid.
1182
- #
1183
- # @!attribute [rw] message
2835
+ # @!attribute [rw] next_token
2836
+ # If objects are still available for retrieval, Resolver returns this
2837
+ # token in the response. To retrieve the next batch of objects,
2838
+ # provide this token in your next request.
1184
2839
  # @return [String]
1185
2840
  #
1186
- # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/InvalidRequestException AWS API Documentation
2841
+ # @!attribute [rw] firewall_rule_group_associations
2842
+ # A list of your firewall rule group associations.
1187
2843
  #
1188
- class InvalidRequestException < Struct.new(
1189
- :message)
2844
+ # This might be a partial list of the associations that you have
2845
+ # defined. For information, see `MaxResults`.
2846
+ # @return [Array<Types::FirewallRuleGroupAssociation>]
2847
+ #
2848
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListFirewallRuleGroupAssociationsResponse AWS API Documentation
2849
+ #
2850
+ class ListFirewallRuleGroupAssociationsResponse < Struct.new(
2851
+ :next_token,
2852
+ :firewall_rule_group_associations)
1190
2853
  SENSITIVE = []
1191
2854
  include Aws::Structure
1192
2855
  end
1193
2856
 
1194
- # The specified tag is invalid.
2857
+ # @note When making an API call, you may pass ListFirewallRuleGroupsRequest
2858
+ # data as a hash:
1195
2859
  #
1196
- # @!attribute [rw] message
2860
+ # {
2861
+ # max_results: 1,
2862
+ # next_token: "NextToken",
2863
+ # }
2864
+ #
2865
+ # @!attribute [rw] max_results
2866
+ # The maximum number of objects that you want Resolver to return for
2867
+ # this request. If more objects are available, in the response,
2868
+ # Resolver provides a `NextToken` value that you can use in a
2869
+ # subsequent call to get the next batch of objects.
2870
+ #
2871
+ # If you don't specify a value for `MaxResults`, Resolver returns up
2872
+ # to 100 objects.
2873
+ # @return [Integer]
2874
+ #
2875
+ # @!attribute [rw] next_token
2876
+ # For the first call to this list request, omit this value.
2877
+ #
2878
+ # When you request a list of objects, Resolver returns at most the
2879
+ # number of objects specified in `MaxResults`. If more objects are
2880
+ # available for retrieval, Resolver returns a `NextToken` value in the
2881
+ # response. To retrieve the next batch of objects, use the token that
2882
+ # was returned for the prior request in your next request.
1197
2883
  # @return [String]
1198
2884
  #
1199
- # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/InvalidTagException AWS API Documentation
2885
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListFirewallRuleGroupsRequest AWS API Documentation
1200
2886
  #
1201
- class InvalidTagException < Struct.new(
1202
- :message)
2887
+ class ListFirewallRuleGroupsRequest < Struct.new(
2888
+ :max_results,
2889
+ :next_token)
1203
2890
  SENSITIVE = []
1204
2891
  include Aws::Structure
1205
2892
  end
1206
2893
 
1207
- # In a [CreateResolverEndpoint][1] request, the IP address that DNS
1208
- # queries originate from (for outbound endpoints) or that you forward
1209
- # DNS queries to (for inbound endpoints). `IpAddressRequest` also
1210
- # includes the ID of the subnet that contains the IP address.
2894
+ # @!attribute [rw] next_token
2895
+ # If objects are still available for retrieval, Resolver returns this
2896
+ # token in the response. To retrieve the next batch of objects,
2897
+ # provide this token in your next request.
2898
+ # @return [String]
1211
2899
  #
2900
+ # @!attribute [rw] firewall_rule_groups
2901
+ # A list of your firewall rule groups.
1212
2902
  #
2903
+ # This might be a partial list of the rule groups that you have
2904
+ # defined. For information, see `MaxResults`.
2905
+ # @return [Array<Types::FirewallRuleGroupMetadata>]
1213
2906
  #
1214
- # [1]: https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_CreateResolverEndpoint.html
2907
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListFirewallRuleGroupsResponse AWS API Documentation
1215
2908
  #
1216
- # @note When making an API call, you may pass IpAddressRequest
2909
+ class ListFirewallRuleGroupsResponse < Struct.new(
2910
+ :next_token,
2911
+ :firewall_rule_groups)
2912
+ SENSITIVE = []
2913
+ include Aws::Structure
2914
+ end
2915
+
2916
+ # @note When making an API call, you may pass ListFirewallRulesRequest
1217
2917
  # data as a hash:
1218
2918
  #
1219
2919
  # {
1220
- # subnet_id: "SubnetId", # required
1221
- # ip: "Ip",
2920
+ # firewall_rule_group_id: "ResourceId", # required
2921
+ # priority: 1,
2922
+ # action: "ALLOW", # accepts ALLOW, BLOCK, ALERT
2923
+ # max_results: 1,
2924
+ # next_token: "NextToken",
1222
2925
  # }
1223
2926
  #
1224
- # @!attribute [rw] subnet_id
1225
- # The ID of the subnet that contains the IP address.
1226
- # @return [String]
1227
- #
1228
- # @!attribute [rw] ip
1229
- # The IP address that you want to use for DNS queries.
2927
+ # @!attribute [rw] firewall_rule_group_id
2928
+ # The unique identifier of the firewall rule group that you want to
2929
+ # retrieve the rules for.
1230
2930
  # @return [String]
1231
2931
  #
1232
- # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/IpAddressRequest AWS API Documentation
1233
- #
1234
- class IpAddressRequest < Struct.new(
1235
- :subnet_id,
1236
- :ip)
1237
- SENSITIVE = []
1238
- include Aws::Structure
1239
- end
1240
-
1241
- # In the response to a [GetResolverEndpoint][1] request, information
1242
- # about the IP addresses that the Resolver endpoint uses for DNS
1243
- # queries.
2932
+ # @!attribute [rw] priority
2933
+ # Optional additional filter for the rules to retrieve.
1244
2934
  #
2935
+ # The setting that determines the processing order of the rules in a
2936
+ # rule group. DNS Firewall processes the rules in a rule group by
2937
+ # order of priority, starting from the lowest setting.
2938
+ # @return [Integer]
1245
2939
  #
2940
+ # @!attribute [rw] action
2941
+ # Optional additional filter for the rules to retrieve.
1246
2942
  #
1247
- # [1]: https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverEndpoint.html
2943
+ # The action that DNS Firewall should take on a DNS query when it
2944
+ # matches one of the domains in the rule's domain list:
1248
2945
  #
1249
- # @!attribute [rw] ip_id
1250
- # The ID of one IP address.
1251
- # @return [String]
2946
+ # * `ALLOW` - Permit the request to go through.
1252
2947
  #
1253
- # @!attribute [rw] subnet_id
1254
- # The ID of one subnet.
1255
- # @return [String]
2948
+ # * `ALERT` - Permit the request to go through but send an alert to
2949
+ # the logs.
1256
2950
  #
1257
- # @!attribute [rw] ip
1258
- # One IP address that the Resolver endpoint uses for DNS queries.
2951
+ # * `BLOCK` - Disallow the request. If this is specified, additional
2952
+ # handling details are provided in the rule's `BlockResponse`
2953
+ # setting.
1259
2954
  # @return [String]
1260
2955
  #
1261
- # @!attribute [rw] status
1262
- # A status code that gives the current status of the request.
1263
- # @return [String]
2956
+ # @!attribute [rw] max_results
2957
+ # The maximum number of objects that you want Resolver to return for
2958
+ # this request. If more objects are available, in the response,
2959
+ # Resolver provides a `NextToken` value that you can use in a
2960
+ # subsequent call to get the next batch of objects.
1264
2961
  #
1265
- # @!attribute [rw] status_message
1266
- # A message that provides additional information about the status of
1267
- # the request.
1268
- # @return [String]
2962
+ # If you don't specify a value for `MaxResults`, Resolver returns up
2963
+ # to 100 objects.
2964
+ # @return [Integer]
1269
2965
  #
1270
- # @!attribute [rw] creation_time
1271
- # The date and time that the IP address was created, in Unix time
1272
- # format and Coordinated Universal Time (UTC).
1273
- # @return [String]
2966
+ # @!attribute [rw] next_token
2967
+ # For the first call to this list request, omit this value.
1274
2968
  #
1275
- # @!attribute [rw] modification_time
1276
- # The date and time that the IP address was last modified, in Unix
1277
- # time format and Coordinated Universal Time (UTC).
2969
+ # When you request a list of objects, Resolver returns at most the
2970
+ # number of objects specified in `MaxResults`. If more objects are
2971
+ # available for retrieval, Resolver returns a `NextToken` value in the
2972
+ # response. To retrieve the next batch of objects, use the token that
2973
+ # was returned for the prior request in your next request.
1278
2974
  # @return [String]
1279
2975
  #
1280
- # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/IpAddressResponse AWS API Documentation
2976
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListFirewallRulesRequest AWS API Documentation
1281
2977
  #
1282
- class IpAddressResponse < Struct.new(
1283
- :ip_id,
1284
- :subnet_id,
1285
- :ip,
1286
- :status,
1287
- :status_message,
1288
- :creation_time,
1289
- :modification_time)
2978
+ class ListFirewallRulesRequest < Struct.new(
2979
+ :firewall_rule_group_id,
2980
+ :priority,
2981
+ :action,
2982
+ :max_results,
2983
+ :next_token)
1290
2984
  SENSITIVE = []
1291
2985
  include Aws::Structure
1292
2986
  end
1293
2987
 
1294
- # In an [UpdateResolverEndpoint][1] request, information about an IP
1295
- # address to update.
2988
+ # @!attribute [rw] next_token
2989
+ # If objects are still available for retrieval, Resolver returns this
2990
+ # token in the response. To retrieve the next batch of objects,
2991
+ # provide this token in your next request.
2992
+ # @return [String]
1296
2993
  #
2994
+ # @!attribute [rw] firewall_rules
2995
+ # A list of the rules that you have defined.
1297
2996
  #
2997
+ # This might be a parital list of the firewall rules that you've
2998
+ # defined. For information, see `MaxResults`.
2999
+ # @return [Array<Types::FirewallRule>]
1298
3000
  #
1299
- # [1]: https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_UpdateResolverEndpoint.html
3001
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListFirewallRulesResponse AWS API Documentation
1300
3002
  #
1301
- # @note When making an API call, you may pass IpAddressUpdate
3003
+ class ListFirewallRulesResponse < Struct.new(
3004
+ :next_token,
3005
+ :firewall_rules)
3006
+ SENSITIVE = []
3007
+ include Aws::Structure
3008
+ end
3009
+
3010
+ # @note When making an API call, you may pass ListResolverDnssecConfigsRequest
1302
3011
  # data as a hash:
1303
3012
  #
1304
3013
  # {
1305
- # ip_id: "ResourceId",
1306
- # subnet_id: "SubnetId",
1307
- # ip: "Ip",
3014
+ # max_results: 1,
3015
+ # next_token: "NextToken",
3016
+ # filters: [
3017
+ # {
3018
+ # name: "FilterName",
3019
+ # values: ["FilterValue"],
3020
+ # },
3021
+ # ],
1308
3022
  # }
1309
3023
  #
1310
- # @!attribute [rw] ip_id
1311
- # *Only when removing an IP address from a Resolver endpoint*\: The ID
1312
- # of the IP address that you want to remove. To get this ID, use
1313
- # [GetResolverEndpoint][1].
1314
- #
1315
- #
1316
- #
1317
- # [1]: https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverEndpoint.html
1318
- # @return [String]
1319
- #
1320
- # @!attribute [rw] subnet_id
1321
- # The ID of the subnet that includes the IP address that you want to
1322
- # update. To get this ID, use [GetResolverEndpoint][1].
3024
+ # @!attribute [rw] max_results
3025
+ # *Optional*\: An integer that specifies the maximum number of DNSSEC
3026
+ # configuration results that you want Amazon Route 53 to return. If
3027
+ # you don't specify a value for `MaxResults`, Route 53 returns up to
3028
+ # 100 configuration per page.
3029
+ # @return [Integer]
1323
3030
  #
3031
+ # @!attribute [rw] next_token
3032
+ # (Optional) If the current AWS account has more than `MaxResults`
3033
+ # DNSSEC configurations, use `NextToken` to get the second and
3034
+ # subsequent pages of results.
1324
3035
  #
3036
+ # For the first `ListResolverDnssecConfigs` request, omit this value.
1325
3037
  #
1326
- # [1]: https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverEndpoint.html
3038
+ # For the second and subsequent requests, get the value of `NextToken`
3039
+ # from the previous response and specify that value for `NextToken` in
3040
+ # the request.
1327
3041
  # @return [String]
1328
3042
  #
1329
- # @!attribute [rw] ip
1330
- # The new IP address.
1331
- # @return [String]
3043
+ # @!attribute [rw] filters
3044
+ # An optional specification to return a subset of objects.
3045
+ # @return [Array<Types::Filter>]
1332
3046
  #
1333
- # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/IpAddressUpdate AWS API Documentation
3047
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListResolverDnssecConfigsRequest AWS API Documentation
1334
3048
  #
1335
- class IpAddressUpdate < Struct.new(
1336
- :ip_id,
1337
- :subnet_id,
1338
- :ip)
3049
+ class ListResolverDnssecConfigsRequest < Struct.new(
3050
+ :max_results,
3051
+ :next_token,
3052
+ :filters)
1339
3053
  SENSITIVE = []
1340
3054
  include Aws::Structure
1341
3055
  end
1342
3056
 
1343
- # The request caused one or more limits to be exceeded.
3057
+ # @!attribute [rw] next_token
3058
+ # If a response includes the last of the DNSSEC configurations that
3059
+ # are associated with the current AWS account, `NextToken` doesn't
3060
+ # appear in the response.
1344
3061
  #
1345
- # @!attribute [rw] message
1346
- # @return [String]
3062
+ # If a response doesn't include the last of the configurations, you
3063
+ # can get more configurations by submitting another
3064
+ # [ListResolverDnssecConfigs][1] request. Get the value of `NextToken`
3065
+ # that Amazon Route 53 returned in the previous response and include
3066
+ # it in `NextToken` in the next request.
1347
3067
  #
1348
- # @!attribute [rw] resource_type
1349
- # For a `LimitExceededException` error, the type of resource that
1350
- # exceeded the current limit.
3068
+ #
3069
+ #
3070
+ # [1]: https://docs.aws.amazon.com/Route53/latest/APIReference/API_ListResolverDnssecConfigs.html
1351
3071
  # @return [String]
1352
3072
  #
1353
- # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/LimitExceededException AWS API Documentation
3073
+ # @!attribute [rw] resolver_dnssec_configs
3074
+ # An array that contains one [ResolverDnssecConfig][1] element for
3075
+ # each configuration for DNSSEC validation that is associated with the
3076
+ # current AWS account.
1354
3077
  #
1355
- class LimitExceededException < Struct.new(
1356
- :message,
1357
- :resource_type)
3078
+ #
3079
+ #
3080
+ # [1]: https://docs.aws.amazon.com/Route53/latest/APIReference/API_ResolverDnssecConfig.html
3081
+ # @return [Array<Types::ResolverDnssecConfig>]
3082
+ #
3083
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListResolverDnssecConfigsResponse AWS API Documentation
3084
+ #
3085
+ class ListResolverDnssecConfigsResponse < Struct.new(
3086
+ :next_token,
3087
+ :resolver_dnssec_configs)
1358
3088
  SENSITIVE = []
1359
3089
  include Aws::Structure
1360
3090
  end
@@ -2055,6 +3785,44 @@ module Aws::Route53Resolver
2055
3785
  include Aws::Structure
2056
3786
  end
2057
3787
 
3788
+ # @note When making an API call, you may pass PutFirewallRuleGroupPolicyRequest
3789
+ # data as a hash:
3790
+ #
3791
+ # {
3792
+ # arn: "Arn", # required
3793
+ # firewall_rule_group_policy: "FirewallRuleGroupPolicy", # required
3794
+ # }
3795
+ #
3796
+ # @!attribute [rw] arn
3797
+ # The ARN (Amazon Resource Name) for the rule group that you want to
3798
+ # share.
3799
+ # @return [String]
3800
+ #
3801
+ # @!attribute [rw] firewall_rule_group_policy
3802
+ # The AWS Identity and Access Management (AWS IAM) policy to attach to
3803
+ # the rule group.
3804
+ # @return [String]
3805
+ #
3806
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/PutFirewallRuleGroupPolicyRequest AWS API Documentation
3807
+ #
3808
+ class PutFirewallRuleGroupPolicyRequest < Struct.new(
3809
+ :arn,
3810
+ :firewall_rule_group_policy)
3811
+ SENSITIVE = []
3812
+ include Aws::Structure
3813
+ end
3814
+
3815
+ # @!attribute [rw] return_value
3816
+ # @return [Boolean]
3817
+ #
3818
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/PutFirewallRuleGroupPolicyResponse AWS API Documentation
3819
+ #
3820
+ class PutFirewallRuleGroupPolicyResponse < Struct.new(
3821
+ :return_value)
3822
+ SENSITIVE = []
3823
+ include Aws::Structure
3824
+ end
3825
+
2058
3826
  # @note When making an API call, you may pass PutResolverQueryLogConfigPolicyRequest
2059
3827
  # data as a hash:
2060
3828
  #
@@ -2121,15 +3889,15 @@ module Aws::Route53Resolver
2121
3889
  # }
2122
3890
  #
2123
3891
  # @!attribute [rw] arn
2124
- # The Amazon Resource Name (ARN) of the account that you want to share
2125
- # rules with.
3892
+ # The Amazon Resource Name (ARN) of the rule that you want to share
3893
+ # with another account.
2126
3894
  # @return [String]
2127
3895
  #
2128
3896
  # @!attribute [rw] resolver_rule_policy
2129
3897
  # An AWS Identity and Access Management policy statement that lists
2130
3898
  # the rules that you want to share with another AWS account and the
2131
3899
  # operations that you want the account to be able to perform. You can
2132
- # specify the following operations in the `Actions` section of the
3900
+ # specify the following operations in the `Action` section of the
2133
3901
  # statement:
2134
3902
  #
2135
3903
  # * `route53resolver:GetResolverRule`
@@ -2142,9 +3910,9 @@ module Aws::Route53Resolver
2142
3910
  #
2143
3911
  # * `route53resolver:ListResolverRuleAssociations`
2144
3912
  #
2145
- # In the `Resource` section of the statement, you specify the ARNs for
2146
- # the rules that you want to share with the account that you specified
2147
- # in `Arn`.
3913
+ # In the `Resource` section of the statement, specify the ARN for the
3914
+ # rule that you want to share with another account. Specify the same
3915
+ # ARN that you specified in `Arn`.
2148
3916
  # @return [String]
2149
3917
  #
2150
3918
  # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/PutResolverRulePolicyRequest AWS API Documentation
@@ -2170,6 +3938,49 @@ module Aws::Route53Resolver
2170
3938
  include Aws::Structure
2171
3939
  end
2172
3940
 
3941
+ # A complex type that contains information about a configuration for
3942
+ # DNSSEC validation.
3943
+ #
3944
+ # @!attribute [rw] id
3945
+ # The ID for a configuration for DNSSEC validation.
3946
+ # @return [String]
3947
+ #
3948
+ # @!attribute [rw] owner_id
3949
+ # The owner account ID of the virtual private cloud (VPC) for a
3950
+ # configuration for DNSSEC validation.
3951
+ # @return [String]
3952
+ #
3953
+ # @!attribute [rw] resource_id
3954
+ # The ID of the virtual private cloud (VPC) that you're configuring
3955
+ # the DNSSEC validation status for.
3956
+ # @return [String]
3957
+ #
3958
+ # @!attribute [rw] validation_status
3959
+ # The validation status for a DNSSEC configuration. The status can be
3960
+ # one of the following:
3961
+ #
3962
+ # * **ENABLING:** DNSSEC validation is being enabled but is not
3963
+ # complete.
3964
+ #
3965
+ # * **ENABLED:** DNSSEC validation is enabled.
3966
+ #
3967
+ # * **DISABLING:** DNSSEC validation is being disabled but is not
3968
+ # complete.
3969
+ #
3970
+ # * **DISABLED** DNSSEC validation is disabled.
3971
+ # @return [String]
3972
+ #
3973
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ResolverDnssecConfig AWS API Documentation
3974
+ #
3975
+ class ResolverDnssecConfig < Struct.new(
3976
+ :id,
3977
+ :owner_id,
3978
+ :resource_id,
3979
+ :validation_status)
3980
+ SENSITIVE = []
3981
+ include Aws::Structure
3982
+ end
3983
+
2173
3984
  # In the response to a [CreateResolverEndpoint][1],
2174
3985
  # [DeleteResolverEndpoint][2], [GetResolverEndpoint][3],
2175
3986
  # [ListResolverEndpoints][4], or [UpdateResolverEndpoint][5] request, a
@@ -2998,6 +4809,349 @@ module Aws::Route53Resolver
2998
4809
  #
2999
4810
  class UntagResourceResponse < Aws::EmptyStructure; end
3000
4811
 
4812
+ # @note When making an API call, you may pass UpdateFirewallConfigRequest
4813
+ # data as a hash:
4814
+ #
4815
+ # {
4816
+ # resource_id: "ResourceId", # required
4817
+ # firewall_fail_open: "ENABLED", # required, accepts ENABLED, DISABLED
4818
+ # }
4819
+ #
4820
+ # @!attribute [rw] resource_id
4821
+ # The ID of the Amazon virtual private cloud (VPC) that the
4822
+ # configuration is for.
4823
+ # @return [String]
4824
+ #
4825
+ # @!attribute [rw] firewall_fail_open
4826
+ # Determines how Route 53 Resolver handles queries during failures,
4827
+ # for example when all traffic that is sent to DNS Firewall fails to
4828
+ # receive a reply.
4829
+ #
4830
+ # * By default, fail open is disabled, which means the failure mode is
4831
+ # closed. This approach favors security over availability. DNS
4832
+ # Firewall blocks queries that it is unable to evaluate properly.
4833
+ #
4834
+ # * If you enable this option, the failure mode is open. This approach
4835
+ # favors availability over security. DNS Firewall allows queries to
4836
+ # proceed if it is unable to properly evaluate them.
4837
+ #
4838
+ # This behavior is only enforced for VPCs that have at least one DNS
4839
+ # Firewall rule group association.
4840
+ # @return [String]
4841
+ #
4842
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/UpdateFirewallConfigRequest AWS API Documentation
4843
+ #
4844
+ class UpdateFirewallConfigRequest < Struct.new(
4845
+ :resource_id,
4846
+ :firewall_fail_open)
4847
+ SENSITIVE = []
4848
+ include Aws::Structure
4849
+ end
4850
+
4851
+ # @!attribute [rw] firewall_config
4852
+ # Configuration of the firewall behavior provided by DNS Firewall for
4853
+ # a single Amazon virtual private cloud (VPC).
4854
+ # @return [Types::FirewallConfig]
4855
+ #
4856
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/UpdateFirewallConfigResponse AWS API Documentation
4857
+ #
4858
+ class UpdateFirewallConfigResponse < Struct.new(
4859
+ :firewall_config)
4860
+ SENSITIVE = []
4861
+ include Aws::Structure
4862
+ end
4863
+
4864
+ # @note When making an API call, you may pass UpdateFirewallDomainsRequest
4865
+ # data as a hash:
4866
+ #
4867
+ # {
4868
+ # firewall_domain_list_id: "ResourceId", # required
4869
+ # operation: "ADD", # required, accepts ADD, REMOVE, REPLACE
4870
+ # domains: ["FirewallDomainName"], # required
4871
+ # }
4872
+ #
4873
+ # @!attribute [rw] firewall_domain_list_id
4874
+ # The ID of the domain list whose domains you want to update.
4875
+ # @return [String]
4876
+ #
4877
+ # @!attribute [rw] operation
4878
+ # What you want DNS Firewall to do with the domains that you are
4879
+ # providing:
4880
+ #
4881
+ # * `ADD` - Add the domains to the ones that are already in the domain
4882
+ # list.
4883
+ #
4884
+ # * `REMOVE` - Search the domain list for the domains and remove them
4885
+ # from the list.
4886
+ #
4887
+ # * `REPLACE` - Update the domain list to exactly match the list that
4888
+ # you are providing.
4889
+ # @return [String]
4890
+ #
4891
+ # @!attribute [rw] domains
4892
+ # A list of domains to use in the update operation.
4893
+ #
4894
+ # Each domain specification in your domain list must satisfy the
4895
+ # following requirements:
4896
+ #
4897
+ # * It can optionally start with `*` (asterisk).
4898
+ #
4899
+ # * With the exception of the optional starting asterisk, it must only
4900
+ # contain the following characters: `A-Z`, `a-z`, `0-9`, `-`
4901
+ # (hyphen).
4902
+ #
4903
+ # * It must be from 1-255 characters in length.
4904
+ # @return [Array<String>]
4905
+ #
4906
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/UpdateFirewallDomainsRequest AWS API Documentation
4907
+ #
4908
+ class UpdateFirewallDomainsRequest < Struct.new(
4909
+ :firewall_domain_list_id,
4910
+ :operation,
4911
+ :domains)
4912
+ SENSITIVE = []
4913
+ include Aws::Structure
4914
+ end
4915
+
4916
+ # @!attribute [rw] id
4917
+ # The Id of the firewall domain list that DNS Firewall just updated.
4918
+ # @return [String]
4919
+ #
4920
+ # @!attribute [rw] name
4921
+ # The name of the domain list.
4922
+ # @return [String]
4923
+ #
4924
+ # @!attribute [rw] status
4925
+ # @return [String]
4926
+ #
4927
+ # @!attribute [rw] status_message
4928
+ # Additional information about the status of the list, if available.
4929
+ # @return [String]
4930
+ #
4931
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/UpdateFirewallDomainsResponse AWS API Documentation
4932
+ #
4933
+ class UpdateFirewallDomainsResponse < Struct.new(
4934
+ :id,
4935
+ :name,
4936
+ :status,
4937
+ :status_message)
4938
+ SENSITIVE = []
4939
+ include Aws::Structure
4940
+ end
4941
+
4942
+ # @note When making an API call, you may pass UpdateFirewallRuleGroupAssociationRequest
4943
+ # data as a hash:
4944
+ #
4945
+ # {
4946
+ # firewall_rule_group_association_id: "ResourceId", # required
4947
+ # priority: 1,
4948
+ # mutation_protection: "ENABLED", # accepts ENABLED, DISABLED
4949
+ # name: "Name",
4950
+ # }
4951
+ #
4952
+ # @!attribute [rw] firewall_rule_group_association_id
4953
+ # The identifier of the FirewallRuleGroupAssociation.
4954
+ # @return [String]
4955
+ #
4956
+ # @!attribute [rw] priority
4957
+ # The setting that determines the processing order of the rule group
4958
+ # among the rule groups that you associate with the specified VPC. DNS
4959
+ # Firewall filters VPC traffic starting from rule group with the
4960
+ # lowest numeric priority setting.
4961
+ #
4962
+ # You must specify a unique priority for each rule group that you
4963
+ # associate with a single VPC. To make it easier to insert rule groups
4964
+ # later, leave space between the numbers, for example, use 100, 200,
4965
+ # and so on. You can change the priority setting for a rule group
4966
+ # association after you create it.
4967
+ # @return [Integer]
4968
+ #
4969
+ # @!attribute [rw] mutation_protection
4970
+ # If enabled, this setting disallows modification or removal of the
4971
+ # association, to help prevent against accidentally altering DNS
4972
+ # firewall protections.
4973
+ # @return [String]
4974
+ #
4975
+ # @!attribute [rw] name
4976
+ # The name of the rule group association.
4977
+ # @return [String]
4978
+ #
4979
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/UpdateFirewallRuleGroupAssociationRequest AWS API Documentation
4980
+ #
4981
+ class UpdateFirewallRuleGroupAssociationRequest < Struct.new(
4982
+ :firewall_rule_group_association_id,
4983
+ :priority,
4984
+ :mutation_protection,
4985
+ :name)
4986
+ SENSITIVE = []
4987
+ include Aws::Structure
4988
+ end
4989
+
4990
+ # @!attribute [rw] firewall_rule_group_association
4991
+ # The association that you just updated.
4992
+ # @return [Types::FirewallRuleGroupAssociation]
4993
+ #
4994
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/UpdateFirewallRuleGroupAssociationResponse AWS API Documentation
4995
+ #
4996
+ class UpdateFirewallRuleGroupAssociationResponse < Struct.new(
4997
+ :firewall_rule_group_association)
4998
+ SENSITIVE = []
4999
+ include Aws::Structure
5000
+ end
5001
+
5002
+ # @note When making an API call, you may pass UpdateFirewallRuleRequest
5003
+ # data as a hash:
5004
+ #
5005
+ # {
5006
+ # firewall_rule_group_id: "ResourceId", # required
5007
+ # firewall_domain_list_id: "ResourceId", # required
5008
+ # priority: 1,
5009
+ # action: "ALLOW", # accepts ALLOW, BLOCK, ALERT
5010
+ # block_response: "NODATA", # accepts NODATA, NXDOMAIN, OVERRIDE
5011
+ # block_override_domain: "BlockOverrideDomain",
5012
+ # block_override_dns_type: "CNAME", # accepts CNAME
5013
+ # block_override_ttl: 1,
5014
+ # name: "Name",
5015
+ # }
5016
+ #
5017
+ # @!attribute [rw] firewall_rule_group_id
5018
+ # The unique identifier of the firewall rule group for the rule.
5019
+ # @return [String]
5020
+ #
5021
+ # @!attribute [rw] firewall_domain_list_id
5022
+ # The ID of the domain list to use in the rule.
5023
+ # @return [String]
5024
+ #
5025
+ # @!attribute [rw] priority
5026
+ # The setting that determines the processing order of the rule in the
5027
+ # rule group. DNS Firewall processes the rules in a rule group by
5028
+ # order of priority, starting from the lowest setting.
5029
+ #
5030
+ # You must specify a unique priority for each rule in a rule group. To
5031
+ # make it easier to insert rules later, leave space between the
5032
+ # numbers, for example, use 100, 200, and so on. You can change the
5033
+ # priority setting for the rules in a rule group at any time.
5034
+ # @return [Integer]
5035
+ #
5036
+ # @!attribute [rw] action
5037
+ # The action that DNS Firewall should take on a DNS query when it
5038
+ # matches one of the domains in the rule's domain list:
5039
+ #
5040
+ # * `ALLOW` - Permit the request to go through.
5041
+ #
5042
+ # * `ALERT` - Permit the request to go through but send an alert to
5043
+ # the logs.
5044
+ #
5045
+ # * `BLOCK` - Disallow the request. This option requires additional
5046
+ # details in the rule's `BlockResponse`.
5047
+ # @return [String]
5048
+ #
5049
+ # @!attribute [rw] block_response
5050
+ # The way that you want DNS Firewall to block the request. Used for
5051
+ # the rule action setting `BLOCK`.
5052
+ #
5053
+ # * `NODATA` - Respond indicating that the query was successful, but
5054
+ # no response is available for it.
5055
+ #
5056
+ # * `NXDOMAIN` - Respond indicating that the domain name that's in
5057
+ # the query doesn't exist.
5058
+ #
5059
+ # * `OVERRIDE` - Provide a custom override in the response. This
5060
+ # option requires custom handling details in the rule's
5061
+ # `BlockOverride*` settings.
5062
+ # @return [String]
5063
+ #
5064
+ # @!attribute [rw] block_override_domain
5065
+ # The custom DNS record to send back in response to the query. Used
5066
+ # for the rule action `BLOCK` with a `BlockResponse` setting of
5067
+ # `OVERRIDE`.
5068
+ # @return [String]
5069
+ #
5070
+ # @!attribute [rw] block_override_dns_type
5071
+ # The DNS record's type. This determines the format of the record
5072
+ # value that you provided in `BlockOverrideDomain`. Used for the rule
5073
+ # action `BLOCK` with a `BlockResponse` setting of `OVERRIDE`.
5074
+ # @return [String]
5075
+ #
5076
+ # @!attribute [rw] block_override_ttl
5077
+ # The recommended amount of time, in seconds, for the DNS resolver or
5078
+ # web browser to cache the provided override record. Used for the rule
5079
+ # action `BLOCK` with a `BlockResponse` setting of `OVERRIDE`.
5080
+ # @return [Integer]
5081
+ #
5082
+ # @!attribute [rw] name
5083
+ # The name of the rule.
5084
+ # @return [String]
5085
+ #
5086
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/UpdateFirewallRuleRequest AWS API Documentation
5087
+ #
5088
+ class UpdateFirewallRuleRequest < Struct.new(
5089
+ :firewall_rule_group_id,
5090
+ :firewall_domain_list_id,
5091
+ :priority,
5092
+ :action,
5093
+ :block_response,
5094
+ :block_override_domain,
5095
+ :block_override_dns_type,
5096
+ :block_override_ttl,
5097
+ :name)
5098
+ SENSITIVE = []
5099
+ include Aws::Structure
5100
+ end
5101
+
5102
+ # @!attribute [rw] firewall_rule
5103
+ # The firewall rule that you just updated.
5104
+ # @return [Types::FirewallRule]
5105
+ #
5106
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/UpdateFirewallRuleResponse AWS API Documentation
5107
+ #
5108
+ class UpdateFirewallRuleResponse < Struct.new(
5109
+ :firewall_rule)
5110
+ SENSITIVE = []
5111
+ include Aws::Structure
5112
+ end
5113
+
5114
+ # @note When making an API call, you may pass UpdateResolverDnssecConfigRequest
5115
+ # data as a hash:
5116
+ #
5117
+ # {
5118
+ # resource_id: "ResourceId", # required
5119
+ # validation: "ENABLE", # required, accepts ENABLE, DISABLE
5120
+ # }
5121
+ #
5122
+ # @!attribute [rw] resource_id
5123
+ # The ID of the virtual private cloud (VPC) that you're updating the
5124
+ # DNSSEC validation status for.
5125
+ # @return [String]
5126
+ #
5127
+ # @!attribute [rw] validation
5128
+ # The new value that you are specifying for DNSSEC validation for the
5129
+ # VPC. The value can be `ENABLE` or `DISABLE`. Be aware that it can
5130
+ # take time for a validation status change to be completed.
5131
+ # @return [String]
5132
+ #
5133
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/UpdateResolverDnssecConfigRequest AWS API Documentation
5134
+ #
5135
+ class UpdateResolverDnssecConfigRequest < Struct.new(
5136
+ :resource_id,
5137
+ :validation)
5138
+ SENSITIVE = []
5139
+ include Aws::Structure
5140
+ end
5141
+
5142
+ # @!attribute [rw] resolver_dnssec_config
5143
+ # A complex type that contains settings for the specified DNSSEC
5144
+ # configuration.
5145
+ # @return [Types::ResolverDnssecConfig]
5146
+ #
5147
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/UpdateResolverDnssecConfigResponse AWS API Documentation
5148
+ #
5149
+ class UpdateResolverDnssecConfigResponse < Struct.new(
5150
+ :resolver_dnssec_config)
5151
+ SENSITIVE = []
5152
+ include Aws::Structure
5153
+ end
5154
+
3001
5155
  # @note When making an API call, you may pass UpdateResolverEndpointRequest
3002
5156
  # data as a hash:
3003
5157
  #
@@ -3081,5 +5235,16 @@ module Aws::Route53Resolver
3081
5235
  include Aws::Structure
3082
5236
  end
3083
5237
 
5238
+ # @!attribute [rw] message
5239
+ # @return [String]
5240
+ #
5241
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ValidationException AWS API Documentation
5242
+ #
5243
+ class ValidationException < Struct.new(
5244
+ :message)
5245
+ SENSITIVE = []
5246
+ include Aws::Structure
5247
+ end
5248
+
3084
5249
  end
3085
5250
  end