1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/fms/FMS_EXPORTS.h> 8 #include <aws/fms/FMSErrors.h> 9 #include <aws/core/client/AWSError.h> 10 #include <aws/core/client/ClientConfiguration.h> 11 #include <aws/core/client/AWSClient.h> 12 #include <aws/core/utils/memory/stl/AWSString.h> 13 #include <aws/core/utils/json/JsonSerializer.h> 14 #include <aws/fms/model/GetAdminAccountResult.h> 15 #include <aws/fms/model/GetAppsListResult.h> 16 #include <aws/fms/model/GetComplianceDetailResult.h> 17 #include <aws/fms/model/GetNotificationChannelResult.h> 18 #include <aws/fms/model/GetPolicyResult.h> 19 #include <aws/fms/model/GetProtectionStatusResult.h> 20 #include <aws/fms/model/GetProtocolsListResult.h> 21 #include <aws/fms/model/GetViolationDetailsResult.h> 22 #include <aws/fms/model/ListAppsListsResult.h> 23 #include <aws/fms/model/ListComplianceStatusResult.h> 24 #include <aws/fms/model/ListMemberAccountsResult.h> 25 #include <aws/fms/model/ListPoliciesResult.h> 26 #include <aws/fms/model/ListProtocolsListsResult.h> 27 #include <aws/fms/model/ListTagsForResourceResult.h> 28 #include <aws/fms/model/PutAppsListResult.h> 29 #include <aws/fms/model/PutPolicyResult.h> 30 #include <aws/fms/model/PutProtocolsListResult.h> 31 #include <aws/fms/model/TagResourceResult.h> 32 #include <aws/fms/model/UntagResourceResult.h> 33 #include <aws/core/NoResult.h> 34 #include <aws/core/client/AsyncCallerContext.h> 35 #include <aws/core/http/HttpTypes.h> 36 #include <future> 37 #include <functional> 38 39 namespace Aws 40 { 41 42 namespace Http 43 { 44 class HttpClient; 45 class HttpClientFactory; 46 } // namespace Http 47 48 namespace Utils 49 { 50 template< typename R, typename E> class Outcome; 51 namespace Threading 52 { 53 class Executor; 54 } // namespace Threading 55 } // namespace Utils 56 57 namespace Auth 58 { 59 class AWSCredentials; 60 class AWSCredentialsProvider; 61 } // namespace Auth 62 63 namespace Client 64 { 65 class RetryStrategy; 66 } // namespace Client 67 68 namespace FMS 69 { 70 71 namespace Model 72 { 73 class AssociateAdminAccountRequest; 74 class DeleteAppsListRequest; 75 class DeleteNotificationChannelRequest; 76 class DeletePolicyRequest; 77 class DeleteProtocolsListRequest; 78 class DisassociateAdminAccountRequest; 79 class GetAdminAccountRequest; 80 class GetAppsListRequest; 81 class GetComplianceDetailRequest; 82 class GetNotificationChannelRequest; 83 class GetPolicyRequest; 84 class GetProtectionStatusRequest; 85 class GetProtocolsListRequest; 86 class GetViolationDetailsRequest; 87 class ListAppsListsRequest; 88 class ListComplianceStatusRequest; 89 class ListMemberAccountsRequest; 90 class ListPoliciesRequest; 91 class ListProtocolsListsRequest; 92 class ListTagsForResourceRequest; 93 class PutAppsListRequest; 94 class PutNotificationChannelRequest; 95 class PutPolicyRequest; 96 class PutProtocolsListRequest; 97 class TagResourceRequest; 98 class UntagResourceRequest; 99 100 typedef Aws::Utils::Outcome<Aws::NoResult, FMSError> AssociateAdminAccountOutcome; 101 typedef Aws::Utils::Outcome<Aws::NoResult, FMSError> DeleteAppsListOutcome; 102 typedef Aws::Utils::Outcome<Aws::NoResult, FMSError> DeleteNotificationChannelOutcome; 103 typedef Aws::Utils::Outcome<Aws::NoResult, FMSError> DeletePolicyOutcome; 104 typedef Aws::Utils::Outcome<Aws::NoResult, FMSError> DeleteProtocolsListOutcome; 105 typedef Aws::Utils::Outcome<Aws::NoResult, FMSError> DisassociateAdminAccountOutcome; 106 typedef Aws::Utils::Outcome<GetAdminAccountResult, FMSError> GetAdminAccountOutcome; 107 typedef Aws::Utils::Outcome<GetAppsListResult, FMSError> GetAppsListOutcome; 108 typedef Aws::Utils::Outcome<GetComplianceDetailResult, FMSError> GetComplianceDetailOutcome; 109 typedef Aws::Utils::Outcome<GetNotificationChannelResult, FMSError> GetNotificationChannelOutcome; 110 typedef Aws::Utils::Outcome<GetPolicyResult, FMSError> GetPolicyOutcome; 111 typedef Aws::Utils::Outcome<GetProtectionStatusResult, FMSError> GetProtectionStatusOutcome; 112 typedef Aws::Utils::Outcome<GetProtocolsListResult, FMSError> GetProtocolsListOutcome; 113 typedef Aws::Utils::Outcome<GetViolationDetailsResult, FMSError> GetViolationDetailsOutcome; 114 typedef Aws::Utils::Outcome<ListAppsListsResult, FMSError> ListAppsListsOutcome; 115 typedef Aws::Utils::Outcome<ListComplianceStatusResult, FMSError> ListComplianceStatusOutcome; 116 typedef Aws::Utils::Outcome<ListMemberAccountsResult, FMSError> ListMemberAccountsOutcome; 117 typedef Aws::Utils::Outcome<ListPoliciesResult, FMSError> ListPoliciesOutcome; 118 typedef Aws::Utils::Outcome<ListProtocolsListsResult, FMSError> ListProtocolsListsOutcome; 119 typedef Aws::Utils::Outcome<ListTagsForResourceResult, FMSError> ListTagsForResourceOutcome; 120 typedef Aws::Utils::Outcome<PutAppsListResult, FMSError> PutAppsListOutcome; 121 typedef Aws::Utils::Outcome<Aws::NoResult, FMSError> PutNotificationChannelOutcome; 122 typedef Aws::Utils::Outcome<PutPolicyResult, FMSError> PutPolicyOutcome; 123 typedef Aws::Utils::Outcome<PutProtocolsListResult, FMSError> PutProtocolsListOutcome; 124 typedef Aws::Utils::Outcome<TagResourceResult, FMSError> TagResourceOutcome; 125 typedef Aws::Utils::Outcome<UntagResourceResult, FMSError> UntagResourceOutcome; 126 127 typedef std::future<AssociateAdminAccountOutcome> AssociateAdminAccountOutcomeCallable; 128 typedef std::future<DeleteAppsListOutcome> DeleteAppsListOutcomeCallable; 129 typedef std::future<DeleteNotificationChannelOutcome> DeleteNotificationChannelOutcomeCallable; 130 typedef std::future<DeletePolicyOutcome> DeletePolicyOutcomeCallable; 131 typedef std::future<DeleteProtocolsListOutcome> DeleteProtocolsListOutcomeCallable; 132 typedef std::future<DisassociateAdminAccountOutcome> DisassociateAdminAccountOutcomeCallable; 133 typedef std::future<GetAdminAccountOutcome> GetAdminAccountOutcomeCallable; 134 typedef std::future<GetAppsListOutcome> GetAppsListOutcomeCallable; 135 typedef std::future<GetComplianceDetailOutcome> GetComplianceDetailOutcomeCallable; 136 typedef std::future<GetNotificationChannelOutcome> GetNotificationChannelOutcomeCallable; 137 typedef std::future<GetPolicyOutcome> GetPolicyOutcomeCallable; 138 typedef std::future<GetProtectionStatusOutcome> GetProtectionStatusOutcomeCallable; 139 typedef std::future<GetProtocolsListOutcome> GetProtocolsListOutcomeCallable; 140 typedef std::future<GetViolationDetailsOutcome> GetViolationDetailsOutcomeCallable; 141 typedef std::future<ListAppsListsOutcome> ListAppsListsOutcomeCallable; 142 typedef std::future<ListComplianceStatusOutcome> ListComplianceStatusOutcomeCallable; 143 typedef std::future<ListMemberAccountsOutcome> ListMemberAccountsOutcomeCallable; 144 typedef std::future<ListPoliciesOutcome> ListPoliciesOutcomeCallable; 145 typedef std::future<ListProtocolsListsOutcome> ListProtocolsListsOutcomeCallable; 146 typedef std::future<ListTagsForResourceOutcome> ListTagsForResourceOutcomeCallable; 147 typedef std::future<PutAppsListOutcome> PutAppsListOutcomeCallable; 148 typedef std::future<PutNotificationChannelOutcome> PutNotificationChannelOutcomeCallable; 149 typedef std::future<PutPolicyOutcome> PutPolicyOutcomeCallable; 150 typedef std::future<PutProtocolsListOutcome> PutProtocolsListOutcomeCallable; 151 typedef std::future<TagResourceOutcome> TagResourceOutcomeCallable; 152 typedef std::future<UntagResourceOutcome> UntagResourceOutcomeCallable; 153 } // namespace Model 154 155 class FMSClient; 156 157 typedef std::function<void(const FMSClient*, const Model::AssociateAdminAccountRequest&, const Model::AssociateAdminAccountOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > AssociateAdminAccountResponseReceivedHandler; 158 typedef std::function<void(const FMSClient*, const Model::DeleteAppsListRequest&, const Model::DeleteAppsListOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteAppsListResponseReceivedHandler; 159 typedef std::function<void(const FMSClient*, const Model::DeleteNotificationChannelRequest&, const Model::DeleteNotificationChannelOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteNotificationChannelResponseReceivedHandler; 160 typedef std::function<void(const FMSClient*, const Model::DeletePolicyRequest&, const Model::DeletePolicyOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeletePolicyResponseReceivedHandler; 161 typedef std::function<void(const FMSClient*, const Model::DeleteProtocolsListRequest&, const Model::DeleteProtocolsListOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteProtocolsListResponseReceivedHandler; 162 typedef std::function<void(const FMSClient*, const Model::DisassociateAdminAccountRequest&, const Model::DisassociateAdminAccountOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DisassociateAdminAccountResponseReceivedHandler; 163 typedef std::function<void(const FMSClient*, const Model::GetAdminAccountRequest&, const Model::GetAdminAccountOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetAdminAccountResponseReceivedHandler; 164 typedef std::function<void(const FMSClient*, const Model::GetAppsListRequest&, const Model::GetAppsListOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetAppsListResponseReceivedHandler; 165 typedef std::function<void(const FMSClient*, const Model::GetComplianceDetailRequest&, const Model::GetComplianceDetailOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetComplianceDetailResponseReceivedHandler; 166 typedef std::function<void(const FMSClient*, const Model::GetNotificationChannelRequest&, const Model::GetNotificationChannelOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetNotificationChannelResponseReceivedHandler; 167 typedef std::function<void(const FMSClient*, const Model::GetPolicyRequest&, const Model::GetPolicyOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetPolicyResponseReceivedHandler; 168 typedef std::function<void(const FMSClient*, const Model::GetProtectionStatusRequest&, const Model::GetProtectionStatusOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetProtectionStatusResponseReceivedHandler; 169 typedef std::function<void(const FMSClient*, const Model::GetProtocolsListRequest&, const Model::GetProtocolsListOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetProtocolsListResponseReceivedHandler; 170 typedef std::function<void(const FMSClient*, const Model::GetViolationDetailsRequest&, const Model::GetViolationDetailsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetViolationDetailsResponseReceivedHandler; 171 typedef std::function<void(const FMSClient*, const Model::ListAppsListsRequest&, const Model::ListAppsListsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListAppsListsResponseReceivedHandler; 172 typedef std::function<void(const FMSClient*, const Model::ListComplianceStatusRequest&, const Model::ListComplianceStatusOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListComplianceStatusResponseReceivedHandler; 173 typedef std::function<void(const FMSClient*, const Model::ListMemberAccountsRequest&, const Model::ListMemberAccountsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListMemberAccountsResponseReceivedHandler; 174 typedef std::function<void(const FMSClient*, const Model::ListPoliciesRequest&, const Model::ListPoliciesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListPoliciesResponseReceivedHandler; 175 typedef std::function<void(const FMSClient*, const Model::ListProtocolsListsRequest&, const Model::ListProtocolsListsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListProtocolsListsResponseReceivedHandler; 176 typedef std::function<void(const FMSClient*, const Model::ListTagsForResourceRequest&, const Model::ListTagsForResourceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListTagsForResourceResponseReceivedHandler; 177 typedef std::function<void(const FMSClient*, const Model::PutAppsListRequest&, const Model::PutAppsListOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutAppsListResponseReceivedHandler; 178 typedef std::function<void(const FMSClient*, const Model::PutNotificationChannelRequest&, const Model::PutNotificationChannelOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutNotificationChannelResponseReceivedHandler; 179 typedef std::function<void(const FMSClient*, const Model::PutPolicyRequest&, const Model::PutPolicyOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutPolicyResponseReceivedHandler; 180 typedef std::function<void(const FMSClient*, const Model::PutProtocolsListRequest&, const Model::PutProtocolsListOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutProtocolsListResponseReceivedHandler; 181 typedef std::function<void(const FMSClient*, const Model::TagResourceRequest&, const Model::TagResourceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > TagResourceResponseReceivedHandler; 182 typedef std::function<void(const FMSClient*, const Model::UntagResourceRequest&, const Model::UntagResourceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UntagResourceResponseReceivedHandler; 183 184 /** 185 * <p>This is the <i>Firewall Manager API Reference</i>. This guide is for 186 * developers who need detailed information about the Firewall Manager API actions, 187 * data types, and errors. For detailed information about Firewall Manager 188 * features, see the <a 189 * href="https://docs.aws.amazon.com/waf/latest/developerguide/fms-chapter.html">Firewall 190 * Manager Developer Guide</a>.</p> <p>Some API actions require explicit resource 191 * permissions. For information, see the developer guide topic <a 192 * href="https://docs.aws.amazon.com/waf/latest/developerguide/fms-api-permissions-ref.html">Firewall 193 * Manager required permissions for API actions</a>. </p> 194 */ 195 class AWS_FMS_API FMSClient : public Aws::Client::AWSJsonClient 196 { 197 public: 198 typedef Aws::Client::AWSJsonClient BASECLASS; 199 200 /** 201 * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config 202 * is not specified, it will be initialized to default values. 203 */ 204 FMSClient(const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); 205 206 /** 207 * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config 208 * is not specified, it will be initialized to default values. 209 */ 210 FMSClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); 211 212 /** 213 * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, 214 * the default http client factory will be used 215 */ 216 FMSClient(const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider, 217 const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); 218 219 virtual ~FMSClient(); 220 221 222 /** 223 * <p>Sets the Firewall Manager administrator account. The account must be a member 224 * of the organization in Organizations whose resources you want to protect. 225 * Firewall Manager sets the permissions that allow the account to administer your 226 * Firewall Manager policies.</p> <p>The account that you associate with Firewall 227 * Manager is called the Firewall Manager administrator account. </p><p><h3>See 228 * Also:</h3> <a 229 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/AssociateAdminAccount">AWS 230 * API Reference</a></p> 231 */ 232 virtual Model::AssociateAdminAccountOutcome AssociateAdminAccount(const Model::AssociateAdminAccountRequest& request) const; 233 234 /** 235 * <p>Sets the Firewall Manager administrator account. The account must be a member 236 * of the organization in Organizations whose resources you want to protect. 237 * Firewall Manager sets the permissions that allow the account to administer your 238 * Firewall Manager policies.</p> <p>The account that you associate with Firewall 239 * Manager is called the Firewall Manager administrator account. </p><p><h3>See 240 * Also:</h3> <a 241 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/AssociateAdminAccount">AWS 242 * API Reference</a></p> 243 * 244 * returns a future to the operation so that it can be executed in parallel to other requests. 245 */ 246 virtual Model::AssociateAdminAccountOutcomeCallable AssociateAdminAccountCallable(const Model::AssociateAdminAccountRequest& request) const; 247 248 /** 249 * <p>Sets the Firewall Manager administrator account. The account must be a member 250 * of the organization in Organizations whose resources you want to protect. 251 * Firewall Manager sets the permissions that allow the account to administer your 252 * Firewall Manager policies.</p> <p>The account that you associate with Firewall 253 * Manager is called the Firewall Manager administrator account. </p><p><h3>See 254 * Also:</h3> <a 255 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/AssociateAdminAccount">AWS 256 * API Reference</a></p> 257 * 258 * Queues the request into a thread executor and triggers associated callback when operation has finished. 259 */ 260 virtual void AssociateAdminAccountAsync(const Model::AssociateAdminAccountRequest& request, const AssociateAdminAccountResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 261 262 /** 263 * <p>Permanently deletes an Firewall Manager applications list.</p><p><h3>See 264 * Also:</h3> <a 265 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/DeleteAppsList">AWS 266 * API Reference</a></p> 267 */ 268 virtual Model::DeleteAppsListOutcome DeleteAppsList(const Model::DeleteAppsListRequest& request) const; 269 270 /** 271 * <p>Permanently deletes an Firewall Manager applications list.</p><p><h3>See 272 * Also:</h3> <a 273 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/DeleteAppsList">AWS 274 * API Reference</a></p> 275 * 276 * returns a future to the operation so that it can be executed in parallel to other requests. 277 */ 278 virtual Model::DeleteAppsListOutcomeCallable DeleteAppsListCallable(const Model::DeleteAppsListRequest& request) const; 279 280 /** 281 * <p>Permanently deletes an Firewall Manager applications list.</p><p><h3>See 282 * Also:</h3> <a 283 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/DeleteAppsList">AWS 284 * API Reference</a></p> 285 * 286 * Queues the request into a thread executor and triggers associated callback when operation has finished. 287 */ 288 virtual void DeleteAppsListAsync(const Model::DeleteAppsListRequest& request, const DeleteAppsListResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 289 290 /** 291 * <p>Deletes an Firewall Manager association with the IAM role and the Amazon 292 * Simple Notification Service (SNS) topic that is used to record Firewall Manager 293 * SNS logs.</p><p><h3>See Also:</h3> <a 294 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/DeleteNotificationChannel">AWS 295 * API Reference</a></p> 296 */ 297 virtual Model::DeleteNotificationChannelOutcome DeleteNotificationChannel(const Model::DeleteNotificationChannelRequest& request) const; 298 299 /** 300 * <p>Deletes an Firewall Manager association with the IAM role and the Amazon 301 * Simple Notification Service (SNS) topic that is used to record Firewall Manager 302 * SNS logs.</p><p><h3>See Also:</h3> <a 303 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/DeleteNotificationChannel">AWS 304 * API Reference</a></p> 305 * 306 * returns a future to the operation so that it can be executed in parallel to other requests. 307 */ 308 virtual Model::DeleteNotificationChannelOutcomeCallable DeleteNotificationChannelCallable(const Model::DeleteNotificationChannelRequest& request) const; 309 310 /** 311 * <p>Deletes an Firewall Manager association with the IAM role and the Amazon 312 * Simple Notification Service (SNS) topic that is used to record Firewall Manager 313 * SNS logs.</p><p><h3>See Also:</h3> <a 314 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/DeleteNotificationChannel">AWS 315 * API Reference</a></p> 316 * 317 * Queues the request into a thread executor and triggers associated callback when operation has finished. 318 */ 319 virtual void DeleteNotificationChannelAsync(const Model::DeleteNotificationChannelRequest& request, const DeleteNotificationChannelResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 320 321 /** 322 * <p>Permanently deletes an Firewall Manager policy. </p><p><h3>See Also:</h3> 323 * <a href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/DeletePolicy">AWS 324 * API Reference</a></p> 325 */ 326 virtual Model::DeletePolicyOutcome DeletePolicy(const Model::DeletePolicyRequest& request) const; 327 328 /** 329 * <p>Permanently deletes an Firewall Manager policy. </p><p><h3>See Also:</h3> 330 * <a href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/DeletePolicy">AWS 331 * API Reference</a></p> 332 * 333 * returns a future to the operation so that it can be executed in parallel to other requests. 334 */ 335 virtual Model::DeletePolicyOutcomeCallable DeletePolicyCallable(const Model::DeletePolicyRequest& request) const; 336 337 /** 338 * <p>Permanently deletes an Firewall Manager policy. </p><p><h3>See Also:</h3> 339 * <a href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/DeletePolicy">AWS 340 * API Reference</a></p> 341 * 342 * Queues the request into a thread executor and triggers associated callback when operation has finished. 343 */ 344 virtual void DeletePolicyAsync(const Model::DeletePolicyRequest& request, const DeletePolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 345 346 /** 347 * <p>Permanently deletes an Firewall Manager protocols list.</p><p><h3>See 348 * Also:</h3> <a 349 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/DeleteProtocolsList">AWS 350 * API Reference</a></p> 351 */ 352 virtual Model::DeleteProtocolsListOutcome DeleteProtocolsList(const Model::DeleteProtocolsListRequest& request) const; 353 354 /** 355 * <p>Permanently deletes an Firewall Manager protocols list.</p><p><h3>See 356 * Also:</h3> <a 357 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/DeleteProtocolsList">AWS 358 * API Reference</a></p> 359 * 360 * returns a future to the operation so that it can be executed in parallel to other requests. 361 */ 362 virtual Model::DeleteProtocolsListOutcomeCallable DeleteProtocolsListCallable(const Model::DeleteProtocolsListRequest& request) const; 363 364 /** 365 * <p>Permanently deletes an Firewall Manager protocols list.</p><p><h3>See 366 * Also:</h3> <a 367 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/DeleteProtocolsList">AWS 368 * API Reference</a></p> 369 * 370 * Queues the request into a thread executor and triggers associated callback when operation has finished. 371 */ 372 virtual void DeleteProtocolsListAsync(const Model::DeleteProtocolsListRequest& request, const DeleteProtocolsListResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 373 374 /** 375 * <p>Disassociates the account that has been set as the Firewall Manager 376 * administrator account. To set a different account as the administrator account, 377 * you must submit an <code>AssociateAdminAccount</code> request.</p><p><h3>See 378 * Also:</h3> <a 379 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/DisassociateAdminAccount">AWS 380 * API Reference</a></p> 381 */ 382 virtual Model::DisassociateAdminAccountOutcome DisassociateAdminAccount(const Model::DisassociateAdminAccountRequest& request) const; 383 384 /** 385 * <p>Disassociates the account that has been set as the Firewall Manager 386 * administrator account. To set a different account as the administrator account, 387 * you must submit an <code>AssociateAdminAccount</code> request.</p><p><h3>See 388 * Also:</h3> <a 389 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/DisassociateAdminAccount">AWS 390 * API Reference</a></p> 391 * 392 * returns a future to the operation so that it can be executed in parallel to other requests. 393 */ 394 virtual Model::DisassociateAdminAccountOutcomeCallable DisassociateAdminAccountCallable(const Model::DisassociateAdminAccountRequest& request) const; 395 396 /** 397 * <p>Disassociates the account that has been set as the Firewall Manager 398 * administrator account. To set a different account as the administrator account, 399 * you must submit an <code>AssociateAdminAccount</code> request.</p><p><h3>See 400 * Also:</h3> <a 401 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/DisassociateAdminAccount">AWS 402 * API Reference</a></p> 403 * 404 * Queues the request into a thread executor and triggers associated callback when operation has finished. 405 */ 406 virtual void DisassociateAdminAccountAsync(const Model::DisassociateAdminAccountRequest& request, const DisassociateAdminAccountResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 407 408 /** 409 * <p>Returns the Organizations account that is associated with Firewall Manager as 410 * the Firewall Manager administrator.</p><p><h3>See Also:</h3> <a 411 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetAdminAccount">AWS 412 * API Reference</a></p> 413 */ 414 virtual Model::GetAdminAccountOutcome GetAdminAccount(const Model::GetAdminAccountRequest& request) const; 415 416 /** 417 * <p>Returns the Organizations account that is associated with Firewall Manager as 418 * the Firewall Manager administrator.</p><p><h3>See Also:</h3> <a 419 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetAdminAccount">AWS 420 * API Reference</a></p> 421 * 422 * returns a future to the operation so that it can be executed in parallel to other requests. 423 */ 424 virtual Model::GetAdminAccountOutcomeCallable GetAdminAccountCallable(const Model::GetAdminAccountRequest& request) const; 425 426 /** 427 * <p>Returns the Organizations account that is associated with Firewall Manager as 428 * the Firewall Manager administrator.</p><p><h3>See Also:</h3> <a 429 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetAdminAccount">AWS 430 * API Reference</a></p> 431 * 432 * Queues the request into a thread executor and triggers associated callback when operation has finished. 433 */ 434 virtual void GetAdminAccountAsync(const Model::GetAdminAccountRequest& request, const GetAdminAccountResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 435 436 /** 437 * <p>Returns information about the specified Firewall Manager applications 438 * list.</p><p><h3>See Also:</h3> <a 439 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetAppsList">AWS API 440 * Reference</a></p> 441 */ 442 virtual Model::GetAppsListOutcome GetAppsList(const Model::GetAppsListRequest& request) const; 443 444 /** 445 * <p>Returns information about the specified Firewall Manager applications 446 * list.</p><p><h3>See Also:</h3> <a 447 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetAppsList">AWS API 448 * Reference</a></p> 449 * 450 * returns a future to the operation so that it can be executed in parallel to other requests. 451 */ 452 virtual Model::GetAppsListOutcomeCallable GetAppsListCallable(const Model::GetAppsListRequest& request) const; 453 454 /** 455 * <p>Returns information about the specified Firewall Manager applications 456 * list.</p><p><h3>See Also:</h3> <a 457 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetAppsList">AWS API 458 * Reference</a></p> 459 * 460 * Queues the request into a thread executor and triggers associated callback when operation has finished. 461 */ 462 virtual void GetAppsListAsync(const Model::GetAppsListRequest& request, const GetAppsListResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 463 464 /** 465 * <p>Returns detailed compliance information about the specified member account. 466 * Details include resources that are in and out of compliance with the specified 467 * policy. </p> <ul> <li> <p>Resources are considered noncompliant for WAF and 468 * Shield Advanced policies if the specified policy has not been applied to 469 * them.</p> </li> <li> <p>Resources are considered noncompliant for security group 470 * policies if they are in scope of the policy, they violate one or more of the 471 * policy rules, and remediation is disabled or not possible.</p> </li> <li> 472 * <p>Resources are considered noncompliant for Network Firewall policies if a 473 * firewall is missing in the VPC, if the firewall endpoint isn't set up in an 474 * expected Availability Zone and subnet, if a subnet created by the Firewall 475 * Manager doesn't have the expected route table, and for modifications to a 476 * firewall policy that violate the Firewall Manager policy's rules.</p> </li> <li> 477 * <p>Resources are considered noncompliant for DNS Firewall policies if a DNS 478 * Firewall rule group is missing from the rule group associations for the VPC. 479 * </p> </li> </ul><p><h3>See Also:</h3> <a 480 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetComplianceDetail">AWS 481 * API Reference</a></p> 482 */ 483 virtual Model::GetComplianceDetailOutcome GetComplianceDetail(const Model::GetComplianceDetailRequest& request) const; 484 485 /** 486 * <p>Returns detailed compliance information about the specified member account. 487 * Details include resources that are in and out of compliance with the specified 488 * policy. </p> <ul> <li> <p>Resources are considered noncompliant for WAF and 489 * Shield Advanced policies if the specified policy has not been applied to 490 * them.</p> </li> <li> <p>Resources are considered noncompliant for security group 491 * policies if they are in scope of the policy, they violate one or more of the 492 * policy rules, and remediation is disabled or not possible.</p> </li> <li> 493 * <p>Resources are considered noncompliant for Network Firewall policies if a 494 * firewall is missing in the VPC, if the firewall endpoint isn't set up in an 495 * expected Availability Zone and subnet, if a subnet created by the Firewall 496 * Manager doesn't have the expected route table, and for modifications to a 497 * firewall policy that violate the Firewall Manager policy's rules.</p> </li> <li> 498 * <p>Resources are considered noncompliant for DNS Firewall policies if a DNS 499 * Firewall rule group is missing from the rule group associations for the VPC. 500 * </p> </li> </ul><p><h3>See Also:</h3> <a 501 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetComplianceDetail">AWS 502 * API Reference</a></p> 503 * 504 * returns a future to the operation so that it can be executed in parallel to other requests. 505 */ 506 virtual Model::GetComplianceDetailOutcomeCallable GetComplianceDetailCallable(const Model::GetComplianceDetailRequest& request) const; 507 508 /** 509 * <p>Returns detailed compliance information about the specified member account. 510 * Details include resources that are in and out of compliance with the specified 511 * policy. </p> <ul> <li> <p>Resources are considered noncompliant for WAF and 512 * Shield Advanced policies if the specified policy has not been applied to 513 * them.</p> </li> <li> <p>Resources are considered noncompliant for security group 514 * policies if they are in scope of the policy, they violate one or more of the 515 * policy rules, and remediation is disabled or not possible.</p> </li> <li> 516 * <p>Resources are considered noncompliant for Network Firewall policies if a 517 * firewall is missing in the VPC, if the firewall endpoint isn't set up in an 518 * expected Availability Zone and subnet, if a subnet created by the Firewall 519 * Manager doesn't have the expected route table, and for modifications to a 520 * firewall policy that violate the Firewall Manager policy's rules.</p> </li> <li> 521 * <p>Resources are considered noncompliant for DNS Firewall policies if a DNS 522 * Firewall rule group is missing from the rule group associations for the VPC. 523 * </p> </li> </ul><p><h3>See Also:</h3> <a 524 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetComplianceDetail">AWS 525 * API Reference</a></p> 526 * 527 * Queues the request into a thread executor and triggers associated callback when operation has finished. 528 */ 529 virtual void GetComplianceDetailAsync(const Model::GetComplianceDetailRequest& request, const GetComplianceDetailResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 530 531 /** 532 * <p>Information about the Amazon Simple Notification Service (SNS) topic that is 533 * used to record Firewall Manager SNS logs.</p><p><h3>See Also:</h3> <a 534 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetNotificationChannel">AWS 535 * API Reference</a></p> 536 */ 537 virtual Model::GetNotificationChannelOutcome GetNotificationChannel(const Model::GetNotificationChannelRequest& request) const; 538 539 /** 540 * <p>Information about the Amazon Simple Notification Service (SNS) topic that is 541 * used to record Firewall Manager SNS logs.</p><p><h3>See Also:</h3> <a 542 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetNotificationChannel">AWS 543 * API Reference</a></p> 544 * 545 * returns a future to the operation so that it can be executed in parallel to other requests. 546 */ 547 virtual Model::GetNotificationChannelOutcomeCallable GetNotificationChannelCallable(const Model::GetNotificationChannelRequest& request) const; 548 549 /** 550 * <p>Information about the Amazon Simple Notification Service (SNS) topic that is 551 * used to record Firewall Manager SNS logs.</p><p><h3>See Also:</h3> <a 552 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetNotificationChannel">AWS 553 * API Reference</a></p> 554 * 555 * Queues the request into a thread executor and triggers associated callback when operation has finished. 556 */ 557 virtual void GetNotificationChannelAsync(const Model::GetNotificationChannelRequest& request, const GetNotificationChannelResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 558 559 /** 560 * <p>Returns information about the specified Firewall Manager 561 * policy.</p><p><h3>See Also:</h3> <a 562 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetPolicy">AWS API 563 * Reference</a></p> 564 */ 565 virtual Model::GetPolicyOutcome GetPolicy(const Model::GetPolicyRequest& request) const; 566 567 /** 568 * <p>Returns information about the specified Firewall Manager 569 * policy.</p><p><h3>See Also:</h3> <a 570 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetPolicy">AWS API 571 * Reference</a></p> 572 * 573 * returns a future to the operation so that it can be executed in parallel to other requests. 574 */ 575 virtual Model::GetPolicyOutcomeCallable GetPolicyCallable(const Model::GetPolicyRequest& request) const; 576 577 /** 578 * <p>Returns information about the specified Firewall Manager 579 * policy.</p><p><h3>See Also:</h3> <a 580 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetPolicy">AWS API 581 * Reference</a></p> 582 * 583 * Queues the request into a thread executor and triggers associated callback when operation has finished. 584 */ 585 virtual void GetPolicyAsync(const Model::GetPolicyRequest& request, const GetPolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 586 587 /** 588 * <p>If you created a Shield Advanced policy, returns policy-level attack summary 589 * information in the event of a potential DDoS attack. Other policy types are 590 * currently unsupported.</p><p><h3>See Also:</h3> <a 591 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetProtectionStatus">AWS 592 * API Reference</a></p> 593 */ 594 virtual Model::GetProtectionStatusOutcome GetProtectionStatus(const Model::GetProtectionStatusRequest& request) const; 595 596 /** 597 * <p>If you created a Shield Advanced policy, returns policy-level attack summary 598 * information in the event of a potential DDoS attack. Other policy types are 599 * currently unsupported.</p><p><h3>See Also:</h3> <a 600 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetProtectionStatus">AWS 601 * API Reference</a></p> 602 * 603 * returns a future to the operation so that it can be executed in parallel to other requests. 604 */ 605 virtual Model::GetProtectionStatusOutcomeCallable GetProtectionStatusCallable(const Model::GetProtectionStatusRequest& request) const; 606 607 /** 608 * <p>If you created a Shield Advanced policy, returns policy-level attack summary 609 * information in the event of a potential DDoS attack. Other policy types are 610 * currently unsupported.</p><p><h3>See Also:</h3> <a 611 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetProtectionStatus">AWS 612 * API Reference</a></p> 613 * 614 * Queues the request into a thread executor and triggers associated callback when operation has finished. 615 */ 616 virtual void GetProtectionStatusAsync(const Model::GetProtectionStatusRequest& request, const GetProtectionStatusResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 617 618 /** 619 * <p>Returns information about the specified Firewall Manager protocols 620 * list.</p><p><h3>See Also:</h3> <a 621 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetProtocolsList">AWS 622 * API Reference</a></p> 623 */ 624 virtual Model::GetProtocolsListOutcome GetProtocolsList(const Model::GetProtocolsListRequest& request) const; 625 626 /** 627 * <p>Returns information about the specified Firewall Manager protocols 628 * list.</p><p><h3>See Also:</h3> <a 629 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetProtocolsList">AWS 630 * API Reference</a></p> 631 * 632 * returns a future to the operation so that it can be executed in parallel to other requests. 633 */ 634 virtual Model::GetProtocolsListOutcomeCallable GetProtocolsListCallable(const Model::GetProtocolsListRequest& request) const; 635 636 /** 637 * <p>Returns information about the specified Firewall Manager protocols 638 * list.</p><p><h3>See Also:</h3> <a 639 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetProtocolsList">AWS 640 * API Reference</a></p> 641 * 642 * Queues the request into a thread executor and triggers associated callback when operation has finished. 643 */ 644 virtual void GetProtocolsListAsync(const Model::GetProtocolsListRequest& request, const GetProtocolsListResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 645 646 /** 647 * <p>Retrieves violations for a resource based on the specified Firewall Manager 648 * policy and Amazon Web Services account.</p><p><h3>See Also:</h3> <a 649 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetViolationDetails">AWS 650 * API Reference</a></p> 651 */ 652 virtual Model::GetViolationDetailsOutcome GetViolationDetails(const Model::GetViolationDetailsRequest& request) const; 653 654 /** 655 * <p>Retrieves violations for a resource based on the specified Firewall Manager 656 * policy and Amazon Web Services account.</p><p><h3>See Also:</h3> <a 657 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetViolationDetails">AWS 658 * API Reference</a></p> 659 * 660 * returns a future to the operation so that it can be executed in parallel to other requests. 661 */ 662 virtual Model::GetViolationDetailsOutcomeCallable GetViolationDetailsCallable(const Model::GetViolationDetailsRequest& request) const; 663 664 /** 665 * <p>Retrieves violations for a resource based on the specified Firewall Manager 666 * policy and Amazon Web Services account.</p><p><h3>See Also:</h3> <a 667 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetViolationDetails">AWS 668 * API Reference</a></p> 669 * 670 * Queues the request into a thread executor and triggers associated callback when operation has finished. 671 */ 672 virtual void GetViolationDetailsAsync(const Model::GetViolationDetailsRequest& request, const GetViolationDetailsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 673 674 /** 675 * <p>Returns an array of <code>AppsListDataSummary</code> objects.</p><p><h3>See 676 * Also:</h3> <a 677 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ListAppsLists">AWS 678 * API Reference</a></p> 679 */ 680 virtual Model::ListAppsListsOutcome ListAppsLists(const Model::ListAppsListsRequest& request) const; 681 682 /** 683 * <p>Returns an array of <code>AppsListDataSummary</code> objects.</p><p><h3>See 684 * Also:</h3> <a 685 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ListAppsLists">AWS 686 * API Reference</a></p> 687 * 688 * returns a future to the operation so that it can be executed in parallel to other requests. 689 */ 690 virtual Model::ListAppsListsOutcomeCallable ListAppsListsCallable(const Model::ListAppsListsRequest& request) const; 691 692 /** 693 * <p>Returns an array of <code>AppsListDataSummary</code> objects.</p><p><h3>See 694 * Also:</h3> <a 695 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ListAppsLists">AWS 696 * API Reference</a></p> 697 * 698 * Queues the request into a thread executor and triggers associated callback when operation has finished. 699 */ 700 virtual void ListAppsListsAsync(const Model::ListAppsListsRequest& request, const ListAppsListsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 701 702 /** 703 * <p>Returns an array of <code>PolicyComplianceStatus</code> objects. Use 704 * <code>PolicyComplianceStatus</code> to get a summary of which member accounts 705 * are protected by the specified policy. </p><p><h3>See Also:</h3> <a 706 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ListComplianceStatus">AWS 707 * API Reference</a></p> 708 */ 709 virtual Model::ListComplianceStatusOutcome ListComplianceStatus(const Model::ListComplianceStatusRequest& request) const; 710 711 /** 712 * <p>Returns an array of <code>PolicyComplianceStatus</code> objects. Use 713 * <code>PolicyComplianceStatus</code> to get a summary of which member accounts 714 * are protected by the specified policy. </p><p><h3>See Also:</h3> <a 715 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ListComplianceStatus">AWS 716 * API Reference</a></p> 717 * 718 * returns a future to the operation so that it can be executed in parallel to other requests. 719 */ 720 virtual Model::ListComplianceStatusOutcomeCallable ListComplianceStatusCallable(const Model::ListComplianceStatusRequest& request) const; 721 722 /** 723 * <p>Returns an array of <code>PolicyComplianceStatus</code> objects. Use 724 * <code>PolicyComplianceStatus</code> to get a summary of which member accounts 725 * are protected by the specified policy. </p><p><h3>See Also:</h3> <a 726 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ListComplianceStatus">AWS 727 * API Reference</a></p> 728 * 729 * Queues the request into a thread executor and triggers associated callback when operation has finished. 730 */ 731 virtual void ListComplianceStatusAsync(const Model::ListComplianceStatusRequest& request, const ListComplianceStatusResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 732 733 /** 734 * <p>Returns a <code>MemberAccounts</code> object that lists the member accounts 735 * in the administrator's Amazon Web Services organization.</p> <p>The 736 * <code>ListMemberAccounts</code> must be submitted by the account that is set as 737 * the Firewall Manager administrator.</p><p><h3>See Also:</h3> <a 738 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ListMemberAccounts">AWS 739 * API Reference</a></p> 740 */ 741 virtual Model::ListMemberAccountsOutcome ListMemberAccounts(const Model::ListMemberAccountsRequest& request) const; 742 743 /** 744 * <p>Returns a <code>MemberAccounts</code> object that lists the member accounts 745 * in the administrator's Amazon Web Services organization.</p> <p>The 746 * <code>ListMemberAccounts</code> must be submitted by the account that is set as 747 * the Firewall Manager administrator.</p><p><h3>See Also:</h3> <a 748 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ListMemberAccounts">AWS 749 * API Reference</a></p> 750 * 751 * returns a future to the operation so that it can be executed in parallel to other requests. 752 */ 753 virtual Model::ListMemberAccountsOutcomeCallable ListMemberAccountsCallable(const Model::ListMemberAccountsRequest& request) const; 754 755 /** 756 * <p>Returns a <code>MemberAccounts</code> object that lists the member accounts 757 * in the administrator's Amazon Web Services organization.</p> <p>The 758 * <code>ListMemberAccounts</code> must be submitted by the account that is set as 759 * the Firewall Manager administrator.</p><p><h3>See Also:</h3> <a 760 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ListMemberAccounts">AWS 761 * API Reference</a></p> 762 * 763 * Queues the request into a thread executor and triggers associated callback when operation has finished. 764 */ 765 virtual void ListMemberAccountsAsync(const Model::ListMemberAccountsRequest& request, const ListMemberAccountsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 766 767 /** 768 * <p>Returns an array of <code>PolicySummary</code> objects.</p><p><h3>See 769 * Also:</h3> <a 770 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ListPolicies">AWS 771 * API Reference</a></p> 772 */ 773 virtual Model::ListPoliciesOutcome ListPolicies(const Model::ListPoliciesRequest& request) const; 774 775 /** 776 * <p>Returns an array of <code>PolicySummary</code> objects.</p><p><h3>See 777 * Also:</h3> <a 778 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ListPolicies">AWS 779 * API Reference</a></p> 780 * 781 * returns a future to the operation so that it can be executed in parallel to other requests. 782 */ 783 virtual Model::ListPoliciesOutcomeCallable ListPoliciesCallable(const Model::ListPoliciesRequest& request) const; 784 785 /** 786 * <p>Returns an array of <code>PolicySummary</code> objects.</p><p><h3>See 787 * Also:</h3> <a 788 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ListPolicies">AWS 789 * API Reference</a></p> 790 * 791 * Queues the request into a thread executor and triggers associated callback when operation has finished. 792 */ 793 virtual void ListPoliciesAsync(const Model::ListPoliciesRequest& request, const ListPoliciesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 794 795 /** 796 * <p>Returns an array of <code>ProtocolsListDataSummary</code> 797 * objects.</p><p><h3>See Also:</h3> <a 798 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ListProtocolsLists">AWS 799 * API Reference</a></p> 800 */ 801 virtual Model::ListProtocolsListsOutcome ListProtocolsLists(const Model::ListProtocolsListsRequest& request) const; 802 803 /** 804 * <p>Returns an array of <code>ProtocolsListDataSummary</code> 805 * objects.</p><p><h3>See Also:</h3> <a 806 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ListProtocolsLists">AWS 807 * API Reference</a></p> 808 * 809 * returns a future to the operation so that it can be executed in parallel to other requests. 810 */ 811 virtual Model::ListProtocolsListsOutcomeCallable ListProtocolsListsCallable(const Model::ListProtocolsListsRequest& request) const; 812 813 /** 814 * <p>Returns an array of <code>ProtocolsListDataSummary</code> 815 * objects.</p><p><h3>See Also:</h3> <a 816 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ListProtocolsLists">AWS 817 * API Reference</a></p> 818 * 819 * Queues the request into a thread executor and triggers associated callback when operation has finished. 820 */ 821 virtual void ListProtocolsListsAsync(const Model::ListProtocolsListsRequest& request, const ListProtocolsListsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 822 823 /** 824 * <p>Retrieves the list of tags for the specified Amazon Web Services resource. 825 * </p><p><h3>See Also:</h3> <a 826 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ListTagsForResource">AWS 827 * API Reference</a></p> 828 */ 829 virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest& request) const; 830 831 /** 832 * <p>Retrieves the list of tags for the specified Amazon Web Services resource. 833 * </p><p><h3>See Also:</h3> <a 834 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ListTagsForResource">AWS 835 * API Reference</a></p> 836 * 837 * returns a future to the operation so that it can be executed in parallel to other requests. 838 */ 839 virtual Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const Model::ListTagsForResourceRequest& request) const; 840 841 /** 842 * <p>Retrieves the list of tags for the specified Amazon Web Services resource. 843 * </p><p><h3>See Also:</h3> <a 844 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ListTagsForResource">AWS 845 * API Reference</a></p> 846 * 847 * Queues the request into a thread executor and triggers associated callback when operation has finished. 848 */ 849 virtual void ListTagsForResourceAsync(const Model::ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 850 851 /** 852 * <p>Creates an Firewall Manager applications list.</p><p><h3>See Also:</h3> <a 853 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/PutAppsList">AWS API 854 * Reference</a></p> 855 */ 856 virtual Model::PutAppsListOutcome PutAppsList(const Model::PutAppsListRequest& request) const; 857 858 /** 859 * <p>Creates an Firewall Manager applications list.</p><p><h3>See Also:</h3> <a 860 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/PutAppsList">AWS API 861 * Reference</a></p> 862 * 863 * returns a future to the operation so that it can be executed in parallel to other requests. 864 */ 865 virtual Model::PutAppsListOutcomeCallable PutAppsListCallable(const Model::PutAppsListRequest& request) const; 866 867 /** 868 * <p>Creates an Firewall Manager applications list.</p><p><h3>See Also:</h3> <a 869 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/PutAppsList">AWS API 870 * Reference</a></p> 871 * 872 * Queues the request into a thread executor and triggers associated callback when operation has finished. 873 */ 874 virtual void PutAppsListAsync(const Model::PutAppsListRequest& request, const PutAppsListResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 875 876 /** 877 * <p>Designates the IAM role and Amazon Simple Notification Service (SNS) topic 878 * that Firewall Manager uses to record SNS logs.</p> <p>To perform this action 879 * outside of the console, you must configure the SNS topic to allow the Firewall 880 * Manager role <code>AWSServiceRoleForFMS</code> to publish SNS logs. For more 881 * information, see <a 882 * href="https://docs.aws.amazon.com/waf/latest/developerguide/fms-api-permissions-ref.html">Firewall 883 * Manager required permissions for API actions</a> in the <i>Firewall Manager 884 * Developer Guide</i>.</p><p><h3>See Also:</h3> <a 885 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/PutNotificationChannel">AWS 886 * API Reference</a></p> 887 */ 888 virtual Model::PutNotificationChannelOutcome PutNotificationChannel(const Model::PutNotificationChannelRequest& request) const; 889 890 /** 891 * <p>Designates the IAM role and Amazon Simple Notification Service (SNS) topic 892 * that Firewall Manager uses to record SNS logs.</p> <p>To perform this action 893 * outside of the console, you must configure the SNS topic to allow the Firewall 894 * Manager role <code>AWSServiceRoleForFMS</code> to publish SNS logs. For more 895 * information, see <a 896 * href="https://docs.aws.amazon.com/waf/latest/developerguide/fms-api-permissions-ref.html">Firewall 897 * Manager required permissions for API actions</a> in the <i>Firewall Manager 898 * Developer Guide</i>.</p><p><h3>See Also:</h3> <a 899 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/PutNotificationChannel">AWS 900 * API Reference</a></p> 901 * 902 * returns a future to the operation so that it can be executed in parallel to other requests. 903 */ 904 virtual Model::PutNotificationChannelOutcomeCallable PutNotificationChannelCallable(const Model::PutNotificationChannelRequest& request) const; 905 906 /** 907 * <p>Designates the IAM role and Amazon Simple Notification Service (SNS) topic 908 * that Firewall Manager uses to record SNS logs.</p> <p>To perform this action 909 * outside of the console, you must configure the SNS topic to allow the Firewall 910 * Manager role <code>AWSServiceRoleForFMS</code> to publish SNS logs. For more 911 * information, see <a 912 * href="https://docs.aws.amazon.com/waf/latest/developerguide/fms-api-permissions-ref.html">Firewall 913 * Manager required permissions for API actions</a> in the <i>Firewall Manager 914 * Developer Guide</i>.</p><p><h3>See Also:</h3> <a 915 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/PutNotificationChannel">AWS 916 * API Reference</a></p> 917 * 918 * Queues the request into a thread executor and triggers associated callback when operation has finished. 919 */ 920 virtual void PutNotificationChannelAsync(const Model::PutNotificationChannelRequest& request, const PutNotificationChannelResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 921 922 /** 923 * <p>Creates an Firewall Manager policy.</p> <p>Firewall Manager provides the 924 * following types of policies: </p> <ul> <li> <p>An WAF policy (type WAFV2), which 925 * defines rule groups to run first in the corresponding WAF web ACL and rule 926 * groups to run last in the web ACL.</p> </li> <li> <p>An WAF Classic policy (type 927 * WAF), which defines a rule group. </p> </li> <li> <p>A Shield Advanced policy, 928 * which applies Shield Advanced protection to specified accounts and 929 * resources.</p> </li> <li> <p>A security group policy, which manages VPC security 930 * groups across your Amazon Web Services organization. </p> </li> <li> <p>An 931 * Network Firewall policy, which provides firewall rules to filter network traffic 932 * in specified Amazon VPCs.</p> </li> <li> <p>A DNS Firewall policy, which 933 * provides Route 53 Resolver DNS Firewall rules to filter DNS queries for 934 * specified VPCs.</p> </li> </ul> <p>Each policy is specific to one of the types. 935 * If you want to enforce more than one policy type across accounts, create 936 * multiple policies. You can create multiple policies for each type.</p> <p>You 937 * must be subscribed to Shield Advanced to create a Shield Advanced policy. For 938 * more information about subscribing to Shield Advanced, see <a 939 * href="https://docs.aws.amazon.com/waf/latest/DDOSAPIReference/API_CreateSubscription.html">CreateSubscription</a>.</p><p><h3>See 940 * Also:</h3> <a 941 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/PutPolicy">AWS API 942 * Reference</a></p> 943 */ 944 virtual Model::PutPolicyOutcome PutPolicy(const Model::PutPolicyRequest& request) const; 945 946 /** 947 * <p>Creates an Firewall Manager policy.</p> <p>Firewall Manager provides the 948 * following types of policies: </p> <ul> <li> <p>An WAF policy (type WAFV2), which 949 * defines rule groups to run first in the corresponding WAF web ACL and rule 950 * groups to run last in the web ACL.</p> </li> <li> <p>An WAF Classic policy (type 951 * WAF), which defines a rule group. </p> </li> <li> <p>A Shield Advanced policy, 952 * which applies Shield Advanced protection to specified accounts and 953 * resources.</p> </li> <li> <p>A security group policy, which manages VPC security 954 * groups across your Amazon Web Services organization. </p> </li> <li> <p>An 955 * Network Firewall policy, which provides firewall rules to filter network traffic 956 * in specified Amazon VPCs.</p> </li> <li> <p>A DNS Firewall policy, which 957 * provides Route 53 Resolver DNS Firewall rules to filter DNS queries for 958 * specified VPCs.</p> </li> </ul> <p>Each policy is specific to one of the types. 959 * If you want to enforce more than one policy type across accounts, create 960 * multiple policies. You can create multiple policies for each type.</p> <p>You 961 * must be subscribed to Shield Advanced to create a Shield Advanced policy. For 962 * more information about subscribing to Shield Advanced, see <a 963 * href="https://docs.aws.amazon.com/waf/latest/DDOSAPIReference/API_CreateSubscription.html">CreateSubscription</a>.</p><p><h3>See 964 * Also:</h3> <a 965 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/PutPolicy">AWS API 966 * Reference</a></p> 967 * 968 * returns a future to the operation so that it can be executed in parallel to other requests. 969 */ 970 virtual Model::PutPolicyOutcomeCallable PutPolicyCallable(const Model::PutPolicyRequest& request) const; 971 972 /** 973 * <p>Creates an Firewall Manager policy.</p> <p>Firewall Manager provides the 974 * following types of policies: </p> <ul> <li> <p>An WAF policy (type WAFV2), which 975 * defines rule groups to run first in the corresponding WAF web ACL and rule 976 * groups to run last in the web ACL.</p> </li> <li> <p>An WAF Classic policy (type 977 * WAF), which defines a rule group. </p> </li> <li> <p>A Shield Advanced policy, 978 * which applies Shield Advanced protection to specified accounts and 979 * resources.</p> </li> <li> <p>A security group policy, which manages VPC security 980 * groups across your Amazon Web Services organization. </p> </li> <li> <p>An 981 * Network Firewall policy, which provides firewall rules to filter network traffic 982 * in specified Amazon VPCs.</p> </li> <li> <p>A DNS Firewall policy, which 983 * provides Route 53 Resolver DNS Firewall rules to filter DNS queries for 984 * specified VPCs.</p> </li> </ul> <p>Each policy is specific to one of the types. 985 * If you want to enforce more than one policy type across accounts, create 986 * multiple policies. You can create multiple policies for each type.</p> <p>You 987 * must be subscribed to Shield Advanced to create a Shield Advanced policy. For 988 * more information about subscribing to Shield Advanced, see <a 989 * href="https://docs.aws.amazon.com/waf/latest/DDOSAPIReference/API_CreateSubscription.html">CreateSubscription</a>.</p><p><h3>See 990 * Also:</h3> <a 991 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/PutPolicy">AWS API 992 * Reference</a></p> 993 * 994 * Queues the request into a thread executor and triggers associated callback when operation has finished. 995 */ 996 virtual void PutPolicyAsync(const Model::PutPolicyRequest& request, const PutPolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 997 998 /** 999 * <p>Creates an Firewall Manager protocols list.</p><p><h3>See Also:</h3> <a 1000 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/PutProtocolsList">AWS 1001 * API Reference</a></p> 1002 */ 1003 virtual Model::PutProtocolsListOutcome PutProtocolsList(const Model::PutProtocolsListRequest& request) const; 1004 1005 /** 1006 * <p>Creates an Firewall Manager protocols list.</p><p><h3>See Also:</h3> <a 1007 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/PutProtocolsList">AWS 1008 * API Reference</a></p> 1009 * 1010 * returns a future to the operation so that it can be executed in parallel to other requests. 1011 */ 1012 virtual Model::PutProtocolsListOutcomeCallable PutProtocolsListCallable(const Model::PutProtocolsListRequest& request) const; 1013 1014 /** 1015 * <p>Creates an Firewall Manager protocols list.</p><p><h3>See Also:</h3> <a 1016 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/PutProtocolsList">AWS 1017 * API Reference</a></p> 1018 * 1019 * Queues the request into a thread executor and triggers associated callback when operation has finished. 1020 */ 1021 virtual void PutProtocolsListAsync(const Model::PutProtocolsListRequest& request, const PutProtocolsListResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 1022 1023 /** 1024 * <p>Adds one or more tags to an Amazon Web Services resource.</p><p><h3>See 1025 * Also:</h3> <a 1026 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/TagResource">AWS API 1027 * Reference</a></p> 1028 */ 1029 virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest& request) const; 1030 1031 /** 1032 * <p>Adds one or more tags to an Amazon Web Services resource.</p><p><h3>See 1033 * Also:</h3> <a 1034 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/TagResource">AWS API 1035 * Reference</a></p> 1036 * 1037 * returns a future to the operation so that it can be executed in parallel to other requests. 1038 */ 1039 virtual Model::TagResourceOutcomeCallable TagResourceCallable(const Model::TagResourceRequest& request) const; 1040 1041 /** 1042 * <p>Adds one or more tags to an Amazon Web Services resource.</p><p><h3>See 1043 * Also:</h3> <a 1044 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/TagResource">AWS API 1045 * Reference</a></p> 1046 * 1047 * Queues the request into a thread executor and triggers associated callback when operation has finished. 1048 */ 1049 virtual void TagResourceAsync(const Model::TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 1050 1051 /** 1052 * <p>Removes one or more tags from an Amazon Web Services resource.</p><p><h3>See 1053 * Also:</h3> <a 1054 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/UntagResource">AWS 1055 * API Reference</a></p> 1056 */ 1057 virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest& request) const; 1058 1059 /** 1060 * <p>Removes one or more tags from an Amazon Web Services resource.</p><p><h3>See 1061 * Also:</h3> <a 1062 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/UntagResource">AWS 1063 * API Reference</a></p> 1064 * 1065 * returns a future to the operation so that it can be executed in parallel to other requests. 1066 */ 1067 virtual Model::UntagResourceOutcomeCallable UntagResourceCallable(const Model::UntagResourceRequest& request) const; 1068 1069 /** 1070 * <p>Removes one or more tags from an Amazon Web Services resource.</p><p><h3>See 1071 * Also:</h3> <a 1072 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/UntagResource">AWS 1073 * API Reference</a></p> 1074 * 1075 * Queues the request into a thread executor and triggers associated callback when operation has finished. 1076 */ 1077 virtual void UntagResourceAsync(const Model::UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 1078 1079 1080 void OverrideEndpoint(const Aws::String& endpoint); 1081 private: 1082 void init(const Aws::Client::ClientConfiguration& clientConfiguration); 1083 void AssociateAdminAccountAsyncHelper(const Model::AssociateAdminAccountRequest& request, const AssociateAdminAccountResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1084 void DeleteAppsListAsyncHelper(const Model::DeleteAppsListRequest& request, const DeleteAppsListResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1085 void DeleteNotificationChannelAsyncHelper(const Model::DeleteNotificationChannelRequest& request, const DeleteNotificationChannelResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1086 void DeletePolicyAsyncHelper(const Model::DeletePolicyRequest& request, const DeletePolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1087 void DeleteProtocolsListAsyncHelper(const Model::DeleteProtocolsListRequest& request, const DeleteProtocolsListResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1088 void DisassociateAdminAccountAsyncHelper(const Model::DisassociateAdminAccountRequest& request, const DisassociateAdminAccountResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1089 void GetAdminAccountAsyncHelper(const Model::GetAdminAccountRequest& request, const GetAdminAccountResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1090 void GetAppsListAsyncHelper(const Model::GetAppsListRequest& request, const GetAppsListResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1091 void GetComplianceDetailAsyncHelper(const Model::GetComplianceDetailRequest& request, const GetComplianceDetailResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1092 void GetNotificationChannelAsyncHelper(const Model::GetNotificationChannelRequest& request, const GetNotificationChannelResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1093 void GetPolicyAsyncHelper(const Model::GetPolicyRequest& request, const GetPolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1094 void GetProtectionStatusAsyncHelper(const Model::GetProtectionStatusRequest& request, const GetProtectionStatusResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1095 void GetProtocolsListAsyncHelper(const Model::GetProtocolsListRequest& request, const GetProtocolsListResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1096 void GetViolationDetailsAsyncHelper(const Model::GetViolationDetailsRequest& request, const GetViolationDetailsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1097 void ListAppsListsAsyncHelper(const Model::ListAppsListsRequest& request, const ListAppsListsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1098 void ListComplianceStatusAsyncHelper(const Model::ListComplianceStatusRequest& request, const ListComplianceStatusResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1099 void ListMemberAccountsAsyncHelper(const Model::ListMemberAccountsRequest& request, const ListMemberAccountsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1100 void ListPoliciesAsyncHelper(const Model::ListPoliciesRequest& request, const ListPoliciesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1101 void ListProtocolsListsAsyncHelper(const Model::ListProtocolsListsRequest& request, const ListProtocolsListsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1102 void ListTagsForResourceAsyncHelper(const Model::ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1103 void PutAppsListAsyncHelper(const Model::PutAppsListRequest& request, const PutAppsListResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1104 void PutNotificationChannelAsyncHelper(const Model::PutNotificationChannelRequest& request, const PutNotificationChannelResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1105 void PutPolicyAsyncHelper(const Model::PutPolicyRequest& request, const PutPolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1106 void PutProtocolsListAsyncHelper(const Model::PutProtocolsListRequest& request, const PutProtocolsListResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1107 void TagResourceAsyncHelper(const Model::TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1108 void UntagResourceAsyncHelper(const Model::UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1109 1110 Aws::String m_uri; 1111 Aws::String m_configScheme; 1112 std::shared_ptr<Aws::Utils::Threading::Executor> m_executor; 1113 }; 1114 1115 } // namespace FMS 1116 } // namespace Aws 1117