aws-sdk-fms 1.28.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: 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