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

Contains an array of AWS resource objects. Each object represents an Amazon * S3 bucket, an AWS Lambda function, or an Amazon Machine Image (AMI) based on * Amazon EC2 that is associated with a particular job.

See Also:

* AWS * API Reference

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

An array of S3Resource objects.

*/ inline const Aws::Vector& GetS3Resources() const{ return m_s3Resources; } /** *

An array of S3Resource objects.

*/ inline bool S3ResourcesHasBeenSet() const { return m_s3ResourcesHasBeenSet; } /** *

An array of S3Resource objects.

*/ inline void SetS3Resources(const Aws::Vector& value) { m_s3ResourcesHasBeenSet = true; m_s3Resources = value; } /** *

An array of S3Resource objects.

*/ inline void SetS3Resources(Aws::Vector&& value) { m_s3ResourcesHasBeenSet = true; m_s3Resources = std::move(value); } /** *

An array of S3Resource objects.

*/ inline JobResource& WithS3Resources(const Aws::Vector& value) { SetS3Resources(value); return *this;} /** *

An array of S3Resource objects.

*/ inline JobResource& WithS3Resources(Aws::Vector&& value) { SetS3Resources(std::move(value)); return *this;} /** *

An array of S3Resource objects.

*/ inline JobResource& AddS3Resources(const S3Resource& value) { m_s3ResourcesHasBeenSet = true; m_s3Resources.push_back(value); return *this; } /** *

An array of S3Resource objects.

*/ inline JobResource& AddS3Resources(S3Resource&& value) { m_s3ResourcesHasBeenSet = true; m_s3Resources.push_back(std::move(value)); return *this; } /** *

The Python-language Lambda functions for this job.

*/ inline const Aws::Vector& GetLambdaResources() const{ return m_lambdaResources; } /** *

The Python-language Lambda functions for this job.

*/ inline bool LambdaResourcesHasBeenSet() const { return m_lambdaResourcesHasBeenSet; } /** *

The Python-language Lambda functions for this job.

*/ inline void SetLambdaResources(const Aws::Vector& value) { m_lambdaResourcesHasBeenSet = true; m_lambdaResources = value; } /** *

The Python-language Lambda functions for this job.

*/ inline void SetLambdaResources(Aws::Vector&& value) { m_lambdaResourcesHasBeenSet = true; m_lambdaResources = std::move(value); } /** *

The Python-language Lambda functions for this job.

*/ inline JobResource& WithLambdaResources(const Aws::Vector& value) { SetLambdaResources(value); return *this;} /** *

The Python-language Lambda functions for this job.

*/ inline JobResource& WithLambdaResources(Aws::Vector&& value) { SetLambdaResources(std::move(value)); return *this;} /** *

The Python-language Lambda functions for this job.

*/ inline JobResource& AddLambdaResources(const LambdaResource& value) { m_lambdaResourcesHasBeenSet = true; m_lambdaResources.push_back(value); return *this; } /** *

The Python-language Lambda functions for this job.

*/ inline JobResource& AddLambdaResources(LambdaResource&& value) { m_lambdaResourcesHasBeenSet = true; m_lambdaResources.push_back(std::move(value)); return *this; } /** *

The Amazon Machine Images (AMIs) associated with this job.

*/ inline const Aws::Vector& GetEc2AmiResources() const{ return m_ec2AmiResources; } /** *

The Amazon Machine Images (AMIs) associated with this job.

*/ inline bool Ec2AmiResourcesHasBeenSet() const { return m_ec2AmiResourcesHasBeenSet; } /** *

The Amazon Machine Images (AMIs) associated with this job.

*/ inline void SetEc2AmiResources(const Aws::Vector& value) { m_ec2AmiResourcesHasBeenSet = true; m_ec2AmiResources = value; } /** *

The Amazon Machine Images (AMIs) associated with this job.

*/ inline void SetEc2AmiResources(Aws::Vector&& value) { m_ec2AmiResourcesHasBeenSet = true; m_ec2AmiResources = std::move(value); } /** *

The Amazon Machine Images (AMIs) associated with this job.

*/ inline JobResource& WithEc2AmiResources(const Aws::Vector& value) { SetEc2AmiResources(value); return *this;} /** *

The Amazon Machine Images (AMIs) associated with this job.

*/ inline JobResource& WithEc2AmiResources(Aws::Vector&& value) { SetEc2AmiResources(std::move(value)); return *this;} /** *

The Amazon Machine Images (AMIs) associated with this job.

*/ inline JobResource& AddEc2AmiResources(const Ec2AmiResource& value) { m_ec2AmiResourcesHasBeenSet = true; m_ec2AmiResources.push_back(value); return *this; } /** *

The Amazon Machine Images (AMIs) associated with this job.

*/ inline JobResource& AddEc2AmiResources(Ec2AmiResource&& value) { m_ec2AmiResourcesHasBeenSet = true; m_ec2AmiResources.push_back(std::move(value)); return *this; } private: Aws::Vector m_s3Resources; bool m_s3ResourcesHasBeenSet; Aws::Vector m_lambdaResources; bool m_lambdaResourcesHasBeenSet; Aws::Vector m_ec2AmiResources; bool m_ec2AmiResourcesHasBeenSet; }; } // namespace Model } // namespace Snowball } // namespace Aws