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/workspaces/WorkSpaces_EXPORTS.h> 8 #include <aws/workspaces/WorkSpacesRequest.h> 9 #include <aws/core/utils/memory/stl/AWSString.h> 10 #include <aws/workspaces/model/WorkspaceImageIngestionProcess.h> 11 #include <aws/core/utils/memory/stl/AWSVector.h> 12 #include <aws/workspaces/model/Tag.h> 13 #include <aws/workspaces/model/Application.h> 14 #include <utility> 15 16 namespace Aws 17 { 18 namespace WorkSpaces 19 { 20 namespace Model 21 { 22 23 /** 24 */ 25 class AWS_WORKSPACES_API ImportWorkspaceImageRequest : public WorkSpacesRequest 26 { 27 public: 28 ImportWorkspaceImageRequest(); 29 30 // Service request name is the Operation name which will send this request out, 31 // each operation should has unique request name, so that we can get operation's name from this request. 32 // Note: this is not true for response, multiple operations may have the same response name, 33 // so we can not get operation's name from response. GetServiceRequestName()34 inline virtual const char* GetServiceRequestName() const override { return "ImportWorkspaceImage"; } 35 36 Aws::String SerializePayload() const override; 37 38 Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; 39 40 41 /** 42 * <p>The identifier of the EC2 image.</p> 43 */ GetEc2ImageId()44 inline const Aws::String& GetEc2ImageId() const{ return m_ec2ImageId; } 45 46 /** 47 * <p>The identifier of the EC2 image.</p> 48 */ Ec2ImageIdHasBeenSet()49 inline bool Ec2ImageIdHasBeenSet() const { return m_ec2ImageIdHasBeenSet; } 50 51 /** 52 * <p>The identifier of the EC2 image.</p> 53 */ SetEc2ImageId(const Aws::String & value)54 inline void SetEc2ImageId(const Aws::String& value) { m_ec2ImageIdHasBeenSet = true; m_ec2ImageId = value; } 55 56 /** 57 * <p>The identifier of the EC2 image.</p> 58 */ SetEc2ImageId(Aws::String && value)59 inline void SetEc2ImageId(Aws::String&& value) { m_ec2ImageIdHasBeenSet = true; m_ec2ImageId = std::move(value); } 60 61 /** 62 * <p>The identifier of the EC2 image.</p> 63 */ SetEc2ImageId(const char * value)64 inline void SetEc2ImageId(const char* value) { m_ec2ImageIdHasBeenSet = true; m_ec2ImageId.assign(value); } 65 66 /** 67 * <p>The identifier of the EC2 image.</p> 68 */ WithEc2ImageId(const Aws::String & value)69 inline ImportWorkspaceImageRequest& WithEc2ImageId(const Aws::String& value) { SetEc2ImageId(value); return *this;} 70 71 /** 72 * <p>The identifier of the EC2 image.</p> 73 */ WithEc2ImageId(Aws::String && value)74 inline ImportWorkspaceImageRequest& WithEc2ImageId(Aws::String&& value) { SetEc2ImageId(std::move(value)); return *this;} 75 76 /** 77 * <p>The identifier of the EC2 image.</p> 78 */ WithEc2ImageId(const char * value)79 inline ImportWorkspaceImageRequest& WithEc2ImageId(const char* value) { SetEc2ImageId(value); return *this;} 80 81 82 /** 83 * <p>The ingestion process to be used when importing the image, depending on which 84 * protocol you want to use for your BYOL Workspace image, either PCoIP or 85 * WorkSpaces Streaming Protocol (WSP). To use WSP, specify a value that ends in 86 * <code>_WSP</code>. To use PCoIP, specify a value that does not end in 87 * <code>_WSP</code>. </p> <p>For non-GPU-enabled bundles (bundles other than 88 * Graphics or GraphicsPro), specify <code>BYOL_REGULAR</code> or 89 * <code>BYOL_REGULAR_WSP</code>, depending on the protocol.</p> 90 */ GetIngestionProcess()91 inline const WorkspaceImageIngestionProcess& GetIngestionProcess() const{ return m_ingestionProcess; } 92 93 /** 94 * <p>The ingestion process to be used when importing the image, depending on which 95 * protocol you want to use for your BYOL Workspace image, either PCoIP or 96 * WorkSpaces Streaming Protocol (WSP). To use WSP, specify a value that ends in 97 * <code>_WSP</code>. To use PCoIP, specify a value that does not end in 98 * <code>_WSP</code>. </p> <p>For non-GPU-enabled bundles (bundles other than 99 * Graphics or GraphicsPro), specify <code>BYOL_REGULAR</code> or 100 * <code>BYOL_REGULAR_WSP</code>, depending on the protocol.</p> 101 */ IngestionProcessHasBeenSet()102 inline bool IngestionProcessHasBeenSet() const { return m_ingestionProcessHasBeenSet; } 103 104 /** 105 * <p>The ingestion process to be used when importing the image, depending on which 106 * protocol you want to use for your BYOL Workspace image, either PCoIP or 107 * WorkSpaces Streaming Protocol (WSP). To use WSP, specify a value that ends in 108 * <code>_WSP</code>. To use PCoIP, specify a value that does not end in 109 * <code>_WSP</code>. </p> <p>For non-GPU-enabled bundles (bundles other than 110 * Graphics or GraphicsPro), specify <code>BYOL_REGULAR</code> or 111 * <code>BYOL_REGULAR_WSP</code>, depending on the protocol.</p> 112 */ SetIngestionProcess(const WorkspaceImageIngestionProcess & value)113 inline void SetIngestionProcess(const WorkspaceImageIngestionProcess& value) { m_ingestionProcessHasBeenSet = true; m_ingestionProcess = value; } 114 115 /** 116 * <p>The ingestion process to be used when importing the image, depending on which 117 * protocol you want to use for your BYOL Workspace image, either PCoIP or 118 * WorkSpaces Streaming Protocol (WSP). To use WSP, specify a value that ends in 119 * <code>_WSP</code>. To use PCoIP, specify a value that does not end in 120 * <code>_WSP</code>. </p> <p>For non-GPU-enabled bundles (bundles other than 121 * Graphics or GraphicsPro), specify <code>BYOL_REGULAR</code> or 122 * <code>BYOL_REGULAR_WSP</code>, depending on the protocol.</p> 123 */ SetIngestionProcess(WorkspaceImageIngestionProcess && value)124 inline void SetIngestionProcess(WorkspaceImageIngestionProcess&& value) { m_ingestionProcessHasBeenSet = true; m_ingestionProcess = std::move(value); } 125 126 /** 127 * <p>The ingestion process to be used when importing the image, depending on which 128 * protocol you want to use for your BYOL Workspace image, either PCoIP or 129 * WorkSpaces Streaming Protocol (WSP). To use WSP, specify a value that ends in 130 * <code>_WSP</code>. To use PCoIP, specify a value that does not end in 131 * <code>_WSP</code>. </p> <p>For non-GPU-enabled bundles (bundles other than 132 * Graphics or GraphicsPro), specify <code>BYOL_REGULAR</code> or 133 * <code>BYOL_REGULAR_WSP</code>, depending on the protocol.</p> 134 */ WithIngestionProcess(const WorkspaceImageIngestionProcess & value)135 inline ImportWorkspaceImageRequest& WithIngestionProcess(const WorkspaceImageIngestionProcess& value) { SetIngestionProcess(value); return *this;} 136 137 /** 138 * <p>The ingestion process to be used when importing the image, depending on which 139 * protocol you want to use for your BYOL Workspace image, either PCoIP or 140 * WorkSpaces Streaming Protocol (WSP). To use WSP, specify a value that ends in 141 * <code>_WSP</code>. To use PCoIP, specify a value that does not end in 142 * <code>_WSP</code>. </p> <p>For non-GPU-enabled bundles (bundles other than 143 * Graphics or GraphicsPro), specify <code>BYOL_REGULAR</code> or 144 * <code>BYOL_REGULAR_WSP</code>, depending on the protocol.</p> 145 */ WithIngestionProcess(WorkspaceImageIngestionProcess && value)146 inline ImportWorkspaceImageRequest& WithIngestionProcess(WorkspaceImageIngestionProcess&& value) { SetIngestionProcess(std::move(value)); return *this;} 147 148 149 /** 150 * <p>The name of the WorkSpace image.</p> 151 */ GetImageName()152 inline const Aws::String& GetImageName() const{ return m_imageName; } 153 154 /** 155 * <p>The name of the WorkSpace image.</p> 156 */ ImageNameHasBeenSet()157 inline bool ImageNameHasBeenSet() const { return m_imageNameHasBeenSet; } 158 159 /** 160 * <p>The name of the WorkSpace image.</p> 161 */ SetImageName(const Aws::String & value)162 inline void SetImageName(const Aws::String& value) { m_imageNameHasBeenSet = true; m_imageName = value; } 163 164 /** 165 * <p>The name of the WorkSpace image.</p> 166 */ SetImageName(Aws::String && value)167 inline void SetImageName(Aws::String&& value) { m_imageNameHasBeenSet = true; m_imageName = std::move(value); } 168 169 /** 170 * <p>The name of the WorkSpace image.</p> 171 */ SetImageName(const char * value)172 inline void SetImageName(const char* value) { m_imageNameHasBeenSet = true; m_imageName.assign(value); } 173 174 /** 175 * <p>The name of the WorkSpace image.</p> 176 */ WithImageName(const Aws::String & value)177 inline ImportWorkspaceImageRequest& WithImageName(const Aws::String& value) { SetImageName(value); return *this;} 178 179 /** 180 * <p>The name of the WorkSpace image.</p> 181 */ WithImageName(Aws::String && value)182 inline ImportWorkspaceImageRequest& WithImageName(Aws::String&& value) { SetImageName(std::move(value)); return *this;} 183 184 /** 185 * <p>The name of the WorkSpace image.</p> 186 */ WithImageName(const char * value)187 inline ImportWorkspaceImageRequest& WithImageName(const char* value) { SetImageName(value); return *this;} 188 189 190 /** 191 * <p>The description of the WorkSpace image.</p> 192 */ GetImageDescription()193 inline const Aws::String& GetImageDescription() const{ return m_imageDescription; } 194 195 /** 196 * <p>The description of the WorkSpace image.</p> 197 */ ImageDescriptionHasBeenSet()198 inline bool ImageDescriptionHasBeenSet() const { return m_imageDescriptionHasBeenSet; } 199 200 /** 201 * <p>The description of the WorkSpace image.</p> 202 */ SetImageDescription(const Aws::String & value)203 inline void SetImageDescription(const Aws::String& value) { m_imageDescriptionHasBeenSet = true; m_imageDescription = value; } 204 205 /** 206 * <p>The description of the WorkSpace image.</p> 207 */ SetImageDescription(Aws::String && value)208 inline void SetImageDescription(Aws::String&& value) { m_imageDescriptionHasBeenSet = true; m_imageDescription = std::move(value); } 209 210 /** 211 * <p>The description of the WorkSpace image.</p> 212 */ SetImageDescription(const char * value)213 inline void SetImageDescription(const char* value) { m_imageDescriptionHasBeenSet = true; m_imageDescription.assign(value); } 214 215 /** 216 * <p>The description of the WorkSpace image.</p> 217 */ WithImageDescription(const Aws::String & value)218 inline ImportWorkspaceImageRequest& WithImageDescription(const Aws::String& value) { SetImageDescription(value); return *this;} 219 220 /** 221 * <p>The description of the WorkSpace image.</p> 222 */ WithImageDescription(Aws::String && value)223 inline ImportWorkspaceImageRequest& WithImageDescription(Aws::String&& value) { SetImageDescription(std::move(value)); return *this;} 224 225 /** 226 * <p>The description of the WorkSpace image.</p> 227 */ WithImageDescription(const char * value)228 inline ImportWorkspaceImageRequest& WithImageDescription(const char* value) { SetImageDescription(value); return *this;} 229 230 231 /** 232 * <p>The tags. Each WorkSpaces resource can have a maximum of 50 tags.</p> 233 */ GetTags()234 inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; } 235 236 /** 237 * <p>The tags. Each WorkSpaces resource can have a maximum of 50 tags.</p> 238 */ TagsHasBeenSet()239 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } 240 241 /** 242 * <p>The tags. Each WorkSpaces resource can have a maximum of 50 tags.</p> 243 */ SetTags(const Aws::Vector<Tag> & value)244 inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; } 245 246 /** 247 * <p>The tags. Each WorkSpaces resource can have a maximum of 50 tags.</p> 248 */ SetTags(Aws::Vector<Tag> && value)249 inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } 250 251 /** 252 * <p>The tags. Each WorkSpaces resource can have a maximum of 50 tags.</p> 253 */ WithTags(const Aws::Vector<Tag> & value)254 inline ImportWorkspaceImageRequest& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;} 255 256 /** 257 * <p>The tags. Each WorkSpaces resource can have a maximum of 50 tags.</p> 258 */ WithTags(Aws::Vector<Tag> && value)259 inline ImportWorkspaceImageRequest& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;} 260 261 /** 262 * <p>The tags. Each WorkSpaces resource can have a maximum of 50 tags.</p> 263 */ AddTags(const Tag & value)264 inline ImportWorkspaceImageRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } 265 266 /** 267 * <p>The tags. Each WorkSpaces resource can have a maximum of 50 tags.</p> 268 */ AddTags(Tag && value)269 inline ImportWorkspaceImageRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } 270 271 272 /** 273 * <p>If specified, the version of Microsoft Office to subscribe to. Valid only for 274 * Windows 10 BYOL images. For more information about subscribing to Office for 275 * BYOL images, see <a 276 * href="https://docs.aws.amazon.com/workspaces/latest/adminguide/byol-windows-images.html"> 277 * Bring Your Own Windows Desktop Licenses</a>.</p> <p>Although this 278 * parameter is an array, only one item is allowed at this time.</p> 279 */ GetApplications()280 inline const Aws::Vector<Application>& GetApplications() const{ return m_applications; } 281 282 /** 283 * <p>If specified, the version of Microsoft Office to subscribe to. Valid only for 284 * Windows 10 BYOL images. For more information about subscribing to Office for 285 * BYOL images, see <a 286 * href="https://docs.aws.amazon.com/workspaces/latest/adminguide/byol-windows-images.html"> 287 * Bring Your Own Windows Desktop Licenses</a>.</p> <p>Although this 288 * parameter is an array, only one item is allowed at this time.</p> 289 */ ApplicationsHasBeenSet()290 inline bool ApplicationsHasBeenSet() const { return m_applicationsHasBeenSet; } 291 292 /** 293 * <p>If specified, the version of Microsoft Office to subscribe to. Valid only for 294 * Windows 10 BYOL images. For more information about subscribing to Office for 295 * BYOL images, see <a 296 * href="https://docs.aws.amazon.com/workspaces/latest/adminguide/byol-windows-images.html"> 297 * Bring Your Own Windows Desktop Licenses</a>.</p> <p>Although this 298 * parameter is an array, only one item is allowed at this time.</p> 299 */ SetApplications(const Aws::Vector<Application> & value)300 inline void SetApplications(const Aws::Vector<Application>& value) { m_applicationsHasBeenSet = true; m_applications = value; } 301 302 /** 303 * <p>If specified, the version of Microsoft Office to subscribe to. Valid only for 304 * Windows 10 BYOL images. For more information about subscribing to Office for 305 * BYOL images, see <a 306 * href="https://docs.aws.amazon.com/workspaces/latest/adminguide/byol-windows-images.html"> 307 * Bring Your Own Windows Desktop Licenses</a>.</p> <p>Although this 308 * parameter is an array, only one item is allowed at this time.</p> 309 */ SetApplications(Aws::Vector<Application> && value)310 inline void SetApplications(Aws::Vector<Application>&& value) { m_applicationsHasBeenSet = true; m_applications = std::move(value); } 311 312 /** 313 * <p>If specified, the version of Microsoft Office to subscribe to. Valid only for 314 * Windows 10 BYOL images. For more information about subscribing to Office for 315 * BYOL images, see <a 316 * href="https://docs.aws.amazon.com/workspaces/latest/adminguide/byol-windows-images.html"> 317 * Bring Your Own Windows Desktop Licenses</a>.</p> <p>Although this 318 * parameter is an array, only one item is allowed at this time.</p> 319 */ WithApplications(const Aws::Vector<Application> & value)320 inline ImportWorkspaceImageRequest& WithApplications(const Aws::Vector<Application>& value) { SetApplications(value); return *this;} 321 322 /** 323 * <p>If specified, the version of Microsoft Office to subscribe to. Valid only for 324 * Windows 10 BYOL images. For more information about subscribing to Office for 325 * BYOL images, see <a 326 * href="https://docs.aws.amazon.com/workspaces/latest/adminguide/byol-windows-images.html"> 327 * Bring Your Own Windows Desktop Licenses</a>.</p> <p>Although this 328 * parameter is an array, only one item is allowed at this time.</p> 329 */ WithApplications(Aws::Vector<Application> && value)330 inline ImportWorkspaceImageRequest& WithApplications(Aws::Vector<Application>&& value) { SetApplications(std::move(value)); return *this;} 331 332 /** 333 * <p>If specified, the version of Microsoft Office to subscribe to. Valid only for 334 * Windows 10 BYOL images. For more information about subscribing to Office for 335 * BYOL images, see <a 336 * href="https://docs.aws.amazon.com/workspaces/latest/adminguide/byol-windows-images.html"> 337 * Bring Your Own Windows Desktop Licenses</a>.</p> <p>Although this 338 * parameter is an array, only one item is allowed at this time.</p> 339 */ AddApplications(const Application & value)340 inline ImportWorkspaceImageRequest& AddApplications(const Application& value) { m_applicationsHasBeenSet = true; m_applications.push_back(value); return *this; } 341 342 /** 343 * <p>If specified, the version of Microsoft Office to subscribe to. Valid only for 344 * Windows 10 BYOL images. For more information about subscribing to Office for 345 * BYOL images, see <a 346 * href="https://docs.aws.amazon.com/workspaces/latest/adminguide/byol-windows-images.html"> 347 * Bring Your Own Windows Desktop Licenses</a>.</p> <p>Although this 348 * parameter is an array, only one item is allowed at this time.</p> 349 */ AddApplications(Application && value)350 inline ImportWorkspaceImageRequest& AddApplications(Application&& value) { m_applicationsHasBeenSet = true; m_applications.push_back(std::move(value)); return *this; } 351 352 private: 353 354 Aws::String m_ec2ImageId; 355 bool m_ec2ImageIdHasBeenSet; 356 357 WorkspaceImageIngestionProcess m_ingestionProcess; 358 bool m_ingestionProcessHasBeenSet; 359 360 Aws::String m_imageName; 361 bool m_imageNameHasBeenSet; 362 363 Aws::String m_imageDescription; 364 bool m_imageDescriptionHasBeenSet; 365 366 Aws::Vector<Tag> m_tags; 367 bool m_tagsHasBeenSet; 368 369 Aws::Vector<Application> m_applications; 370 bool m_applicationsHasBeenSet; 371 }; 372 373 } // namespace Model 374 } // namespace WorkSpaces 375 } // namespace Aws 376