aws-sdk-route53resolver 1.24.0 → 1.25.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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