aws-sdk-networkfirewall 1.24.0 → 1.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -699,6 +699,105 @@ module Aws::NetworkFirewall
699
699
  include Aws::Structure
700
700
  end
701
701
 
702
+ # @!attribute [rw] tls_inspection_configuration_name
703
+ # The descriptive name of the TLS inspection configuration. You can't
704
+ # change the name of a TLS inspection configuration after you create
705
+ # it.
706
+ # @return [String]
707
+ #
708
+ # @!attribute [rw] tls_inspection_configuration
709
+ # The object that defines a TLS inspection configuration. This, along
710
+ # with TLSInspectionConfigurationResponse, define the TLS inspection
711
+ # configuration. You can retrieve all objects for a TLS inspection
712
+ # configuration by calling DescribeTLSInspectionConfiguration.
713
+ #
714
+ # Network Firewall uses a TLS inspection configuration to decrypt
715
+ # traffic. Network Firewall re-encrypts the traffic before sending it
716
+ # to its destination.
717
+ #
718
+ # To use a TLS inspection configuration, you add it to a Network
719
+ # Firewall firewall policy, then you apply the firewall policy to a
720
+ # firewall. Network Firewall acts as a proxy service to decrypt and
721
+ # inspect inbound traffic. You can reference a TLS inspection
722
+ # configuration from more than one firewall policy, and you can use a
723
+ # firewall policy in more than one firewall. For more information
724
+ # about using TLS inspection configurations, see [Decrypting SSL/TLS
725
+ # traffic with TLS inspection configurations][1] in the *Network
726
+ # Firewall Developer Guide*.
727
+ #
728
+ #
729
+ #
730
+ # [1]: https://docs.aws.amazon.com/network-firewall/latest/developerguide/tls-inspection.html
731
+ # @return [Types::TLSInspectionConfiguration]
732
+ #
733
+ # @!attribute [rw] description
734
+ # A description of the TLS inspection configuration.
735
+ # @return [String]
736
+ #
737
+ # @!attribute [rw] tags
738
+ # The key:value pairs to associate with the resource.
739
+ # @return [Array<Types::Tag>]
740
+ #
741
+ # @!attribute [rw] encryption_configuration
742
+ # A complex type that contains optional Amazon Web Services Key
743
+ # Management Service (KMS) encryption settings for your Network
744
+ # Firewall resources. Your data is encrypted by default with an Amazon
745
+ # Web Services owned key that Amazon Web Services owns and manages for
746
+ # you. You can use either the Amazon Web Services owned key, or
747
+ # provide your own customer managed key. To learn more about KMS
748
+ # encryption of your Network Firewall resources, see [Encryption at
749
+ # rest with Amazon Web Services Key Managment Service][1] in the
750
+ # *Network Firewall Developer Guide*.
751
+ #
752
+ #
753
+ #
754
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-encryption-at-rest.html
755
+ # @return [Types::EncryptionConfiguration]
756
+ #
757
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/CreateTLSInspectionConfigurationRequest AWS API Documentation
758
+ #
759
+ class CreateTLSInspectionConfigurationRequest < Struct.new(
760
+ :tls_inspection_configuration_name,
761
+ :tls_inspection_configuration,
762
+ :description,
763
+ :tags,
764
+ :encryption_configuration)
765
+ SENSITIVE = []
766
+ include Aws::Structure
767
+ end
768
+
769
+ # @!attribute [rw] update_token
770
+ # A token used for optimistic locking. Network Firewall returns a
771
+ # token to your requests that access the TLS inspection configuration.
772
+ # The token marks the state of the TLS inspection configuration
773
+ # resource at the time of the request.
774
+ #
775
+ # To make changes to the TLS inspection configuration, you provide the
776
+ # token in your request. Network Firewall uses the token to ensure
777
+ # that the TLS inspection configuration hasn't changed since you last
778
+ # retrieved it. If it has changed, the operation fails with an
779
+ # `InvalidTokenException`. If this happens, retrieve the TLS
780
+ # inspection configuration again to get a current copy of it with a
781
+ # current token. Reapply your changes as needed, then try the
782
+ # operation again using the new token.
783
+ # @return [String]
784
+ #
785
+ # @!attribute [rw] tls_inspection_configuration_response
786
+ # The high-level properties of a TLS inspection configuration. This,
787
+ # along with the TLSInspectionConfiguration, define the TLS inspection
788
+ # configuration. You can retrieve all objects for a TLS inspection
789
+ # configuration by calling DescribeTLSInspectionConfiguration.
790
+ # @return [Types::TLSInspectionConfigurationResponse]
791
+ #
792
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/CreateTLSInspectionConfigurationResponse AWS API Documentation
793
+ #
794
+ class CreateTLSInspectionConfigurationResponse < Struct.new(
795
+ :update_token,
796
+ :tls_inspection_configuration_response)
797
+ SENSITIVE = []
798
+ include Aws::Structure
799
+ end
800
+
702
801
  # An optional, non-standard action to use for stateless packet handling.
703
802
  # You can define this in addition to the standard action that you must
704
803
  # specify.
@@ -887,6 +986,44 @@ module Aws::NetworkFirewall
887
986
  include Aws::Structure
888
987
  end
889
988
 
989
+ # @!attribute [rw] tls_inspection_configuration_arn
990
+ # The Amazon Resource Name (ARN) of the TLS inspection configuration.
991
+ #
992
+ # You must specify the ARN or the name, and you can specify both.
993
+ # @return [String]
994
+ #
995
+ # @!attribute [rw] tls_inspection_configuration_name
996
+ # The descriptive name of the TLS inspection configuration. You can't
997
+ # change the name of a TLS inspection configuration after you create
998
+ # it.
999
+ #
1000
+ # You must specify the ARN or the name, and you can specify both.
1001
+ # @return [String]
1002
+ #
1003
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DeleteTLSInspectionConfigurationRequest AWS API Documentation
1004
+ #
1005
+ class DeleteTLSInspectionConfigurationRequest < Struct.new(
1006
+ :tls_inspection_configuration_arn,
1007
+ :tls_inspection_configuration_name)
1008
+ SENSITIVE = []
1009
+ include Aws::Structure
1010
+ end
1011
+
1012
+ # @!attribute [rw] tls_inspection_configuration_response
1013
+ # The high-level properties of a TLS inspection configuration. This,
1014
+ # along with the TLSInspectionConfiguration, define the TLS inspection
1015
+ # configuration. You can retrieve all objects for a TLS inspection
1016
+ # configuration by calling DescribeTLSInspectionConfiguration.
1017
+ # @return [Types::TLSInspectionConfigurationResponse]
1018
+ #
1019
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DeleteTLSInspectionConfigurationResponse AWS API Documentation
1020
+ #
1021
+ class DeleteTLSInspectionConfigurationResponse < Struct.new(
1022
+ :tls_inspection_configuration_response)
1023
+ SENSITIVE = []
1024
+ include Aws::Structure
1025
+ end
1026
+
890
1027
  # @!attribute [rw] firewall_policy_name
891
1028
  # The descriptive name of the firewall policy. You can't change the
892
1029
  # name of a firewall policy after you create it.
@@ -1250,6 +1387,87 @@ module Aws::NetworkFirewall
1250
1387
  include Aws::Structure
1251
1388
  end
1252
1389
 
1390
+ # @!attribute [rw] tls_inspection_configuration_arn
1391
+ # The Amazon Resource Name (ARN) of the TLS inspection configuration.
1392
+ #
1393
+ # You must specify the ARN or the name, and you can specify both.
1394
+ # @return [String]
1395
+ #
1396
+ # @!attribute [rw] tls_inspection_configuration_name
1397
+ # The descriptive name of the TLS inspection configuration. You can't
1398
+ # change the name of a TLS inspection configuration after you create
1399
+ # it.
1400
+ #
1401
+ # You must specify the ARN or the name, and you can specify both.
1402
+ # @return [String]
1403
+ #
1404
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DescribeTLSInspectionConfigurationRequest AWS API Documentation
1405
+ #
1406
+ class DescribeTLSInspectionConfigurationRequest < Struct.new(
1407
+ :tls_inspection_configuration_arn,
1408
+ :tls_inspection_configuration_name)
1409
+ SENSITIVE = []
1410
+ include Aws::Structure
1411
+ end
1412
+
1413
+ # @!attribute [rw] update_token
1414
+ # A token used for optimistic locking. Network Firewall returns a
1415
+ # token to your requests that access the TLS inspection configuration.
1416
+ # The token marks the state of the TLS inspection configuration
1417
+ # resource at the time of the request.
1418
+ #
1419
+ # To make changes to the TLS inspection configuration, you provide the
1420
+ # token in your request. Network Firewall uses the token to ensure
1421
+ # that the TLS inspection configuration hasn't changed since you last
1422
+ # retrieved it. If it has changed, the operation fails with an
1423
+ # `InvalidTokenException`. If this happens, retrieve the TLS
1424
+ # inspection configuration again to get a current copy of it with a
1425
+ # current token. Reapply your changes as needed, then try the
1426
+ # operation again using the new token.
1427
+ # @return [String]
1428
+ #
1429
+ # @!attribute [rw] tls_inspection_configuration
1430
+ # The object that defines a TLS inspection configuration. This, along
1431
+ # with TLSInspectionConfigurationResponse, define the TLS inspection
1432
+ # configuration. You can retrieve all objects for a TLS inspection
1433
+ # configuration by calling DescribeTLSInspectionConfiguration.
1434
+ #
1435
+ # Network Firewall uses a TLS inspection configuration to decrypt
1436
+ # traffic. Network Firewall re-encrypts the traffic before sending it
1437
+ # to its destination.
1438
+ #
1439
+ # To use a TLS inspection configuration, you add it to a Network
1440
+ # Firewall firewall policy, then you apply the firewall policy to a
1441
+ # firewall. Network Firewall acts as a proxy service to decrypt and
1442
+ # inspect inbound traffic. You can reference a TLS inspection
1443
+ # configuration from more than one firewall policy, and you can use a
1444
+ # firewall policy in more than one firewall. For more information
1445
+ # about using TLS inspection configurations, see [Decrypting SSL/TLS
1446
+ # traffic with TLS inspection configurations][1] in the *Network
1447
+ # Firewall Developer Guide*.
1448
+ #
1449
+ #
1450
+ #
1451
+ # [1]: https://docs.aws.amazon.com/network-firewall/latest/developerguide/tls-inspection.html
1452
+ # @return [Types::TLSInspectionConfiguration]
1453
+ #
1454
+ # @!attribute [rw] tls_inspection_configuration_response
1455
+ # The high-level properties of a TLS inspection configuration. This,
1456
+ # along with the TLSInspectionConfiguration, define the TLS inspection
1457
+ # configuration. You can retrieve all objects for a TLS inspection
1458
+ # configuration by calling DescribeTLSInspectionConfiguration.
1459
+ # @return [Types::TLSInspectionConfigurationResponse]
1460
+ #
1461
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DescribeTLSInspectionConfigurationResponse AWS API Documentation
1462
+ #
1463
+ class DescribeTLSInspectionConfigurationResponse < Struct.new(
1464
+ :update_token,
1465
+ :tls_inspection_configuration,
1466
+ :tls_inspection_configuration_response)
1467
+ SENSITIVE = []
1468
+ include Aws::Structure
1469
+ end
1470
+
1253
1471
  # The value to use in an Amazon CloudWatch custom metric dimension. This
1254
1472
  # is used in the `PublishMetrics` CustomAction. A CloudWatch custom
1255
1473
  # metric dimension is a name/value pair that's part of the identity of
@@ -1618,6 +1836,10 @@ module Aws::NetworkFirewall
1618
1836
  # settings.
1619
1837
  # @return [Types::StatefulEngineOptions]
1620
1838
  #
1839
+ # @!attribute [rw] tls_inspection_configuration_arn
1840
+ # The Amazon Resource Name (ARN) of the TLS inspection configuration.
1841
+ # @return [String]
1842
+ #
1621
1843
  # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/FirewallPolicy AWS API Documentation
1622
1844
  #
1623
1845
  class FirewallPolicy < Struct.new(
@@ -1627,7 +1849,8 @@ module Aws::NetworkFirewall
1627
1849
  :stateless_custom_actions,
1628
1850
  :stateful_rule_group_references,
1629
1851
  :stateful_default_actions,
1630
- :stateful_engine_options)
1852
+ :stateful_engine_options,
1853
+ :tls_inspection_configuration_arn)
1631
1854
  SENSITIVE = []
1632
1855
  include Aws::Structure
1633
1856
  end
@@ -1933,23 +2156,24 @@ module Aws::NetworkFirewall
1933
2156
 
1934
2157
  # Configures one or more IP set references for a Suricata-compatible
1935
2158
  # rule group. This is used in CreateRuleGroup or UpdateRuleGroup. An IP
1936
- # set reference is a rule variable that references a resource that you
2159
+ # set reference is a rule variable that references resources that you
1937
2160
  # create and manage in another Amazon Web Services service, such as an
1938
2161
  # Amazon VPC prefix list. Network Firewall IP set references enable you
1939
2162
  # to dynamically update the contents of your rules. When you create,
1940
- # update, or delete the IP set you are referencing in your rule, Network
1941
- # Firewall automatically updates the rule's content with the changes.
1942
- # For more information about IP set references in Network Firewall, see
1943
- # [Using IP set references][1] in the *Network Firewall Developer
1944
- # Guide*.
2163
+ # update, or delete the resource you are referencing in your rule,
2164
+ # Network Firewall automatically updates the rule's content with the
2165
+ # changes. For more information about IP set references in Network
2166
+ # Firewall, see [Using IP set references][1] in the *Network Firewall
2167
+ # Developer Guide*.
1945
2168
  #
1946
- # Network Firewall currently supports only [Amazon VPC prefix lists][2]
1947
- # as IP set references.
2169
+ # Network Firewall currently supports [Amazon VPC prefix lists][2] and
2170
+ # [resource groups][3] in IP set references.
1948
2171
  #
1949
2172
  #
1950
2173
  #
1951
2174
  # [1]: https://docs.aws.amazon.com/network-firewall/latest/developerguide/rule-groups-ip-set-references
1952
2175
  # [2]: https://docs.aws.amazon.com/vpc/latest/userguide/managed-prefix-lists.html
2176
+ # [3]: https://docs.aws.amazon.com/network-firewall/latest/developerguide/rule-groups-ip-set-references.html#rule-groups-referencing-resource-groups
1953
2177
  #
1954
2178
  # @!attribute [rw] reference_arn
1955
2179
  # The Amazon Resource Name (ARN) of the resource that you are
@@ -2236,6 +2460,53 @@ module Aws::NetworkFirewall
2236
2460
  include Aws::Structure
2237
2461
  end
2238
2462
 
2463
+ # @!attribute [rw] next_token
2464
+ # When you request a list of objects with a `MaxResults` setting, if
2465
+ # the number of objects that are still available for retrieval exceeds
2466
+ # the maximum you requested, Network Firewall returns a `NextToken`
2467
+ # value in the response. To retrieve the next batch of objects, use
2468
+ # the token returned from the prior request in your next request.
2469
+ # @return [String]
2470
+ #
2471
+ # @!attribute [rw] max_results
2472
+ # The maximum number of objects that you want Network Firewall to
2473
+ # return for this request. If more objects are available, in the
2474
+ # response, Network Firewall provides a `NextToken` value that you can
2475
+ # use in a subsequent call to get the next batch of objects.
2476
+ # @return [Integer]
2477
+ #
2478
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/ListTLSInspectionConfigurationsRequest AWS API Documentation
2479
+ #
2480
+ class ListTLSInspectionConfigurationsRequest < Struct.new(
2481
+ :next_token,
2482
+ :max_results)
2483
+ SENSITIVE = []
2484
+ include Aws::Structure
2485
+ end
2486
+
2487
+ # @!attribute [rw] next_token
2488
+ # When you request a list of objects with a `MaxResults` setting, if
2489
+ # the number of objects that are still available for retrieval exceeds
2490
+ # the maximum you requested, Network Firewall returns a `NextToken`
2491
+ # value in the response. To retrieve the next batch of objects, use
2492
+ # the token returned from the prior request in your next request.
2493
+ # @return [String]
2494
+ #
2495
+ # @!attribute [rw] tls_inspection_configurations
2496
+ # The TLS inspection configuration metadata objects that you've
2497
+ # defined. Depending on your setting for max results and the number of
2498
+ # TLS inspection configurations, this might not be the full list.
2499
+ # @return [Array<Types::TLSInspectionConfigurationMetadata>]
2500
+ #
2501
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/ListTLSInspectionConfigurationsResponse AWS API Documentation
2502
+ #
2503
+ class ListTLSInspectionConfigurationsResponse < Struct.new(
2504
+ :next_token,
2505
+ :tls_inspection_configurations)
2506
+ SENSITIVE = []
2507
+ include Aws::Structure
2508
+ end
2509
+
2239
2510
  # @!attribute [rw] next_token
2240
2511
  # When you request a list of objects with a `MaxResults` setting, if
2241
2512
  # the number of objects that are still available for retrieval exceeds
@@ -2316,21 +2587,20 @@ module Aws::NetworkFirewall
2316
2587
  # * For an Amazon S3 bucket, provide the name of the bucket, with key
2317
2588
  # `bucketName`, and optionally provide a prefix, with key `prefix`.
2318
2589
  # The following example specifies an Amazon S3 bucket named
2319
- # `DOC-EXAMPLE-BUCKET` and the prefix `alerts`\:
2590
+ # `DOC-EXAMPLE-BUCKET` and the prefix `alerts`:
2320
2591
  #
2321
2592
  # `"LogDestination": \{ "bucketName": "DOC-EXAMPLE-BUCKET",
2322
2593
  # "prefix": "alerts" \}`
2323
2594
  #
2324
2595
  # * For a CloudWatch log group, provide the name of the CloudWatch log
2325
2596
  # group, with key `logGroup`. The following example specifies a log
2326
- # group named `alert-log-group`\:
2597
+ # group named `alert-log-group`:
2327
2598
  #
2328
2599
  # `"LogDestination": \{ "logGroup": "alert-log-group" \}`
2329
2600
  #
2330
2601
  # * For a Kinesis Data Firehose delivery stream, provide the name of
2331
2602
  # the delivery stream, with key `deliveryStream`. The following
2332
- # example specifies a delivery stream named
2333
- # `alert-delivery-stream`\:
2603
+ # example specifies a delivery stream named `alert-delivery-stream`:
2334
2604
  #
2335
2605
  # `"LogDestination": \{ "deliveryStream": "alert-delivery-stream"
2336
2606
  # \}`
@@ -2903,7 +3173,7 @@ module Aws::NetworkFirewall
2903
3173
  #
2904
3174
  #
2905
3175
  #
2906
- # [1]: https://suricata.readthedocs.io/rules/intro.html#
3176
+ # [1]: https://suricata.readthedocs.iorules/intro.html#
2907
3177
  # @return [Array<Types::StatefulRule>]
2908
3178
  #
2909
3179
  # @!attribute [rw] stateless_rules_and_custom_actions
@@ -2971,6 +3241,123 @@ module Aws::NetworkFirewall
2971
3241
  include Aws::Structure
2972
3242
  end
2973
3243
 
3244
+ # Any Certificate Manager Secure Sockets Layer/Transport Layer Security
3245
+ # (SSL/TLS) server certificate that's associated with a
3246
+ # ServerCertificateConfiguration used in a TLSInspectionConfiguration.
3247
+ # You must request or import a SSL/TLS certificate into ACM for each
3248
+ # domain Network Firewall needs to decrypt and inspect. Network Firewall
3249
+ # uses the SSL/TLS certificates to decrypt specified inbound SSL/TLS
3250
+ # traffic going to your firewall. For information about working with
3251
+ # certificates in Certificate Manager, see [Request a public certificate
3252
+ # ][1] or [Importing certificates][2] in the *Certificate Manager User
3253
+ # Guide*.
3254
+ #
3255
+ #
3256
+ #
3257
+ # [1]: https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-public.html
3258
+ # [2]: https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html
3259
+ #
3260
+ # @!attribute [rw] resource_arn
3261
+ # The Amazon Resource Name (ARN) of the Certificate Manager SSL/TLS
3262
+ # server certificate.
3263
+ # @return [String]
3264
+ #
3265
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/ServerCertificate AWS API Documentation
3266
+ #
3267
+ class ServerCertificate < Struct.new(
3268
+ :resource_arn)
3269
+ SENSITIVE = []
3270
+ include Aws::Structure
3271
+ end
3272
+
3273
+ # Configures the associated Certificate Manager Secure Sockets
3274
+ # Layer/Transport Layer Security (SSL/TLS) server certificates and scope
3275
+ # settings Network Firewall uses to decrypt traffic in a
3276
+ # TLSInspectionConfiguration. For information about working with SSL/TLS
3277
+ # certificates for TLS inspection, see [ Requirements for using SSL/TLS
3278
+ # server certficiates with TLS inspection configurations][1] in the
3279
+ # *Network Firewall Developer Guide*.
3280
+ #
3281
+ # <note markdown="1"> If a server certificate that's associated with your
3282
+ # TLSInspectionConfiguration is revoked, deleted, or expired it can
3283
+ # result in client-side TLS errors.
3284
+ #
3285
+ # </note>
3286
+ #
3287
+ #
3288
+ #
3289
+ # [1]: https://docs.aws.amazon.com/network-firewall/latest/developerguide/tls-inspection-certificate-requirements.html
3290
+ #
3291
+ # @!attribute [rw] server_certificates
3292
+ # The list of a server certificate configuration's Certificate
3293
+ # Manager SSL/TLS certificates.
3294
+ # @return [Array<Types::ServerCertificate>]
3295
+ #
3296
+ # @!attribute [rw] scopes
3297
+ # A list of a server certificate configuration's scopes.
3298
+ # @return [Array<Types::ServerCertificateScope>]
3299
+ #
3300
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/ServerCertificateConfiguration AWS API Documentation
3301
+ #
3302
+ class ServerCertificateConfiguration < Struct.new(
3303
+ :server_certificates,
3304
+ :scopes)
3305
+ SENSITIVE = []
3306
+ include Aws::Structure
3307
+ end
3308
+
3309
+ # Settings that define the Secure Sockets Layer/Transport Layer Security
3310
+ # (SSL/TLS) traffic that Network Firewall should decrypt for inspection
3311
+ # by the stateful rule engine.
3312
+ #
3313
+ # @!attribute [rw] sources
3314
+ # The source IP addresses and address ranges to decrypt for
3315
+ # inspection, in CIDR notation. If not specified, this matches with
3316
+ # any source address.
3317
+ # @return [Array<Types::Address>]
3318
+ #
3319
+ # @!attribute [rw] destinations
3320
+ # The destination IP addresses and address ranges to decrypt for
3321
+ # inspection, in CIDR notation. If not specified, this matches with
3322
+ # any destination address.
3323
+ # @return [Array<Types::Address>]
3324
+ #
3325
+ # @!attribute [rw] source_ports
3326
+ # The source ports to decrypt for inspection, in Transmission Control
3327
+ # Protocol (TCP) format. If not specified, this matches with any
3328
+ # source port.
3329
+ #
3330
+ # You can specify individual ports, for example `1994`, and you can
3331
+ # specify port ranges, such as `1990:1994`.
3332
+ # @return [Array<Types::PortRange>]
3333
+ #
3334
+ # @!attribute [rw] destination_ports
3335
+ # The destination ports to decrypt for inspection, in Transmission
3336
+ # Control Protocol (TCP) format. If not specified, this matches with
3337
+ # any destination port.
3338
+ #
3339
+ # You can specify individual ports, for example `1994`, and you can
3340
+ # specify port ranges, such as `1990:1994`.
3341
+ # @return [Array<Types::PortRange>]
3342
+ #
3343
+ # @!attribute [rw] protocols
3344
+ # The protocols to decrypt for inspection, specified using each
3345
+ # protocol's assigned internet protocol number (IANA). Network
3346
+ # Firewall currently supports only TCP.
3347
+ # @return [Array<Integer>]
3348
+ #
3349
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/ServerCertificateScope AWS API Documentation
3350
+ #
3351
+ class ServerCertificateScope < Struct.new(
3352
+ :sources,
3353
+ :destinations,
3354
+ :source_ports,
3355
+ :destination_ports,
3356
+ :protocols)
3357
+ SENSITIVE = []
3358
+ include Aws::Structure
3359
+ end
3360
+
2974
3361
  # High-level information about the managed rule group that your own rule
2975
3362
  # group is copied from. You can use the the metadata to track version
2976
3363
  # updates made to the originating rule group. You can retrieve all
@@ -3057,7 +3444,7 @@ module Aws::NetworkFirewall
3057
3444
  #
3058
3445
  #
3059
3446
  #
3060
- # [1]: https://suricata.readthedocs.io/rules/intro.html#
3447
+ # [1]: https://suricata.readthedocs.iorules/intro.html#
3061
3448
  #
3062
3449
  # @!attribute [rw] action
3063
3450
  # Defines what Network Firewall should do with the packets in a
@@ -3376,6 +3763,138 @@ module Aws::NetworkFirewall
3376
3763
  include Aws::Structure
3377
3764
  end
3378
3765
 
3766
+ # The object that defines a TLS inspection configuration. This, along
3767
+ # with TLSInspectionConfigurationResponse, define the TLS inspection
3768
+ # configuration. You can retrieve all objects for a TLS inspection
3769
+ # configuration by calling DescribeTLSInspectionConfiguration.
3770
+ #
3771
+ # Network Firewall uses a TLS inspection configuration to decrypt
3772
+ # traffic. Network Firewall re-encrypts the traffic before sending it to
3773
+ # its destination.
3774
+ #
3775
+ # To use a TLS inspection configuration, you add it to a Network
3776
+ # Firewall firewall policy, then you apply the firewall policy to a
3777
+ # firewall. Network Firewall acts as a proxy service to decrypt and
3778
+ # inspect inbound traffic. You can reference a TLS inspection
3779
+ # configuration from more than one firewall policy, and you can use a
3780
+ # firewall policy in more than one firewall. For more information about
3781
+ # using TLS inspection configurations, see [Decrypting SSL/TLS traffic
3782
+ # with TLS inspection configurations][1] in the *Network Firewall
3783
+ # Developer Guide*.
3784
+ #
3785
+ #
3786
+ #
3787
+ # [1]: https://docs.aws.amazon.com/network-firewall/latest/developerguide/tls-inspection.html
3788
+ #
3789
+ # @!attribute [rw] server_certificate_configurations
3790
+ # Lists the server certificate configurations that are associated with
3791
+ # the TLS configuration.
3792
+ # @return [Array<Types::ServerCertificateConfiguration>]
3793
+ #
3794
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/TLSInspectionConfiguration AWS API Documentation
3795
+ #
3796
+ class TLSInspectionConfiguration < Struct.new(
3797
+ :server_certificate_configurations)
3798
+ SENSITIVE = []
3799
+ include Aws::Structure
3800
+ end
3801
+
3802
+ # High-level information about a TLS inspection configuration, returned
3803
+ # by `ListTLSInspectionConfigurations`. You can use the information
3804
+ # provided in the metadata to retrieve and manage a TLS configuration.
3805
+ #
3806
+ # @!attribute [rw] name
3807
+ # The descriptive name of the TLS inspection configuration. You can't
3808
+ # change the name of a TLS inspection configuration after you create
3809
+ # it.
3810
+ # @return [String]
3811
+ #
3812
+ # @!attribute [rw] arn
3813
+ # The Amazon Resource Name (ARN) of the TLS inspection configuration.
3814
+ # @return [String]
3815
+ #
3816
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/TLSInspectionConfigurationMetadata AWS API Documentation
3817
+ #
3818
+ class TLSInspectionConfigurationMetadata < Struct.new(
3819
+ :name,
3820
+ :arn)
3821
+ SENSITIVE = []
3822
+ include Aws::Structure
3823
+ end
3824
+
3825
+ # The high-level properties of a TLS inspection configuration. This,
3826
+ # along with the `TLSInspectionConfiguration`, define the TLS inspection
3827
+ # configuration. You can retrieve all objects for a TLS inspection
3828
+ # configuration by calling `DescribeTLSInspectionConfiguration`.
3829
+ #
3830
+ # @!attribute [rw] tls_inspection_configuration_arn
3831
+ # The Amazon Resource Name (ARN) of the TLS inspection configuration.
3832
+ # @return [String]
3833
+ #
3834
+ # @!attribute [rw] tls_inspection_configuration_name
3835
+ # The descriptive name of the TLS inspection configuration. You can't
3836
+ # change the name of a TLS inspection configuration after you create
3837
+ # it.
3838
+ # @return [String]
3839
+ #
3840
+ # @!attribute [rw] tls_inspection_configuration_id
3841
+ # A unique identifier for the TLS inspection configuration. This ID is
3842
+ # returned in the responses to create and list commands. You provide
3843
+ # it to operations such as update and delete.
3844
+ # @return [String]
3845
+ #
3846
+ # @!attribute [rw] tls_inspection_configuration_status
3847
+ # Detailed information about the current status of a
3848
+ # TLSInspectionConfiguration. You can retrieve this for a TLS
3849
+ # inspection configuration by calling
3850
+ # DescribeTLSInspectionConfiguration and providing the TLS inspection
3851
+ # configuration name and ARN.
3852
+ # @return [String]
3853
+ #
3854
+ # @!attribute [rw] description
3855
+ # A description of the TLS inspection configuration.
3856
+ # @return [String]
3857
+ #
3858
+ # @!attribute [rw] tags
3859
+ # The key:value pairs to associate with the resource.
3860
+ # @return [Array<Types::Tag>]
3861
+ #
3862
+ # @!attribute [rw] last_modified_time
3863
+ # The last time that the TLS inspection configuration was changed.
3864
+ # @return [Time]
3865
+ #
3866
+ # @!attribute [rw] number_of_associations
3867
+ # The number of firewall policies that use this TLS inspection
3868
+ # configuration.
3869
+ # @return [Integer]
3870
+ #
3871
+ # @!attribute [rw] encryption_configuration
3872
+ # A complex type that contains the Amazon Web Services KMS encryption
3873
+ # configuration settings for your TLS inspection configuration.
3874
+ # @return [Types::EncryptionConfiguration]
3875
+ #
3876
+ # @!attribute [rw] certificates
3877
+ # A list of the certificates associated with the TLS inspection
3878
+ # configuration.
3879
+ # @return [Array<Types::TlsCertificateData>]
3880
+ #
3881
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/TLSInspectionConfigurationResponse AWS API Documentation
3882
+ #
3883
+ class TLSInspectionConfigurationResponse < Struct.new(
3884
+ :tls_inspection_configuration_arn,
3885
+ :tls_inspection_configuration_name,
3886
+ :tls_inspection_configuration_id,
3887
+ :tls_inspection_configuration_status,
3888
+ :description,
3889
+ :tags,
3890
+ :last_modified_time,
3891
+ :number_of_associations,
3892
+ :encryption_configuration,
3893
+ :certificates)
3894
+ SENSITIVE = []
3895
+ include Aws::Structure
3896
+ end
3897
+
3379
3898
  # A key:value pair associated with an Amazon Web Services resource. The
3380
3899
  # key:value pair can be anything you define. Typically, the tag key
3381
3900
  # represents a category (such as "environment") and the tag value
@@ -3437,6 +3956,36 @@ module Aws::NetworkFirewall
3437
3956
  include Aws::Structure
3438
3957
  end
3439
3958
 
3959
+ # Contains metadata about an Certificate Manager certificate.
3960
+ #
3961
+ # @!attribute [rw] certificate_arn
3962
+ # The Amazon Resource Name (ARN) of the certificate.
3963
+ # @return [String]
3964
+ #
3965
+ # @!attribute [rw] certificate_serial
3966
+ # The serial number of the certificate.
3967
+ # @return [String]
3968
+ #
3969
+ # @!attribute [rw] status
3970
+ # The status of the certificate.
3971
+ # @return [String]
3972
+ #
3973
+ # @!attribute [rw] status_message
3974
+ # Contains details about the certificate status, including information
3975
+ # about certificate errors.
3976
+ # @return [String]
3977
+ #
3978
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/TlsCertificateData AWS API Documentation
3979
+ #
3980
+ class TlsCertificateData < Struct.new(
3981
+ :certificate_arn,
3982
+ :certificate_serial,
3983
+ :status,
3984
+ :status_message)
3985
+ SENSITIVE = []
3986
+ include Aws::Structure
3987
+ end
3988
+
3440
3989
  # The operation you requested isn't supported by Network Firewall.
3441
3990
  #
3442
3991
  # @!attribute [rw] message
@@ -4266,5 +4815,110 @@ module Aws::NetworkFirewall
4266
4815
  include Aws::Structure
4267
4816
  end
4268
4817
 
4818
+ # @!attribute [rw] tls_inspection_configuration_arn
4819
+ # The Amazon Resource Name (ARN) of the TLS inspection configuration.
4820
+ # @return [String]
4821
+ #
4822
+ # @!attribute [rw] tls_inspection_configuration_name
4823
+ # The descriptive name of the TLS inspection configuration. You can't
4824
+ # change the name of a TLS inspection configuration after you create
4825
+ # it.
4826
+ # @return [String]
4827
+ #
4828
+ # @!attribute [rw] tls_inspection_configuration
4829
+ # The object that defines a TLS inspection configuration. This, along
4830
+ # with TLSInspectionConfigurationResponse, define the TLS inspection
4831
+ # configuration. You can retrieve all objects for a TLS inspection
4832
+ # configuration by calling DescribeTLSInspectionConfiguration.
4833
+ #
4834
+ # Network Firewall uses a TLS inspection configuration to decrypt
4835
+ # traffic. Network Firewall re-encrypts the traffic before sending it
4836
+ # to its destination.
4837
+ #
4838
+ # To use a TLS inspection configuration, you add it to a Network
4839
+ # Firewall firewall policy, then you apply the firewall policy to a
4840
+ # firewall. Network Firewall acts as a proxy service to decrypt and
4841
+ # inspect inbound traffic. You can reference a TLS inspection
4842
+ # configuration from more than one firewall policy, and you can use a
4843
+ # firewall policy in more than one firewall. For more information
4844
+ # about using TLS inspection configurations, see [Decrypting SSL/TLS
4845
+ # traffic with TLS inspection configurations][1] in the *Network
4846
+ # Firewall Developer Guide*.
4847
+ #
4848
+ #
4849
+ #
4850
+ # [1]: https://docs.aws.amazon.com/network-firewall/latest/developerguide/tls-inspection.html
4851
+ # @return [Types::TLSInspectionConfiguration]
4852
+ #
4853
+ # @!attribute [rw] description
4854
+ # A description of the TLS inspection configuration.
4855
+ # @return [String]
4856
+ #
4857
+ # @!attribute [rw] encryption_configuration
4858
+ # A complex type that contains the Amazon Web Services KMS encryption
4859
+ # configuration settings for your TLS inspection configuration.
4860
+ # @return [Types::EncryptionConfiguration]
4861
+ #
4862
+ # @!attribute [rw] update_token
4863
+ # A token used for optimistic locking. Network Firewall returns a
4864
+ # token to your requests that access the TLS inspection configuration.
4865
+ # The token marks the state of the TLS inspection configuration
4866
+ # resource at the time of the request.
4867
+ #
4868
+ # To make changes to the TLS inspection configuration, you provide the
4869
+ # token in your request. Network Firewall uses the token to ensure
4870
+ # that the TLS inspection configuration hasn't changed since you last
4871
+ # retrieved it. If it has changed, the operation fails with an
4872
+ # `InvalidTokenException`. If this happens, retrieve the TLS
4873
+ # inspection configuration again to get a current copy of it with a
4874
+ # current token. Reapply your changes as needed, then try the
4875
+ # operation again using the new token.
4876
+ # @return [String]
4877
+ #
4878
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/UpdateTLSInspectionConfigurationRequest AWS API Documentation
4879
+ #
4880
+ class UpdateTLSInspectionConfigurationRequest < Struct.new(
4881
+ :tls_inspection_configuration_arn,
4882
+ :tls_inspection_configuration_name,
4883
+ :tls_inspection_configuration,
4884
+ :description,
4885
+ :encryption_configuration,
4886
+ :update_token)
4887
+ SENSITIVE = []
4888
+ include Aws::Structure
4889
+ end
4890
+
4891
+ # @!attribute [rw] update_token
4892
+ # A token used for optimistic locking. Network Firewall returns a
4893
+ # token to your requests that access the TLS inspection configuration.
4894
+ # The token marks the state of the TLS inspection configuration
4895
+ # resource at the time of the request.
4896
+ #
4897
+ # To make changes to the TLS inspection configuration, you provide the
4898
+ # token in your request. Network Firewall uses the token to ensure
4899
+ # that the TLS inspection configuration hasn't changed since you last
4900
+ # retrieved it. If it has changed, the operation fails with an
4901
+ # `InvalidTokenException`. If this happens, retrieve the TLS
4902
+ # inspection configuration again to get a current copy of it with a
4903
+ # current token. Reapply your changes as needed, then try the
4904
+ # operation again using the new token.
4905
+ # @return [String]
4906
+ #
4907
+ # @!attribute [rw] tls_inspection_configuration_response
4908
+ # The high-level properties of a TLS inspection configuration. This,
4909
+ # along with the TLSInspectionConfiguration, define the TLS inspection
4910
+ # configuration. You can retrieve all objects for a TLS inspection
4911
+ # configuration by calling DescribeTLSInspectionConfiguration.
4912
+ # @return [Types::TLSInspectionConfigurationResponse]
4913
+ #
4914
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/UpdateTLSInspectionConfigurationResponse AWS API Documentation
4915
+ #
4916
+ class UpdateTLSInspectionConfigurationResponse < Struct.new(
4917
+ :update_token,
4918
+ :tls_inspection_configuration_response)
4919
+ SENSITIVE = []
4920
+ include Aws::Structure
4921
+ end
4922
+
4269
4923
  end
4270
4924
  end