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

Describes the basic configuration needed for building and running an App * Runner service. This type doesn't support the full set of possible configuration * options. Fur full configuration capabilities, use a apprunner.yaml * file in the source code repository.

See Also:

AWS * API Reference

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

A runtime environment type for building and running an App Runner service. It * represents a programming language runtime.

*/ inline const Runtime& GetRuntime() const{ return m_runtime; } /** *

A runtime environment type for building and running an App Runner service. It * represents a programming language runtime.

*/ inline bool RuntimeHasBeenSet() const { return m_runtimeHasBeenSet; } /** *

A runtime environment type for building and running an App Runner service. It * represents a programming language runtime.

*/ inline void SetRuntime(const Runtime& value) { m_runtimeHasBeenSet = true; m_runtime = value; } /** *

A runtime environment type for building and running an App Runner service. It * represents a programming language runtime.

*/ inline void SetRuntime(Runtime&& value) { m_runtimeHasBeenSet = true; m_runtime = std::move(value); } /** *

A runtime environment type for building and running an App Runner service. It * represents a programming language runtime.

*/ inline CodeConfigurationValues& WithRuntime(const Runtime& value) { SetRuntime(value); return *this;} /** *

A runtime environment type for building and running an App Runner service. It * represents a programming language runtime.

*/ inline CodeConfigurationValues& WithRuntime(Runtime&& value) { SetRuntime(std::move(value)); return *this;} /** *

The command App Runner runs to build your application.

*/ inline const Aws::String& GetBuildCommand() const{ return m_buildCommand; } /** *

The command App Runner runs to build your application.

*/ inline bool BuildCommandHasBeenSet() const { return m_buildCommandHasBeenSet; } /** *

The command App Runner runs to build your application.

*/ inline void SetBuildCommand(const Aws::String& value) { m_buildCommandHasBeenSet = true; m_buildCommand = value; } /** *

The command App Runner runs to build your application.

*/ inline void SetBuildCommand(Aws::String&& value) { m_buildCommandHasBeenSet = true; m_buildCommand = std::move(value); } /** *

The command App Runner runs to build your application.

*/ inline void SetBuildCommand(const char* value) { m_buildCommandHasBeenSet = true; m_buildCommand.assign(value); } /** *

The command App Runner runs to build your application.

*/ inline CodeConfigurationValues& WithBuildCommand(const Aws::String& value) { SetBuildCommand(value); return *this;} /** *

The command App Runner runs to build your application.

*/ inline CodeConfigurationValues& WithBuildCommand(Aws::String&& value) { SetBuildCommand(std::move(value)); return *this;} /** *

The command App Runner runs to build your application.

*/ inline CodeConfigurationValues& WithBuildCommand(const char* value) { SetBuildCommand(value); return *this;} /** *

The command App Runner runs to start your application.

*/ inline const Aws::String& GetStartCommand() const{ return m_startCommand; } /** *

The command App Runner runs to start your application.

*/ inline bool StartCommandHasBeenSet() const { return m_startCommandHasBeenSet; } /** *

The command App Runner runs to start your application.

*/ inline void SetStartCommand(const Aws::String& value) { m_startCommandHasBeenSet = true; m_startCommand = value; } /** *

The command App Runner runs to start your application.

*/ inline void SetStartCommand(Aws::String&& value) { m_startCommandHasBeenSet = true; m_startCommand = std::move(value); } /** *

The command App Runner runs to start your application.

*/ inline void SetStartCommand(const char* value) { m_startCommandHasBeenSet = true; m_startCommand.assign(value); } /** *

The command App Runner runs to start your application.

*/ inline CodeConfigurationValues& WithStartCommand(const Aws::String& value) { SetStartCommand(value); return *this;} /** *

The command App Runner runs to start your application.

*/ inline CodeConfigurationValues& WithStartCommand(Aws::String&& value) { SetStartCommand(std::move(value)); return *this;} /** *

The command App Runner runs to start your application.

*/ inline CodeConfigurationValues& WithStartCommand(const char* value) { SetStartCommand(value); return *this;} /** *

The port that your application listens to in the container.

Default: * 8080

*/ inline const Aws::String& GetPort() const{ return m_port; } /** *

The port that your application listens to in the container.

Default: * 8080

*/ inline bool PortHasBeenSet() const { return m_portHasBeenSet; } /** *

The port that your application listens to in the container.

Default: * 8080

*/ inline void SetPort(const Aws::String& value) { m_portHasBeenSet = true; m_port = value; } /** *

The port that your application listens to in the container.

Default: * 8080

*/ inline void SetPort(Aws::String&& value) { m_portHasBeenSet = true; m_port = std::move(value); } /** *

The port that your application listens to in the container.

Default: * 8080

*/ inline void SetPort(const char* value) { m_portHasBeenSet = true; m_port.assign(value); } /** *

The port that your application listens to in the container.

Default: * 8080

*/ inline CodeConfigurationValues& WithPort(const Aws::String& value) { SetPort(value); return *this;} /** *

The port that your application listens to in the container.

Default: * 8080

*/ inline CodeConfigurationValues& WithPort(Aws::String&& value) { SetPort(std::move(value)); return *this;} /** *

The port that your application listens to in the container.

Default: * 8080

*/ inline CodeConfigurationValues& WithPort(const char* value) { SetPort(value); return *this;} /** *

The environment variables that are available to your running App Runner * service. An array of key-value pairs.

*/ inline const Aws::Map& GetRuntimeEnvironmentVariables() const{ return m_runtimeEnvironmentVariables; } /** *

The environment variables that are available to your running App Runner * service. An array of key-value pairs.

*/ inline bool RuntimeEnvironmentVariablesHasBeenSet() const { return m_runtimeEnvironmentVariablesHasBeenSet; } /** *

The environment variables that are available to your running App Runner * service. An array of key-value pairs.

*/ inline void SetRuntimeEnvironmentVariables(const Aws::Map& value) { m_runtimeEnvironmentVariablesHasBeenSet = true; m_runtimeEnvironmentVariables = value; } /** *

The environment variables that are available to your running App Runner * service. An array of key-value pairs.

*/ inline void SetRuntimeEnvironmentVariables(Aws::Map&& value) { m_runtimeEnvironmentVariablesHasBeenSet = true; m_runtimeEnvironmentVariables = std::move(value); } /** *

The environment variables that are available to your running App Runner * service. An array of key-value pairs.

*/ inline CodeConfigurationValues& WithRuntimeEnvironmentVariables(const Aws::Map& value) { SetRuntimeEnvironmentVariables(value); return *this;} /** *

The environment variables that are available to your running App Runner * service. An array of key-value pairs.

*/ inline CodeConfigurationValues& WithRuntimeEnvironmentVariables(Aws::Map&& value) { SetRuntimeEnvironmentVariables(std::move(value)); return *this;} /** *

The environment variables that are available to your running App Runner * service. An array of key-value pairs.

*/ inline CodeConfigurationValues& AddRuntimeEnvironmentVariables(const Aws::String& key, const Aws::String& value) { m_runtimeEnvironmentVariablesHasBeenSet = true; m_runtimeEnvironmentVariables.emplace(key, value); return *this; } /** *

The environment variables that are available to your running App Runner * service. An array of key-value pairs.

*/ inline CodeConfigurationValues& AddRuntimeEnvironmentVariables(Aws::String&& key, const Aws::String& value) { m_runtimeEnvironmentVariablesHasBeenSet = true; m_runtimeEnvironmentVariables.emplace(std::move(key), value); return *this; } /** *

The environment variables that are available to your running App Runner * service. An array of key-value pairs.

*/ inline CodeConfigurationValues& AddRuntimeEnvironmentVariables(const Aws::String& key, Aws::String&& value) { m_runtimeEnvironmentVariablesHasBeenSet = true; m_runtimeEnvironmentVariables.emplace(key, std::move(value)); return *this; } /** *

The environment variables that are available to your running App Runner * service. An array of key-value pairs.

*/ inline CodeConfigurationValues& AddRuntimeEnvironmentVariables(Aws::String&& key, Aws::String&& value) { m_runtimeEnvironmentVariablesHasBeenSet = true; m_runtimeEnvironmentVariables.emplace(std::move(key), std::move(value)); return *this; } /** *

The environment variables that are available to your running App Runner * service. An array of key-value pairs.

*/ inline CodeConfigurationValues& AddRuntimeEnvironmentVariables(const char* key, Aws::String&& value) { m_runtimeEnvironmentVariablesHasBeenSet = true; m_runtimeEnvironmentVariables.emplace(key, std::move(value)); return *this; } /** *

The environment variables that are available to your running App Runner * service. An array of key-value pairs.

*/ inline CodeConfigurationValues& AddRuntimeEnvironmentVariables(Aws::String&& key, const char* value) { m_runtimeEnvironmentVariablesHasBeenSet = true; m_runtimeEnvironmentVariables.emplace(std::move(key), value); return *this; } /** *

The environment variables that are available to your running App Runner * service. An array of key-value pairs.

*/ inline CodeConfigurationValues& AddRuntimeEnvironmentVariables(const char* key, const char* value) { m_runtimeEnvironmentVariablesHasBeenSet = true; m_runtimeEnvironmentVariables.emplace(key, value); return *this; } /** *

An array of key-value pairs representing the secrets and parameters that get * referenced to your service as an environment variable. The supported values are * either the full Amazon Resource Name (ARN) of the Secrets Manager secret or the * full ARN of the parameter in the Amazon Web Services Systems Manager Parameter * Store.

  • If the Amazon Web Services Systems Manager * Parameter Store parameter exists in the same Amazon Web Services Region as the * service that you're launching, you can use either the full ARN or name of the * secret. If the parameter exists in a different Region, then the full ARN must be * specified.

  • Currently, cross account referencing of Amazon * Web Services Systems Manager Parameter Store parameter is not supported.

    *
*/ inline const Aws::Map& GetRuntimeEnvironmentSecrets() const{ return m_runtimeEnvironmentSecrets; } /** *

An array of key-value pairs representing the secrets and parameters that get * referenced to your service as an environment variable. The supported values are * either the full Amazon Resource Name (ARN) of the Secrets Manager secret or the * full ARN of the parameter in the Amazon Web Services Systems Manager Parameter * Store.

  • If the Amazon Web Services Systems Manager * Parameter Store parameter exists in the same Amazon Web Services Region as the * service that you're launching, you can use either the full ARN or name of the * secret. If the parameter exists in a different Region, then the full ARN must be * specified.

  • Currently, cross account referencing of Amazon * Web Services Systems Manager Parameter Store parameter is not supported.

    *
*/ inline bool RuntimeEnvironmentSecretsHasBeenSet() const { return m_runtimeEnvironmentSecretsHasBeenSet; } /** *

An array of key-value pairs representing the secrets and parameters that get * referenced to your service as an environment variable. The supported values are * either the full Amazon Resource Name (ARN) of the Secrets Manager secret or the * full ARN of the parameter in the Amazon Web Services Systems Manager Parameter * Store.

  • If the Amazon Web Services Systems Manager * Parameter Store parameter exists in the same Amazon Web Services Region as the * service that you're launching, you can use either the full ARN or name of the * secret. If the parameter exists in a different Region, then the full ARN must be * specified.

  • Currently, cross account referencing of Amazon * Web Services Systems Manager Parameter Store parameter is not supported.

    *
*/ inline void SetRuntimeEnvironmentSecrets(const Aws::Map& value) { m_runtimeEnvironmentSecretsHasBeenSet = true; m_runtimeEnvironmentSecrets = value; } /** *

An array of key-value pairs representing the secrets and parameters that get * referenced to your service as an environment variable. The supported values are * either the full Amazon Resource Name (ARN) of the Secrets Manager secret or the * full ARN of the parameter in the Amazon Web Services Systems Manager Parameter * Store.

  • If the Amazon Web Services Systems Manager * Parameter Store parameter exists in the same Amazon Web Services Region as the * service that you're launching, you can use either the full ARN or name of the * secret. If the parameter exists in a different Region, then the full ARN must be * specified.

  • Currently, cross account referencing of Amazon * Web Services Systems Manager Parameter Store parameter is not supported.

    *
*/ inline void SetRuntimeEnvironmentSecrets(Aws::Map&& value) { m_runtimeEnvironmentSecretsHasBeenSet = true; m_runtimeEnvironmentSecrets = std::move(value); } /** *

An array of key-value pairs representing the secrets and parameters that get * referenced to your service as an environment variable. The supported values are * either the full Amazon Resource Name (ARN) of the Secrets Manager secret or the * full ARN of the parameter in the Amazon Web Services Systems Manager Parameter * Store.

  • If the Amazon Web Services Systems Manager * Parameter Store parameter exists in the same Amazon Web Services Region as the * service that you're launching, you can use either the full ARN or name of the * secret. If the parameter exists in a different Region, then the full ARN must be * specified.

  • Currently, cross account referencing of Amazon * Web Services Systems Manager Parameter Store parameter is not supported.

    *
*/ inline CodeConfigurationValues& WithRuntimeEnvironmentSecrets(const Aws::Map& value) { SetRuntimeEnvironmentSecrets(value); return *this;} /** *

An array of key-value pairs representing the secrets and parameters that get * referenced to your service as an environment variable. The supported values are * either the full Amazon Resource Name (ARN) of the Secrets Manager secret or the * full ARN of the parameter in the Amazon Web Services Systems Manager Parameter * Store.

  • If the Amazon Web Services Systems Manager * Parameter Store parameter exists in the same Amazon Web Services Region as the * service that you're launching, you can use either the full ARN or name of the * secret. If the parameter exists in a different Region, then the full ARN must be * specified.

  • Currently, cross account referencing of Amazon * Web Services Systems Manager Parameter Store parameter is not supported.

    *
*/ inline CodeConfigurationValues& WithRuntimeEnvironmentSecrets(Aws::Map&& value) { SetRuntimeEnvironmentSecrets(std::move(value)); return *this;} /** *

An array of key-value pairs representing the secrets and parameters that get * referenced to your service as an environment variable. The supported values are * either the full Amazon Resource Name (ARN) of the Secrets Manager secret or the * full ARN of the parameter in the Amazon Web Services Systems Manager Parameter * Store.

  • If the Amazon Web Services Systems Manager * Parameter Store parameter exists in the same Amazon Web Services Region as the * service that you're launching, you can use either the full ARN or name of the * secret. If the parameter exists in a different Region, then the full ARN must be * specified.

  • Currently, cross account referencing of Amazon * Web Services Systems Manager Parameter Store parameter is not supported.

    *
*/ inline CodeConfigurationValues& AddRuntimeEnvironmentSecrets(const Aws::String& key, const Aws::String& value) { m_runtimeEnvironmentSecretsHasBeenSet = true; m_runtimeEnvironmentSecrets.emplace(key, value); return *this; } /** *

An array of key-value pairs representing the secrets and parameters that get * referenced to your service as an environment variable. The supported values are * either the full Amazon Resource Name (ARN) of the Secrets Manager secret or the * full ARN of the parameter in the Amazon Web Services Systems Manager Parameter * Store.

  • If the Amazon Web Services Systems Manager * Parameter Store parameter exists in the same Amazon Web Services Region as the * service that you're launching, you can use either the full ARN or name of the * secret. If the parameter exists in a different Region, then the full ARN must be * specified.

  • Currently, cross account referencing of Amazon * Web Services Systems Manager Parameter Store parameter is not supported.

    *
*/ inline CodeConfigurationValues& AddRuntimeEnvironmentSecrets(Aws::String&& key, const Aws::String& value) { m_runtimeEnvironmentSecretsHasBeenSet = true; m_runtimeEnvironmentSecrets.emplace(std::move(key), value); return *this; } /** *

An array of key-value pairs representing the secrets and parameters that get * referenced to your service as an environment variable. The supported values are * either the full Amazon Resource Name (ARN) of the Secrets Manager secret or the * full ARN of the parameter in the Amazon Web Services Systems Manager Parameter * Store.

  • If the Amazon Web Services Systems Manager * Parameter Store parameter exists in the same Amazon Web Services Region as the * service that you're launching, you can use either the full ARN or name of the * secret. If the parameter exists in a different Region, then the full ARN must be * specified.

  • Currently, cross account referencing of Amazon * Web Services Systems Manager Parameter Store parameter is not supported.

    *
*/ inline CodeConfigurationValues& AddRuntimeEnvironmentSecrets(const Aws::String& key, Aws::String&& value) { m_runtimeEnvironmentSecretsHasBeenSet = true; m_runtimeEnvironmentSecrets.emplace(key, std::move(value)); return *this; } /** *

An array of key-value pairs representing the secrets and parameters that get * referenced to your service as an environment variable. The supported values are * either the full Amazon Resource Name (ARN) of the Secrets Manager secret or the * full ARN of the parameter in the Amazon Web Services Systems Manager Parameter * Store.

  • If the Amazon Web Services Systems Manager * Parameter Store parameter exists in the same Amazon Web Services Region as the * service that you're launching, you can use either the full ARN or name of the * secret. If the parameter exists in a different Region, then the full ARN must be * specified.

  • Currently, cross account referencing of Amazon * Web Services Systems Manager Parameter Store parameter is not supported.

    *
*/ inline CodeConfigurationValues& AddRuntimeEnvironmentSecrets(Aws::String&& key, Aws::String&& value) { m_runtimeEnvironmentSecretsHasBeenSet = true; m_runtimeEnvironmentSecrets.emplace(std::move(key), std::move(value)); return *this; } /** *

An array of key-value pairs representing the secrets and parameters that get * referenced to your service as an environment variable. The supported values are * either the full Amazon Resource Name (ARN) of the Secrets Manager secret or the * full ARN of the parameter in the Amazon Web Services Systems Manager Parameter * Store.

  • If the Amazon Web Services Systems Manager * Parameter Store parameter exists in the same Amazon Web Services Region as the * service that you're launching, you can use either the full ARN or name of the * secret. If the parameter exists in a different Region, then the full ARN must be * specified.

  • Currently, cross account referencing of Amazon * Web Services Systems Manager Parameter Store parameter is not supported.

    *
*/ inline CodeConfigurationValues& AddRuntimeEnvironmentSecrets(const char* key, Aws::String&& value) { m_runtimeEnvironmentSecretsHasBeenSet = true; m_runtimeEnvironmentSecrets.emplace(key, std::move(value)); return *this; } /** *

An array of key-value pairs representing the secrets and parameters that get * referenced to your service as an environment variable. The supported values are * either the full Amazon Resource Name (ARN) of the Secrets Manager secret or the * full ARN of the parameter in the Amazon Web Services Systems Manager Parameter * Store.

  • If the Amazon Web Services Systems Manager * Parameter Store parameter exists in the same Amazon Web Services Region as the * service that you're launching, you can use either the full ARN or name of the * secret. If the parameter exists in a different Region, then the full ARN must be * specified.

  • Currently, cross account referencing of Amazon * Web Services Systems Manager Parameter Store parameter is not supported.

    *
*/ inline CodeConfigurationValues& AddRuntimeEnvironmentSecrets(Aws::String&& key, const char* value) { m_runtimeEnvironmentSecretsHasBeenSet = true; m_runtimeEnvironmentSecrets.emplace(std::move(key), value); return *this; } /** *

An array of key-value pairs representing the secrets and parameters that get * referenced to your service as an environment variable. The supported values are * either the full Amazon Resource Name (ARN) of the Secrets Manager secret or the * full ARN of the parameter in the Amazon Web Services Systems Manager Parameter * Store.

  • If the Amazon Web Services Systems Manager * Parameter Store parameter exists in the same Amazon Web Services Region as the * service that you're launching, you can use either the full ARN or name of the * secret. If the parameter exists in a different Region, then the full ARN must be * specified.

  • Currently, cross account referencing of Amazon * Web Services Systems Manager Parameter Store parameter is not supported.

    *
*/ inline CodeConfigurationValues& AddRuntimeEnvironmentSecrets(const char* key, const char* value) { m_runtimeEnvironmentSecretsHasBeenSet = true; m_runtimeEnvironmentSecrets.emplace(key, value); return *this; } private: Runtime m_runtime; bool m_runtimeHasBeenSet = false; Aws::String m_buildCommand; bool m_buildCommandHasBeenSet = false; Aws::String m_startCommand; bool m_startCommandHasBeenSet = false; Aws::String m_port; bool m_portHasBeenSet = false; Aws::Map m_runtimeEnvironmentVariables; bool m_runtimeEnvironmentVariablesHasBeenSet = false; Aws::Map m_runtimeEnvironmentSecrets; bool m_runtimeEnvironmentSecretsHasBeenSet = false; }; } // namespace Model } // namespace AppRunner } // namespace Aws