/**
* 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 Lambda
{
namespace Model
{
/**
* Configuration values that override the container image Dockerfile settings.
* For more information, see Container
* image settings.
See Also:
AWS
* API Reference
*/
class ImageConfig
{
public:
AWS_LAMBDA_API ImageConfig();
AWS_LAMBDA_API ImageConfig(Aws::Utils::Json::JsonView jsonValue);
AWS_LAMBDA_API ImageConfig& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_LAMBDA_API Aws::Utils::Json::JsonValue Jsonize() const;
///@{
/**
* Specifies the entry point to their application, which is typically the
* location of the runtime executable.
*/
inline const Aws::Vector& GetEntryPoint() const{ return m_entryPoint; }
inline bool EntryPointHasBeenSet() const { return m_entryPointHasBeenSet; }
inline void SetEntryPoint(const Aws::Vector& value) { m_entryPointHasBeenSet = true; m_entryPoint = value; }
inline void SetEntryPoint(Aws::Vector&& value) { m_entryPointHasBeenSet = true; m_entryPoint = std::move(value); }
inline ImageConfig& WithEntryPoint(const Aws::Vector& value) { SetEntryPoint(value); return *this;}
inline ImageConfig& WithEntryPoint(Aws::Vector&& value) { SetEntryPoint(std::move(value)); return *this;}
inline ImageConfig& AddEntryPoint(const Aws::String& value) { m_entryPointHasBeenSet = true; m_entryPoint.push_back(value); return *this; }
inline ImageConfig& AddEntryPoint(Aws::String&& value) { m_entryPointHasBeenSet = true; m_entryPoint.push_back(std::move(value)); return *this; }
inline ImageConfig& AddEntryPoint(const char* value) { m_entryPointHasBeenSet = true; m_entryPoint.push_back(value); return *this; }
///@}
///@{
/**
* Specifies parameters that you want to pass in with ENTRYPOINT.
*/
inline const Aws::Vector& GetCommand() const{ return m_command; }
inline bool CommandHasBeenSet() const { return m_commandHasBeenSet; }
inline void SetCommand(const Aws::Vector& value) { m_commandHasBeenSet = true; m_command = value; }
inline void SetCommand(Aws::Vector&& value) { m_commandHasBeenSet = true; m_command = std::move(value); }
inline ImageConfig& WithCommand(const Aws::Vector& value) { SetCommand(value); return *this;}
inline ImageConfig& WithCommand(Aws::Vector&& value) { SetCommand(std::move(value)); return *this;}
inline ImageConfig& AddCommand(const Aws::String& value) { m_commandHasBeenSet = true; m_command.push_back(value); return *this; }
inline ImageConfig& AddCommand(Aws::String&& value) { m_commandHasBeenSet = true; m_command.push_back(std::move(value)); return *this; }
inline ImageConfig& AddCommand(const char* value) { m_commandHasBeenSet = true; m_command.push_back(value); return *this; }
///@}
///@{
/**
* Specifies the working directory.
*/
inline const Aws::String& GetWorkingDirectory() const{ return m_workingDirectory; }
inline bool WorkingDirectoryHasBeenSet() const { return m_workingDirectoryHasBeenSet; }
inline void SetWorkingDirectory(const Aws::String& value) { m_workingDirectoryHasBeenSet = true; m_workingDirectory = value; }
inline void SetWorkingDirectory(Aws::String&& value) { m_workingDirectoryHasBeenSet = true; m_workingDirectory = std::move(value); }
inline void SetWorkingDirectory(const char* value) { m_workingDirectoryHasBeenSet = true; m_workingDirectory.assign(value); }
inline ImageConfig& WithWorkingDirectory(const Aws::String& value) { SetWorkingDirectory(value); return *this;}
inline ImageConfig& WithWorkingDirectory(Aws::String&& value) { SetWorkingDirectory(std::move(value)); return *this;}
inline ImageConfig& WithWorkingDirectory(const char* value) { SetWorkingDirectory(value); return *this;}
///@}
private:
Aws::Vector m_entryPoint;
bool m_entryPointHasBeenSet = false;
Aws::Vector m_command;
bool m_commandHasBeenSet = false;
Aws::String m_workingDirectory;
bool m_workingDirectoryHasBeenSet = false;
};
} // namespace Model
} // namespace Lambda
} // namespace Aws