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

The overrides that are associated with a task.

See Also:

AWS * API Reference

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

One or more container overrides that are sent to a task.

*/ inline const Aws::Vector& GetContainerOverrides() const{ return m_containerOverrides; } /** *

One or more container overrides that are sent to a task.

*/ inline bool ContainerOverridesHasBeenSet() const { return m_containerOverridesHasBeenSet; } /** *

One or more container overrides that are sent to a task.

*/ inline void SetContainerOverrides(const Aws::Vector& value) { m_containerOverridesHasBeenSet = true; m_containerOverrides = value; } /** *

One or more container overrides that are sent to a task.

*/ inline void SetContainerOverrides(Aws::Vector&& value) { m_containerOverridesHasBeenSet = true; m_containerOverrides = std::move(value); } /** *

One or more container overrides that are sent to a task.

*/ inline EcsTaskOverride& WithContainerOverrides(const Aws::Vector& value) { SetContainerOverrides(value); return *this;} /** *

One or more container overrides that are sent to a task.

*/ inline EcsTaskOverride& WithContainerOverrides(Aws::Vector&& value) { SetContainerOverrides(std::move(value)); return *this;} /** *

One or more container overrides that are sent to a task.

*/ inline EcsTaskOverride& AddContainerOverrides(const EcsContainerOverride& value) { m_containerOverridesHasBeenSet = true; m_containerOverrides.push_back(value); return *this; } /** *

One or more container overrides that are sent to a task.

*/ inline EcsTaskOverride& AddContainerOverrides(EcsContainerOverride&& value) { m_containerOverridesHasBeenSet = true; m_containerOverrides.push_back(std::move(value)); return *this; } /** *

The cpu override for the task.

*/ inline const Aws::String& GetCpu() const{ return m_cpu; } /** *

The cpu override for the task.

*/ inline bool CpuHasBeenSet() const { return m_cpuHasBeenSet; } /** *

The cpu override for the task.

*/ inline void SetCpu(const Aws::String& value) { m_cpuHasBeenSet = true; m_cpu = value; } /** *

The cpu override for the task.

*/ inline void SetCpu(Aws::String&& value) { m_cpuHasBeenSet = true; m_cpu = std::move(value); } /** *

The cpu override for the task.

*/ inline void SetCpu(const char* value) { m_cpuHasBeenSet = true; m_cpu.assign(value); } /** *

The cpu override for the task.

*/ inline EcsTaskOverride& WithCpu(const Aws::String& value) { SetCpu(value); return *this;} /** *

The cpu override for the task.

*/ inline EcsTaskOverride& WithCpu(Aws::String&& value) { SetCpu(std::move(value)); return *this;} /** *

The cpu override for the task.

*/ inline EcsTaskOverride& WithCpu(const char* value) { SetCpu(value); return *this;} /** *

The ephemeral storage setting override for the task.

This * parameter is only supported for tasks hosted on Fargate that use the following * platform versions:

  • Linux platform version 1.4.0 or * later.

  • Windows platform version 1.0.0 or * later.

*/ inline const EcsEphemeralStorage& GetEphemeralStorage() const{ return m_ephemeralStorage; } /** *

The ephemeral storage setting override for the task.

This * parameter is only supported for tasks hosted on Fargate that use the following * platform versions:

  • Linux platform version 1.4.0 or * later.

  • Windows platform version 1.0.0 or * later.

*/ inline bool EphemeralStorageHasBeenSet() const { return m_ephemeralStorageHasBeenSet; } /** *

The ephemeral storage setting override for the task.

This * parameter is only supported for tasks hosted on Fargate that use the following * platform versions:

  • Linux platform version 1.4.0 or * later.

  • Windows platform version 1.0.0 or * later.

*/ inline void SetEphemeralStorage(const EcsEphemeralStorage& value) { m_ephemeralStorageHasBeenSet = true; m_ephemeralStorage = value; } /** *

The ephemeral storage setting override for the task.

This * parameter is only supported for tasks hosted on Fargate that use the following * platform versions:

  • Linux platform version 1.4.0 or * later.

  • Windows platform version 1.0.0 or * later.

*/ inline void SetEphemeralStorage(EcsEphemeralStorage&& value) { m_ephemeralStorageHasBeenSet = true; m_ephemeralStorage = std::move(value); } /** *

The ephemeral storage setting override for the task.

This * parameter is only supported for tasks hosted on Fargate that use the following * platform versions:

  • Linux platform version 1.4.0 or * later.

  • Windows platform version 1.0.0 or * later.

*/ inline EcsTaskOverride& WithEphemeralStorage(const EcsEphemeralStorage& value) { SetEphemeralStorage(value); return *this;} /** *

The ephemeral storage setting override for the task.

This * parameter is only supported for tasks hosted on Fargate that use the following * platform versions:

  • Linux platform version 1.4.0 or * later.

  • Windows platform version 1.0.0 or * later.

*/ inline EcsTaskOverride& WithEphemeralStorage(EcsEphemeralStorage&& value) { SetEphemeralStorage(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the task execution IAM role override for * the task. For more information, see Amazon * ECS task execution IAM role in the Amazon Elastic Container Service * Developer Guide.

*/ inline const Aws::String& GetExecutionRoleArn() const{ return m_executionRoleArn; } /** *

The Amazon Resource Name (ARN) of the task execution IAM role override for * the task. For more information, see Amazon * ECS task execution IAM role in the Amazon Elastic Container Service * Developer Guide.

*/ inline bool ExecutionRoleArnHasBeenSet() const { return m_executionRoleArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the task execution IAM role override for * the task. For more information, see Amazon * ECS task execution IAM role in the Amazon Elastic Container Service * Developer Guide.

*/ inline void SetExecutionRoleArn(const Aws::String& value) { m_executionRoleArnHasBeenSet = true; m_executionRoleArn = value; } /** *

The Amazon Resource Name (ARN) of the task execution IAM role override for * the task. For more information, see Amazon * ECS task execution IAM role in the Amazon Elastic Container Service * Developer Guide.

*/ inline void SetExecutionRoleArn(Aws::String&& value) { m_executionRoleArnHasBeenSet = true; m_executionRoleArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the task execution IAM role override for * the task. For more information, see Amazon * ECS task execution IAM role in the Amazon Elastic Container Service * Developer Guide.

*/ inline void SetExecutionRoleArn(const char* value) { m_executionRoleArnHasBeenSet = true; m_executionRoleArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the task execution IAM role override for * the task. For more information, see Amazon * ECS task execution IAM role in the Amazon Elastic Container Service * Developer Guide.

*/ inline EcsTaskOverride& WithExecutionRoleArn(const Aws::String& value) { SetExecutionRoleArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the task execution IAM role override for * the task. For more information, see Amazon * ECS task execution IAM role in the Amazon Elastic Container Service * Developer Guide.

*/ inline EcsTaskOverride& WithExecutionRoleArn(Aws::String&& value) { SetExecutionRoleArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the task execution IAM role override for * the task. For more information, see Amazon * ECS task execution IAM role in the Amazon Elastic Container Service * Developer Guide.

*/ inline EcsTaskOverride& WithExecutionRoleArn(const char* value) { SetExecutionRoleArn(value); return *this;} /** *

The Elastic Inference accelerator override for the task.

*/ inline const Aws::Vector& GetInferenceAcceleratorOverrides() const{ return m_inferenceAcceleratorOverrides; } /** *

The Elastic Inference accelerator override for the task.

*/ inline bool InferenceAcceleratorOverridesHasBeenSet() const { return m_inferenceAcceleratorOverridesHasBeenSet; } /** *

The Elastic Inference accelerator override for the task.

*/ inline void SetInferenceAcceleratorOverrides(const Aws::Vector& value) { m_inferenceAcceleratorOverridesHasBeenSet = true; m_inferenceAcceleratorOverrides = value; } /** *

The Elastic Inference accelerator override for the task.

*/ inline void SetInferenceAcceleratorOverrides(Aws::Vector&& value) { m_inferenceAcceleratorOverridesHasBeenSet = true; m_inferenceAcceleratorOverrides = std::move(value); } /** *

The Elastic Inference accelerator override for the task.

*/ inline EcsTaskOverride& WithInferenceAcceleratorOverrides(const Aws::Vector& value) { SetInferenceAcceleratorOverrides(value); return *this;} /** *

The Elastic Inference accelerator override for the task.

*/ inline EcsTaskOverride& WithInferenceAcceleratorOverrides(Aws::Vector&& value) { SetInferenceAcceleratorOverrides(std::move(value)); return *this;} /** *

The Elastic Inference accelerator override for the task.

*/ inline EcsTaskOverride& AddInferenceAcceleratorOverrides(const EcsInferenceAcceleratorOverride& value) { m_inferenceAcceleratorOverridesHasBeenSet = true; m_inferenceAcceleratorOverrides.push_back(value); return *this; } /** *

The Elastic Inference accelerator override for the task.

*/ inline EcsTaskOverride& AddInferenceAcceleratorOverrides(EcsInferenceAcceleratorOverride&& value) { m_inferenceAcceleratorOverridesHasBeenSet = true; m_inferenceAcceleratorOverrides.push_back(std::move(value)); return *this; } /** *

The memory override for the task.

*/ inline const Aws::String& GetMemory() const{ return m_memory; } /** *

The memory override for the task.

*/ inline bool MemoryHasBeenSet() const { return m_memoryHasBeenSet; } /** *

The memory override for the task.

*/ inline void SetMemory(const Aws::String& value) { m_memoryHasBeenSet = true; m_memory = value; } /** *

The memory override for the task.

*/ inline void SetMemory(Aws::String&& value) { m_memoryHasBeenSet = true; m_memory = std::move(value); } /** *

The memory override for the task.

*/ inline void SetMemory(const char* value) { m_memoryHasBeenSet = true; m_memory.assign(value); } /** *

The memory override for the task.

*/ inline EcsTaskOverride& WithMemory(const Aws::String& value) { SetMemory(value); return *this;} /** *

The memory override for the task.

*/ inline EcsTaskOverride& WithMemory(Aws::String&& value) { SetMemory(std::move(value)); return *this;} /** *

The memory override for the task.

*/ inline EcsTaskOverride& WithMemory(const char* value) { SetMemory(value); return *this;} /** *

The Amazon Resource Name (ARN) of the IAM role that containers in this task * can assume. All containers in this task are granted the permissions that are * specified in this role. For more information, see IAM * Role for Tasks in the Amazon Elastic Container Service Developer * Guide.

*/ inline const Aws::String& GetTaskRoleArn() const{ return m_taskRoleArn; } /** *

The Amazon Resource Name (ARN) of the IAM role that containers in this task * can assume. All containers in this task are granted the permissions that are * specified in this role. For more information, see IAM * Role for Tasks in the Amazon Elastic Container Service Developer * Guide.

*/ inline bool TaskRoleArnHasBeenSet() const { return m_taskRoleArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the IAM role that containers in this task * can assume. All containers in this task are granted the permissions that are * specified in this role. For more information, see IAM * Role for Tasks in the Amazon Elastic Container Service Developer * Guide.

*/ inline void SetTaskRoleArn(const Aws::String& value) { m_taskRoleArnHasBeenSet = true; m_taskRoleArn = value; } /** *

The Amazon Resource Name (ARN) of the IAM role that containers in this task * can assume. All containers in this task are granted the permissions that are * specified in this role. For more information, see IAM * Role for Tasks in the Amazon Elastic Container Service Developer * Guide.

*/ inline void SetTaskRoleArn(Aws::String&& value) { m_taskRoleArnHasBeenSet = true; m_taskRoleArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the IAM role that containers in this task * can assume. All containers in this task are granted the permissions that are * specified in this role. For more information, see IAM * Role for Tasks in the Amazon Elastic Container Service Developer * Guide.

*/ inline void SetTaskRoleArn(const char* value) { m_taskRoleArnHasBeenSet = true; m_taskRoleArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the IAM role that containers in this task * can assume. All containers in this task are granted the permissions that are * specified in this role. For more information, see IAM * Role for Tasks in the Amazon Elastic Container Service Developer * Guide.

*/ inline EcsTaskOverride& WithTaskRoleArn(const Aws::String& value) { SetTaskRoleArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the IAM role that containers in this task * can assume. All containers in this task are granted the permissions that are * specified in this role. For more information, see IAM * Role for Tasks in the Amazon Elastic Container Service Developer * Guide.

*/ inline EcsTaskOverride& WithTaskRoleArn(Aws::String&& value) { SetTaskRoleArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the IAM role that containers in this task * can assume. All containers in this task are granted the permissions that are * specified in this role. For more information, see IAM * Role for Tasks in the Amazon Elastic Container Service Developer * Guide.

*/ inline EcsTaskOverride& WithTaskRoleArn(const char* value) { SetTaskRoleArn(value); return *this;} private: Aws::Vector m_containerOverrides; bool m_containerOverridesHasBeenSet = false; Aws::String m_cpu; bool m_cpuHasBeenSet = false; EcsEphemeralStorage m_ephemeralStorage; bool m_ephemeralStorageHasBeenSet = false; Aws::String m_executionRoleArn; bool m_executionRoleArnHasBeenSet = false; Aws::Vector m_inferenceAcceleratorOverrides; bool m_inferenceAcceleratorOverridesHasBeenSet = false; Aws::String m_memory; bool m_memoryHasBeenSet = false; Aws::String m_taskRoleArn; bool m_taskRoleArnHasBeenSet = false; }; } // namespace Model } // namespace Pipes } // namespace Aws