aws-sdk-route53resolver 1.20.0 → 1.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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