1 /**
2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3 * SPDX-License-Identifier: Apache-2.0.
4 */
5
6 #include <aws/workspaces/model/ImportWorkspaceImageRequest.h>
7 #include <aws/core/utils/json/JsonSerializer.h>
8
9 #include <utility>
10
11 using namespace Aws::WorkSpaces::Model;
12 using namespace Aws::Utils::Json;
13 using namespace Aws::Utils;
14
ImportWorkspaceImageRequest()15 ImportWorkspaceImageRequest::ImportWorkspaceImageRequest() :
16 m_ec2ImageIdHasBeenSet(false),
17 m_ingestionProcess(WorkspaceImageIngestionProcess::NOT_SET),
18 m_ingestionProcessHasBeenSet(false),
19 m_imageNameHasBeenSet(false),
20 m_imageDescriptionHasBeenSet(false),
21 m_tagsHasBeenSet(false),
22 m_applicationsHasBeenSet(false)
23 {
24 }
25
SerializePayload() const26 Aws::String ImportWorkspaceImageRequest::SerializePayload() const
27 {
28 JsonValue payload;
29
30 if(m_ec2ImageIdHasBeenSet)
31 {
32 payload.WithString("Ec2ImageId", m_ec2ImageId);
33
34 }
35
36 if(m_ingestionProcessHasBeenSet)
37 {
38 payload.WithString("IngestionProcess", WorkspaceImageIngestionProcessMapper::GetNameForWorkspaceImageIngestionProcess(m_ingestionProcess));
39 }
40
41 if(m_imageNameHasBeenSet)
42 {
43 payload.WithString("ImageName", m_imageName);
44
45 }
46
47 if(m_imageDescriptionHasBeenSet)
48 {
49 payload.WithString("ImageDescription", m_imageDescription);
50
51 }
52
53 if(m_tagsHasBeenSet)
54 {
55 Array<JsonValue> tagsJsonList(m_tags.size());
56 for(unsigned tagsIndex = 0; tagsIndex < tagsJsonList.GetLength(); ++tagsIndex)
57 {
58 tagsJsonList[tagsIndex].AsObject(m_tags[tagsIndex].Jsonize());
59 }
60 payload.WithArray("Tags", std::move(tagsJsonList));
61
62 }
63
64 if(m_applicationsHasBeenSet)
65 {
66 Array<JsonValue> applicationsJsonList(m_applications.size());
67 for(unsigned applicationsIndex = 0; applicationsIndex < applicationsJsonList.GetLength(); ++applicationsIndex)
68 {
69 applicationsJsonList[applicationsIndex].AsString(ApplicationMapper::GetNameForApplication(m_applications[applicationsIndex]));
70 }
71 payload.WithArray("Applications", std::move(applicationsJsonList));
72
73 }
74
75 return payload.View().WriteReadable();
76 }
77
GetRequestSpecificHeaders() const78 Aws::Http::HeaderValueCollection ImportWorkspaceImageRequest::GetRequestSpecificHeaders() const
79 {
80 Aws::Http::HeaderValueCollection headers;
81 headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "WorkspacesService.ImportWorkspaceImage"));
82 return headers;
83
84 }
85
86
87
88
89