/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Contains information system user and group that the IoT Greengrass Core
* software uses to run component processes on the core device. For more
* information, see Configure
* the user and group that run components in the IoT Greengrass V2 Developer
* Guide.See Also:
AWS
* API Reference
The POSIX system user and, optionally, group to use to run this component on
* Linux core devices. The user, and group if specified, must exist on each Linux
* core device. Specify the user and group separated by a colon (:
) in
* the following format: user:group
. The group is optional. If you
* don't specify a group, the IoT Greengrass Core software uses the primary user
* for the group.
If you omit this parameter, the IoT Greengrass Core * software uses the default system user and group that you configure on the * Greengrass nucleus component. For more information, see Configure * the user and group that run components.
*/ inline const Aws::String& GetPosixUser() const{ return m_posixUser; } /** *The POSIX system user and, optionally, group to use to run this component on
* Linux core devices. The user, and group if specified, must exist on each Linux
* core device. Specify the user and group separated by a colon (:
) in
* the following format: user:group
. The group is optional. If you
* don't specify a group, the IoT Greengrass Core software uses the primary user
* for the group.
If you omit this parameter, the IoT Greengrass Core * software uses the default system user and group that you configure on the * Greengrass nucleus component. For more information, see Configure * the user and group that run components.
*/ inline bool PosixUserHasBeenSet() const { return m_posixUserHasBeenSet; } /** *The POSIX system user and, optionally, group to use to run this component on
* Linux core devices. The user, and group if specified, must exist on each Linux
* core device. Specify the user and group separated by a colon (:
) in
* the following format: user:group
. The group is optional. If you
* don't specify a group, the IoT Greengrass Core software uses the primary user
* for the group.
If you omit this parameter, the IoT Greengrass Core * software uses the default system user and group that you configure on the * Greengrass nucleus component. For more information, see Configure * the user and group that run components.
*/ inline void SetPosixUser(const Aws::String& value) { m_posixUserHasBeenSet = true; m_posixUser = value; } /** *The POSIX system user and, optionally, group to use to run this component on
* Linux core devices. The user, and group if specified, must exist on each Linux
* core device. Specify the user and group separated by a colon (:
) in
* the following format: user:group
. The group is optional. If you
* don't specify a group, the IoT Greengrass Core software uses the primary user
* for the group.
If you omit this parameter, the IoT Greengrass Core * software uses the default system user and group that you configure on the * Greengrass nucleus component. For more information, see Configure * the user and group that run components.
*/ inline void SetPosixUser(Aws::String&& value) { m_posixUserHasBeenSet = true; m_posixUser = std::move(value); } /** *The POSIX system user and, optionally, group to use to run this component on
* Linux core devices. The user, and group if specified, must exist on each Linux
* core device. Specify the user and group separated by a colon (:
) in
* the following format: user:group
. The group is optional. If you
* don't specify a group, the IoT Greengrass Core software uses the primary user
* for the group.
If you omit this parameter, the IoT Greengrass Core * software uses the default system user and group that you configure on the * Greengrass nucleus component. For more information, see Configure * the user and group that run components.
*/ inline void SetPosixUser(const char* value) { m_posixUserHasBeenSet = true; m_posixUser.assign(value); } /** *The POSIX system user and, optionally, group to use to run this component on
* Linux core devices. The user, and group if specified, must exist on each Linux
* core device. Specify the user and group separated by a colon (:
) in
* the following format: user:group
. The group is optional. If you
* don't specify a group, the IoT Greengrass Core software uses the primary user
* for the group.
If you omit this parameter, the IoT Greengrass Core * software uses the default system user and group that you configure on the * Greengrass nucleus component. For more information, see Configure * the user and group that run components.
*/ inline ComponentRunWith& WithPosixUser(const Aws::String& value) { SetPosixUser(value); return *this;} /** *The POSIX system user and, optionally, group to use to run this component on
* Linux core devices. The user, and group if specified, must exist on each Linux
* core device. Specify the user and group separated by a colon (:
) in
* the following format: user:group
. The group is optional. If you
* don't specify a group, the IoT Greengrass Core software uses the primary user
* for the group.
If you omit this parameter, the IoT Greengrass Core * software uses the default system user and group that you configure on the * Greengrass nucleus component. For more information, see Configure * the user and group that run components.
*/ inline ComponentRunWith& WithPosixUser(Aws::String&& value) { SetPosixUser(std::move(value)); return *this;} /** *The POSIX system user and, optionally, group to use to run this component on
* Linux core devices. The user, and group if specified, must exist on each Linux
* core device. Specify the user and group separated by a colon (:
) in
* the following format: user:group
. The group is optional. If you
* don't specify a group, the IoT Greengrass Core software uses the primary user
* for the group.
If you omit this parameter, the IoT Greengrass Core * software uses the default system user and group that you configure on the * Greengrass nucleus component. For more information, see Configure * the user and group that run components.
*/ inline ComponentRunWith& WithPosixUser(const char* value) { SetPosixUser(value); return *this;} /** *The system resource limits to apply to this component's process on the core * device. IoT Greengrass currently supports this feature on only Linux core * devices.
If you omit this parameter, the IoT Greengrass Core software * uses the default system resource limits that you configure on the Greengrass * nucleus component. For more information, see Configure * system resource limits for components.
*/ inline const SystemResourceLimits& GetSystemResourceLimits() const{ return m_systemResourceLimits; } /** *The system resource limits to apply to this component's process on the core * device. IoT Greengrass currently supports this feature on only Linux core * devices.
If you omit this parameter, the IoT Greengrass Core software * uses the default system resource limits that you configure on the Greengrass * nucleus component. For more information, see Configure * system resource limits for components.
*/ inline bool SystemResourceLimitsHasBeenSet() const { return m_systemResourceLimitsHasBeenSet; } /** *The system resource limits to apply to this component's process on the core * device. IoT Greengrass currently supports this feature on only Linux core * devices.
If you omit this parameter, the IoT Greengrass Core software * uses the default system resource limits that you configure on the Greengrass * nucleus component. For more information, see Configure * system resource limits for components.
*/ inline void SetSystemResourceLimits(const SystemResourceLimits& value) { m_systemResourceLimitsHasBeenSet = true; m_systemResourceLimits = value; } /** *The system resource limits to apply to this component's process on the core * device. IoT Greengrass currently supports this feature on only Linux core * devices.
If you omit this parameter, the IoT Greengrass Core software * uses the default system resource limits that you configure on the Greengrass * nucleus component. For more information, see Configure * system resource limits for components.
*/ inline void SetSystemResourceLimits(SystemResourceLimits&& value) { m_systemResourceLimitsHasBeenSet = true; m_systemResourceLimits = std::move(value); } /** *The system resource limits to apply to this component's process on the core * device. IoT Greengrass currently supports this feature on only Linux core * devices.
If you omit this parameter, the IoT Greengrass Core software * uses the default system resource limits that you configure on the Greengrass * nucleus component. For more information, see Configure * system resource limits for components.
*/ inline ComponentRunWith& WithSystemResourceLimits(const SystemResourceLimits& value) { SetSystemResourceLimits(value); return *this;} /** *The system resource limits to apply to this component's process on the core * device. IoT Greengrass currently supports this feature on only Linux core * devices.
If you omit this parameter, the IoT Greengrass Core software * uses the default system resource limits that you configure on the Greengrass * nucleus component. For more information, see Configure * system resource limits for components.
*/ inline ComponentRunWith& WithSystemResourceLimits(SystemResourceLimits&& value) { SetSystemResourceLimits(std::move(value)); return *this;} /** *The Windows user to use to run this component on Windows core devices. The * user must exist on each Windows core device, and its name and password must be * in the LocalSystem account's Credentials Manager instance.
If you omit * this parameter, the IoT Greengrass Core software uses the default Windows user * that you configure on the Greengrass nucleus component. For more information, * see Configure * the user and group that run components.
*/ inline const Aws::String& GetWindowsUser() const{ return m_windowsUser; } /** *The Windows user to use to run this component on Windows core devices. The * user must exist on each Windows core device, and its name and password must be * in the LocalSystem account's Credentials Manager instance.
If you omit * this parameter, the IoT Greengrass Core software uses the default Windows user * that you configure on the Greengrass nucleus component. For more information, * see Configure * the user and group that run components.
*/ inline bool WindowsUserHasBeenSet() const { return m_windowsUserHasBeenSet; } /** *The Windows user to use to run this component on Windows core devices. The * user must exist on each Windows core device, and its name and password must be * in the LocalSystem account's Credentials Manager instance.
If you omit * this parameter, the IoT Greengrass Core software uses the default Windows user * that you configure on the Greengrass nucleus component. For more information, * see Configure * the user and group that run components.
*/ inline void SetWindowsUser(const Aws::String& value) { m_windowsUserHasBeenSet = true; m_windowsUser = value; } /** *The Windows user to use to run this component on Windows core devices. The * user must exist on each Windows core device, and its name and password must be * in the LocalSystem account's Credentials Manager instance.
If you omit * this parameter, the IoT Greengrass Core software uses the default Windows user * that you configure on the Greengrass nucleus component. For more information, * see Configure * the user and group that run components.
*/ inline void SetWindowsUser(Aws::String&& value) { m_windowsUserHasBeenSet = true; m_windowsUser = std::move(value); } /** *The Windows user to use to run this component on Windows core devices. The * user must exist on each Windows core device, and its name and password must be * in the LocalSystem account's Credentials Manager instance.
If you omit * this parameter, the IoT Greengrass Core software uses the default Windows user * that you configure on the Greengrass nucleus component. For more information, * see Configure * the user and group that run components.
*/ inline void SetWindowsUser(const char* value) { m_windowsUserHasBeenSet = true; m_windowsUser.assign(value); } /** *The Windows user to use to run this component on Windows core devices. The * user must exist on each Windows core device, and its name and password must be * in the LocalSystem account's Credentials Manager instance.
If you omit * this parameter, the IoT Greengrass Core software uses the default Windows user * that you configure on the Greengrass nucleus component. For more information, * see Configure * the user and group that run components.
*/ inline ComponentRunWith& WithWindowsUser(const Aws::String& value) { SetWindowsUser(value); return *this;} /** *The Windows user to use to run this component on Windows core devices. The * user must exist on each Windows core device, and its name and password must be * in the LocalSystem account's Credentials Manager instance.
If you omit * this parameter, the IoT Greengrass Core software uses the default Windows user * that you configure on the Greengrass nucleus component. For more information, * see Configure * the user and group that run components.
*/ inline ComponentRunWith& WithWindowsUser(Aws::String&& value) { SetWindowsUser(std::move(value)); return *this;} /** *The Windows user to use to run this component on Windows core devices. The * user must exist on each Windows core device, and its name and password must be * in the LocalSystem account's Credentials Manager instance.
If you omit * this parameter, the IoT Greengrass Core software uses the default Windows user * that you configure on the Greengrass nucleus component. For more information, * see Configure * the user and group that run components.
*/ inline ComponentRunWith& WithWindowsUser(const char* value) { SetWindowsUser(value); return *this;} private: Aws::String m_posixUser; bool m_posixUserHasBeenSet = false; SystemResourceLimits m_systemResourceLimits; bool m_systemResourceLimitsHasBeenSet = false; Aws::String m_windowsUser; bool m_windowsUserHasBeenSet = false; }; } // namespace Model } // namespace GreengrassV2 } // namespace Aws