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

The wrapper that contains the Amazon Web Services accounts and services that * are in scope for the assessment.

See Also:

AWS * API Reference

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

The Amazon Web Services accounts that are included in the scope of the * assessment.

*/ inline const Aws::Vector& GetAwsAccounts() const{ return m_awsAccounts; } /** *

The Amazon Web Services accounts that are included in the scope of the * assessment.

*/ inline bool AwsAccountsHasBeenSet() const { return m_awsAccountsHasBeenSet; } /** *

The Amazon Web Services accounts that are included in the scope of the * assessment.

*/ inline void SetAwsAccounts(const Aws::Vector& value) { m_awsAccountsHasBeenSet = true; m_awsAccounts = value; } /** *

The Amazon Web Services accounts that are included in the scope of the * assessment.

*/ inline void SetAwsAccounts(Aws::Vector&& value) { m_awsAccountsHasBeenSet = true; m_awsAccounts = std::move(value); } /** *

The Amazon Web Services accounts that are included in the scope of the * assessment.

*/ inline Scope& WithAwsAccounts(const Aws::Vector& value) { SetAwsAccounts(value); return *this;} /** *

The Amazon Web Services accounts that are included in the scope of the * assessment.

*/ inline Scope& WithAwsAccounts(Aws::Vector&& value) { SetAwsAccounts(std::move(value)); return *this;} /** *

The Amazon Web Services accounts that are included in the scope of the * assessment.

*/ inline Scope& AddAwsAccounts(const AWSAccount& value) { m_awsAccountsHasBeenSet = true; m_awsAccounts.push_back(value); return *this; } /** *

The Amazon Web Services accounts that are included in the scope of the * assessment.

*/ inline Scope& AddAwsAccounts(AWSAccount&& value) { m_awsAccountsHasBeenSet = true; m_awsAccounts.push_back(std::move(value)); return *this; } /** *

The Amazon Web Services services that are included in the scope of the * assessment.

*/ inline const Aws::Vector& GetAwsServices() const{ return m_awsServices; } /** *

The Amazon Web Services services that are included in the scope of the * assessment.

*/ inline bool AwsServicesHasBeenSet() const { return m_awsServicesHasBeenSet; } /** *

The Amazon Web Services services that are included in the scope of the * assessment.

*/ inline void SetAwsServices(const Aws::Vector& value) { m_awsServicesHasBeenSet = true; m_awsServices = value; } /** *

The Amazon Web Services services that are included in the scope of the * assessment.

*/ inline void SetAwsServices(Aws::Vector&& value) { m_awsServicesHasBeenSet = true; m_awsServices = std::move(value); } /** *

The Amazon Web Services services that are included in the scope of the * assessment.

*/ inline Scope& WithAwsServices(const Aws::Vector& value) { SetAwsServices(value); return *this;} /** *

The Amazon Web Services services that are included in the scope of the * assessment.

*/ inline Scope& WithAwsServices(Aws::Vector&& value) { SetAwsServices(std::move(value)); return *this;} /** *

The Amazon Web Services services that are included in the scope of the * assessment.

*/ inline Scope& AddAwsServices(const AWSService& value) { m_awsServicesHasBeenSet = true; m_awsServices.push_back(value); return *this; } /** *

The Amazon Web Services services that are included in the scope of the * assessment.

*/ inline Scope& AddAwsServices(AWSService&& value) { m_awsServicesHasBeenSet = true; m_awsServices.push_back(std::move(value)); return *this; } private: Aws::Vector m_awsAccounts; bool m_awsAccountsHasBeenSet = false; Aws::Vector m_awsServices; bool m_awsServicesHasBeenSet = false; }; } // namespace Model } // namespace AuditManager } // namespace Aws