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

Describes the runtime configuration of an App Runner service instance * (scaling unit).

See Also:

AWS * API Reference

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

The number of CPU units reserved for each instance of your App Runner * service.

Default: 1 vCPU

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

The number of CPU units reserved for each instance of your App Runner * service.

Default: 1 vCPU

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

The number of CPU units reserved for each instance of your App Runner * service.

Default: 1 vCPU

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

The number of CPU units reserved for each instance of your App Runner * service.

Default: 1 vCPU

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

The number of CPU units reserved for each instance of your App Runner * service.

Default: 1 vCPU

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

The number of CPU units reserved for each instance of your App Runner * service.

Default: 1 vCPU

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

The number of CPU units reserved for each instance of your App Runner * service.

Default: 1 vCPU

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

The number of CPU units reserved for each instance of your App Runner * service.

Default: 1 vCPU

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

The amount of memory, in MB or GB, reserved for each instance of your App * Runner service.

Default: 2 GB

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

The amount of memory, in MB or GB, reserved for each instance of your App * Runner service.

Default: 2 GB

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

The amount of memory, in MB or GB, reserved for each instance of your App * Runner service.

Default: 2 GB

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

The amount of memory, in MB or GB, reserved for each instance of your App * Runner service.

Default: 2 GB

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

The amount of memory, in MB or GB, reserved for each instance of your App * Runner service.

Default: 2 GB

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

The amount of memory, in MB or GB, reserved for each instance of your App * Runner service.

Default: 2 GB

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

The amount of memory, in MB or GB, reserved for each instance of your App * Runner service.

Default: 2 GB

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

The amount of memory, in MB or GB, reserved for each instance of your App * Runner service.

Default: 2 GB

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

The Amazon Resource Name (ARN) of an IAM role that provides permissions to * your App Runner service. These are permissions that your code needs when it * calls any Amazon Web Services APIs.

*/ inline const Aws::String& GetInstanceRoleArn() const{ return m_instanceRoleArn; } /** *

The Amazon Resource Name (ARN) of an IAM role that provides permissions to * your App Runner service. These are permissions that your code needs when it * calls any Amazon Web Services APIs.

*/ inline bool InstanceRoleArnHasBeenSet() const { return m_instanceRoleArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of an IAM role that provides permissions to * your App Runner service. These are permissions that your code needs when it * calls any Amazon Web Services APIs.

*/ inline void SetInstanceRoleArn(const Aws::String& value) { m_instanceRoleArnHasBeenSet = true; m_instanceRoleArn = value; } /** *

The Amazon Resource Name (ARN) of an IAM role that provides permissions to * your App Runner service. These are permissions that your code needs when it * calls any Amazon Web Services APIs.

*/ inline void SetInstanceRoleArn(Aws::String&& value) { m_instanceRoleArnHasBeenSet = true; m_instanceRoleArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of an IAM role that provides permissions to * your App Runner service. These are permissions that your code needs when it * calls any Amazon Web Services APIs.

*/ inline void SetInstanceRoleArn(const char* value) { m_instanceRoleArnHasBeenSet = true; m_instanceRoleArn.assign(value); } /** *

The Amazon Resource Name (ARN) of an IAM role that provides permissions to * your App Runner service. These are permissions that your code needs when it * calls any Amazon Web Services APIs.

*/ inline InstanceConfiguration& WithInstanceRoleArn(const Aws::String& value) { SetInstanceRoleArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of an IAM role that provides permissions to * your App Runner service. These are permissions that your code needs when it * calls any Amazon Web Services APIs.

*/ inline InstanceConfiguration& WithInstanceRoleArn(Aws::String&& value) { SetInstanceRoleArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of an IAM role that provides permissions to * your App Runner service. These are permissions that your code needs when it * calls any Amazon Web Services APIs.

*/ inline InstanceConfiguration& WithInstanceRoleArn(const char* value) { SetInstanceRoleArn(value); return *this;} private: Aws::String m_cpu; bool m_cpuHasBeenSet = false; Aws::String m_memory; bool m_memoryHasBeenSet = false; Aws::String m_instanceRoleArn; bool m_instanceRoleArnHasBeenSet = false; }; } // namespace Model } // namespace AppRunner } // namespace Aws