/** * 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 Inspector2 { namespace Model { /** *

Contains information on the permissions an account has within Amazon * Inspector.

See Also:

AWS * API Reference

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

The operations that can be performed with the given permissions.

*/ inline const Operation& GetOperation() const{ return m_operation; } /** *

The operations that can be performed with the given permissions.

*/ inline bool OperationHasBeenSet() const { return m_operationHasBeenSet; } /** *

The operations that can be performed with the given permissions.

*/ inline void SetOperation(const Operation& value) { m_operationHasBeenSet = true; m_operation = value; } /** *

The operations that can be performed with the given permissions.

*/ inline void SetOperation(Operation&& value) { m_operationHasBeenSet = true; m_operation = std::move(value); } /** *

The operations that can be performed with the given permissions.

*/ inline Permission& WithOperation(const Operation& value) { SetOperation(value); return *this;} /** *

The operations that can be performed with the given permissions.

*/ inline Permission& WithOperation(Operation&& value) { SetOperation(std::move(value)); return *this;} /** *

The services that the permissions allow an account to perform the given * operations for.

*/ inline const Service& GetService() const{ return m_service; } /** *

The services that the permissions allow an account to perform the given * operations for.

*/ inline bool ServiceHasBeenSet() const { return m_serviceHasBeenSet; } /** *

The services that the permissions allow an account to perform the given * operations for.

*/ inline void SetService(const Service& value) { m_serviceHasBeenSet = true; m_service = value; } /** *

The services that the permissions allow an account to perform the given * operations for.

*/ inline void SetService(Service&& value) { m_serviceHasBeenSet = true; m_service = std::move(value); } /** *

The services that the permissions allow an account to perform the given * operations for.

*/ inline Permission& WithService(const Service& value) { SetService(value); return *this;} /** *

The services that the permissions allow an account to perform the given * operations for.

*/ inline Permission& WithService(Service&& value) { SetService(std::move(value)); return *this;} private: Operation m_operation; bool m_operationHasBeenSet = false; Service m_service; bool m_serviceHasBeenSet = false; }; } // namespace Model } // namespace Inspector2 } // namespace Aws