/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #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 operation.

See Also:

AWS * API Reference

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

The AWS API name.

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

The AWS API name.

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

The AWS API name.

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

The AWS API name.

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

The AWS API name.

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

The AWS API name.

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

The AWS API name.

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

The AWS API name.

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

The AWS API caller type.

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

The AWS API caller type.

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

The AWS API caller type.

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

The AWS API caller type.

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

The AWS API caller type.

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

The AWS API caller type.

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

The AWS API caller type.

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

The AWS API caller type.

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

The domain information for the AWS API call.

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

The domain information for the AWS API call.

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

The domain information for the AWS API call.

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

The domain information for the AWS API call.

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

The domain information for the AWS API call.

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

The domain information for the AWS API call.

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

The remote IP information of the connection.

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

The remote IP information of the connection.

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

The remote IP information of the connection.

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

The remote IP information of the connection.

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

The remote IP information of the connection.

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

The remote IP information of the connection.

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

The AWS service name whose API was invoked.

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

The AWS service name whose API was invoked.

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

The AWS service name whose API was invoked.

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

The AWS service name whose API was invoked.

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

The AWS service name whose API was invoked.

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

The AWS service name whose API was invoked.

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

The AWS service name whose API was invoked.

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

The AWS service name whose API was invoked.

*/ inline AwsApiCallAction& WithServiceName(const char* value) { SetServiceName(value); return *this;} private: Aws::String m_api; bool m_apiHasBeenSet; Aws::String m_callerType; bool m_callerTypeHasBeenSet; DomainDetails m_domainDetails; bool m_domainDetailsHasBeenSet; RemoteIpDetails m_remoteIpDetails; bool m_remoteIpDetailsHasBeenSet; Aws::String m_serviceName; bool m_serviceNameHasBeenSet; }; } // namespace Model } // namespace GuardDuty } // namespace Aws