aws-sdk-fms 1.26.0 → 1.31.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: bf35baf58bba5a600b7eb3085b376fa9d1b8035a411e86645cc98530c319c79f
4
- data.tar.gz: 81af060eb16b51e9407d50a287e87f1b5676de13f615dd9c7451ec4af1a714a9
3
+ metadata.gz: 8a364cdac150d0090c56a01c5ce18ab0adc23606cc8924ccfd14ad73dcb1bfce
4
+ data.tar.gz: d768e0b178261706d1b4675baf3bf0ab1545e029c2d42e52b9081b72dc479776
5
5
  SHA512:
6
- metadata.gz: d445d2029d0c2151546ac4972212ae92a894adbbdca5a1657f281b3b85eab54a2769e41f1fe9a5bb8898596a4847aa2c56eb557fcbc4cac885262e779047915a
7
- data.tar.gz: 97ab8e954743e7d8e43ac6d07db6c6ecea726f443c6fdf15b832d710b76d37f236190ce886e6459a5b395ea1325054b6e69dac01a73b6c55e02ad16687aec681
6
+ metadata.gz: ca5a28b00dd307328e153f75d4707bcabe46e198b54e33fdd17607fd94ea7746971e112c5e0ee8c441b0e2558811d95844cecfe3bb21c9a3b76eeb3944992868
7
+ data.tar.gz: 0e85e6d62c350c37486ebc3a1631efe341041e8d8957f38be975e5eb4a1eca8d0c788768fc9a8a8172d98ff7a28228ac2856cda8dba0d50b45df316db73f38d0
@@ -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:
@@ -5,6 +7,7 @@
5
7
  #
6
8
  # WARNING ABOUT GENERATED CODE
7
9
 
10
+
8
11
  require 'aws-sdk-core'
9
12
  require 'aws-sigv4'
10
13
 
@@ -42,9 +45,9 @@ require_relative 'aws-sdk-fms/customizations'
42
45
  #
43
46
  # See {Errors} for more information.
44
47
  #
45
- # @service
48
+ # @!group service
46
49
  module Aws::FMS
47
50
 
48
- GEM_VERSION = '1.26.0'
51
+ GEM_VERSION = '1.31.0'
49
52
 
50
53
  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
 
@@ -81,13 +85,28 @@ module Aws::FMS
81
85
  # * `Aws::Credentials` - Used for configuring static, non-refreshing
82
86
  # credentials.
83
87
  #
88
+ # * `Aws::SharedCredentials` - Used for loading static credentials from a
89
+ # shared file, such as `~/.aws/config`.
90
+ #
91
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
92
+ #
93
+ # * `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to
94
+ # assume a role after providing credentials via the web.
95
+ #
96
+ # * `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an
97
+ # access token generated from `aws login`.
98
+ #
99
+ # * `Aws::ProcessCredentials` - Used for loading credentials from a
100
+ # process that outputs to stdout.
101
+ #
84
102
  # * `Aws::InstanceProfileCredentials` - Used for loading credentials
85
103
  # from an EC2 IMDS on an EC2 instance.
86
104
  #
87
- # * `Aws::SharedCredentials` - Used for loading credentials from a
88
- # shared file, such as `~/.aws/config`.
105
+ # * `Aws::ECSCredentials` - Used for loading credentials from
106
+ # instances running in ECS.
89
107
  #
90
- # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
108
+ # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
109
+ # from the Cognito Identity service.
91
110
  #
92
111
  # When `:credentials` are not configured directly, the following
93
112
  # locations will be searched for credentials:
@@ -97,10 +116,10 @@ module Aws::FMS
97
116
  # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
98
117
  # * `~/.aws/credentials`
99
118
  # * `~/.aws/config`
100
- # * EC2 IMDS instance profile - When used by default, the timeouts are
101
- # very aggressive. Construct and pass an instance of
102
- # `Aws::InstanceProfileCredentails` to enable retries and extended
103
- # timeouts.
119
+ # * EC2/ECS IMDS instance profile - When used by default, the timeouts
120
+ # are very aggressive. Construct and pass an instance of
121
+ # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
122
+ # enable retries and extended timeouts.
104
123
  #
105
124
  # @option options [required, String] :region
106
125
  # The AWS region to connect to. The configured `:region` is
@@ -161,7 +180,7 @@ module Aws::FMS
161
180
  # @option options [String] :endpoint
162
181
  # The client endpoint is normally constructed from the `:region`
163
182
  # option. You should only configure an `:endpoint` when connecting
164
- # to test endpoints. This should be a valid HTTP(S) URI.
183
+ # to test or custom endpoints. This should be a valid HTTP(S) URI.
165
184
  #
166
185
  # @option options [Integer] :endpoint_cache_max_entries (1000)
167
186
  # Used for the maximum size limit of the LRU cache storing endpoints data
@@ -356,6 +375,30 @@ module Aws::FMS
356
375
  req.send_request(options)
357
376
  end
358
377
 
378
+ # Permanently deletes an AWS Firewall Manager applications list.
379
+ #
380
+ # @option params [required, String] :list_id
381
+ # The ID of the applications list that you want to delete. You can
382
+ # retrieve this ID from `PutAppsList`, `ListAppsLists`, and
383
+ # `GetAppsList`.
384
+ #
385
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
386
+ #
387
+ # @example Request syntax with placeholder values
388
+ #
389
+ # resp = client.delete_apps_list({
390
+ # list_id: "ListId", # required
391
+ # })
392
+ #
393
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/DeleteAppsList AWS API Documentation
394
+ #
395
+ # @overload delete_apps_list(params = {})
396
+ # @param [Hash] params ({})
397
+ def delete_apps_list(params = {}, options = {})
398
+ req = build_request(:delete_apps_list, params)
399
+ req.send_request(options)
400
+ end
401
+
359
402
  # Deletes an AWS Firewall Manager association with the IAM role and the
360
403
  # Amazon Simple Notification Service (SNS) topic that is used to record
361
404
  # AWS Firewall Manager SNS logs.
@@ -374,8 +417,8 @@ module Aws::FMS
374
417
  # Permanently deletes an AWS Firewall Manager policy.
375
418
  #
376
419
  # @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`.
420
+ # The ID of the policy that you want to delete. You can retrieve this ID
421
+ # from `PutPolicy` and `ListPolicies`.
379
422
  #
380
423
  # @option params [Boolean] :delete_all_policy_resources
381
424
  # If `True`, the request performs cleanup according to the policy type.
@@ -425,6 +468,30 @@ module Aws::FMS
425
468
  req.send_request(options)
426
469
  end
427
470
 
471
+ # Permanently deletes an AWS Firewall Manager protocols list.
472
+ #
473
+ # @option params [required, String] :list_id
474
+ # The ID of the protocols list that you want to delete. You can retrieve
475
+ # this ID from `PutProtocolsList`, `ListProtocolsLists`, and
476
+ # `GetProtocolsLost`.
477
+ #
478
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
479
+ #
480
+ # @example Request syntax with placeholder values
481
+ #
482
+ # resp = client.delete_protocols_list({
483
+ # list_id: "ListId", # required
484
+ # })
485
+ #
486
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/DeleteProtocolsList AWS API Documentation
487
+ #
488
+ # @overload delete_protocols_list(params = {})
489
+ # @param [Hash] params ({})
490
+ def delete_protocols_list(params = {}, options = {})
491
+ req = build_request(:delete_protocols_list, params)
492
+ req.send_request(options)
493
+ end
494
+
428
495
  # Disassociates the account that has been set as the AWS Firewall
429
496
  # Manager administrator account. To set a different account as the
430
497
  # administrator account, you must submit an `AssociateAdminAccount`
@@ -463,6 +530,56 @@ module Aws::FMS
463
530
  req.send_request(options)
464
531
  end
465
532
 
533
+ # Returns information about the specified AWS Firewall Manager
534
+ # applications list.
535
+ #
536
+ # @option params [required, String] :list_id
537
+ # The ID of the AWS Firewall Manager applications list that you want the
538
+ # details for.
539
+ #
540
+ # @option params [Boolean] :default_list
541
+ # Specifies whether the list to retrieve is a default list owned by AWS
542
+ # Firewall Manager.
543
+ #
544
+ # @return [Types::GetAppsListResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
545
+ #
546
+ # * {Types::GetAppsListResponse#apps_list #apps_list} => Types::AppsListData
547
+ # * {Types::GetAppsListResponse#apps_list_arn #apps_list_arn} => String
548
+ #
549
+ # @example Request syntax with placeholder values
550
+ #
551
+ # resp = client.get_apps_list({
552
+ # list_id: "ListId", # required
553
+ # default_list: false,
554
+ # })
555
+ #
556
+ # @example Response structure
557
+ #
558
+ # resp.apps_list.list_id #=> String
559
+ # resp.apps_list.list_name #=> String
560
+ # resp.apps_list.list_update_token #=> String
561
+ # resp.apps_list.create_time #=> Time
562
+ # resp.apps_list.last_update_time #=> Time
563
+ # resp.apps_list.apps_list #=> Array
564
+ # resp.apps_list.apps_list[0].app_name #=> String
565
+ # resp.apps_list.apps_list[0].protocol #=> String
566
+ # resp.apps_list.apps_list[0].port #=> Integer
567
+ # resp.apps_list.previous_apps_list #=> Hash
568
+ # resp.apps_list.previous_apps_list["PreviousListVersion"] #=> Array
569
+ # resp.apps_list.previous_apps_list["PreviousListVersion"][0].app_name #=> String
570
+ # resp.apps_list.previous_apps_list["PreviousListVersion"][0].protocol #=> String
571
+ # resp.apps_list.previous_apps_list["PreviousListVersion"][0].port #=> Integer
572
+ # resp.apps_list_arn #=> String
573
+ #
574
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetAppsList AWS API Documentation
575
+ #
576
+ # @overload get_apps_list(params = {})
577
+ # @param [Hash] params ({})
578
+ def get_apps_list(params = {}, options = {})
579
+ req = build_request(:get_apps_list, params)
580
+ req.send_request(options)
581
+ end
582
+
466
583
  # Returns detailed compliance information about the specified member
467
584
  # account. Details include resources that are in and out of compliance
468
585
  # with the specified policy. Resources are considered noncompliant for
@@ -657,9 +774,193 @@ module Aws::FMS
657
774
  req.send_request(options)
658
775
  end
659
776
 
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.
777
+ # Returns information about the specified AWS Firewall Manager protocols
778
+ # list.
779
+ #
780
+ # @option params [required, String] :list_id
781
+ # The ID of the AWS Firewall Manager protocols list that you want the
782
+ # details for.
783
+ #
784
+ # @option params [Boolean] :default_list
785
+ # Specifies whether the list to retrieve is a default list owned by AWS
786
+ # Firewall Manager.
787
+ #
788
+ # @return [Types::GetProtocolsListResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
789
+ #
790
+ # * {Types::GetProtocolsListResponse#protocols_list #protocols_list} => Types::ProtocolsListData
791
+ # * {Types::GetProtocolsListResponse#protocols_list_arn #protocols_list_arn} => String
792
+ #
793
+ # @example Request syntax with placeholder values
794
+ #
795
+ # resp = client.get_protocols_list({
796
+ # list_id: "ListId", # required
797
+ # default_list: false,
798
+ # })
799
+ #
800
+ # @example Response structure
801
+ #
802
+ # resp.protocols_list.list_id #=> String
803
+ # resp.protocols_list.list_name #=> String
804
+ # resp.protocols_list.list_update_token #=> String
805
+ # resp.protocols_list.create_time #=> Time
806
+ # resp.protocols_list.last_update_time #=> Time
807
+ # resp.protocols_list.protocols_list #=> Array
808
+ # resp.protocols_list.protocols_list[0] #=> String
809
+ # resp.protocols_list.previous_protocols_list #=> Hash
810
+ # resp.protocols_list.previous_protocols_list["PreviousListVersion"] #=> Array
811
+ # resp.protocols_list.previous_protocols_list["PreviousListVersion"][0] #=> String
812
+ # resp.protocols_list_arn #=> String
813
+ #
814
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetProtocolsList AWS API Documentation
815
+ #
816
+ # @overload get_protocols_list(params = {})
817
+ # @param [Hash] params ({})
818
+ def get_protocols_list(params = {}, options = {})
819
+ req = build_request(:get_protocols_list, params)
820
+ req.send_request(options)
821
+ end
822
+
823
+ # Retrieves violations for a resource based on the specified AWS
824
+ # Firewall Manager policy and AWS account.
825
+ #
826
+ # @option params [required, String] :policy_id
827
+ # The ID of the AWS Firewall Manager policy that you want the details
828
+ # for. This currently only supports security group content audit
829
+ # policies.
830
+ #
831
+ # @option params [required, String] :member_account
832
+ # The AWS account ID that you want the details for.
833
+ #
834
+ # @option params [required, String] :resource_id
835
+ # The ID of the resource that has violations.
836
+ #
837
+ # @option params [required, String] :resource_type
838
+ # The resource type. This is in the format shown in the [AWS Resource
839
+ # Types Reference][1]. Supported resource types are:
840
+ # `AWS::EC2::Instance`, `AWS::EC2::NetworkInterface`, or
841
+ # `AWS::EC2::SecurityGroup`.
842
+ #
843
+ #
844
+ #
845
+ # [1]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html
846
+ #
847
+ # @return [Types::GetViolationDetailsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
848
+ #
849
+ # * {Types::GetViolationDetailsResponse#violation_detail #violation_detail} => Types::ViolationDetail
850
+ #
851
+ # @example Request syntax with placeholder values
852
+ #
853
+ # resp = client.get_violation_details({
854
+ # policy_id: "PolicyId", # required
855
+ # member_account: "AWSAccountId", # required
856
+ # resource_id: "ResourceId", # required
857
+ # resource_type: "ResourceType", # required
858
+ # })
859
+ #
860
+ # @example Response structure
861
+ #
862
+ # resp.violation_detail.policy_id #=> String
863
+ # resp.violation_detail.member_account #=> String
864
+ # resp.violation_detail.resource_id #=> String
865
+ # resp.violation_detail.resource_type #=> String
866
+ # resp.violation_detail.resource_violations #=> Array
867
+ # resp.violation_detail.resource_violations[0].aws_vpc_security_group_violation.violation_target #=> String
868
+ # resp.violation_detail.resource_violations[0].aws_vpc_security_group_violation.violation_target_description #=> String
869
+ # resp.violation_detail.resource_violations[0].aws_vpc_security_group_violation.partial_matches #=> Array
870
+ # resp.violation_detail.resource_violations[0].aws_vpc_security_group_violation.partial_matches[0].reference #=> String
871
+ # resp.violation_detail.resource_violations[0].aws_vpc_security_group_violation.partial_matches[0].target_violation_reasons #=> Array
872
+ # resp.violation_detail.resource_violations[0].aws_vpc_security_group_violation.partial_matches[0].target_violation_reasons[0] #=> String
873
+ # resp.violation_detail.resource_violations[0].aws_vpc_security_group_violation.possible_security_group_remediation_actions #=> Array
874
+ # 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"
875
+ # resp.violation_detail.resource_violations[0].aws_vpc_security_group_violation.possible_security_group_remediation_actions[0].description #=> String
876
+ # resp.violation_detail.resource_violations[0].aws_vpc_security_group_violation.possible_security_group_remediation_actions[0].remediation_result.ipv4_range #=> String
877
+ # resp.violation_detail.resource_violations[0].aws_vpc_security_group_violation.possible_security_group_remediation_actions[0].remediation_result.ipv6_range #=> String
878
+ # resp.violation_detail.resource_violations[0].aws_vpc_security_group_violation.possible_security_group_remediation_actions[0].remediation_result.prefix_list_id #=> String
879
+ # resp.violation_detail.resource_violations[0].aws_vpc_security_group_violation.possible_security_group_remediation_actions[0].remediation_result.protocol #=> String
880
+ # resp.violation_detail.resource_violations[0].aws_vpc_security_group_violation.possible_security_group_remediation_actions[0].remediation_result.from_port #=> Integer
881
+ # resp.violation_detail.resource_violations[0].aws_vpc_security_group_violation.possible_security_group_remediation_actions[0].remediation_result.to_port #=> Integer
882
+ # resp.violation_detail.resource_violations[0].aws_vpc_security_group_violation.possible_security_group_remediation_actions[0].is_default_action #=> Boolean
883
+ # resp.violation_detail.resource_violations[0].aws_ec2_network_interface_violation.violation_target #=> String
884
+ # resp.violation_detail.resource_violations[0].aws_ec2_network_interface_violation.violating_security_groups #=> Array
885
+ # resp.violation_detail.resource_violations[0].aws_ec2_network_interface_violation.violating_security_groups[0] #=> String
886
+ # resp.violation_detail.resource_violations[0].aws_ec2_instance_violation.violation_target #=> String
887
+ # resp.violation_detail.resource_violations[0].aws_ec2_instance_violation.aws_ec2_network_interface_violations #=> Array
888
+ # resp.violation_detail.resource_violations[0].aws_ec2_instance_violation.aws_ec2_network_interface_violations[0].violation_target #=> String
889
+ # resp.violation_detail.resource_violations[0].aws_ec2_instance_violation.aws_ec2_network_interface_violations[0].violating_security_groups #=> Array
890
+ # resp.violation_detail.resource_violations[0].aws_ec2_instance_violation.aws_ec2_network_interface_violations[0].violating_security_groups[0] #=> String
891
+ # resp.violation_detail.resource_tags #=> Array
892
+ # resp.violation_detail.resource_tags[0].key #=> String
893
+ # resp.violation_detail.resource_tags[0].value #=> String
894
+ # resp.violation_detail.resource_description #=> String
895
+ #
896
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetViolationDetails AWS API Documentation
897
+ #
898
+ # @overload get_violation_details(params = {})
899
+ # @param [Hash] params ({})
900
+ def get_violation_details(params = {}, options = {})
901
+ req = build_request(:get_violation_details, params)
902
+ req.send_request(options)
903
+ end
904
+
905
+ # Returns an array of `AppsListDataSummary` objects.
906
+ #
907
+ # @option params [Boolean] :default_lists
908
+ # Specifies whether the lists to retrieve are default lists owned by AWS
909
+ # Firewall Manager.
910
+ #
911
+ # @option params [String] :next_token
912
+ # If you specify a value for `MaxResults` in your list request, and you
913
+ # have more objects than the maximum, AWS Firewall Manager returns this
914
+ # token in the response. For all but the first request, you provide the
915
+ # token returned by the prior request in the request parameters, to
916
+ # retrieve the next batch of objects.
917
+ #
918
+ # @option params [required, Integer] :max_results
919
+ # The maximum number of objects that you want AWS Firewall Manager to
920
+ # return for this request. If more objects are available, in the
921
+ # response, AWS Firewall Manager provides a `NextToken` value that you
922
+ # can use in a subsequent call to get the next batch of objects.
923
+ #
924
+ # If you don't specify this, AWS Firewall Manager returns all available
925
+ # objects.
926
+ #
927
+ # @return [Types::ListAppsListsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
928
+ #
929
+ # * {Types::ListAppsListsResponse#apps_lists #apps_lists} => Array<Types::AppsListDataSummary>
930
+ # * {Types::ListAppsListsResponse#next_token #next_token} => String
931
+ #
932
+ # @example Request syntax with placeholder values
933
+ #
934
+ # resp = client.list_apps_lists({
935
+ # default_lists: false,
936
+ # next_token: "PaginationToken",
937
+ # max_results: 1, # required
938
+ # })
939
+ #
940
+ # @example Response structure
941
+ #
942
+ # resp.apps_lists #=> Array
943
+ # resp.apps_lists[0].list_arn #=> String
944
+ # resp.apps_lists[0].list_id #=> String
945
+ # resp.apps_lists[0].list_name #=> String
946
+ # resp.apps_lists[0].apps_list #=> Array
947
+ # resp.apps_lists[0].apps_list[0].app_name #=> String
948
+ # resp.apps_lists[0].apps_list[0].protocol #=> String
949
+ # resp.apps_lists[0].apps_list[0].port #=> Integer
950
+ # resp.next_token #=> String
951
+ #
952
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ListAppsLists AWS API Documentation
953
+ #
954
+ # @overload list_apps_lists(params = {})
955
+ # @param [Hash] params ({})
956
+ def list_apps_lists(params = {}, options = {})
957
+ req = build_request(:list_apps_lists, params)
958
+ req.send_request(options)
959
+ end
960
+
961
+ # Returns an array of `PolicyComplianceStatus` objects. Use
962
+ # `PolicyComplianceStatus` to get a summary of which member accounts are
963
+ # protected by the specified policy.
663
964
  #
664
965
  # @option params [required, String] :policy_id
665
966
  # The ID of the AWS Firewall Manager policy that you want the details
@@ -773,7 +1074,7 @@ module Aws::FMS
773
1074
  req.send_request(options)
774
1075
  end
775
1076
 
776
- # Returns an array of `PolicySummary` objects in the response.
1077
+ # Returns an array of `PolicySummary` objects.
777
1078
  #
778
1079
  # @option params [String] :next_token
779
1080
  # If you specify a value for `MaxResults` and you have more
@@ -825,12 +1126,66 @@ module Aws::FMS
825
1126
  req.send_request(options)
826
1127
  end
827
1128
 
1129
+ # Returns an array of `ProtocolsListDataSummary` objects.
1130
+ #
1131
+ # @option params [Boolean] :default_lists
1132
+ # Specifies whether the lists to retrieve are default lists owned by AWS
1133
+ # Firewall Manager.
1134
+ #
1135
+ # @option params [String] :next_token
1136
+ # If you specify a value for `MaxResults` in your list request, and you
1137
+ # have more objects than the maximum, AWS Firewall Manager returns this
1138
+ # token in the response. For all but the first request, you provide the
1139
+ # token returned by the prior request in the request parameters, to
1140
+ # retrieve the next batch of objects.
1141
+ #
1142
+ # @option params [required, Integer] :max_results
1143
+ # The maximum number of objects that you want AWS Firewall Manager to
1144
+ # return for this request. If more objects are available, in the
1145
+ # response, AWS Firewall Manager provides a `NextToken` value that you
1146
+ # can use in a subsequent call to get the next batch of objects.
1147
+ #
1148
+ # If you don't specify this, AWS Firewall Manager returns all available
1149
+ # objects.
1150
+ #
1151
+ # @return [Types::ListProtocolsListsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1152
+ #
1153
+ # * {Types::ListProtocolsListsResponse#protocols_lists #protocols_lists} => Array<Types::ProtocolsListDataSummary>
1154
+ # * {Types::ListProtocolsListsResponse#next_token #next_token} => String
1155
+ #
1156
+ # @example Request syntax with placeholder values
1157
+ #
1158
+ # resp = client.list_protocols_lists({
1159
+ # default_lists: false,
1160
+ # next_token: "PaginationToken",
1161
+ # max_results: 1, # required
1162
+ # })
1163
+ #
1164
+ # @example Response structure
1165
+ #
1166
+ # resp.protocols_lists #=> Array
1167
+ # resp.protocols_lists[0].list_arn #=> String
1168
+ # resp.protocols_lists[0].list_id #=> String
1169
+ # resp.protocols_lists[0].list_name #=> String
1170
+ # resp.protocols_lists[0].protocols_list #=> Array
1171
+ # resp.protocols_lists[0].protocols_list[0] #=> String
1172
+ # resp.next_token #=> String
1173
+ #
1174
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ListProtocolsLists AWS API Documentation
1175
+ #
1176
+ # @overload list_protocols_lists(params = {})
1177
+ # @param [Hash] params ({})
1178
+ def list_protocols_lists(params = {}, options = {})
1179
+ req = build_request(:list_protocols_lists, params)
1180
+ req.send_request(options)
1181
+ end
1182
+
828
1183
  # Retrieves the list of tags for the specified AWS resource.
829
1184
  #
830
1185
  # @option params [required, String] :resource_arn
831
1186
  # 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..
1187
+ # AWS Firewall Manager resources that support tagging are policies,
1188
+ # applications lists, and protocols lists.
834
1189
  #
835
1190
  # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
836
1191
  #
@@ -857,6 +1212,81 @@ module Aws::FMS
857
1212
  req.send_request(options)
858
1213
  end
859
1214
 
1215
+ # Creates an AWS Firewall Manager applications list.
1216
+ #
1217
+ # @option params [required, Types::AppsListData] :apps_list
1218
+ # The details of the AWS Firewall Manager applications list to be
1219
+ # created.
1220
+ #
1221
+ # @option params [Array<Types::Tag>] :tag_list
1222
+ # The tags associated with the resource.
1223
+ #
1224
+ # @return [Types::PutAppsListResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1225
+ #
1226
+ # * {Types::PutAppsListResponse#apps_list #apps_list} => Types::AppsListData
1227
+ # * {Types::PutAppsListResponse#apps_list_arn #apps_list_arn} => String
1228
+ #
1229
+ # @example Request syntax with placeholder values
1230
+ #
1231
+ # resp = client.put_apps_list({
1232
+ # apps_list: { # required
1233
+ # list_id: "ListId",
1234
+ # list_name: "ResourceName", # required
1235
+ # list_update_token: "UpdateToken",
1236
+ # create_time: Time.now,
1237
+ # last_update_time: Time.now,
1238
+ # apps_list: [ # required
1239
+ # {
1240
+ # app_name: "ResourceName", # required
1241
+ # protocol: "Protocol", # required
1242
+ # port: 1, # required
1243
+ # },
1244
+ # ],
1245
+ # previous_apps_list: {
1246
+ # "PreviousListVersion" => [
1247
+ # {
1248
+ # app_name: "ResourceName", # required
1249
+ # protocol: "Protocol", # required
1250
+ # port: 1, # required
1251
+ # },
1252
+ # ],
1253
+ # },
1254
+ # },
1255
+ # tag_list: [
1256
+ # {
1257
+ # key: "TagKey", # required
1258
+ # value: "TagValue", # required
1259
+ # },
1260
+ # ],
1261
+ # })
1262
+ #
1263
+ # @example Response structure
1264
+ #
1265
+ # resp.apps_list.list_id #=> String
1266
+ # resp.apps_list.list_name #=> String
1267
+ # resp.apps_list.list_update_token #=> String
1268
+ # resp.apps_list.create_time #=> Time
1269
+ # resp.apps_list.last_update_time #=> Time
1270
+ # resp.apps_list.apps_list #=> Array
1271
+ # resp.apps_list.apps_list[0].app_name #=> String
1272
+ # resp.apps_list.apps_list[0].protocol #=> String
1273
+ # resp.apps_list.apps_list[0].port #=> Integer
1274
+ # resp.apps_list.previous_apps_list #=> Hash
1275
+ # resp.apps_list.previous_apps_list["PreviousListVersion"] #=> Array
1276
+ # resp.apps_list.previous_apps_list["PreviousListVersion"][0].app_name #=> String
1277
+ # resp.apps_list.previous_apps_list["PreviousListVersion"][0].protocol #=> String
1278
+ # resp.apps_list.previous_apps_list["PreviousListVersion"][0].port #=> Integer
1279
+ # resp.apps_list_arn #=> String
1280
+ #
1281
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/PutAppsList AWS API Documentation
1282
+ #
1283
+ # @overload put_apps_list(params = {})
1284
+ # @param [Hash] params ({})
1285
+ def put_apps_list(params = {}, options = {})
1286
+ req = build_request(:put_apps_list, params)
1287
+ req.send_request(options)
1288
+ end
1289
+
860
1290
  # Designates the IAM role and Amazon Simple Notification Service (SNS)
861
1291
  # topic that AWS Firewall Manager uses to record SNS logs.
862
1292
  #
@@ -993,12 +1423,70 @@ module Aws::FMS
993
1423
  req.send_request(options)
994
1424
  end
995
1425
 
1426
+ # Creates an AWS Firewall Manager protocols list.
1427
+ #
1428
+ # @option params [required, Types::ProtocolsListData] :protocols_list
1429
+ # The details of the AWS Firewall Manager protocols list to be created.
1430
+ #
1431
+ # @option params [Array<Types::Tag>] :tag_list
1432
+ # The tags associated with the resource.
1433
+ #
1434
+ # @return [Types::PutProtocolsListResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1435
+ #
1436
+ # * {Types::PutProtocolsListResponse#protocols_list #protocols_list} => Types::ProtocolsListData
1437
+ # * {Types::PutProtocolsListResponse#protocols_list_arn #protocols_list_arn} => String
1438
+ #
1439
+ # @example Request syntax with placeholder values
1440
+ #
1441
+ # resp = client.put_protocols_list({
1442
+ # protocols_list: { # required
1443
+ # list_id: "ListId",
1444
+ # list_name: "ResourceName", # required
1445
+ # list_update_token: "UpdateToken",
1446
+ # create_time: Time.now,
1447
+ # last_update_time: Time.now,
1448
+ # protocols_list: ["Protocol"], # required
1449
+ # previous_protocols_list: {
1450
+ # "PreviousListVersion" => ["Protocol"],
1451
+ # },
1452
+ # },
1453
+ # tag_list: [
1454
+ # {
1455
+ # key: "TagKey", # required
1456
+ # value: "TagValue", # required
1457
+ # },
1458
+ # ],
1459
+ # })
1460
+ #
1461
+ # @example Response structure
1462
+ #
1463
+ # resp.protocols_list.list_id #=> String
1464
+ # resp.protocols_list.list_name #=> String
1465
+ # resp.protocols_list.list_update_token #=> String
1466
+ # resp.protocols_list.create_time #=> Time
1467
+ # resp.protocols_list.last_update_time #=> Time
1468
+ # resp.protocols_list.protocols_list #=> Array
1469
+ # resp.protocols_list.protocols_list[0] #=> String
1470
+ # resp.protocols_list.previous_protocols_list #=> Hash
1471
+ # resp.protocols_list.previous_protocols_list["PreviousListVersion"] #=> Array
1472
+ # resp.protocols_list.previous_protocols_list["PreviousListVersion"][0] #=> String
1473
+ # resp.protocols_list_arn #=> String
1474
+ #
1475
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/PutProtocolsList AWS API Documentation
1476
+ #
1477
+ # @overload put_protocols_list(params = {})
1478
+ # @param [Hash] params ({})
1479
+ def put_protocols_list(params = {}, options = {})
1480
+ req = build_request(:put_protocols_list, params)
1481
+ req.send_request(options)
1482
+ end
1483
+
996
1484
  # Adds one or more tags to an AWS resource.
997
1485
  #
998
1486
  # @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.
1487
+ # The Amazon Resource Name (ARN) of the resource to return tags for. The
1488
+ # AWS Firewall Manager resources that support tagging are policies,
1489
+ # applications lists, and protocols lists.
1002
1490
  #
1003
1491
  # @option params [required, Array<Types::Tag>] :tag_list
1004
1492
  # The tags to add to the resource.
@@ -1029,9 +1517,9 @@ module Aws::FMS
1029
1517
  # Removes one or more tags from an AWS resource.
1030
1518
  #
1031
1519
  # @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.
1520
+ # The Amazon Resource Name (ARN) of the resource to return tags for. The
1521
+ # AWS Firewall Manager resources that support tagging are policies,
1522
+ # applications lists, and protocols lists.
1035
1523
  #
1036
1524
  # @option params [required, Array<String>] :tag_keys
1037
1525
  # The keys of the tags to remove from the resource.
@@ -1067,7 +1555,7 @@ module Aws::FMS
1067
1555
  params: params,
1068
1556
  config: config)
1069
1557
  context[:gem_name] = 'aws-sdk-fms'
1070
- context[:gem_version] = '1.26.0'
1558
+ context[:gem_version] = '1.31.0'
1071
1559
  Seahorse::Client::Request.new(handlers, context)
1072
1560
  end
1073
1561