aws-sdk-fms 1.24.0 → 1.29.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6a47c4df9d04dcfa42d1de0904be35241affb5d770dfef70b7df264feea3ec9f
4
- data.tar.gz: 3aeb71574d41cc872b4ef185069c9ceaa0ffe5cd009880434ab4b408ad7a68d4
3
+ metadata.gz: 4db61e92793f6308507c93e7eccabd64991db41664014bab7cea910aa8d982ee
4
+ data.tar.gz: f99d0363d6c44d7ed95352795b3543941f2e9a43270831820061492a0c94c241
5
5
  SHA512:
6
- metadata.gz: 5aa567911545a03f3b2cdafdde81bbcf62c30cec41aec6cbcf2ffca268b4486a77f26726a8aa48961ef300837a329a5c657ec7d7b605be4926d6347b769781cc
7
- data.tar.gz: 8ffcd42ac4d094d7ac3b52eec9d4a1f94cec2975e02e06d775ccc842625232c86e05545d6f6ec7d2510880760586cfdd3c53236233df5341a6941b2582a9604f
6
+ metadata.gz: 1b5d08d9bc3be03c3cf54095eeab8eba9dbb2edbaab8c20be6f9907b466b23ca4528e0834051b79701e9373aed2ad6fa6bca43fe29d8a02b78c736b0454840e8
7
+ data.tar.gz: 4ace52aa3edc0db7128be5664e466f9a480e242e0bb1f0621db747fcb52cf047144b3680edb8531642e724dbb99d8742e54681c2c376af05c8a3c9e83be43c3a
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # WARNING ABOUT GENERATED CODE
2
4
  #
3
5
  # This file is generated. See the contributing guide for more information:
@@ -45,6 +47,6 @@ require_relative 'aws-sdk-fms/customizations'
45
47
  # @service
46
48
  module Aws::FMS
47
49
 
48
- GEM_VERSION = '1.24.0'
50
+ GEM_VERSION = '1.29.0'
49
51
 
50
52
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # WARNING ABOUT GENERATED CODE
2
4
  #
3
5
  # This file is generated. See the contributing guide for more information:
@@ -24,6 +26,7 @@ require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
24
26
  require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
25
27
  require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
26
28
  require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
+ require 'aws-sdk-core/plugins/http_checksum.rb'
27
30
  require 'aws-sdk-core/plugins/signature_v4.rb'
28
31
  require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
29
32
 
@@ -69,6 +72,7 @@ module Aws::FMS
69
72
  add_plugin(Aws::Plugins::ClientMetricsPlugin)
70
73
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
71
74
  add_plugin(Aws::Plugins::TransferEncoding)
75
+ add_plugin(Aws::Plugins::HttpChecksum)
72
76
  add_plugin(Aws::Plugins::SignatureV4)
73
77
  add_plugin(Aws::Plugins::Protocols::JsonRpc)
74
78
 
@@ -105,7 +109,7 @@ module Aws::FMS
105
109
  # @option options [required, String] :region
106
110
  # The AWS region to connect to. The configured `:region` is
107
111
  # used to determine the service `:endpoint`. When not passed,
108
- # a default `:region` is search for in the following locations:
112
+ # a default `:region` is searched for in the following locations:
109
113
  #
110
114
  # * `Aws.config[:region]`
111
115
  # * `ENV['AWS_REGION']`
@@ -161,7 +165,7 @@ module Aws::FMS
161
165
  # @option options [String] :endpoint
162
166
  # The client endpoint is normally constructed from the `:region`
163
167
  # option. You should only configure an `:endpoint` when connecting
164
- # to test endpoints. This should be avalid HTTP(S) URI.
168
+ # to test or custom endpoints. This should be a valid HTTP(S) URI.
165
169
  #
166
170
  # @option options [Integer] :endpoint_cache_max_entries (1000)
167
171
  # Used for the maximum size limit of the LRU cache storing endpoints data
@@ -176,7 +180,7 @@ module Aws::FMS
176
180
  # requests fetching endpoints information. Defaults to 60 sec.
177
181
  #
178
182
  # @option options [Boolean] :endpoint_discovery (false)
179
- # When set to `true`, endpoint discovery will be enabled for operations when available. Defaults to `false`.
183
+ # When set to `true`, endpoint discovery will be enabled for operations when available.
180
184
  #
181
185
  # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
182
186
  # The log formatter.
@@ -356,6 +360,30 @@ module Aws::FMS
356
360
  req.send_request(options)
357
361
  end
358
362
 
363
+ # Permanently deletes an AWS Firewall Manager applications list.
364
+ #
365
+ # @option params [required, String] :list_id
366
+ # The ID of the applications list that you want to delete. You can
367
+ # retrieve this ID from `PutAppsList`, `ListAppsLists`, and
368
+ # `GetAppsList`.
369
+ #
370
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
371
+ #
372
+ # @example Request syntax with placeholder values
373
+ #
374
+ # resp = client.delete_apps_list({
375
+ # list_id: "ListId", # required
376
+ # })
377
+ #
378
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/DeleteAppsList AWS API Documentation
379
+ #
380
+ # @overload delete_apps_list(params = {})
381
+ # @param [Hash] params ({})
382
+ def delete_apps_list(params = {}, options = {})
383
+ req = build_request(:delete_apps_list, params)
384
+ req.send_request(options)
385
+ end
386
+
359
387
  # Deletes an AWS Firewall Manager association with the IAM role and the
360
388
  # Amazon Simple Notification Service (SNS) topic that is used to record
361
389
  # AWS Firewall Manager SNS logs.
@@ -374,8 +402,8 @@ module Aws::FMS
374
402
  # Permanently deletes an AWS Firewall Manager policy.
375
403
  #
376
404
  # @option params [required, String] :policy_id
377
- # The ID of the policy that you want to delete. `PolicyId` is returned
378
- # by `PutPolicy` and by `ListPolicies`.
405
+ # The ID of the policy that you want to delete. You can retrieve this ID
406
+ # from `PutPolicy` and `ListPolicies`.
379
407
  #
380
408
  # @option params [Boolean] :delete_all_policy_resources
381
409
  # If `True`, the request performs cleanup according to the policy type.
@@ -425,6 +453,30 @@ module Aws::FMS
425
453
  req.send_request(options)
426
454
  end
427
455
 
456
+ # Permanently deletes an AWS Firewall Manager protocols list.
457
+ #
458
+ # @option params [required, String] :list_id
459
+ # The ID of the protocols list that you want to delete. You can retrieve
460
+ # this ID from `PutProtocolsList`, `ListProtocolsLists`, and
461
+ # `GetProtocolsLost`.
462
+ #
463
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
464
+ #
465
+ # @example Request syntax with placeholder values
466
+ #
467
+ # resp = client.delete_protocols_list({
468
+ # list_id: "ListId", # required
469
+ # })
470
+ #
471
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/DeleteProtocolsList AWS API Documentation
472
+ #
473
+ # @overload delete_protocols_list(params = {})
474
+ # @param [Hash] params ({})
475
+ def delete_protocols_list(params = {}, options = {})
476
+ req = build_request(:delete_protocols_list, params)
477
+ req.send_request(options)
478
+ end
479
+
428
480
  # Disassociates the account that has been set as the AWS Firewall
429
481
  # Manager administrator account. To set a different account as the
430
482
  # administrator account, you must submit an `AssociateAdminAccount`
@@ -463,6 +515,56 @@ module Aws::FMS
463
515
  req.send_request(options)
464
516
  end
465
517
 
518
+ # Returns information about the specified AWS Firewall Manager
519
+ # applications list.
520
+ #
521
+ # @option params [required, String] :list_id
522
+ # The ID of the AWS Firewall Manager applications list that you want the
523
+ # details for.
524
+ #
525
+ # @option params [Boolean] :default_list
526
+ # Specifies whether the list to retrieve is a default list owned by AWS
527
+ # Firewall Manager.
528
+ #
529
+ # @return [Types::GetAppsListResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
530
+ #
531
+ # * {Types::GetAppsListResponse#apps_list #apps_list} => Types::AppsListData
532
+ # * {Types::GetAppsListResponse#apps_list_arn #apps_list_arn} => String
533
+ #
534
+ # @example Request syntax with placeholder values
535
+ #
536
+ # resp = client.get_apps_list({
537
+ # list_id: "ListId", # required
538
+ # default_list: false,
539
+ # })
540
+ #
541
+ # @example Response structure
542
+ #
543
+ # resp.apps_list.list_id #=> String
544
+ # resp.apps_list.list_name #=> String
545
+ # resp.apps_list.list_update_token #=> String
546
+ # resp.apps_list.create_time #=> Time
547
+ # resp.apps_list.last_update_time #=> Time
548
+ # resp.apps_list.apps_list #=> Array
549
+ # resp.apps_list.apps_list[0].app_name #=> String
550
+ # resp.apps_list.apps_list[0].protocol #=> String
551
+ # resp.apps_list.apps_list[0].port #=> Integer
552
+ # resp.apps_list.previous_apps_list #=> Hash
553
+ # resp.apps_list.previous_apps_list["PreviousListVersion"] #=> Array
554
+ # resp.apps_list.previous_apps_list["PreviousListVersion"][0].app_name #=> String
555
+ # resp.apps_list.previous_apps_list["PreviousListVersion"][0].protocol #=> String
556
+ # resp.apps_list.previous_apps_list["PreviousListVersion"][0].port #=> Integer
557
+ # resp.apps_list_arn #=> String
558
+ #
559
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetAppsList AWS API Documentation
560
+ #
561
+ # @overload get_apps_list(params = {})
562
+ # @param [Hash] params ({})
563
+ def get_apps_list(params = {}, options = {})
564
+ req = build_request(:get_apps_list, params)
565
+ req.send_request(options)
566
+ end
567
+
466
568
  # Returns detailed compliance information about the specified member
467
569
  # account. Details include resources that are in and out of compliance
468
570
  # with the specified policy. Resources are considered noncompliant for
@@ -657,9 +759,193 @@ module Aws::FMS
657
759
  req.send_request(options)
658
760
  end
659
761
 
660
- # Returns an array of `PolicyComplianceStatus` objects in the response.
661
- # Use `PolicyComplianceStatus` to get a summary of which member accounts
662
- # are protected by the specified policy.
762
+ # Returns information about the specified AWS Firewall Manager protocols
763
+ # list.
764
+ #
765
+ # @option params [required, String] :list_id
766
+ # The ID of the AWS Firewall Manager protocols list that you want the
767
+ # details for.
768
+ #
769
+ # @option params [Boolean] :default_list
770
+ # Specifies whether the list to retrieve is a default list owned by AWS
771
+ # Firewall Manager.
772
+ #
773
+ # @return [Types::GetProtocolsListResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
774
+ #
775
+ # * {Types::GetProtocolsListResponse#protocols_list #protocols_list} => Types::ProtocolsListData
776
+ # * {Types::GetProtocolsListResponse#protocols_list_arn #protocols_list_arn} => String
777
+ #
778
+ # @example Request syntax with placeholder values
779
+ #
780
+ # resp = client.get_protocols_list({
781
+ # list_id: "ListId", # required
782
+ # default_list: false,
783
+ # })
784
+ #
785
+ # @example Response structure
786
+ #
787
+ # resp.protocols_list.list_id #=> String
788
+ # resp.protocols_list.list_name #=> String
789
+ # resp.protocols_list.list_update_token #=> String
790
+ # resp.protocols_list.create_time #=> Time
791
+ # resp.protocols_list.last_update_time #=> Time
792
+ # resp.protocols_list.protocols_list #=> Array
793
+ # resp.protocols_list.protocols_list[0] #=> String
794
+ # resp.protocols_list.previous_protocols_list #=> Hash
795
+ # resp.protocols_list.previous_protocols_list["PreviousListVersion"] #=> Array
796
+ # resp.protocols_list.previous_protocols_list["PreviousListVersion"][0] #=> String
797
+ # resp.protocols_list_arn #=> String
798
+ #
799
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetProtocolsList AWS API Documentation
800
+ #
801
+ # @overload get_protocols_list(params = {})
802
+ # @param [Hash] params ({})
803
+ def get_protocols_list(params = {}, options = {})
804
+ req = build_request(:get_protocols_list, params)
805
+ req.send_request(options)
806
+ end
807
+
808
+ # Retrieves violations for a resource based on the specified AWS
809
+ # Firewall Manager policy and AWS account.
810
+ #
811
+ # @option params [required, String] :policy_id
812
+ # The ID of the AWS Firewall Manager policy that you want the details
813
+ # for. This currently only supports security group content audit
814
+ # policies.
815
+ #
816
+ # @option params [required, String] :member_account
817
+ # The AWS account ID that you want the details for.
818
+ #
819
+ # @option params [required, String] :resource_id
820
+ # The ID of the resource that has violations.
821
+ #
822
+ # @option params [required, String] :resource_type
823
+ # The resource type. This is in the format shown in the [AWS Resource
824
+ # Types Reference][1]. Supported resource types are:
825
+ # `AWS::EC2::Instance`, `AWS::EC2::NetworkInterface`, or
826
+ # `AWS::EC2::SecurityGroup`.
827
+ #
828
+ #
829
+ #
830
+ # [1]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html
831
+ #
832
+ # @return [Types::GetViolationDetailsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
833
+ #
834
+ # * {Types::GetViolationDetailsResponse#violation_detail #violation_detail} => Types::ViolationDetail
835
+ #
836
+ # @example Request syntax with placeholder values
837
+ #
838
+ # resp = client.get_violation_details({
839
+ # policy_id: "PolicyId", # required
840
+ # member_account: "AWSAccountId", # required
841
+ # resource_id: "ResourceId", # required
842
+ # resource_type: "ResourceType", # required
843
+ # })
844
+ #
845
+ # @example Response structure
846
+ #
847
+ # resp.violation_detail.policy_id #=> String
848
+ # resp.violation_detail.member_account #=> String
849
+ # resp.violation_detail.resource_id #=> String
850
+ # resp.violation_detail.resource_type #=> String
851
+ # resp.violation_detail.resource_violations #=> Array
852
+ # resp.violation_detail.resource_violations[0].aws_vpc_security_group_violation.violation_target #=> String
853
+ # resp.violation_detail.resource_violations[0].aws_vpc_security_group_violation.violation_target_description #=> String
854
+ # resp.violation_detail.resource_violations[0].aws_vpc_security_group_violation.partial_matches #=> Array
855
+ # resp.violation_detail.resource_violations[0].aws_vpc_security_group_violation.partial_matches[0].reference #=> String
856
+ # resp.violation_detail.resource_violations[0].aws_vpc_security_group_violation.partial_matches[0].target_violation_reasons #=> Array
857
+ # resp.violation_detail.resource_violations[0].aws_vpc_security_group_violation.partial_matches[0].target_violation_reasons[0] #=> String
858
+ # resp.violation_detail.resource_violations[0].aws_vpc_security_group_violation.possible_security_group_remediation_actions #=> Array
859
+ # resp.violation_detail.resource_violations[0].aws_vpc_security_group_violation.possible_security_group_remediation_actions[0].remediation_action_type #=> String, one of "REMOVE", "MODIFY"
860
+ # resp.violation_detail.resource_violations[0].aws_vpc_security_group_violation.possible_security_group_remediation_actions[0].description #=> String
861
+ # resp.violation_detail.resource_violations[0].aws_vpc_security_group_violation.possible_security_group_remediation_actions[0].remediation_result.ipv4_range #=> String
862
+ # resp.violation_detail.resource_violations[0].aws_vpc_security_group_violation.possible_security_group_remediation_actions[0].remediation_result.ipv6_range #=> String
863
+ # resp.violation_detail.resource_violations[0].aws_vpc_security_group_violation.possible_security_group_remediation_actions[0].remediation_result.prefix_list_id #=> String
864
+ # resp.violation_detail.resource_violations[0].aws_vpc_security_group_violation.possible_security_group_remediation_actions[0].remediation_result.protocol #=> String
865
+ # resp.violation_detail.resource_violations[0].aws_vpc_security_group_violation.possible_security_group_remediation_actions[0].remediation_result.from_port #=> Integer
866
+ # resp.violation_detail.resource_violations[0].aws_vpc_security_group_violation.possible_security_group_remediation_actions[0].remediation_result.to_port #=> Integer
867
+ # resp.violation_detail.resource_violations[0].aws_vpc_security_group_violation.possible_security_group_remediation_actions[0].is_default_action #=> Boolean
868
+ # resp.violation_detail.resource_violations[0].aws_ec2_network_interface_violation.violation_target #=> String
869
+ # resp.violation_detail.resource_violations[0].aws_ec2_network_interface_violation.violating_security_groups #=> Array
870
+ # resp.violation_detail.resource_violations[0].aws_ec2_network_interface_violation.violating_security_groups[0] #=> String
871
+ # resp.violation_detail.resource_violations[0].aws_ec2_instance_violation.violation_target #=> String
872
+ # resp.violation_detail.resource_violations[0].aws_ec2_instance_violation.aws_ec2_network_interface_violations #=> Array
873
+ # resp.violation_detail.resource_violations[0].aws_ec2_instance_violation.aws_ec2_network_interface_violations[0].violation_target #=> String
874
+ # resp.violation_detail.resource_violations[0].aws_ec2_instance_violation.aws_ec2_network_interface_violations[0].violating_security_groups #=> Array
875
+ # resp.violation_detail.resource_violations[0].aws_ec2_instance_violation.aws_ec2_network_interface_violations[0].violating_security_groups[0] #=> String
876
+ # resp.violation_detail.resource_tags #=> Array
877
+ # resp.violation_detail.resource_tags[0].key #=> String
878
+ # resp.violation_detail.resource_tags[0].value #=> String
879
+ # resp.violation_detail.resource_description #=> String
880
+ #
881
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetViolationDetails AWS API Documentation
882
+ #
883
+ # @overload get_violation_details(params = {})
884
+ # @param [Hash] params ({})
885
+ def get_violation_details(params = {}, options = {})
886
+ req = build_request(:get_violation_details, params)
887
+ req.send_request(options)
888
+ end
889
+
890
+ # Returns an array of `AppsListDataSummary` objects.
891
+ #
892
+ # @option params [Boolean] :default_lists
893
+ # Specifies whether the lists to retrieve are default lists owned by AWS
894
+ # Firewall Manager.
895
+ #
896
+ # @option params [String] :next_token
897
+ # If you specify a value for `MaxResults` in your list request, and you
898
+ # have more objects than the maximum, AWS Firewall Manager returns this
899
+ # token in the response. For all but the first request, you provide the
900
+ # token returned by the prior request in the request parameters, to
901
+ # retrieve the next batch of objects.
902
+ #
903
+ # @option params [required, Integer] :max_results
904
+ # The maximum number of objects that you want AWS Firewall Manager to
905
+ # return for this request. If more objects are available, in the
906
+ # response, AWS Firewall Manager provides a `NextToken` value that you
907
+ # can use in a subsequent call to get the next batch of objects.
908
+ #
909
+ # If you don't specify this, AWS Firewall Manager returns all available
910
+ # objects.
911
+ #
912
+ # @return [Types::ListAppsListsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
913
+ #
914
+ # * {Types::ListAppsListsResponse#apps_lists #apps_lists} => Array<Types::AppsListDataSummary>
915
+ # * {Types::ListAppsListsResponse#next_token #next_token} => String
916
+ #
917
+ # @example Request syntax with placeholder values
918
+ #
919
+ # resp = client.list_apps_lists({
920
+ # default_lists: false,
921
+ # next_token: "PaginationToken",
922
+ # max_results: 1, # required
923
+ # })
924
+ #
925
+ # @example Response structure
926
+ #
927
+ # resp.apps_lists #=> Array
928
+ # resp.apps_lists[0].list_arn #=> String
929
+ # resp.apps_lists[0].list_id #=> String
930
+ # resp.apps_lists[0].list_name #=> String
931
+ # resp.apps_lists[0].apps_list #=> Array
932
+ # resp.apps_lists[0].apps_list[0].app_name #=> String
933
+ # resp.apps_lists[0].apps_list[0].protocol #=> String
934
+ # resp.apps_lists[0].apps_list[0].port #=> Integer
935
+ # resp.next_token #=> String
936
+ #
937
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ListAppsLists AWS API Documentation
938
+ #
939
+ # @overload list_apps_lists(params = {})
940
+ # @param [Hash] params ({})
941
+ def list_apps_lists(params = {}, options = {})
942
+ req = build_request(:list_apps_lists, params)
943
+ req.send_request(options)
944
+ end
945
+
946
+ # Returns an array of `PolicyComplianceStatus` objects. Use
947
+ # `PolicyComplianceStatus` to get a summary of which member accounts are
948
+ # protected by the specified policy.
663
949
  #
664
950
  # @option params [required, String] :policy_id
665
951
  # The ID of the AWS Firewall Manager policy that you want the details
@@ -773,7 +1059,7 @@ module Aws::FMS
773
1059
  req.send_request(options)
774
1060
  end
775
1061
 
776
- # Returns an array of `PolicySummary` objects in the response.
1062
+ # Returns an array of `PolicySummary` objects.
777
1063
  #
778
1064
  # @option params [String] :next_token
779
1065
  # If you specify a value for `MaxResults` and you have more
@@ -825,12 +1111,66 @@ module Aws::FMS
825
1111
  req.send_request(options)
826
1112
  end
827
1113
 
1114
+ # Returns an array of `ProtocolsListDataSummary` objects.
1115
+ #
1116
+ # @option params [Boolean] :default_lists
1117
+ # Specifies whether the lists to retrieve are default lists owned by AWS
1118
+ # Firewall Manager.
1119
+ #
1120
+ # @option params [String] :next_token
1121
+ # If you specify a value for `MaxResults` in your list request, and you
1122
+ # have more objects than the maximum, AWS Firewall Manager returns this
1123
+ # token in the response. For all but the first request, you provide the
1124
+ # token returned by the prior request in the request parameters, to
1125
+ # retrieve the next batch of objects.
1126
+ #
1127
+ # @option params [required, Integer] :max_results
1128
+ # The maximum number of objects that you want AWS Firewall Manager to
1129
+ # return for this request. If more objects are available, in the
1130
+ # response, AWS Firewall Manager provides a `NextToken` value that you
1131
+ # can use in a subsequent call to get the next batch of objects.
1132
+ #
1133
+ # If you don't specify this, AWS Firewall Manager returns all available
1134
+ # objects.
1135
+ #
1136
+ # @return [Types::ListProtocolsListsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1137
+ #
1138
+ # * {Types::ListProtocolsListsResponse#protocols_lists #protocols_lists} => Array<Types::ProtocolsListDataSummary>
1139
+ # * {Types::ListProtocolsListsResponse#next_token #next_token} => String
1140
+ #
1141
+ # @example Request syntax with placeholder values
1142
+ #
1143
+ # resp = client.list_protocols_lists({
1144
+ # default_lists: false,
1145
+ # next_token: "PaginationToken",
1146
+ # max_results: 1, # required
1147
+ # })
1148
+ #
1149
+ # @example Response structure
1150
+ #
1151
+ # resp.protocols_lists #=> Array
1152
+ # resp.protocols_lists[0].list_arn #=> String
1153
+ # resp.protocols_lists[0].list_id #=> String
1154
+ # resp.protocols_lists[0].list_name #=> String
1155
+ # resp.protocols_lists[0].protocols_list #=> Array
1156
+ # resp.protocols_lists[0].protocols_list[0] #=> String
1157
+ # resp.next_token #=> String
1158
+ #
1159
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ListProtocolsLists AWS API Documentation
1160
+ #
1161
+ # @overload list_protocols_lists(params = {})
1162
+ # @param [Hash] params ({})
1163
+ def list_protocols_lists(params = {}, options = {})
1164
+ req = build_request(:list_protocols_lists, params)
1165
+ req.send_request(options)
1166
+ end
1167
+
828
1168
  # Retrieves the list of tags for the specified AWS resource.
829
1169
  #
830
1170
  # @option params [required, String] :resource_arn
831
1171
  # The Amazon Resource Name (ARN) of the resource to return tags for. The
832
- # Firewall Manager policy is the only AWS resource that supports
833
- # tagging, so this ARN is a policy ARN..
1172
+ # AWS Firewall Manager resources that support tagging are policies,
1173
+ # applications lists, and protocols lists.
834
1174
  #
835
1175
  # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
836
1176
  #
@@ -857,6 +1197,81 @@ module Aws::FMS
857
1197
  req.send_request(options)
858
1198
  end
859
1199
 
1200
+ # Creates an AWS Firewall Manager applications list.
1201
+ #
1202
+ # @option params [required, Types::AppsListData] :apps_list
1203
+ # The details of the AWS Firewall Manager applications list to be
1204
+ # created.
1205
+ #
1206
+ # @option params [Array<Types::Tag>] :tag_list
1207
+ # The tags associated with the resource.
1208
+ #
1209
+ # @return [Types::PutAppsListResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1210
+ #
1211
+ # * {Types::PutAppsListResponse#apps_list #apps_list} => Types::AppsListData
1212
+ # * {Types::PutAppsListResponse#apps_list_arn #apps_list_arn} => String
1213
+ #
1214
+ # @example Request syntax with placeholder values
1215
+ #
1216
+ # resp = client.put_apps_list({
1217
+ # apps_list: { # required
1218
+ # list_id: "ListId",
1219
+ # list_name: "ResourceName", # required
1220
+ # list_update_token: "UpdateToken",
1221
+ # create_time: Time.now,
1222
+ # last_update_time: Time.now,
1223
+ # apps_list: [ # required
1224
+ # {
1225
+ # app_name: "ResourceName", # required
1226
+ # protocol: "Protocol", # required
1227
+ # port: 1, # required
1228
+ # },
1229
+ # ],
1230
+ # previous_apps_list: {
1231
+ # "PreviousListVersion" => [
1232
+ # {
1233
+ # app_name: "ResourceName", # required
1234
+ # protocol: "Protocol", # required
1235
+ # port: 1, # required
1236
+ # },
1237
+ # ],
1238
+ # },
1239
+ # },
1240
+ # tag_list: [
1241
+ # {
1242
+ # key: "TagKey", # required
1243
+ # value: "TagValue", # required
1244
+ # },
1245
+ # ],
1246
+ # })
1247
+ #
1248
+ # @example Response structure
1249
+ #
1250
+ # resp.apps_list.list_id #=> String
1251
+ # resp.apps_list.list_name #=> String
1252
+ # resp.apps_list.list_update_token #=> String
1253
+ # resp.apps_list.create_time #=> Time
1254
+ # resp.apps_list.last_update_time #=> Time
1255
+ # resp.apps_list.apps_list #=> Array
1256
+ # resp.apps_list.apps_list[0].app_name #=> String
1257
+ # resp.apps_list.apps_list[0].protocol #=> String
1258
+ # resp.apps_list.apps_list[0].port #=> Integer
1259
+ # resp.apps_list.previous_apps_list #=> Hash
1260
+ # resp.apps_list.previous_apps_list["PreviousListVersion"] #=> Array
1261
+ # resp.apps_list.previous_apps_list["PreviousListVersion"][0].app_name #=> String
1262
+ # resp.apps_list.previous_apps_list["PreviousListVersion"][0].protocol #=> String
1263
+ # resp.apps_list.previous_apps_list["PreviousListVersion"][0].port #=> Integer
1264
+ # resp.apps_list_arn #=> String
1265
+ #
1266
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/PutAppsList AWS API Documentation
1267
+ #
1268
+ # @overload put_apps_list(params = {})
1269
+ # @param [Hash] params ({})
1270
+ def put_apps_list(params = {}, options = {})
1271
+ req = build_request(:put_apps_list, params)
1272
+ req.send_request(options)
1273
+ end
1274
+
860
1275
  # Designates the IAM role and Amazon Simple Notification Service (SNS)
861
1276
  # topic that AWS Firewall Manager uses to record SNS logs.
862
1277
  #
@@ -993,12 +1408,70 @@ module Aws::FMS
993
1408
  req.send_request(options)
994
1409
  end
995
1410
 
1411
+ # Creates an AWS Firewall Manager protocols list.
1412
+ #
1413
+ # @option params [required, Types::ProtocolsListData] :protocols_list
1414
+ # The details of the AWS Firewall Manager protocols list to be created.
1415
+ #
1416
+ # @option params [Array<Types::Tag>] :tag_list
1417
+ # The tags associated with the resource.
1418
+ #
1419
+ # @return [Types::PutProtocolsListResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1420
+ #
1421
+ # * {Types::PutProtocolsListResponse#protocols_list #protocols_list} => Types::ProtocolsListData
1422
+ # * {Types::PutProtocolsListResponse#protocols_list_arn #protocols_list_arn} => String
1423
+ #
1424
+ # @example Request syntax with placeholder values
1425
+ #
1426
+ # resp = client.put_protocols_list({
1427
+ # protocols_list: { # required
1428
+ # list_id: "ListId",
1429
+ # list_name: "ResourceName", # required
1430
+ # list_update_token: "UpdateToken",
1431
+ # create_time: Time.now,
1432
+ # last_update_time: Time.now,
1433
+ # protocols_list: ["Protocol"], # required
1434
+ # previous_protocols_list: {
1435
+ # "PreviousListVersion" => ["Protocol"],
1436
+ # },
1437
+ # },
1438
+ # tag_list: [
1439
+ # {
1440
+ # key: "TagKey", # required
1441
+ # value: "TagValue", # required
1442
+ # },
1443
+ # ],
1444
+ # })
1445
+ #
1446
+ # @example Response structure
1447
+ #
1448
+ # resp.protocols_list.list_id #=> String
1449
+ # resp.protocols_list.list_name #=> String
1450
+ # resp.protocols_list.list_update_token #=> String
1451
+ # resp.protocols_list.create_time #=> Time
1452
+ # resp.protocols_list.last_update_time #=> Time
1453
+ # resp.protocols_list.protocols_list #=> Array
1454
+ # resp.protocols_list.protocols_list[0] #=> String
1455
+ # resp.protocols_list.previous_protocols_list #=> Hash
1456
+ # resp.protocols_list.previous_protocols_list["PreviousListVersion"] #=> Array
1457
+ # resp.protocols_list.previous_protocols_list["PreviousListVersion"][0] #=> String
1458
+ # resp.protocols_list_arn #=> String
1459
+ #
1460
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/PutProtocolsList AWS API Documentation
1461
+ #
1462
+ # @overload put_protocols_list(params = {})
1463
+ # @param [Hash] params ({})
1464
+ def put_protocols_list(params = {}, options = {})
1465
+ req = build_request(:put_protocols_list, params)
1466
+ req.send_request(options)
1467
+ end
1468
+
996
1469
  # Adds one or more tags to an AWS resource.
997
1470
  #
998
1471
  # @option params [required, String] :resource_arn
999
- # The Amazon Resource Name (ARN) of the resource. The Firewall Manager
1000
- # policy is the only AWS resource that supports tagging, so this ARN is
1001
- # a policy ARN.
1472
+ # The Amazon Resource Name (ARN) of the resource to return tags for. The
1473
+ # AWS Firewall Manager resources that support tagging are policies,
1474
+ # applications lists, and protocols lists.
1002
1475
  #
1003
1476
  # @option params [required, Array<Types::Tag>] :tag_list
1004
1477
  # The tags to add to the resource.
@@ -1029,9 +1502,9 @@ module Aws::FMS
1029
1502
  # Removes one or more tags from an AWS resource.
1030
1503
  #
1031
1504
  # @option params [required, String] :resource_arn
1032
- # The Amazon Resource Name (ARN) of the resource. The Firewall Manager
1033
- # policy is the only AWS resource that supports tagging, so this ARN is
1034
- # a policy ARN.
1505
+ # The Amazon Resource Name (ARN) of the resource to return tags for. The
1506
+ # AWS Firewall Manager resources that support tagging are policies,
1507
+ # applications lists, and protocols lists.
1035
1508
  #
1036
1509
  # @option params [required, Array<String>] :tag_keys
1037
1510
  # The keys of the tags to remove from the resource.
@@ -1067,7 +1540,7 @@ module Aws::FMS
1067
1540
  params: params,
1068
1541
  config: config)
1069
1542
  context[:gem_name] = 'aws-sdk-fms'
1070
- context[:gem_version] = '1.24.0'
1543
+ context[:gem_version] = '1.29.0'
1071
1544
  Seahorse::Client::Request.new(handlers, context)
1072
1545
  end
1073
1546