/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace GuardDuty { namespace Model { /** *

Contains information about the API action.

See Also:

AWS * API Reference

*/ class AwsApiCallAction { public: AWS_GUARDDUTY_API AwsApiCallAction(); AWS_GUARDDUTY_API AwsApiCallAction(Aws::Utils::Json::JsonView jsonValue); AWS_GUARDDUTY_API AwsApiCallAction& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_GUARDDUTY_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The Amazon Web Services API name.

*/ inline const Aws::String& GetApi() const{ return m_api; } /** *

The Amazon Web Services API name.

*/ inline bool ApiHasBeenSet() const { return m_apiHasBeenSet; } /** *

The Amazon Web Services API name.

*/ inline void SetApi(const Aws::String& value) { m_apiHasBeenSet = true; m_api = value; } /** *

The Amazon Web Services API name.

*/ inline void SetApi(Aws::String&& value) { m_apiHasBeenSet = true; m_api = std::move(value); } /** *

The Amazon Web Services API name.

*/ inline void SetApi(const char* value) { m_apiHasBeenSet = true; m_api.assign(value); } /** *

The Amazon Web Services API name.

*/ inline AwsApiCallAction& WithApi(const Aws::String& value) { SetApi(value); return *this;} /** *

The Amazon Web Services API name.

*/ inline AwsApiCallAction& WithApi(Aws::String&& value) { SetApi(std::move(value)); return *this;} /** *

The Amazon Web Services API name.

*/ inline AwsApiCallAction& WithApi(const char* value) { SetApi(value); return *this;} /** *

The Amazon Web Services API caller type.

*/ inline const Aws::String& GetCallerType() const{ return m_callerType; } /** *

The Amazon Web Services API caller type.

*/ inline bool CallerTypeHasBeenSet() const { return m_callerTypeHasBeenSet; } /** *

The Amazon Web Services API caller type.

*/ inline void SetCallerType(const Aws::String& value) { m_callerTypeHasBeenSet = true; m_callerType = value; } /** *

The Amazon Web Services API caller type.

*/ inline void SetCallerType(Aws::String&& value) { m_callerTypeHasBeenSet = true; m_callerType = std::move(value); } /** *

The Amazon Web Services API caller type.

*/ inline void SetCallerType(const char* value) { m_callerTypeHasBeenSet = true; m_callerType.assign(value); } /** *

The Amazon Web Services API caller type.

*/ inline AwsApiCallAction& WithCallerType(const Aws::String& value) { SetCallerType(value); return *this;} /** *

The Amazon Web Services API caller type.

*/ inline AwsApiCallAction& WithCallerType(Aws::String&& value) { SetCallerType(std::move(value)); return *this;} /** *

The Amazon Web Services API caller type.

*/ inline AwsApiCallAction& WithCallerType(const char* value) { SetCallerType(value); return *this;} /** *

The domain information for the Amazon Web Services API call.

*/ inline const DomainDetails& GetDomainDetails() const{ return m_domainDetails; } /** *

The domain information for the Amazon Web Services API call.

*/ inline bool DomainDetailsHasBeenSet() const { return m_domainDetailsHasBeenSet; } /** *

The domain information for the Amazon Web Services API call.

*/ inline void SetDomainDetails(const DomainDetails& value) { m_domainDetailsHasBeenSet = true; m_domainDetails = value; } /** *

The domain information for the Amazon Web Services API call.

*/ inline void SetDomainDetails(DomainDetails&& value) { m_domainDetailsHasBeenSet = true; m_domainDetails = std::move(value); } /** *

The domain information for the Amazon Web Services API call.

*/ inline AwsApiCallAction& WithDomainDetails(const DomainDetails& value) { SetDomainDetails(value); return *this;} /** *

The domain information for the Amazon Web Services API call.

*/ inline AwsApiCallAction& WithDomainDetails(DomainDetails&& value) { SetDomainDetails(std::move(value)); return *this;} /** *

The error code of the failed Amazon Web Services API action.

*/ inline const Aws::String& GetErrorCode() const{ return m_errorCode; } /** *

The error code of the failed Amazon Web Services API action.

*/ inline bool ErrorCodeHasBeenSet() const { return m_errorCodeHasBeenSet; } /** *

The error code of the failed Amazon Web Services API action.

*/ inline void SetErrorCode(const Aws::String& value) { m_errorCodeHasBeenSet = true; m_errorCode = value; } /** *

The error code of the failed Amazon Web Services API action.

*/ inline void SetErrorCode(Aws::String&& value) { m_errorCodeHasBeenSet = true; m_errorCode = std::move(value); } /** *

The error code of the failed Amazon Web Services API action.

*/ inline void SetErrorCode(const char* value) { m_errorCodeHasBeenSet = true; m_errorCode.assign(value); } /** *

The error code of the failed Amazon Web Services API action.

*/ inline AwsApiCallAction& WithErrorCode(const Aws::String& value) { SetErrorCode(value); return *this;} /** *

The error code of the failed Amazon Web Services API action.

*/ inline AwsApiCallAction& WithErrorCode(Aws::String&& value) { SetErrorCode(std::move(value)); return *this;} /** *

The error code of the failed Amazon Web Services API action.

*/ inline AwsApiCallAction& WithErrorCode(const char* value) { SetErrorCode(value); return *this;} /** *

The agent through which the API request was made.

*/ inline const Aws::String& GetUserAgent() const{ return m_userAgent; } /** *

The agent through which the API request was made.

*/ inline bool UserAgentHasBeenSet() const { return m_userAgentHasBeenSet; } /** *

The agent through which the API request was made.

*/ inline void SetUserAgent(const Aws::String& value) { m_userAgentHasBeenSet = true; m_userAgent = value; } /** *

The agent through which the API request was made.

*/ inline void SetUserAgent(Aws::String&& value) { m_userAgentHasBeenSet = true; m_userAgent = std::move(value); } /** *

The agent through which the API request was made.

*/ inline void SetUserAgent(const char* value) { m_userAgentHasBeenSet = true; m_userAgent.assign(value); } /** *

The agent through which the API request was made.

*/ inline AwsApiCallAction& WithUserAgent(const Aws::String& value) { SetUserAgent(value); return *this;} /** *

The agent through which the API request was made.

*/ inline AwsApiCallAction& WithUserAgent(Aws::String&& value) { SetUserAgent(std::move(value)); return *this;} /** *

The agent through which the API request was made.

*/ inline AwsApiCallAction& WithUserAgent(const char* value) { SetUserAgent(value); return *this;} /** *

The remote IP information of the connection that initiated the Amazon Web * Services API call.

*/ inline const RemoteIpDetails& GetRemoteIpDetails() const{ return m_remoteIpDetails; } /** *

The remote IP information of the connection that initiated the Amazon Web * Services API call.

*/ inline bool RemoteIpDetailsHasBeenSet() const { return m_remoteIpDetailsHasBeenSet; } /** *

The remote IP information of the connection that initiated the Amazon Web * Services API call.

*/ inline void SetRemoteIpDetails(const RemoteIpDetails& value) { m_remoteIpDetailsHasBeenSet = true; m_remoteIpDetails = value; } /** *

The remote IP information of the connection that initiated the Amazon Web * Services API call.

*/ inline void SetRemoteIpDetails(RemoteIpDetails&& value) { m_remoteIpDetailsHasBeenSet = true; m_remoteIpDetails = std::move(value); } /** *

The remote IP information of the connection that initiated the Amazon Web * Services API call.

*/ inline AwsApiCallAction& WithRemoteIpDetails(const RemoteIpDetails& value) { SetRemoteIpDetails(value); return *this;} /** *

The remote IP information of the connection that initiated the Amazon Web * Services API call.

*/ inline AwsApiCallAction& WithRemoteIpDetails(RemoteIpDetails&& value) { SetRemoteIpDetails(std::move(value)); return *this;} /** *

The Amazon Web Services service name whose API was invoked.

*/ inline const Aws::String& GetServiceName() const{ return m_serviceName; } /** *

The Amazon Web Services service name whose API was invoked.

*/ inline bool ServiceNameHasBeenSet() const { return m_serviceNameHasBeenSet; } /** *

The Amazon Web Services service name whose API was invoked.

*/ inline void SetServiceName(const Aws::String& value) { m_serviceNameHasBeenSet = true; m_serviceName = value; } /** *

The Amazon Web Services service name whose API was invoked.

*/ inline void SetServiceName(Aws::String&& value) { m_serviceNameHasBeenSet = true; m_serviceName = std::move(value); } /** *

The Amazon Web Services service name whose API was invoked.

*/ inline void SetServiceName(const char* value) { m_serviceNameHasBeenSet = true; m_serviceName.assign(value); } /** *

The Amazon Web Services service name whose API was invoked.

*/ inline AwsApiCallAction& WithServiceName(const Aws::String& value) { SetServiceName(value); return *this;} /** *

The Amazon Web Services service name whose API was invoked.

*/ inline AwsApiCallAction& WithServiceName(Aws::String&& value) { SetServiceName(std::move(value)); return *this;} /** *

The Amazon Web Services service name whose API was invoked.

*/ inline AwsApiCallAction& WithServiceName(const char* value) { SetServiceName(value); return *this;} /** *

The details of the Amazon Web Services account that made the API call. This * field appears if the call was made from outside your account.

*/ inline const RemoteAccountDetails& GetRemoteAccountDetails() const{ return m_remoteAccountDetails; } /** *

The details of the Amazon Web Services account that made the API call. This * field appears if the call was made from outside your account.

*/ inline bool RemoteAccountDetailsHasBeenSet() const { return m_remoteAccountDetailsHasBeenSet; } /** *

The details of the Amazon Web Services account that made the API call. This * field appears if the call was made from outside your account.

*/ inline void SetRemoteAccountDetails(const RemoteAccountDetails& value) { m_remoteAccountDetailsHasBeenSet = true; m_remoteAccountDetails = value; } /** *

The details of the Amazon Web Services account that made the API call. This * field appears if the call was made from outside your account.

*/ inline void SetRemoteAccountDetails(RemoteAccountDetails&& value) { m_remoteAccountDetailsHasBeenSet = true; m_remoteAccountDetails = std::move(value); } /** *

The details of the Amazon Web Services account that made the API call. This * field appears if the call was made from outside your account.

*/ inline AwsApiCallAction& WithRemoteAccountDetails(const RemoteAccountDetails& value) { SetRemoteAccountDetails(value); return *this;} /** *

The details of the Amazon Web Services account that made the API call. This * field appears if the call was made from outside your account.

*/ inline AwsApiCallAction& WithRemoteAccountDetails(RemoteAccountDetails&& value) { SetRemoteAccountDetails(std::move(value)); return *this;} /** *

The details of the Amazon Web Services account that made the API call. This * field identifies the resources that were affected by this API call.

*/ inline const Aws::Map& GetAffectedResources() const{ return m_affectedResources; } /** *

The details of the Amazon Web Services account that made the API call. This * field identifies the resources that were affected by this API call.

*/ inline bool AffectedResourcesHasBeenSet() const { return m_affectedResourcesHasBeenSet; } /** *

The details of the Amazon Web Services account that made the API call. This * field identifies the resources that were affected by this API call.

*/ inline void SetAffectedResources(const Aws::Map& value) { m_affectedResourcesHasBeenSet = true; m_affectedResources = value; } /** *

The details of the Amazon Web Services account that made the API call. This * field identifies the resources that were affected by this API call.

*/ inline void SetAffectedResources(Aws::Map&& value) { m_affectedResourcesHasBeenSet = true; m_affectedResources = std::move(value); } /** *

The details of the Amazon Web Services account that made the API call. This * field identifies the resources that were affected by this API call.

*/ inline AwsApiCallAction& WithAffectedResources(const Aws::Map& value) { SetAffectedResources(value); return *this;} /** *

The details of the Amazon Web Services account that made the API call. This * field identifies the resources that were affected by this API call.

*/ inline AwsApiCallAction& WithAffectedResources(Aws::Map&& value) { SetAffectedResources(std::move(value)); return *this;} /** *

The details of the Amazon Web Services account that made the API call. This * field identifies the resources that were affected by this API call.

*/ inline AwsApiCallAction& AddAffectedResources(const Aws::String& key, const Aws::String& value) { m_affectedResourcesHasBeenSet = true; m_affectedResources.emplace(key, value); return *this; } /** *

The details of the Amazon Web Services account that made the API call. This * field identifies the resources that were affected by this API call.

*/ inline AwsApiCallAction& AddAffectedResources(Aws::String&& key, const Aws::String& value) { m_affectedResourcesHasBeenSet = true; m_affectedResources.emplace(std::move(key), value); return *this; } /** *

The details of the Amazon Web Services account that made the API call. This * field identifies the resources that were affected by this API call.

*/ inline AwsApiCallAction& AddAffectedResources(const Aws::String& key, Aws::String&& value) { m_affectedResourcesHasBeenSet = true; m_affectedResources.emplace(key, std::move(value)); return *this; } /** *

The details of the Amazon Web Services account that made the API call. This * field identifies the resources that were affected by this API call.

*/ inline AwsApiCallAction& AddAffectedResources(Aws::String&& key, Aws::String&& value) { m_affectedResourcesHasBeenSet = true; m_affectedResources.emplace(std::move(key), std::move(value)); return *this; } /** *

The details of the Amazon Web Services account that made the API call. This * field identifies the resources that were affected by this API call.

*/ inline AwsApiCallAction& AddAffectedResources(const char* key, Aws::String&& value) { m_affectedResourcesHasBeenSet = true; m_affectedResources.emplace(key, std::move(value)); return *this; } /** *

The details of the Amazon Web Services account that made the API call. This * field identifies the resources that were affected by this API call.

*/ inline AwsApiCallAction& AddAffectedResources(Aws::String&& key, const char* value) { m_affectedResourcesHasBeenSet = true; m_affectedResources.emplace(std::move(key), value); return *this; } /** *

The details of the Amazon Web Services account that made the API call. This * field identifies the resources that were affected by this API call.

*/ inline AwsApiCallAction& AddAffectedResources(const char* key, const char* value) { m_affectedResourcesHasBeenSet = true; m_affectedResources.emplace(key, value); return *this; } private: Aws::String m_api; bool m_apiHasBeenSet = false; Aws::String m_callerType; bool m_callerTypeHasBeenSet = false; DomainDetails m_domainDetails; bool m_domainDetailsHasBeenSet = false; Aws::String m_errorCode; bool m_errorCodeHasBeenSet = false; Aws::String m_userAgent; bool m_userAgentHasBeenSet = false; RemoteIpDetails m_remoteIpDetails; bool m_remoteIpDetailsHasBeenSet = false; Aws::String m_serviceName; bool m_serviceNameHasBeenSet = false; RemoteAccountDetails m_remoteAccountDetails; bool m_remoteAccountDetailsHasBeenSet = false; Aws::Map m_affectedResources; bool m_affectedResourcesHasBeenSet = false; }; } // namespace Model } // namespace GuardDuty } // namespace Aws