aws-sdk-fms 1.28.0 → 1.29.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fd3c325fe3f0443a39a04cfb307d7cf7c388e3c2a27bd2da10309eb69ad53b30
4
- data.tar.gz: f6664ecc32066e20f5a599b014a0e9b847d76aff8f76a7c96ff7efd584b30fad
3
+ metadata.gz: 4db61e92793f6308507c93e7eccabd64991db41664014bab7cea910aa8d982ee
4
+ data.tar.gz: f99d0363d6c44d7ed95352795b3543941f2e9a43270831820061492a0c94c241
5
5
  SHA512:
6
- metadata.gz: 6fc6f05405a8799f32c612e86074036fcf3fa1dfee2f3de8519d1ec228c3d8238642ca11db0f382622aa25a0a0f14674194f4c5273853e4a718914fd9248819d
7
- data.tar.gz: 8691dc3e850b1a7fa129073de98526bf9ac76c3c110ede590734fa31289903b919d3c71bc915478ab93f847847ffceaccee02c71d383512cbd4358b9ff310ae5
6
+ metadata.gz: 1b5d08d9bc3be03c3cf54095eeab8eba9dbb2edbaab8c20be6f9907b466b23ca4528e0834051b79701e9373aed2ad6fa6bca43fe29d8a02b78c736b0454840e8
7
+ data.tar.gz: 4ace52aa3edc0db7128be5664e466f9a480e242e0bb1f0621db747fcb52cf047144b3680edb8531642e724dbb99d8742e54681c2c376af05c8a3c9e83be43c3a
@@ -47,6 +47,6 @@ require_relative 'aws-sdk-fms/customizations'
47
47
  # @service
48
48
  module Aws::FMS
49
49
 
50
- GEM_VERSION = '1.28.0'
50
+ GEM_VERSION = '1.29.0'
51
51
 
52
52
  end
@@ -360,6 +360,30 @@ module Aws::FMS
360
360
  req.send_request(options)
361
361
  end
362
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
+
363
387
  # Deletes an AWS Firewall Manager association with the IAM role and the
364
388
  # Amazon Simple Notification Service (SNS) topic that is used to record
365
389
  # AWS Firewall Manager SNS logs.
@@ -378,8 +402,8 @@ module Aws::FMS
378
402
  # Permanently deletes an AWS Firewall Manager policy.
379
403
  #
380
404
  # @option params [required, String] :policy_id
381
- # The ID of the policy that you want to delete. `PolicyId` is returned
382
- # 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`.
383
407
  #
384
408
  # @option params [Boolean] :delete_all_policy_resources
385
409
  # If `True`, the request performs cleanup according to the policy type.
@@ -429,6 +453,30 @@ module Aws::FMS
429
453
  req.send_request(options)
430
454
  end
431
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
+
432
480
  # Disassociates the account that has been set as the AWS Firewall
433
481
  # Manager administrator account. To set a different account as the
434
482
  # administrator account, you must submit an `AssociateAdminAccount`
@@ -467,6 +515,56 @@ module Aws::FMS
467
515
  req.send_request(options)
468
516
  end
469
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
+
470
568
  # Returns detailed compliance information about the specified member
471
569
  # account. Details include resources that are in and out of compliance
472
570
  # with the specified policy. Resources are considered noncompliant for
@@ -661,9 +759,193 @@ module Aws::FMS
661
759
  req.send_request(options)
662
760
  end
663
761
 
664
- # Returns an array of `PolicyComplianceStatus` objects in the response.
665
- # Use `PolicyComplianceStatus` to get a summary of which member accounts
666
- # 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.
667
949
  #
668
950
  # @option params [required, String] :policy_id
669
951
  # The ID of the AWS Firewall Manager policy that you want the details
@@ -777,7 +1059,7 @@ module Aws::FMS
777
1059
  req.send_request(options)
778
1060
  end
779
1061
 
780
- # Returns an array of `PolicySummary` objects in the response.
1062
+ # Returns an array of `PolicySummary` objects.
781
1063
  #
782
1064
  # @option params [String] :next_token
783
1065
  # If you specify a value for `MaxResults` and you have more
@@ -829,12 +1111,66 @@ module Aws::FMS
829
1111
  req.send_request(options)
830
1112
  end
831
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
+
832
1168
  # Retrieves the list of tags for the specified AWS resource.
833
1169
  #
834
1170
  # @option params [required, String] :resource_arn
835
1171
  # The Amazon Resource Name (ARN) of the resource to return tags for. The
836
- # Firewall Manager policy is the only AWS resource that supports
837
- # tagging, so this ARN is a policy ARN..
1172
+ # AWS Firewall Manager resources that support tagging are policies,
1173
+ # applications lists, and protocols lists.
838
1174
  #
839
1175
  # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
840
1176
  #
@@ -861,6 +1197,81 @@ module Aws::FMS
861
1197
  req.send_request(options)
862
1198
  end
863
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
+
864
1275
  # Designates the IAM role and Amazon Simple Notification Service (SNS)
865
1276
  # topic that AWS Firewall Manager uses to record SNS logs.
866
1277
  #
@@ -997,12 +1408,70 @@ module Aws::FMS
997
1408
  req.send_request(options)
998
1409
  end
999
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
+
1000
1469
  # Adds one or more tags to an AWS resource.
1001
1470
  #
1002
1471
  # @option params [required, String] :resource_arn
1003
- # The Amazon Resource Name (ARN) of the resource. The Firewall Manager
1004
- # policy is the only AWS resource that supports tagging, so this ARN is
1005
- # 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.
1006
1475
  #
1007
1476
  # @option params [required, Array<Types::Tag>] :tag_list
1008
1477
  # The tags to add to the resource.
@@ -1033,9 +1502,9 @@ module Aws::FMS
1033
1502
  # Removes one or more tags from an AWS resource.
1034
1503
  #
1035
1504
  # @option params [required, String] :resource_arn
1036
- # The Amazon Resource Name (ARN) of the resource. The Firewall Manager
1037
- # policy is the only AWS resource that supports tagging, so this ARN is
1038
- # 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.
1039
1508
  #
1040
1509
  # @option params [required, Array<String>] :tag_keys
1041
1510
  # The keys of the tags to remove from the resource.
@@ -1071,7 +1540,7 @@ module Aws::FMS
1071
1540
  params: params,
1072
1541
  config: config)
1073
1542
  context[:gem_name] = 'aws-sdk-fms'
1074
- context[:gem_version] = '1.28.0'
1543
+ context[:gem_version] = '1.29.0'
1075
1544
  Seahorse::Client::Request.new(handlers, context)
1076
1545
  end
1077
1546