aws-sdk-route53resolver 1.24.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.
@@ -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
@@ -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
  #
@@ -889,128 +1372,768 @@ module Aws::Route53Resolver
889
1372
  include Aws::Structure
890
1373
  end
891
1374
 
892
- # @note When making an API call, you may pass GetResolverDnssecConfigRequest
893
- # data as a hash:
1375
+ # Configuration of the firewall behavior provided by DNS Firewall for a
1376
+ # single Amazon virtual private cloud (VPC).
894
1377
  #
895
- # {
896
- # resource_id: "ResourceId", # required
897
- # }
1378
+ # @!attribute [rw] id
1379
+ # The Id of the firewall configuration.
1380
+ # @return [String]
898
1381
  #
899
1382
  # @!attribute [rw] resource_id
900
- # The ID of the virtual private cloud (VPC) for the DNSSEC validation
901
- # status.
1383
+ # The ID of the VPC that this firewall configuration applies to.
902
1384
  # @return [String]
903
1385
  #
904
- # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverDnssecConfigRequest 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]
905
1390
  #
906
- class GetResolverDnssecConfigRequest < Struct.new(
907
- :resource_id)
908
- SENSITIVE = []
909
- include Aws::Structure
910
- end
911
-
912
- # @!attribute [rw] resolver_dnssec_config
913
- # The information about a configuration for DNSSEC validation.
914
- # @return [Types::ResolverDnssecConfig]
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.
915
1395
  #
916
- # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverDnssecConfigResponse 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.
917
1400
  #
918
- class GetResolverDnssecConfigResponse < Struct.new(
919
- :resolver_dnssec_config)
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)
920
1416
  SENSITIVE = []
921
1417
  include Aws::Structure
922
1418
  end
923
1419
 
924
- # @note When making an API call, you may pass GetResolverEndpointRequest
925
- # 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.
926
1422
  #
927
- # {
928
- # resolver_endpoint_id: "ResourceId", # required
929
- # }
1423
+ # To retrieve the domains that are defined for this domain list, call
1424
+ # ListFirewallDomains.
930
1425
  #
931
- # @!attribute [rw] resolver_endpoint_id
932
- # The ID of the Resolver endpoint that you want to get information
933
- # about.
1426
+ # @!attribute [rw] id
1427
+ # The ID of the domain list.
934
1428
  # @return [String]
935
1429
  #
936
- # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverEndpointRequest AWS API Documentation
1430
+ # @!attribute [rw] arn
1431
+ # The Amazon Resource Name (ARN) of the firewall domain list.
1432
+ # @return [String]
937
1433
  #
938
- class GetResolverEndpointRequest < Struct.new(
939
- :resolver_endpoint_id)
940
- SENSITIVE = []
941
- include Aws::Structure
942
- end
943
-
944
- # @!attribute [rw] resolver_endpoint
945
- # Information about the Resolver endpoint that you specified in a
946
- # `GetResolverEndpoint` request.
947
- # @return [Types::ResolverEndpoint]
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/GetResolverEndpointResponse 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 GetResolverEndpointResponse < Struct.new(
952
- :resolver_endpoint)
953
- SENSITIVE = []
954
- include Aws::Structure
955
- end
956
-
957
- # @note When making an API call, you may pass GetResolverQueryLogConfigAssociationRequest
958
- # data as a hash:
1442
+ # @!attribute [rw] status
1443
+ # The status of the domain list.
1444
+ # @return [String]
959
1445
  #
960
- # {
961
- # resolver_query_log_config_association_id: "ResourceId", # required
962
- # }
1446
+ # @!attribute [rw] status_message
1447
+ # Additional information about the status of the list, if available.
1448
+ # @return [String]
963
1449
  #
964
- # @!attribute [rw] resolver_query_log_config_association_id
965
- # The ID of the Resolver query logging configuration association that
966
- # you want to get information about.
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`.
967
1455
  # @return [String]
968
1456
  #
969
- # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverQueryLogConfigAssociationRequest AWS API Documentation
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]
970
1463
  #
971
- class GetResolverQueryLogConfigAssociationRequest < Struct.new(
972
- :resolver_query_log_config_association_id)
973
- SENSITIVE = []
974
- include Aws::Structure
975
- end
976
-
977
- # @!attribute [rw] resolver_query_log_config_association
978
- # Information about the Resolver query logging configuration
979
- # association that you specified in a `GetQueryLogConfigAssociation`
980
- # request.
981
- # @return [Types::ResolverQueryLogConfigAssociation]
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]
982
1468
  #
983
- # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverQueryLogConfigAssociationResponse AWS API Documentation
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]
984
1473
  #
985
- class GetResolverQueryLogConfigAssociationResponse < Struct.new(
986
- :resolver_query_log_config_association)
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)
987
1487
  SENSITIVE = []
988
1488
  include Aws::Structure
989
1489
  end
990
1490
 
991
- # @note When making an API call, you may pass GetResolverQueryLogConfigPolicyRequest
992
- # data as a hash:
1491
+ # Minimal high-level information for a firewall domain list. The action
1492
+ # ListFirewallDomainLists returns an array of these objects.
993
1493
  #
994
- # {
995
- # arn: "Arn", # required
996
- # }
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]
997
1500
  #
998
1501
  # @!attribute [rw] arn
999
- # The ARN of the query logging configuration that you want to get the
1000
- # query logging policy for.
1502
+ # The Amazon Resource Name (ARN) of the firewall domain list metadata.
1001
1503
  # @return [String]
1002
1504
  #
1003
- # @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]
1004
1508
  #
1005
- class GetResolverQueryLogConfigPolicyRequest < Struct.new(
1006
- :arn)
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.
1514
+ # @return [String]
1515
+ #
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]
1522
+ #
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)
1007
1531
  SENSITIVE = []
1008
1532
  include Aws::Structure
1009
1533
  end
1010
1534
 
1011
- # @!attribute [rw] resolver_query_log_config_policy
1012
- # Information about the query logging policy for the query logging
1013
- # configuration that you specified in a
1535
+ # A single firewall rule in a rule group.
1536
+ #
1537
+ # @!attribute [rw] firewall_rule_group_id
1538
+ # The unique identifier of the firewall rule group of the rule.
1539
+ # @return [String]
1540
+ #
1541
+ # @!attribute [rw] firewall_domain_list_id
1542
+ # The ID of the domain list that's used in the rule.
1543
+ # @return [String]
1544
+ #
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)
1634
+ SENSITIVE = []
1635
+ include Aws::Structure
1636
+ end
1637
+
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.
1642
+ #
1643
+ # @!attribute [rw] id
1644
+ # The ID of the rule group.
1645
+ # @return [String]
1646
+ #
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)
1711
+ SENSITIVE = []
1712
+ include Aws::Structure
1713
+ end
1714
+
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
1857
+ # data as a hash:
1858
+ #
1859
+ # {
1860
+ # resource_id: "ResourceId", # required
1861
+ # }
1862
+ #
1863
+ # @!attribute [rw] resource_id
1864
+ # The ID of the Amazon virtual private cloud (VPC) that the
1865
+ # configuration is for.
1866
+ # @return [String]
1867
+ #
1868
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetFirewallConfigRequest AWS API Documentation
1869
+ #
1870
+ class GetFirewallConfigRequest < Struct.new(
1871
+ :resource_id)
1872
+ SENSITIVE = []
1873
+ include Aws::Structure
1874
+ end
1875
+
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]
1880
+ #
1881
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetFirewallConfigResponse AWS API Documentation
1882
+ #
1883
+ class GetFirewallConfigResponse < Struct.new(
1884
+ :firewall_config)
1885
+ SENSITIVE = []
1886
+ include Aws::Structure
1887
+ end
1888
+
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
1952
+ # data as a hash:
1953
+ #
1954
+ # {
1955
+ # arn: "Arn", # required
1956
+ # }
1957
+ #
1958
+ # @!attribute [rw] arn
1959
+ # The ARN (Amazon Resource Name) for the rule group.
1960
+ # @return [String]
1961
+ #
1962
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetFirewallRuleGroupPolicyRequest AWS API Documentation
1963
+ #
1964
+ class GetFirewallRuleGroupPolicyRequest < Struct.new(
1965
+ :arn)
1966
+ SENSITIVE = []
1967
+ include Aws::Structure
1968
+ end
1969
+
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
1014
2137
  # `GetResolverQueryLogConfigPolicy` request.
1015
2138
  # @return [String]
1016
2139
  #
@@ -1153,6 +2276,71 @@ module Aws::Route53Resolver
1153
2276
  include Aws::Structure
1154
2277
  end
1155
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
+
1156
2344
  # We encountered an unknown error. Try again in a few minutes.
1157
2345
  #
1158
2346
  # @!attribute [rw] message
@@ -1301,94 +2489,520 @@ module Aws::Route53Resolver
1301
2489
  # the request.
1302
2490
  # @return [String]
1303
2491
  #
1304
- # @!attribute [rw] creation_time
1305
- # The date and time that the IP address was created, in Unix time
1306
- # format and Coordinated Universal Time (UTC).
1307
- # @return [String]
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.
2625
+ # @return [String]
2626
+ #
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>]
2631
+ #
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)
2637
+ SENSITIVE = []
2638
+ include Aws::Structure
2639
+ end
2640
+
2641
+ # @note When making an API call, you may pass ListFirewallDomainListsRequest
2642
+ # data as a hash:
2643
+ #
2644
+ # {
2645
+ # max_results: 1,
2646
+ # next_token: "NextToken",
2647
+ # }
2648
+ #
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.
2667
+ # @return [String]
2668
+ #
2669
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListFirewallDomainListsRequest AWS API Documentation
2670
+ #
2671
+ class ListFirewallDomainListsRequest < Struct.new(
2672
+ :max_results,
2673
+ :next_token)
2674
+ SENSITIVE = []
2675
+ include Aws::Structure
2676
+ end
2677
+
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]
2683
+ #
2684
+ # @!attribute [rw] firewall_domain_lists
2685
+ # A list of the domain lists that you have defined.
2686
+ #
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)
2696
+ SENSITIVE = []
2697
+ include Aws::Structure
2698
+ end
2699
+
2700
+ # @note When making an API call, you may pass ListFirewallDomainsRequest
2701
+ # data as a hash:
2702
+ #
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.
2711
+ # @return [String]
2712
+ #
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.
2718
+ #
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)
2739
+ SENSITIVE = []
2740
+ include Aws::Structure
2741
+ end
2742
+
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.
2747
+ # @return [String]
2748
+ #
2749
+ # @!attribute [rw] domains
2750
+ # A list of the domains in the firewall domain list.
2751
+ #
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)
2761
+ SENSITIVE = []
2762
+ include Aws::Structure
2763
+ end
2764
+
2765
+ # @note When making an API call, you may pass ListFirewallRuleGroupAssociationsRequest
2766
+ # data as a hash:
2767
+ #
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.
2781
+ # @return [String]
2782
+ #
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.
2787
+ # @return [String]
2788
+ #
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]
2795
+ #
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]
2801
+ #
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.
2820
+ # @return [String]
2821
+ #
2822
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListFirewallRuleGroupAssociationsRequest AWS API Documentation
2823
+ #
2824
+ class ListFirewallRuleGroupAssociationsRequest < Struct.new(
2825
+ :firewall_rule_group_id,
2826
+ :vpc_id,
2827
+ :priority,
2828
+ :status,
2829
+ :max_results,
2830
+ :next_token)
2831
+ SENSITIVE = []
2832
+ include Aws::Structure
2833
+ end
2834
+
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.
2839
+ # @return [String]
2840
+ #
2841
+ # @!attribute [rw] firewall_rule_group_associations
2842
+ # A list of your firewall rule group associations.
2843
+ #
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)
2853
+ SENSITIVE = []
2854
+ include Aws::Structure
2855
+ end
2856
+
2857
+ # @note When making an API call, you may pass ListFirewallRuleGroupsRequest
2858
+ # data as a hash:
2859
+ #
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.
1308
2877
  #
1309
- # @!attribute [rw] modification_time
1310
- # The date and time that the IP address was last modified, in Unix
1311
- # time format and Coordinated Universal Time (UTC).
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.
1312
2883
  # @return [String]
1313
2884
  #
1314
- # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/IpAddressResponse AWS API Documentation
2885
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListFirewallRuleGroupsRequest AWS API Documentation
1315
2886
  #
1316
- class IpAddressResponse < Struct.new(
1317
- :ip_id,
1318
- :subnet_id,
1319
- :ip,
1320
- :status,
1321
- :status_message,
1322
- :creation_time,
1323
- :modification_time)
2887
+ class ListFirewallRuleGroupsRequest < Struct.new(
2888
+ :max_results,
2889
+ :next_token)
1324
2890
  SENSITIVE = []
1325
2891
  include Aws::Structure
1326
2892
  end
1327
2893
 
1328
- # In an [UpdateResolverEndpoint][1] request, information about an IP
1329
- # address to update.
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]
1330
2899
  #
2900
+ # @!attribute [rw] firewall_rule_groups
2901
+ # A list of your firewall rule groups.
1331
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>]
1332
2906
  #
1333
- # [1]: https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_UpdateResolverEndpoint.html
2907
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListFirewallRuleGroupsResponse AWS API Documentation
1334
2908
  #
1335
- # @note When making an API call, you may pass IpAddressUpdate
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
1336
2917
  # data as a hash:
1337
2918
  #
1338
2919
  # {
1339
- # ip_id: "ResourceId",
1340
- # subnet_id: "SubnetId",
1341
- # 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",
1342
2925
  # }
1343
2926
  #
1344
- # @!attribute [rw] ip_id
1345
- # *Only when removing an IP address from a Resolver endpoint*\: The ID
1346
- # of the IP address that you want to remove. To get this ID, use
1347
- # [GetResolverEndpoint][1].
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.
2930
+ # @return [String]
1348
2931
  #
2932
+ # @!attribute [rw] priority
2933
+ # Optional additional filter for the rules to retrieve.
1349
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]
1350
2939
  #
1351
- # [1]: https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverEndpoint.html
1352
- # @return [String]
2940
+ # @!attribute [rw] action
2941
+ # Optional additional filter for the rules to retrieve.
1353
2942
  #
1354
- # @!attribute [rw] subnet_id
1355
- # The ID of the subnet that includes the IP address that you want to
1356
- # update. To get this ID, use [GetResolverEndpoint][1].
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:
1357
2945
  #
2946
+ # * `ALLOW` - Permit the request to go through.
1358
2947
  #
2948
+ # * `ALERT` - Permit the request to go through but send an alert to
2949
+ # the logs.
1359
2950
  #
1360
- # [1]: https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverEndpoint.html
2951
+ # * `BLOCK` - Disallow the request. If this is specified, additional
2952
+ # handling details are provided in the rule's `BlockResponse`
2953
+ # setting.
1361
2954
  # @return [String]
1362
2955
  #
1363
- # @!attribute [rw] ip
1364
- # The new IP address.
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.
2961
+ #
2962
+ # If you don't specify a value for `MaxResults`, Resolver returns up
2963
+ # to 100 objects.
2964
+ # @return [Integer]
2965
+ #
2966
+ # @!attribute [rw] next_token
2967
+ # For the first call to this list request, omit this value.
2968
+ #
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.
1365
2974
  # @return [String]
1366
2975
  #
1367
- # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/IpAddressUpdate AWS API Documentation
2976
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListFirewallRulesRequest AWS API Documentation
1368
2977
  #
1369
- class IpAddressUpdate < Struct.new(
1370
- :ip_id,
1371
- :subnet_id,
1372
- :ip)
2978
+ class ListFirewallRulesRequest < Struct.new(
2979
+ :firewall_rule_group_id,
2980
+ :priority,
2981
+ :action,
2982
+ :max_results,
2983
+ :next_token)
1373
2984
  SENSITIVE = []
1374
2985
  include Aws::Structure
1375
2986
  end
1376
2987
 
1377
- # The request caused one or more limits to be exceeded.
1378
- #
1379
- # @!attribute [rw] message
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.
1380
2992
  # @return [String]
1381
2993
  #
1382
- # @!attribute [rw] resource_type
1383
- # For a `LimitExceededException` error, the type of resource that
1384
- # exceeded the current limit.
1385
- # @return [String]
2994
+ # @!attribute [rw] firewall_rules
2995
+ # A list of the rules that you have defined.
1386
2996
  #
1387
- # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/LimitExceededException AWS API Documentation
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>]
1388
3000
  #
1389
- class LimitExceededException < Struct.new(
1390
- :message,
1391
- :resource_type)
3001
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListFirewallRulesResponse AWS API Documentation
3002
+ #
3003
+ class ListFirewallRulesResponse < Struct.new(
3004
+ :next_token,
3005
+ :firewall_rules)
1392
3006
  SENSITIVE = []
1393
3007
  include Aws::Structure
1394
3008
  end
@@ -2171,6 +3785,44 @@ module Aws::Route53Resolver
2171
3785
  include Aws::Structure
2172
3786
  end
2173
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
+
2174
3826
  # @note When making an API call, you may pass PutResolverQueryLogConfigPolicyRequest
2175
3827
  # data as a hash:
2176
3828
  #
@@ -3157,6 +4809,308 @@ module Aws::Route53Resolver
3157
4809
  #
3158
4810
  class UntagResourceResponse < Aws::EmptyStructure; end
3159
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
+
3160
5114
  # @note When making an API call, you may pass UpdateResolverDnssecConfigRequest
3161
5115
  # data as a hash:
3162
5116
  #
@@ -3281,5 +5235,16 @@ module Aws::Route53Resolver
3281
5235
  include Aws::Structure
3282
5236
  end
3283
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
+
3284
5249
  end
3285
5250
  end