/** * 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 #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Inspector2 { namespace Model { /** *

A structure that contains details about the results of an aggregation * type.

See Also:

AWS * API Reference

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

An object that contains details about an aggregation response based on Amazon * Web Services account IDs.

*/ inline const AccountAggregationResponse& GetAccountAggregation() const{ return m_accountAggregation; } /** *

An object that contains details about an aggregation response based on Amazon * Web Services account IDs.

*/ inline bool AccountAggregationHasBeenSet() const { return m_accountAggregationHasBeenSet; } /** *

An object that contains details about an aggregation response based on Amazon * Web Services account IDs.

*/ inline void SetAccountAggregation(const AccountAggregationResponse& value) { m_accountAggregationHasBeenSet = true; m_accountAggregation = value; } /** *

An object that contains details about an aggregation response based on Amazon * Web Services account IDs.

*/ inline void SetAccountAggregation(AccountAggregationResponse&& value) { m_accountAggregationHasBeenSet = true; m_accountAggregation = std::move(value); } /** *

An object that contains details about an aggregation response based on Amazon * Web Services account IDs.

*/ inline AggregationResponse& WithAccountAggregation(const AccountAggregationResponse& value) { SetAccountAggregation(value); return *this;} /** *

An object that contains details about an aggregation response based on Amazon * Web Services account IDs.

*/ inline AggregationResponse& WithAccountAggregation(AccountAggregationResponse&& value) { SetAccountAggregation(std::move(value)); return *this;} /** *

An object that contains details about an aggregation response based on Amazon * Machine Images (AMIs).

*/ inline const AmiAggregationResponse& GetAmiAggregation() const{ return m_amiAggregation; } /** *

An object that contains details about an aggregation response based on Amazon * Machine Images (AMIs).

*/ inline bool AmiAggregationHasBeenSet() const { return m_amiAggregationHasBeenSet; } /** *

An object that contains details about an aggregation response based on Amazon * Machine Images (AMIs).

*/ inline void SetAmiAggregation(const AmiAggregationResponse& value) { m_amiAggregationHasBeenSet = true; m_amiAggregation = value; } /** *

An object that contains details about an aggregation response based on Amazon * Machine Images (AMIs).

*/ inline void SetAmiAggregation(AmiAggregationResponse&& value) { m_amiAggregationHasBeenSet = true; m_amiAggregation = std::move(value); } /** *

An object that contains details about an aggregation response based on Amazon * Machine Images (AMIs).

*/ inline AggregationResponse& WithAmiAggregation(const AmiAggregationResponse& value) { SetAmiAggregation(value); return *this;} /** *

An object that contains details about an aggregation response based on Amazon * Machine Images (AMIs).

*/ inline AggregationResponse& WithAmiAggregation(AmiAggregationResponse&& value) { SetAmiAggregation(std::move(value)); return *this;} /** *

An object that contains details about an aggregation response based on Amazon * ECR container images.

*/ inline const AwsEcrContainerAggregationResponse& GetAwsEcrContainerAggregation() const{ return m_awsEcrContainerAggregation; } /** *

An object that contains details about an aggregation response based on Amazon * ECR container images.

*/ inline bool AwsEcrContainerAggregationHasBeenSet() const { return m_awsEcrContainerAggregationHasBeenSet; } /** *

An object that contains details about an aggregation response based on Amazon * ECR container images.

*/ inline void SetAwsEcrContainerAggregation(const AwsEcrContainerAggregationResponse& value) { m_awsEcrContainerAggregationHasBeenSet = true; m_awsEcrContainerAggregation = value; } /** *

An object that contains details about an aggregation response based on Amazon * ECR container images.

*/ inline void SetAwsEcrContainerAggregation(AwsEcrContainerAggregationResponse&& value) { m_awsEcrContainerAggregationHasBeenSet = true; m_awsEcrContainerAggregation = std::move(value); } /** *

An object that contains details about an aggregation response based on Amazon * ECR container images.

*/ inline AggregationResponse& WithAwsEcrContainerAggregation(const AwsEcrContainerAggregationResponse& value) { SetAwsEcrContainerAggregation(value); return *this;} /** *

An object that contains details about an aggregation response based on Amazon * ECR container images.

*/ inline AggregationResponse& WithAwsEcrContainerAggregation(AwsEcrContainerAggregationResponse&& value) { SetAwsEcrContainerAggregation(std::move(value)); return *this;} /** *

An object that contains details about an aggregation response based on Amazon * EC2 instances.

*/ inline const Ec2InstanceAggregationResponse& GetEc2InstanceAggregation() const{ return m_ec2InstanceAggregation; } /** *

An object that contains details about an aggregation response based on Amazon * EC2 instances.

*/ inline bool Ec2InstanceAggregationHasBeenSet() const { return m_ec2InstanceAggregationHasBeenSet; } /** *

An object that contains details about an aggregation response based on Amazon * EC2 instances.

*/ inline void SetEc2InstanceAggregation(const Ec2InstanceAggregationResponse& value) { m_ec2InstanceAggregationHasBeenSet = true; m_ec2InstanceAggregation = value; } /** *

An object that contains details about an aggregation response based on Amazon * EC2 instances.

*/ inline void SetEc2InstanceAggregation(Ec2InstanceAggregationResponse&& value) { m_ec2InstanceAggregationHasBeenSet = true; m_ec2InstanceAggregation = std::move(value); } /** *

An object that contains details about an aggregation response based on Amazon * EC2 instances.

*/ inline AggregationResponse& WithEc2InstanceAggregation(const Ec2InstanceAggregationResponse& value) { SetEc2InstanceAggregation(value); return *this;} /** *

An object that contains details about an aggregation response based on Amazon * EC2 instances.

*/ inline AggregationResponse& WithEc2InstanceAggregation(Ec2InstanceAggregationResponse&& value) { SetEc2InstanceAggregation(std::move(value)); return *this;} /** *

An object that contains details about an aggregation response based on * finding types.

*/ inline const FindingTypeAggregationResponse& GetFindingTypeAggregation() const{ return m_findingTypeAggregation; } /** *

An object that contains details about an aggregation response based on * finding types.

*/ inline bool FindingTypeAggregationHasBeenSet() const { return m_findingTypeAggregationHasBeenSet; } /** *

An object that contains details about an aggregation response based on * finding types.

*/ inline void SetFindingTypeAggregation(const FindingTypeAggregationResponse& value) { m_findingTypeAggregationHasBeenSet = true; m_findingTypeAggregation = value; } /** *

An object that contains details about an aggregation response based on * finding types.

*/ inline void SetFindingTypeAggregation(FindingTypeAggregationResponse&& value) { m_findingTypeAggregationHasBeenSet = true; m_findingTypeAggregation = std::move(value); } /** *

An object that contains details about an aggregation response based on * finding types.

*/ inline AggregationResponse& WithFindingTypeAggregation(const FindingTypeAggregationResponse& value) { SetFindingTypeAggregation(value); return *this;} /** *

An object that contains details about an aggregation response based on * finding types.

*/ inline AggregationResponse& WithFindingTypeAggregation(FindingTypeAggregationResponse&& value) { SetFindingTypeAggregation(std::move(value)); return *this;} /** *

An object that contains details about an aggregation response based on * container image layers.

*/ inline const ImageLayerAggregationResponse& GetImageLayerAggregation() const{ return m_imageLayerAggregation; } /** *

An object that contains details about an aggregation response based on * container image layers.

*/ inline bool ImageLayerAggregationHasBeenSet() const { return m_imageLayerAggregationHasBeenSet; } /** *

An object that contains details about an aggregation response based on * container image layers.

*/ inline void SetImageLayerAggregation(const ImageLayerAggregationResponse& value) { m_imageLayerAggregationHasBeenSet = true; m_imageLayerAggregation = value; } /** *

An object that contains details about an aggregation response based on * container image layers.

*/ inline void SetImageLayerAggregation(ImageLayerAggregationResponse&& value) { m_imageLayerAggregationHasBeenSet = true; m_imageLayerAggregation = std::move(value); } /** *

An object that contains details about an aggregation response based on * container image layers.

*/ inline AggregationResponse& WithImageLayerAggregation(const ImageLayerAggregationResponse& value) { SetImageLayerAggregation(value); return *this;} /** *

An object that contains details about an aggregation response based on * container image layers.

*/ inline AggregationResponse& WithImageLayerAggregation(ImageLayerAggregationResponse&& value) { SetImageLayerAggregation(std::move(value)); return *this;} /** *

An aggregation of findings by AWS Lambda function.

*/ inline const LambdaFunctionAggregationResponse& GetLambdaFunctionAggregation() const{ return m_lambdaFunctionAggregation; } /** *

An aggregation of findings by AWS Lambda function.

*/ inline bool LambdaFunctionAggregationHasBeenSet() const { return m_lambdaFunctionAggregationHasBeenSet; } /** *

An aggregation of findings by AWS Lambda function.

*/ inline void SetLambdaFunctionAggregation(const LambdaFunctionAggregationResponse& value) { m_lambdaFunctionAggregationHasBeenSet = true; m_lambdaFunctionAggregation = value; } /** *

An aggregation of findings by AWS Lambda function.

*/ inline void SetLambdaFunctionAggregation(LambdaFunctionAggregationResponse&& value) { m_lambdaFunctionAggregationHasBeenSet = true; m_lambdaFunctionAggregation = std::move(value); } /** *

An aggregation of findings by AWS Lambda function.

*/ inline AggregationResponse& WithLambdaFunctionAggregation(const LambdaFunctionAggregationResponse& value) { SetLambdaFunctionAggregation(value); return *this;} /** *

An aggregation of findings by AWS Lambda function.

*/ inline AggregationResponse& WithLambdaFunctionAggregation(LambdaFunctionAggregationResponse&& value) { SetLambdaFunctionAggregation(std::move(value)); return *this;} /** *

An aggregation of findings by AWS Lambda layer.

*/ inline const LambdaLayerAggregationResponse& GetLambdaLayerAggregation() const{ return m_lambdaLayerAggregation; } /** *

An aggregation of findings by AWS Lambda layer.

*/ inline bool LambdaLayerAggregationHasBeenSet() const { return m_lambdaLayerAggregationHasBeenSet; } /** *

An aggregation of findings by AWS Lambda layer.

*/ inline void SetLambdaLayerAggregation(const LambdaLayerAggregationResponse& value) { m_lambdaLayerAggregationHasBeenSet = true; m_lambdaLayerAggregation = value; } /** *

An aggregation of findings by AWS Lambda layer.

*/ inline void SetLambdaLayerAggregation(LambdaLayerAggregationResponse&& value) { m_lambdaLayerAggregationHasBeenSet = true; m_lambdaLayerAggregation = std::move(value); } /** *

An aggregation of findings by AWS Lambda layer.

*/ inline AggregationResponse& WithLambdaLayerAggregation(const LambdaLayerAggregationResponse& value) { SetLambdaLayerAggregation(value); return *this;} /** *

An aggregation of findings by AWS Lambda layer.

*/ inline AggregationResponse& WithLambdaLayerAggregation(LambdaLayerAggregationResponse&& value) { SetLambdaLayerAggregation(std::move(value)); return *this;} /** *

An object that contains details about an aggregation response based on * operating system package type.

*/ inline const PackageAggregationResponse& GetPackageAggregation() const{ return m_packageAggregation; } /** *

An object that contains details about an aggregation response based on * operating system package type.

*/ inline bool PackageAggregationHasBeenSet() const { return m_packageAggregationHasBeenSet; } /** *

An object that contains details about an aggregation response based on * operating system package type.

*/ inline void SetPackageAggregation(const PackageAggregationResponse& value) { m_packageAggregationHasBeenSet = true; m_packageAggregation = value; } /** *

An object that contains details about an aggregation response based on * operating system package type.

*/ inline void SetPackageAggregation(PackageAggregationResponse&& value) { m_packageAggregationHasBeenSet = true; m_packageAggregation = std::move(value); } /** *

An object that contains details about an aggregation response based on * operating system package type.

*/ inline AggregationResponse& WithPackageAggregation(const PackageAggregationResponse& value) { SetPackageAggregation(value); return *this;} /** *

An object that contains details about an aggregation response based on * operating system package type.

*/ inline AggregationResponse& WithPackageAggregation(PackageAggregationResponse&& value) { SetPackageAggregation(std::move(value)); return *this;} /** *

An object that contains details about an aggregation response based on Amazon * ECR repositories.

*/ inline const RepositoryAggregationResponse& GetRepositoryAggregation() const{ return m_repositoryAggregation; } /** *

An object that contains details about an aggregation response based on Amazon * ECR repositories.

*/ inline bool RepositoryAggregationHasBeenSet() const { return m_repositoryAggregationHasBeenSet; } /** *

An object that contains details about an aggregation response based on Amazon * ECR repositories.

*/ inline void SetRepositoryAggregation(const RepositoryAggregationResponse& value) { m_repositoryAggregationHasBeenSet = true; m_repositoryAggregation = value; } /** *

An object that contains details about an aggregation response based on Amazon * ECR repositories.

*/ inline void SetRepositoryAggregation(RepositoryAggregationResponse&& value) { m_repositoryAggregationHasBeenSet = true; m_repositoryAggregation = std::move(value); } /** *

An object that contains details about an aggregation response based on Amazon * ECR repositories.

*/ inline AggregationResponse& WithRepositoryAggregation(const RepositoryAggregationResponse& value) { SetRepositoryAggregation(value); return *this;} /** *

An object that contains details about an aggregation response based on Amazon * ECR repositories.

*/ inline AggregationResponse& WithRepositoryAggregation(RepositoryAggregationResponse&& value) { SetRepositoryAggregation(std::move(value)); return *this;} /** *

An object that contains details about an aggregation response based on * finding title.

*/ inline const TitleAggregationResponse& GetTitleAggregation() const{ return m_titleAggregation; } /** *

An object that contains details about an aggregation response based on * finding title.

*/ inline bool TitleAggregationHasBeenSet() const { return m_titleAggregationHasBeenSet; } /** *

An object that contains details about an aggregation response based on * finding title.

*/ inline void SetTitleAggregation(const TitleAggregationResponse& value) { m_titleAggregationHasBeenSet = true; m_titleAggregation = value; } /** *

An object that contains details about an aggregation response based on * finding title.

*/ inline void SetTitleAggregation(TitleAggregationResponse&& value) { m_titleAggregationHasBeenSet = true; m_titleAggregation = std::move(value); } /** *

An object that contains details about an aggregation response based on * finding title.

*/ inline AggregationResponse& WithTitleAggregation(const TitleAggregationResponse& value) { SetTitleAggregation(value); return *this;} /** *

An object that contains details about an aggregation response based on * finding title.

*/ inline AggregationResponse& WithTitleAggregation(TitleAggregationResponse&& value) { SetTitleAggregation(std::move(value)); return *this;} private: AccountAggregationResponse m_accountAggregation; bool m_accountAggregationHasBeenSet = false; AmiAggregationResponse m_amiAggregation; bool m_amiAggregationHasBeenSet = false; AwsEcrContainerAggregationResponse m_awsEcrContainerAggregation; bool m_awsEcrContainerAggregationHasBeenSet = false; Ec2InstanceAggregationResponse m_ec2InstanceAggregation; bool m_ec2InstanceAggregationHasBeenSet = false; FindingTypeAggregationResponse m_findingTypeAggregation; bool m_findingTypeAggregationHasBeenSet = false; ImageLayerAggregationResponse m_imageLayerAggregation; bool m_imageLayerAggregationHasBeenSet = false; LambdaFunctionAggregationResponse m_lambdaFunctionAggregation; bool m_lambdaFunctionAggregationHasBeenSet = false; LambdaLayerAggregationResponse m_lambdaLayerAggregation; bool m_lambdaLayerAggregationHasBeenSet = false; PackageAggregationResponse m_packageAggregation; bool m_packageAggregationHasBeenSet = false; RepositoryAggregationResponse m_repositoryAggregation; bool m_repositoryAggregationHasBeenSet = false; TitleAggregationResponse m_titleAggregation; bool m_titleAggregationHasBeenSet = false; }; } // namespace Model } // namespace Inspector2 } // namespace Aws