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

An object that contains details about the metadata for an Amazon ECR * resource.

See Also:

AWS * API Reference

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

An object that contains metadata details for an Amazon EC2 instance.

*/ inline const Ec2Metadata& GetEc2() const{ return m_ec2; } /** *

An object that contains metadata details for an Amazon EC2 instance.

*/ inline bool Ec2HasBeenSet() const { return m_ec2HasBeenSet; } /** *

An object that contains metadata details for an Amazon EC2 instance.

*/ inline void SetEc2(const Ec2Metadata& value) { m_ec2HasBeenSet = true; m_ec2 = value; } /** *

An object that contains metadata details for an Amazon EC2 instance.

*/ inline void SetEc2(Ec2Metadata&& value) { m_ec2HasBeenSet = true; m_ec2 = std::move(value); } /** *

An object that contains metadata details for an Amazon EC2 instance.

*/ inline ResourceScanMetadata& WithEc2(const Ec2Metadata& value) { SetEc2(value); return *this;} /** *

An object that contains metadata details for an Amazon EC2 instance.

*/ inline ResourceScanMetadata& WithEc2(Ec2Metadata&& value) { SetEc2(std::move(value)); return *this;} /** *

An object that contains details about the container metadata for an Amazon * ECR image.

*/ inline const EcrContainerImageMetadata& GetEcrImage() const{ return m_ecrImage; } /** *

An object that contains details about the container metadata for an Amazon * ECR image.

*/ inline bool EcrImageHasBeenSet() const { return m_ecrImageHasBeenSet; } /** *

An object that contains details about the container metadata for an Amazon * ECR image.

*/ inline void SetEcrImage(const EcrContainerImageMetadata& value) { m_ecrImageHasBeenSet = true; m_ecrImage = value; } /** *

An object that contains details about the container metadata for an Amazon * ECR image.

*/ inline void SetEcrImage(EcrContainerImageMetadata&& value) { m_ecrImageHasBeenSet = true; m_ecrImage = std::move(value); } /** *

An object that contains details about the container metadata for an Amazon * ECR image.

*/ inline ResourceScanMetadata& WithEcrImage(const EcrContainerImageMetadata& value) { SetEcrImage(value); return *this;} /** *

An object that contains details about the container metadata for an Amazon * ECR image.

*/ inline ResourceScanMetadata& WithEcrImage(EcrContainerImageMetadata&& value) { SetEcrImage(std::move(value)); return *this;} /** *

An object that contains details about the repository an Amazon ECR image * resides in.

*/ inline const EcrRepositoryMetadata& GetEcrRepository() const{ return m_ecrRepository; } /** *

An object that contains details about the repository an Amazon ECR image * resides in.

*/ inline bool EcrRepositoryHasBeenSet() const { return m_ecrRepositoryHasBeenSet; } /** *

An object that contains details about the repository an Amazon ECR image * resides in.

*/ inline void SetEcrRepository(const EcrRepositoryMetadata& value) { m_ecrRepositoryHasBeenSet = true; m_ecrRepository = value; } /** *

An object that contains details about the repository an Amazon ECR image * resides in.

*/ inline void SetEcrRepository(EcrRepositoryMetadata&& value) { m_ecrRepositoryHasBeenSet = true; m_ecrRepository = std::move(value); } /** *

An object that contains details about the repository an Amazon ECR image * resides in.

*/ inline ResourceScanMetadata& WithEcrRepository(const EcrRepositoryMetadata& value) { SetEcrRepository(value); return *this;} /** *

An object that contains details about the repository an Amazon ECR image * resides in.

*/ inline ResourceScanMetadata& WithEcrRepository(EcrRepositoryMetadata&& value) { SetEcrRepository(std::move(value)); return *this;} /** *

An object that contains metadata details for an AWS Lambda function.

*/ inline const LambdaFunctionMetadata& GetLambdaFunction() const{ return m_lambdaFunction; } /** *

An object that contains metadata details for an AWS Lambda function.

*/ inline bool LambdaFunctionHasBeenSet() const { return m_lambdaFunctionHasBeenSet; } /** *

An object that contains metadata details for an AWS Lambda function.

*/ inline void SetLambdaFunction(const LambdaFunctionMetadata& value) { m_lambdaFunctionHasBeenSet = true; m_lambdaFunction = value; } /** *

An object that contains metadata details for an AWS Lambda function.

*/ inline void SetLambdaFunction(LambdaFunctionMetadata&& value) { m_lambdaFunctionHasBeenSet = true; m_lambdaFunction = std::move(value); } /** *

An object that contains metadata details for an AWS Lambda function.

*/ inline ResourceScanMetadata& WithLambdaFunction(const LambdaFunctionMetadata& value) { SetLambdaFunction(value); return *this;} /** *

An object that contains metadata details for an AWS Lambda function.

*/ inline ResourceScanMetadata& WithLambdaFunction(LambdaFunctionMetadata&& value) { SetLambdaFunction(std::move(value)); return *this;} private: Ec2Metadata m_ec2; bool m_ec2HasBeenSet = false; EcrContainerImageMetadata m_ecrImage; bool m_ecrImageHasBeenSet = false; EcrRepositoryMetadata m_ecrRepository; bool m_ecrRepositoryHasBeenSet = false; LambdaFunctionMetadata m_lambdaFunction; bool m_lambdaFunctionHasBeenSet = false; }; } // namespace Model } // namespace Inspector2 } // namespace Aws