/** * 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 Amazon Web Services resource objects. Each object * represents an Amazon S3 bucket, an 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 JobResource { public: AWS_SNOWBALL_API JobResource(); AWS_SNOWBALL_API JobResource(Aws::Utils::Json::JsonView jsonValue); AWS_SNOWBALL_API JobResource& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_SNOWBALL_API 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 = false; Aws::Vector m_lambdaResources; bool m_lambdaResourcesHasBeenSet = false; Aws::Vector m_ec2AmiResources; bool m_ec2AmiResourcesHasBeenSet = false; }; } // namespace Model } // namespace Snowball } // namespace Aws