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

Describes the configuration that App Runner uses to run an App Runner service * using an image pulled from a source image repository.

See Also:

* AWS * API Reference

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

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; } /** *

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

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

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; } /** *

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); } /** *

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

An optional command that App Runner runs to start the application in the * source image. If specified, this command overrides the Docker image’s default * start command.

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

An optional command that App Runner runs to start the application in the * source image. If specified, this command overrides the Docker image’s default * start command.

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

An optional command that App Runner runs to start the application in the * source image. If specified, this command overrides the Docker image’s default * start command.

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

An optional command that App Runner runs to start the application in the * source image. If specified, this command overrides the Docker image’s default * start command.

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

An optional command that App Runner runs to start the application in the * source image. If specified, this command overrides the Docker image’s default * start command.

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

An optional command that App Runner runs to start the application in the * source image. If specified, this command overrides the Docker image’s default * start command.

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

An optional command that App Runner runs to start the application in the * source image. If specified, this command overrides the Docker image’s default * start command.

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

An optional command that App Runner runs to start the application in the * source image. If specified, this command overrides the Docker image’s default * start command.

*/ inline ImageConfiguration& 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 ImageConfiguration& WithPort(const Aws::String& value) { SetPort(value); return *this;} /** *

The port that your application listens to in the container.

Default: * 8080

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

The port that your application listens to in the container.

Default: * 8080

*/ inline ImageConfiguration& WithPort(const char* value) { SetPort(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 ImageConfiguration& 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 ImageConfiguration& 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 ImageConfiguration& 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 ImageConfiguration& 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 ImageConfiguration& 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 ImageConfiguration& 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 ImageConfiguration& 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 ImageConfiguration& 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 ImageConfiguration& AddRuntimeEnvironmentSecrets(const char* key, const char* value) { m_runtimeEnvironmentSecretsHasBeenSet = true; m_runtimeEnvironmentSecrets.emplace(key, value); return *this; } private: Aws::Map m_runtimeEnvironmentVariables; bool m_runtimeEnvironmentVariablesHasBeenSet = false; Aws::String m_startCommand; bool m_startCommandHasBeenSet = false; Aws::String m_port; bool m_portHasBeenSet = false; Aws::Map m_runtimeEnvironmentSecrets; bool m_runtimeEnvironmentSecretsHasBeenSet = false; }; } // namespace Model } // namespace AppRunner } // namespace Aws