/** * 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 { /** *

Contains details about an aggregation request.

See Also:

AWS * API Reference

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

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

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

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

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

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

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

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

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

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

*/ inline AggregationRequest& WithAccountAggregation(const AccountAggregation& value) { SetAccountAggregation(value); return *this;} /** *

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

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

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

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

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

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

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

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

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

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

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

*/ inline AggregationRequest& WithAmiAggregation(const AmiAggregation& value) { SetAmiAggregation(value); return *this;} /** *

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

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

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

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

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

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

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

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

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

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

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

*/ inline AggregationRequest& WithAwsEcrContainerAggregation(const AwsEcrContainerAggregation& value) { SetAwsEcrContainerAggregation(value); return *this;} /** *

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

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

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

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

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

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

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

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

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

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

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

*/ inline AggregationRequest& WithEc2InstanceAggregation(const Ec2InstanceAggregation& value) { SetEc2InstanceAggregation(value); return *this;} /** *

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

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

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

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

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

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

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

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

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

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

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

*/ inline AggregationRequest& WithFindingTypeAggregation(const FindingTypeAggregation& value) { SetFindingTypeAggregation(value); return *this;} /** *

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

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

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

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

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

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

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

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

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

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

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

*/ inline AggregationRequest& WithImageLayerAggregation(const ImageLayerAggregation& value) { SetImageLayerAggregation(value); return *this;} /** *

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

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

Returns an object with findings aggregated by AWS Lambda function.

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

Returns an object with findings aggregated by AWS Lambda function.

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

Returns an object with findings aggregated by AWS Lambda function.

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

Returns an object with findings aggregated by AWS Lambda function.

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

Returns an object with findings aggregated by AWS Lambda function.

*/ inline AggregationRequest& WithLambdaFunctionAggregation(const LambdaFunctionAggregation& value) { SetLambdaFunctionAggregation(value); return *this;} /** *

Returns an object with findings aggregated by AWS Lambda function.

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

Returns an object with findings aggregated by AWS Lambda layer.

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

Returns an object with findings aggregated by AWS Lambda layer.

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

Returns an object with findings aggregated by AWS Lambda layer.

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

Returns an object with findings aggregated by AWS Lambda layer.

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

Returns an object with findings aggregated by AWS Lambda layer.

*/ inline AggregationRequest& WithLambdaLayerAggregation(const LambdaLayerAggregation& value) { SetLambdaLayerAggregation(value); return *this;} /** *

Returns an object with findings aggregated by AWS Lambda layer.

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

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

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

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

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

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

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

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

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

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

*/ inline AggregationRequest& WithPackageAggregation(const PackageAggregation& value) { SetPackageAggregation(value); return *this;} /** *

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

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

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

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

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

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

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

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

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

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

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

*/ inline AggregationRequest& WithRepositoryAggregation(const RepositoryAggregation& value) { SetRepositoryAggregation(value); return *this;} /** *

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

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

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

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

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

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

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

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

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

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

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

*/ inline AggregationRequest& WithTitleAggregation(const TitleAggregation& value) { SetTitleAggregation(value); return *this;} /** *

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

*/ inline AggregationRequest& WithTitleAggregation(TitleAggregation&& value) { SetTitleAggregation(std::move(value)); return *this;} private: AccountAggregation m_accountAggregation; bool m_accountAggregationHasBeenSet = false; AmiAggregation m_amiAggregation; bool m_amiAggregationHasBeenSet = false; AwsEcrContainerAggregation m_awsEcrContainerAggregation; bool m_awsEcrContainerAggregationHasBeenSet = false; Ec2InstanceAggregation m_ec2InstanceAggregation; bool m_ec2InstanceAggregationHasBeenSet = false; FindingTypeAggregation m_findingTypeAggregation; bool m_findingTypeAggregationHasBeenSet = false; ImageLayerAggregation m_imageLayerAggregation; bool m_imageLayerAggregationHasBeenSet = false; LambdaFunctionAggregation m_lambdaFunctionAggregation; bool m_lambdaFunctionAggregationHasBeenSet = false; LambdaLayerAggregation m_lambdaLayerAggregation; bool m_lambdaLayerAggregationHasBeenSet = false; PackageAggregation m_packageAggregation; bool m_packageAggregationHasBeenSet = false; RepositoryAggregation m_repositoryAggregation; bool m_repositoryAggregationHasBeenSet = false; TitleAggregation m_titleAggregation; bool m_titleAggregationHasBeenSet = false; }; } // namespace Model } // namespace Inspector2 } // namespace Aws