1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/greengrass/Greengrass_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSString.h> 9 #include <aws/greengrass/model/GroupOwnerSetting.h> 10 #include <utility> 11 12 namespace Aws 13 { 14 namespace Utils 15 { 16 namespace Json 17 { 18 class JsonValue; 19 class JsonView; 20 } // namespace Json 21 } // namespace Utils 22 namespace Greengrass 23 { 24 namespace Model 25 { 26 27 /** 28 * Attributes that define a local volume resource.<p><h3>See Also:</h3> <a 29 * href="http://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/LocalVolumeResourceData">AWS 30 * API Reference</a></p> 31 */ 32 class AWS_GREENGRASS_API LocalVolumeResourceData 33 { 34 public: 35 LocalVolumeResourceData(); 36 LocalVolumeResourceData(Aws::Utils::Json::JsonView jsonValue); 37 LocalVolumeResourceData& operator=(Aws::Utils::Json::JsonView jsonValue); 38 Aws::Utils::Json::JsonValue Jsonize() const; 39 40 41 /** 42 * The absolute local path of the resource inside the Lambda environment. 43 */ GetDestinationPath()44 inline const Aws::String& GetDestinationPath() const{ return m_destinationPath; } 45 46 /** 47 * The absolute local path of the resource inside the Lambda environment. 48 */ DestinationPathHasBeenSet()49 inline bool DestinationPathHasBeenSet() const { return m_destinationPathHasBeenSet; } 50 51 /** 52 * The absolute local path of the resource inside the Lambda environment. 53 */ SetDestinationPath(const Aws::String & value)54 inline void SetDestinationPath(const Aws::String& value) { m_destinationPathHasBeenSet = true; m_destinationPath = value; } 55 56 /** 57 * The absolute local path of the resource inside the Lambda environment. 58 */ SetDestinationPath(Aws::String && value)59 inline void SetDestinationPath(Aws::String&& value) { m_destinationPathHasBeenSet = true; m_destinationPath = std::move(value); } 60 61 /** 62 * The absolute local path of the resource inside the Lambda environment. 63 */ SetDestinationPath(const char * value)64 inline void SetDestinationPath(const char* value) { m_destinationPathHasBeenSet = true; m_destinationPath.assign(value); } 65 66 /** 67 * The absolute local path of the resource inside the Lambda environment. 68 */ WithDestinationPath(const Aws::String & value)69 inline LocalVolumeResourceData& WithDestinationPath(const Aws::String& value) { SetDestinationPath(value); return *this;} 70 71 /** 72 * The absolute local path of the resource inside the Lambda environment. 73 */ WithDestinationPath(Aws::String && value)74 inline LocalVolumeResourceData& WithDestinationPath(Aws::String&& value) { SetDestinationPath(std::move(value)); return *this;} 75 76 /** 77 * The absolute local path of the resource inside the Lambda environment. 78 */ WithDestinationPath(const char * value)79 inline LocalVolumeResourceData& WithDestinationPath(const char* value) { SetDestinationPath(value); return *this;} 80 81 82 /** 83 * Allows you to configure additional group privileges for the Lambda process. This 84 * field is optional. 85 */ GetGroupOwnerSetting()86 inline const GroupOwnerSetting& GetGroupOwnerSetting() const{ return m_groupOwnerSetting; } 87 88 /** 89 * Allows you to configure additional group privileges for the Lambda process. This 90 * field is optional. 91 */ GroupOwnerSettingHasBeenSet()92 inline bool GroupOwnerSettingHasBeenSet() const { return m_groupOwnerSettingHasBeenSet; } 93 94 /** 95 * Allows you to configure additional group privileges for the Lambda process. This 96 * field is optional. 97 */ SetGroupOwnerSetting(const GroupOwnerSetting & value)98 inline void SetGroupOwnerSetting(const GroupOwnerSetting& value) { m_groupOwnerSettingHasBeenSet = true; m_groupOwnerSetting = value; } 99 100 /** 101 * Allows you to configure additional group privileges for the Lambda process. This 102 * field is optional. 103 */ SetGroupOwnerSetting(GroupOwnerSetting && value)104 inline void SetGroupOwnerSetting(GroupOwnerSetting&& value) { m_groupOwnerSettingHasBeenSet = true; m_groupOwnerSetting = std::move(value); } 105 106 /** 107 * Allows you to configure additional group privileges for the Lambda process. This 108 * field is optional. 109 */ WithGroupOwnerSetting(const GroupOwnerSetting & value)110 inline LocalVolumeResourceData& WithGroupOwnerSetting(const GroupOwnerSetting& value) { SetGroupOwnerSetting(value); return *this;} 111 112 /** 113 * Allows you to configure additional group privileges for the Lambda process. This 114 * field is optional. 115 */ WithGroupOwnerSetting(GroupOwnerSetting && value)116 inline LocalVolumeResourceData& WithGroupOwnerSetting(GroupOwnerSetting&& value) { SetGroupOwnerSetting(std::move(value)); return *this;} 117 118 119 /** 120 * The local absolute path of the volume resource on the host. The source path for 121 * a volume resource type cannot start with ''/sys''. 122 */ GetSourcePath()123 inline const Aws::String& GetSourcePath() const{ return m_sourcePath; } 124 125 /** 126 * The local absolute path of the volume resource on the host. The source path for 127 * a volume resource type cannot start with ''/sys''. 128 */ SourcePathHasBeenSet()129 inline bool SourcePathHasBeenSet() const { return m_sourcePathHasBeenSet; } 130 131 /** 132 * The local absolute path of the volume resource on the host. The source path for 133 * a volume resource type cannot start with ''/sys''. 134 */ SetSourcePath(const Aws::String & value)135 inline void SetSourcePath(const Aws::String& value) { m_sourcePathHasBeenSet = true; m_sourcePath = value; } 136 137 /** 138 * The local absolute path of the volume resource on the host. The source path for 139 * a volume resource type cannot start with ''/sys''. 140 */ SetSourcePath(Aws::String && value)141 inline void SetSourcePath(Aws::String&& value) { m_sourcePathHasBeenSet = true; m_sourcePath = std::move(value); } 142 143 /** 144 * The local absolute path of the volume resource on the host. The source path for 145 * a volume resource type cannot start with ''/sys''. 146 */ SetSourcePath(const char * value)147 inline void SetSourcePath(const char* value) { m_sourcePathHasBeenSet = true; m_sourcePath.assign(value); } 148 149 /** 150 * The local absolute path of the volume resource on the host. The source path for 151 * a volume resource type cannot start with ''/sys''. 152 */ WithSourcePath(const Aws::String & value)153 inline LocalVolumeResourceData& WithSourcePath(const Aws::String& value) { SetSourcePath(value); return *this;} 154 155 /** 156 * The local absolute path of the volume resource on the host. The source path for 157 * a volume resource type cannot start with ''/sys''. 158 */ WithSourcePath(Aws::String && value)159 inline LocalVolumeResourceData& WithSourcePath(Aws::String&& value) { SetSourcePath(std::move(value)); return *this;} 160 161 /** 162 * The local absolute path of the volume resource on the host. The source path for 163 * a volume resource type cannot start with ''/sys''. 164 */ WithSourcePath(const char * value)165 inline LocalVolumeResourceData& WithSourcePath(const char* value) { SetSourcePath(value); return *this;} 166 167 private: 168 169 Aws::String m_destinationPath; 170 bool m_destinationPathHasBeenSet; 171 172 GroupOwnerSetting m_groupOwnerSetting; 173 bool m_groupOwnerSettingHasBeenSet; 174 175 Aws::String m_sourcePath; 176 bool m_sourcePathHasBeenSet; 177 }; 178 179 } // namespace Model 180 } // namespace Greengrass 181 } // namespace Aws 182