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

A user access logging settings resource that can be associated with a web * portal.

See Also:

AWS * API Reference

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

A list of web portal ARNs that this user access logging settings is * associated with.

*/ inline const Aws::Vector& GetAssociatedPortalArns() const{ return m_associatedPortalArns; } /** *

A list of web portal ARNs that this user access logging settings is * associated with.

*/ inline bool AssociatedPortalArnsHasBeenSet() const { return m_associatedPortalArnsHasBeenSet; } /** *

A list of web portal ARNs that this user access logging settings is * associated with.

*/ inline void SetAssociatedPortalArns(const Aws::Vector& value) { m_associatedPortalArnsHasBeenSet = true; m_associatedPortalArns = value; } /** *

A list of web portal ARNs that this user access logging settings is * associated with.

*/ inline void SetAssociatedPortalArns(Aws::Vector&& value) { m_associatedPortalArnsHasBeenSet = true; m_associatedPortalArns = std::move(value); } /** *

A list of web portal ARNs that this user access logging settings is * associated with.

*/ inline UserAccessLoggingSettings& WithAssociatedPortalArns(const Aws::Vector& value) { SetAssociatedPortalArns(value); return *this;} /** *

A list of web portal ARNs that this user access logging settings is * associated with.

*/ inline UserAccessLoggingSettings& WithAssociatedPortalArns(Aws::Vector&& value) { SetAssociatedPortalArns(std::move(value)); return *this;} /** *

A list of web portal ARNs that this user access logging settings is * associated with.

*/ inline UserAccessLoggingSettings& AddAssociatedPortalArns(const Aws::String& value) { m_associatedPortalArnsHasBeenSet = true; m_associatedPortalArns.push_back(value); return *this; } /** *

A list of web portal ARNs that this user access logging settings is * associated with.

*/ inline UserAccessLoggingSettings& AddAssociatedPortalArns(Aws::String&& value) { m_associatedPortalArnsHasBeenSet = true; m_associatedPortalArns.push_back(std::move(value)); return *this; } /** *

A list of web portal ARNs that this user access logging settings is * associated with.

*/ inline UserAccessLoggingSettings& AddAssociatedPortalArns(const char* value) { m_associatedPortalArnsHasBeenSet = true; m_associatedPortalArns.push_back(value); return *this; } /** *

The ARN of the Kinesis stream.

*/ inline const Aws::String& GetKinesisStreamArn() const{ return m_kinesisStreamArn; } /** *

The ARN of the Kinesis stream.

*/ inline bool KinesisStreamArnHasBeenSet() const { return m_kinesisStreamArnHasBeenSet; } /** *

The ARN of the Kinesis stream.

*/ inline void SetKinesisStreamArn(const Aws::String& value) { m_kinesisStreamArnHasBeenSet = true; m_kinesisStreamArn = value; } /** *

The ARN of the Kinesis stream.

*/ inline void SetKinesisStreamArn(Aws::String&& value) { m_kinesisStreamArnHasBeenSet = true; m_kinesisStreamArn = std::move(value); } /** *

The ARN of the Kinesis stream.

*/ inline void SetKinesisStreamArn(const char* value) { m_kinesisStreamArnHasBeenSet = true; m_kinesisStreamArn.assign(value); } /** *

The ARN of the Kinesis stream.

*/ inline UserAccessLoggingSettings& WithKinesisStreamArn(const Aws::String& value) { SetKinesisStreamArn(value); return *this;} /** *

The ARN of the Kinesis stream.

*/ inline UserAccessLoggingSettings& WithKinesisStreamArn(Aws::String&& value) { SetKinesisStreamArn(std::move(value)); return *this;} /** *

The ARN of the Kinesis stream.

*/ inline UserAccessLoggingSettings& WithKinesisStreamArn(const char* value) { SetKinesisStreamArn(value); return *this;} /** *

The ARN of the user access logging settings.

*/ inline const Aws::String& GetUserAccessLoggingSettingsArn() const{ return m_userAccessLoggingSettingsArn; } /** *

The ARN of the user access logging settings.

*/ inline bool UserAccessLoggingSettingsArnHasBeenSet() const { return m_userAccessLoggingSettingsArnHasBeenSet; } /** *

The ARN of the user access logging settings.

*/ inline void SetUserAccessLoggingSettingsArn(const Aws::String& value) { m_userAccessLoggingSettingsArnHasBeenSet = true; m_userAccessLoggingSettingsArn = value; } /** *

The ARN of the user access logging settings.

*/ inline void SetUserAccessLoggingSettingsArn(Aws::String&& value) { m_userAccessLoggingSettingsArnHasBeenSet = true; m_userAccessLoggingSettingsArn = std::move(value); } /** *

The ARN of the user access logging settings.

*/ inline void SetUserAccessLoggingSettingsArn(const char* value) { m_userAccessLoggingSettingsArnHasBeenSet = true; m_userAccessLoggingSettingsArn.assign(value); } /** *

The ARN of the user access logging settings.

*/ inline UserAccessLoggingSettings& WithUserAccessLoggingSettingsArn(const Aws::String& value) { SetUserAccessLoggingSettingsArn(value); return *this;} /** *

The ARN of the user access logging settings.

*/ inline UserAccessLoggingSettings& WithUserAccessLoggingSettingsArn(Aws::String&& value) { SetUserAccessLoggingSettingsArn(std::move(value)); return *this;} /** *

The ARN of the user access logging settings.

*/ inline UserAccessLoggingSettings& WithUserAccessLoggingSettingsArn(const char* value) { SetUserAccessLoggingSettingsArn(value); return *this;} private: Aws::Vector m_associatedPortalArns; bool m_associatedPortalArnsHasBeenSet = false; Aws::String m_kinesisStreamArn; bool m_kinesisStreamArnHasBeenSet = false; Aws::String m_userAccessLoggingSettingsArn; bool m_userAccessLoggingSettingsArnHasBeenSet = false; }; } // namespace Model } // namespace WorkSpacesWeb } // namespace Aws