1 /**
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  * SPDX-License-Identifier: Apache-2.0.
4  */
5 
6 #include <aws/core/utils/Outcome.h>
7 #include <aws/core/auth/AWSAuthSigner.h>
8 #include <aws/core/client/CoreErrors.h>
9 #include <aws/core/client/RetryStrategy.h>
10 #include <aws/core/http/HttpClient.h>
11 #include <aws/core/http/HttpResponse.h>
12 #include <aws/core/http/HttpClientFactory.h>
13 #include <aws/core/auth/AWSCredentialsProviderChain.h>
14 #include <aws/core/utils/json/JsonSerializer.h>
15 #include <aws/core/utils/memory/stl/AWSStringStream.h>
16 #include <aws/core/utils/threading/Executor.h>
17 #include <aws/core/utils/DNS.h>
18 #include <aws/core/utils/logging/LogMacros.h>
19 
20 #include <aws/panorama/PanoramaClient.h>
21 #include <aws/panorama/PanoramaEndpoint.h>
22 #include <aws/panorama/PanoramaErrorMarshaller.h>
23 #include <aws/panorama/model/CreateApplicationInstanceRequest.h>
24 #include <aws/panorama/model/CreateJobForDevicesRequest.h>
25 #include <aws/panorama/model/CreateNodeFromTemplateJobRequest.h>
26 #include <aws/panorama/model/CreatePackageRequest.h>
27 #include <aws/panorama/model/CreatePackageImportJobRequest.h>
28 #include <aws/panorama/model/DeleteDeviceRequest.h>
29 #include <aws/panorama/model/DeletePackageRequest.h>
30 #include <aws/panorama/model/DeregisterPackageVersionRequest.h>
31 #include <aws/panorama/model/DescribeApplicationInstanceRequest.h>
32 #include <aws/panorama/model/DescribeApplicationInstanceDetailsRequest.h>
33 #include <aws/panorama/model/DescribeDeviceRequest.h>
34 #include <aws/panorama/model/DescribeDeviceJobRequest.h>
35 #include <aws/panorama/model/DescribeNodeRequest.h>
36 #include <aws/panorama/model/DescribeNodeFromTemplateJobRequest.h>
37 #include <aws/panorama/model/DescribePackageRequest.h>
38 #include <aws/panorama/model/DescribePackageImportJobRequest.h>
39 #include <aws/panorama/model/DescribePackageVersionRequest.h>
40 #include <aws/panorama/model/ListApplicationInstanceDependenciesRequest.h>
41 #include <aws/panorama/model/ListApplicationInstanceNodeInstancesRequest.h>
42 #include <aws/panorama/model/ListApplicationInstancesRequest.h>
43 #include <aws/panorama/model/ListDevicesRequest.h>
44 #include <aws/panorama/model/ListDevicesJobsRequest.h>
45 #include <aws/panorama/model/ListNodeFromTemplateJobsRequest.h>
46 #include <aws/panorama/model/ListNodesRequest.h>
47 #include <aws/panorama/model/ListPackageImportJobsRequest.h>
48 #include <aws/panorama/model/ListPackagesRequest.h>
49 #include <aws/panorama/model/ListTagsForResourceRequest.h>
50 #include <aws/panorama/model/ProvisionDeviceRequest.h>
51 #include <aws/panorama/model/RegisterPackageVersionRequest.h>
52 #include <aws/panorama/model/RemoveApplicationInstanceRequest.h>
53 #include <aws/panorama/model/TagResourceRequest.h>
54 #include <aws/panorama/model/UntagResourceRequest.h>
55 #include <aws/panorama/model/UpdateDeviceMetadataRequest.h>
56 
57 using namespace Aws;
58 using namespace Aws::Auth;
59 using namespace Aws::Client;
60 using namespace Aws::Panorama;
61 using namespace Aws::Panorama::Model;
62 using namespace Aws::Http;
63 using namespace Aws::Utils::Json;
64 
65 static const char* SERVICE_NAME = "panorama";
66 static const char* ALLOCATION_TAG = "PanoramaClient";
67 
68 
PanoramaClient(const Client::ClientConfiguration & clientConfiguration)69 PanoramaClient::PanoramaClient(const Client::ClientConfiguration& clientConfiguration) :
70   BASECLASS(clientConfiguration,
71     Aws::MakeShared<AWSAuthV4Signer>(ALLOCATION_TAG, Aws::MakeShared<DefaultAWSCredentialsProviderChain>(ALLOCATION_TAG),
72         SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)),
73     Aws::MakeShared<PanoramaErrorMarshaller>(ALLOCATION_TAG)),
74     m_executor(clientConfiguration.executor)
75 {
76   init(clientConfiguration);
77 }
78 
PanoramaClient(const AWSCredentials & credentials,const Client::ClientConfiguration & clientConfiguration)79 PanoramaClient::PanoramaClient(const AWSCredentials& credentials, const Client::ClientConfiguration& clientConfiguration) :
80   BASECLASS(clientConfiguration,
81     Aws::MakeShared<AWSAuthV4Signer>(ALLOCATION_TAG, Aws::MakeShared<SimpleAWSCredentialsProvider>(ALLOCATION_TAG, credentials),
82          SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)),
83     Aws::MakeShared<PanoramaErrorMarshaller>(ALLOCATION_TAG)),
84     m_executor(clientConfiguration.executor)
85 {
86   init(clientConfiguration);
87 }
88 
PanoramaClient(const std::shared_ptr<AWSCredentialsProvider> & credentialsProvider,const Client::ClientConfiguration & clientConfiguration)89 PanoramaClient::PanoramaClient(const std::shared_ptr<AWSCredentialsProvider>& credentialsProvider,
90   const Client::ClientConfiguration& clientConfiguration) :
91   BASECLASS(clientConfiguration,
92     Aws::MakeShared<AWSAuthV4Signer>(ALLOCATION_TAG, credentialsProvider,
93          SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)),
94     Aws::MakeShared<PanoramaErrorMarshaller>(ALLOCATION_TAG)),
95     m_executor(clientConfiguration.executor)
96 {
97   init(clientConfiguration);
98 }
99 
~PanoramaClient()100 PanoramaClient::~PanoramaClient()
101 {
102 }
103 
init(const Client::ClientConfiguration & config)104 void PanoramaClient::init(const Client::ClientConfiguration& config)
105 {
106   SetServiceClientName("Panorama");
107   m_configScheme = SchemeMapper::ToString(config.scheme);
108   if (config.endpointOverride.empty())
109   {
110       m_uri = m_configScheme + "://" + PanoramaEndpoint::ForRegion(config.region, config.useDualStack);
111   }
112   else
113   {
114       OverrideEndpoint(config.endpointOverride);
115   }
116 }
117 
OverrideEndpoint(const Aws::String & endpoint)118 void PanoramaClient::OverrideEndpoint(const Aws::String& endpoint)
119 {
120   if (endpoint.compare(0, 7, "http://") == 0 || endpoint.compare(0, 8, "https://") == 0)
121   {
122       m_uri = endpoint;
123   }
124   else
125   {
126       m_uri = m_configScheme + "://" + endpoint;
127   }
128 }
129 
CreateApplicationInstance(const CreateApplicationInstanceRequest & request) const130 CreateApplicationInstanceOutcome PanoramaClient::CreateApplicationInstance(const CreateApplicationInstanceRequest& request) const
131 {
132   Aws::Http::URI uri = m_uri;
133   uri.AddPathSegments("/application-instances");
134   return CreateApplicationInstanceOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
135 }
136 
CreateApplicationInstanceCallable(const CreateApplicationInstanceRequest & request) const137 CreateApplicationInstanceOutcomeCallable PanoramaClient::CreateApplicationInstanceCallable(const CreateApplicationInstanceRequest& request) const
138 {
139   auto task = Aws::MakeShared< std::packaged_task< CreateApplicationInstanceOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->CreateApplicationInstance(request); } );
140   auto packagedFunction = [task]() { (*task)(); };
141   m_executor->Submit(packagedFunction);
142   return task->get_future();
143 }
144 
CreateApplicationInstanceAsync(const CreateApplicationInstanceRequest & request,const CreateApplicationInstanceResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const145 void PanoramaClient::CreateApplicationInstanceAsync(const CreateApplicationInstanceRequest& request, const CreateApplicationInstanceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
146 {
147   m_executor->Submit( [this, request, handler, context](){ this->CreateApplicationInstanceAsyncHelper( request, handler, context ); } );
148 }
149 
CreateApplicationInstanceAsyncHelper(const CreateApplicationInstanceRequest & request,const CreateApplicationInstanceResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const150 void PanoramaClient::CreateApplicationInstanceAsyncHelper(const CreateApplicationInstanceRequest& request, const CreateApplicationInstanceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
151 {
152   handler(this, request, CreateApplicationInstance(request), context);
153 }
154 
CreateJobForDevices(const CreateJobForDevicesRequest & request) const155 CreateJobForDevicesOutcome PanoramaClient::CreateJobForDevices(const CreateJobForDevicesRequest& request) const
156 {
157   Aws::Http::URI uri = m_uri;
158   uri.AddPathSegments("/jobs");
159   return CreateJobForDevicesOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
160 }
161 
CreateJobForDevicesCallable(const CreateJobForDevicesRequest & request) const162 CreateJobForDevicesOutcomeCallable PanoramaClient::CreateJobForDevicesCallable(const CreateJobForDevicesRequest& request) const
163 {
164   auto task = Aws::MakeShared< std::packaged_task< CreateJobForDevicesOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->CreateJobForDevices(request); } );
165   auto packagedFunction = [task]() { (*task)(); };
166   m_executor->Submit(packagedFunction);
167   return task->get_future();
168 }
169 
CreateJobForDevicesAsync(const CreateJobForDevicesRequest & request,const CreateJobForDevicesResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const170 void PanoramaClient::CreateJobForDevicesAsync(const CreateJobForDevicesRequest& request, const CreateJobForDevicesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
171 {
172   m_executor->Submit( [this, request, handler, context](){ this->CreateJobForDevicesAsyncHelper( request, handler, context ); } );
173 }
174 
CreateJobForDevicesAsyncHelper(const CreateJobForDevicesRequest & request,const CreateJobForDevicesResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const175 void PanoramaClient::CreateJobForDevicesAsyncHelper(const CreateJobForDevicesRequest& request, const CreateJobForDevicesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
176 {
177   handler(this, request, CreateJobForDevices(request), context);
178 }
179 
CreateNodeFromTemplateJob(const CreateNodeFromTemplateJobRequest & request) const180 CreateNodeFromTemplateJobOutcome PanoramaClient::CreateNodeFromTemplateJob(const CreateNodeFromTemplateJobRequest& request) const
181 {
182   Aws::Http::URI uri = m_uri;
183   uri.AddPathSegments("/packages/template-job");
184   return CreateNodeFromTemplateJobOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
185 }
186 
CreateNodeFromTemplateJobCallable(const CreateNodeFromTemplateJobRequest & request) const187 CreateNodeFromTemplateJobOutcomeCallable PanoramaClient::CreateNodeFromTemplateJobCallable(const CreateNodeFromTemplateJobRequest& request) const
188 {
189   auto task = Aws::MakeShared< std::packaged_task< CreateNodeFromTemplateJobOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->CreateNodeFromTemplateJob(request); } );
190   auto packagedFunction = [task]() { (*task)(); };
191   m_executor->Submit(packagedFunction);
192   return task->get_future();
193 }
194 
CreateNodeFromTemplateJobAsync(const CreateNodeFromTemplateJobRequest & request,const CreateNodeFromTemplateJobResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const195 void PanoramaClient::CreateNodeFromTemplateJobAsync(const CreateNodeFromTemplateJobRequest& request, const CreateNodeFromTemplateJobResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
196 {
197   m_executor->Submit( [this, request, handler, context](){ this->CreateNodeFromTemplateJobAsyncHelper( request, handler, context ); } );
198 }
199 
CreateNodeFromTemplateJobAsyncHelper(const CreateNodeFromTemplateJobRequest & request,const CreateNodeFromTemplateJobResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const200 void PanoramaClient::CreateNodeFromTemplateJobAsyncHelper(const CreateNodeFromTemplateJobRequest& request, const CreateNodeFromTemplateJobResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
201 {
202   handler(this, request, CreateNodeFromTemplateJob(request), context);
203 }
204 
CreatePackage(const CreatePackageRequest & request) const205 CreatePackageOutcome PanoramaClient::CreatePackage(const CreatePackageRequest& request) const
206 {
207   Aws::Http::URI uri = m_uri;
208   uri.AddPathSegments("/packages");
209   return CreatePackageOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
210 }
211 
CreatePackageCallable(const CreatePackageRequest & request) const212 CreatePackageOutcomeCallable PanoramaClient::CreatePackageCallable(const CreatePackageRequest& request) const
213 {
214   auto task = Aws::MakeShared< std::packaged_task< CreatePackageOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->CreatePackage(request); } );
215   auto packagedFunction = [task]() { (*task)(); };
216   m_executor->Submit(packagedFunction);
217   return task->get_future();
218 }
219 
CreatePackageAsync(const CreatePackageRequest & request,const CreatePackageResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const220 void PanoramaClient::CreatePackageAsync(const CreatePackageRequest& request, const CreatePackageResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
221 {
222   m_executor->Submit( [this, request, handler, context](){ this->CreatePackageAsyncHelper( request, handler, context ); } );
223 }
224 
CreatePackageAsyncHelper(const CreatePackageRequest & request,const CreatePackageResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const225 void PanoramaClient::CreatePackageAsyncHelper(const CreatePackageRequest& request, const CreatePackageResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
226 {
227   handler(this, request, CreatePackage(request), context);
228 }
229 
CreatePackageImportJob(const CreatePackageImportJobRequest & request) const230 CreatePackageImportJobOutcome PanoramaClient::CreatePackageImportJob(const CreatePackageImportJobRequest& request) const
231 {
232   Aws::Http::URI uri = m_uri;
233   uri.AddPathSegments("/packages/import-jobs");
234   return CreatePackageImportJobOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
235 }
236 
CreatePackageImportJobCallable(const CreatePackageImportJobRequest & request) const237 CreatePackageImportJobOutcomeCallable PanoramaClient::CreatePackageImportJobCallable(const CreatePackageImportJobRequest& request) const
238 {
239   auto task = Aws::MakeShared< std::packaged_task< CreatePackageImportJobOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->CreatePackageImportJob(request); } );
240   auto packagedFunction = [task]() { (*task)(); };
241   m_executor->Submit(packagedFunction);
242   return task->get_future();
243 }
244 
CreatePackageImportJobAsync(const CreatePackageImportJobRequest & request,const CreatePackageImportJobResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const245 void PanoramaClient::CreatePackageImportJobAsync(const CreatePackageImportJobRequest& request, const CreatePackageImportJobResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
246 {
247   m_executor->Submit( [this, request, handler, context](){ this->CreatePackageImportJobAsyncHelper( request, handler, context ); } );
248 }
249 
CreatePackageImportJobAsyncHelper(const CreatePackageImportJobRequest & request,const CreatePackageImportJobResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const250 void PanoramaClient::CreatePackageImportJobAsyncHelper(const CreatePackageImportJobRequest& request, const CreatePackageImportJobResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
251 {
252   handler(this, request, CreatePackageImportJob(request), context);
253 }
254 
DeleteDevice(const DeleteDeviceRequest & request) const255 DeleteDeviceOutcome PanoramaClient::DeleteDevice(const DeleteDeviceRequest& request) const
256 {
257   if (!request.DeviceIdHasBeenSet())
258   {
259     AWS_LOGSTREAM_ERROR("DeleteDevice", "Required field: DeviceId, is not set");
260     return DeleteDeviceOutcome(Aws::Client::AWSError<PanoramaErrors>(PanoramaErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [DeviceId]", false));
261   }
262   Aws::Http::URI uri = m_uri;
263   uri.AddPathSegments("/devices/");
264   uri.AddPathSegment(request.GetDeviceId());
265   return DeleteDeviceOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER));
266 }
267 
DeleteDeviceCallable(const DeleteDeviceRequest & request) const268 DeleteDeviceOutcomeCallable PanoramaClient::DeleteDeviceCallable(const DeleteDeviceRequest& request) const
269 {
270   auto task = Aws::MakeShared< std::packaged_task< DeleteDeviceOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DeleteDevice(request); } );
271   auto packagedFunction = [task]() { (*task)(); };
272   m_executor->Submit(packagedFunction);
273   return task->get_future();
274 }
275 
DeleteDeviceAsync(const DeleteDeviceRequest & request,const DeleteDeviceResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const276 void PanoramaClient::DeleteDeviceAsync(const DeleteDeviceRequest& request, const DeleteDeviceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
277 {
278   m_executor->Submit( [this, request, handler, context](){ this->DeleteDeviceAsyncHelper( request, handler, context ); } );
279 }
280 
DeleteDeviceAsyncHelper(const DeleteDeviceRequest & request,const DeleteDeviceResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const281 void PanoramaClient::DeleteDeviceAsyncHelper(const DeleteDeviceRequest& request, const DeleteDeviceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
282 {
283   handler(this, request, DeleteDevice(request), context);
284 }
285 
DeletePackage(const DeletePackageRequest & request) const286 DeletePackageOutcome PanoramaClient::DeletePackage(const DeletePackageRequest& request) const
287 {
288   if (!request.PackageIdHasBeenSet())
289   {
290     AWS_LOGSTREAM_ERROR("DeletePackage", "Required field: PackageId, is not set");
291     return DeletePackageOutcome(Aws::Client::AWSError<PanoramaErrors>(PanoramaErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [PackageId]", false));
292   }
293   Aws::Http::URI uri = m_uri;
294   uri.AddPathSegments("/packages/");
295   uri.AddPathSegment(request.GetPackageId());
296   return DeletePackageOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER));
297 }
298 
DeletePackageCallable(const DeletePackageRequest & request) const299 DeletePackageOutcomeCallable PanoramaClient::DeletePackageCallable(const DeletePackageRequest& request) const
300 {
301   auto task = Aws::MakeShared< std::packaged_task< DeletePackageOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DeletePackage(request); } );
302   auto packagedFunction = [task]() { (*task)(); };
303   m_executor->Submit(packagedFunction);
304   return task->get_future();
305 }
306 
DeletePackageAsync(const DeletePackageRequest & request,const DeletePackageResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const307 void PanoramaClient::DeletePackageAsync(const DeletePackageRequest& request, const DeletePackageResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
308 {
309   m_executor->Submit( [this, request, handler, context](){ this->DeletePackageAsyncHelper( request, handler, context ); } );
310 }
311 
DeletePackageAsyncHelper(const DeletePackageRequest & request,const DeletePackageResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const312 void PanoramaClient::DeletePackageAsyncHelper(const DeletePackageRequest& request, const DeletePackageResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
313 {
314   handler(this, request, DeletePackage(request), context);
315 }
316 
DeregisterPackageVersion(const DeregisterPackageVersionRequest & request) const317 DeregisterPackageVersionOutcome PanoramaClient::DeregisterPackageVersion(const DeregisterPackageVersionRequest& request) const
318 {
319   if (!request.PackageIdHasBeenSet())
320   {
321     AWS_LOGSTREAM_ERROR("DeregisterPackageVersion", "Required field: PackageId, is not set");
322     return DeregisterPackageVersionOutcome(Aws::Client::AWSError<PanoramaErrors>(PanoramaErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [PackageId]", false));
323   }
324   if (!request.PackageVersionHasBeenSet())
325   {
326     AWS_LOGSTREAM_ERROR("DeregisterPackageVersion", "Required field: PackageVersion, is not set");
327     return DeregisterPackageVersionOutcome(Aws::Client::AWSError<PanoramaErrors>(PanoramaErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [PackageVersion]", false));
328   }
329   if (!request.PatchVersionHasBeenSet())
330   {
331     AWS_LOGSTREAM_ERROR("DeregisterPackageVersion", "Required field: PatchVersion, is not set");
332     return DeregisterPackageVersionOutcome(Aws::Client::AWSError<PanoramaErrors>(PanoramaErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [PatchVersion]", false));
333   }
334   Aws::Http::URI uri = m_uri;
335   uri.AddPathSegments("/packages/");
336   uri.AddPathSegment(request.GetPackageId());
337   uri.AddPathSegments("/versions/");
338   uri.AddPathSegment(request.GetPackageVersion());
339   uri.AddPathSegments("/patch/");
340   uri.AddPathSegment(request.GetPatchVersion());
341   return DeregisterPackageVersionOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER));
342 }
343 
DeregisterPackageVersionCallable(const DeregisterPackageVersionRequest & request) const344 DeregisterPackageVersionOutcomeCallable PanoramaClient::DeregisterPackageVersionCallable(const DeregisterPackageVersionRequest& request) const
345 {
346   auto task = Aws::MakeShared< std::packaged_task< DeregisterPackageVersionOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DeregisterPackageVersion(request); } );
347   auto packagedFunction = [task]() { (*task)(); };
348   m_executor->Submit(packagedFunction);
349   return task->get_future();
350 }
351 
DeregisterPackageVersionAsync(const DeregisterPackageVersionRequest & request,const DeregisterPackageVersionResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const352 void PanoramaClient::DeregisterPackageVersionAsync(const DeregisterPackageVersionRequest& request, const DeregisterPackageVersionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
353 {
354   m_executor->Submit( [this, request, handler, context](){ this->DeregisterPackageVersionAsyncHelper( request, handler, context ); } );
355 }
356 
DeregisterPackageVersionAsyncHelper(const DeregisterPackageVersionRequest & request,const DeregisterPackageVersionResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const357 void PanoramaClient::DeregisterPackageVersionAsyncHelper(const DeregisterPackageVersionRequest& request, const DeregisterPackageVersionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
358 {
359   handler(this, request, DeregisterPackageVersion(request), context);
360 }
361 
DescribeApplicationInstance(const DescribeApplicationInstanceRequest & request) const362 DescribeApplicationInstanceOutcome PanoramaClient::DescribeApplicationInstance(const DescribeApplicationInstanceRequest& request) const
363 {
364   if (!request.ApplicationInstanceIdHasBeenSet())
365   {
366     AWS_LOGSTREAM_ERROR("DescribeApplicationInstance", "Required field: ApplicationInstanceId, is not set");
367     return DescribeApplicationInstanceOutcome(Aws::Client::AWSError<PanoramaErrors>(PanoramaErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ApplicationInstanceId]", false));
368   }
369   Aws::Http::URI uri = m_uri;
370   uri.AddPathSegments("/application-instances/");
371   uri.AddPathSegment(request.GetApplicationInstanceId());
372   return DescribeApplicationInstanceOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
373 }
374 
DescribeApplicationInstanceCallable(const DescribeApplicationInstanceRequest & request) const375 DescribeApplicationInstanceOutcomeCallable PanoramaClient::DescribeApplicationInstanceCallable(const DescribeApplicationInstanceRequest& request) const
376 {
377   auto task = Aws::MakeShared< std::packaged_task< DescribeApplicationInstanceOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DescribeApplicationInstance(request); } );
378   auto packagedFunction = [task]() { (*task)(); };
379   m_executor->Submit(packagedFunction);
380   return task->get_future();
381 }
382 
DescribeApplicationInstanceAsync(const DescribeApplicationInstanceRequest & request,const DescribeApplicationInstanceResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const383 void PanoramaClient::DescribeApplicationInstanceAsync(const DescribeApplicationInstanceRequest& request, const DescribeApplicationInstanceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
384 {
385   m_executor->Submit( [this, request, handler, context](){ this->DescribeApplicationInstanceAsyncHelper( request, handler, context ); } );
386 }
387 
DescribeApplicationInstanceAsyncHelper(const DescribeApplicationInstanceRequest & request,const DescribeApplicationInstanceResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const388 void PanoramaClient::DescribeApplicationInstanceAsyncHelper(const DescribeApplicationInstanceRequest& request, const DescribeApplicationInstanceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
389 {
390   handler(this, request, DescribeApplicationInstance(request), context);
391 }
392 
DescribeApplicationInstanceDetails(const DescribeApplicationInstanceDetailsRequest & request) const393 DescribeApplicationInstanceDetailsOutcome PanoramaClient::DescribeApplicationInstanceDetails(const DescribeApplicationInstanceDetailsRequest& request) const
394 {
395   if (!request.ApplicationInstanceIdHasBeenSet())
396   {
397     AWS_LOGSTREAM_ERROR("DescribeApplicationInstanceDetails", "Required field: ApplicationInstanceId, is not set");
398     return DescribeApplicationInstanceDetailsOutcome(Aws::Client::AWSError<PanoramaErrors>(PanoramaErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ApplicationInstanceId]", false));
399   }
400   Aws::Http::URI uri = m_uri;
401   uri.AddPathSegments("/application-instances/");
402   uri.AddPathSegment(request.GetApplicationInstanceId());
403   uri.AddPathSegments("/details");
404   return DescribeApplicationInstanceDetailsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
405 }
406 
DescribeApplicationInstanceDetailsCallable(const DescribeApplicationInstanceDetailsRequest & request) const407 DescribeApplicationInstanceDetailsOutcomeCallable PanoramaClient::DescribeApplicationInstanceDetailsCallable(const DescribeApplicationInstanceDetailsRequest& request) const
408 {
409   auto task = Aws::MakeShared< std::packaged_task< DescribeApplicationInstanceDetailsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DescribeApplicationInstanceDetails(request); } );
410   auto packagedFunction = [task]() { (*task)(); };
411   m_executor->Submit(packagedFunction);
412   return task->get_future();
413 }
414 
DescribeApplicationInstanceDetailsAsync(const DescribeApplicationInstanceDetailsRequest & request,const DescribeApplicationInstanceDetailsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const415 void PanoramaClient::DescribeApplicationInstanceDetailsAsync(const DescribeApplicationInstanceDetailsRequest& request, const DescribeApplicationInstanceDetailsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
416 {
417   m_executor->Submit( [this, request, handler, context](){ this->DescribeApplicationInstanceDetailsAsyncHelper( request, handler, context ); } );
418 }
419 
DescribeApplicationInstanceDetailsAsyncHelper(const DescribeApplicationInstanceDetailsRequest & request,const DescribeApplicationInstanceDetailsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const420 void PanoramaClient::DescribeApplicationInstanceDetailsAsyncHelper(const DescribeApplicationInstanceDetailsRequest& request, const DescribeApplicationInstanceDetailsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
421 {
422   handler(this, request, DescribeApplicationInstanceDetails(request), context);
423 }
424 
DescribeDevice(const DescribeDeviceRequest & request) const425 DescribeDeviceOutcome PanoramaClient::DescribeDevice(const DescribeDeviceRequest& request) const
426 {
427   if (!request.DeviceIdHasBeenSet())
428   {
429     AWS_LOGSTREAM_ERROR("DescribeDevice", "Required field: DeviceId, is not set");
430     return DescribeDeviceOutcome(Aws::Client::AWSError<PanoramaErrors>(PanoramaErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [DeviceId]", false));
431   }
432   Aws::Http::URI uri = m_uri;
433   uri.AddPathSegments("/devices/");
434   uri.AddPathSegment(request.GetDeviceId());
435   return DescribeDeviceOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
436 }
437 
DescribeDeviceCallable(const DescribeDeviceRequest & request) const438 DescribeDeviceOutcomeCallable PanoramaClient::DescribeDeviceCallable(const DescribeDeviceRequest& request) const
439 {
440   auto task = Aws::MakeShared< std::packaged_task< DescribeDeviceOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DescribeDevice(request); } );
441   auto packagedFunction = [task]() { (*task)(); };
442   m_executor->Submit(packagedFunction);
443   return task->get_future();
444 }
445 
DescribeDeviceAsync(const DescribeDeviceRequest & request,const DescribeDeviceResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const446 void PanoramaClient::DescribeDeviceAsync(const DescribeDeviceRequest& request, const DescribeDeviceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
447 {
448   m_executor->Submit( [this, request, handler, context](){ this->DescribeDeviceAsyncHelper( request, handler, context ); } );
449 }
450 
DescribeDeviceAsyncHelper(const DescribeDeviceRequest & request,const DescribeDeviceResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const451 void PanoramaClient::DescribeDeviceAsyncHelper(const DescribeDeviceRequest& request, const DescribeDeviceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
452 {
453   handler(this, request, DescribeDevice(request), context);
454 }
455 
DescribeDeviceJob(const DescribeDeviceJobRequest & request) const456 DescribeDeviceJobOutcome PanoramaClient::DescribeDeviceJob(const DescribeDeviceJobRequest& request) const
457 {
458   if (!request.JobIdHasBeenSet())
459   {
460     AWS_LOGSTREAM_ERROR("DescribeDeviceJob", "Required field: JobId, is not set");
461     return DescribeDeviceJobOutcome(Aws::Client::AWSError<PanoramaErrors>(PanoramaErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [JobId]", false));
462   }
463   Aws::Http::URI uri = m_uri;
464   uri.AddPathSegments("/jobs/");
465   uri.AddPathSegment(request.GetJobId());
466   return DescribeDeviceJobOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
467 }
468 
DescribeDeviceJobCallable(const DescribeDeviceJobRequest & request) const469 DescribeDeviceJobOutcomeCallable PanoramaClient::DescribeDeviceJobCallable(const DescribeDeviceJobRequest& request) const
470 {
471   auto task = Aws::MakeShared< std::packaged_task< DescribeDeviceJobOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DescribeDeviceJob(request); } );
472   auto packagedFunction = [task]() { (*task)(); };
473   m_executor->Submit(packagedFunction);
474   return task->get_future();
475 }
476 
DescribeDeviceJobAsync(const DescribeDeviceJobRequest & request,const DescribeDeviceJobResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const477 void PanoramaClient::DescribeDeviceJobAsync(const DescribeDeviceJobRequest& request, const DescribeDeviceJobResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
478 {
479   m_executor->Submit( [this, request, handler, context](){ this->DescribeDeviceJobAsyncHelper( request, handler, context ); } );
480 }
481 
DescribeDeviceJobAsyncHelper(const DescribeDeviceJobRequest & request,const DescribeDeviceJobResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const482 void PanoramaClient::DescribeDeviceJobAsyncHelper(const DescribeDeviceJobRequest& request, const DescribeDeviceJobResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
483 {
484   handler(this, request, DescribeDeviceJob(request), context);
485 }
486 
DescribeNode(const DescribeNodeRequest & request) const487 DescribeNodeOutcome PanoramaClient::DescribeNode(const DescribeNodeRequest& request) const
488 {
489   if (!request.NodeIdHasBeenSet())
490   {
491     AWS_LOGSTREAM_ERROR("DescribeNode", "Required field: NodeId, is not set");
492     return DescribeNodeOutcome(Aws::Client::AWSError<PanoramaErrors>(PanoramaErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [NodeId]", false));
493   }
494   Aws::Http::URI uri = m_uri;
495   uri.AddPathSegments("/nodes/");
496   uri.AddPathSegment(request.GetNodeId());
497   return DescribeNodeOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
498 }
499 
DescribeNodeCallable(const DescribeNodeRequest & request) const500 DescribeNodeOutcomeCallable PanoramaClient::DescribeNodeCallable(const DescribeNodeRequest& request) const
501 {
502   auto task = Aws::MakeShared< std::packaged_task< DescribeNodeOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DescribeNode(request); } );
503   auto packagedFunction = [task]() { (*task)(); };
504   m_executor->Submit(packagedFunction);
505   return task->get_future();
506 }
507 
DescribeNodeAsync(const DescribeNodeRequest & request,const DescribeNodeResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const508 void PanoramaClient::DescribeNodeAsync(const DescribeNodeRequest& request, const DescribeNodeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
509 {
510   m_executor->Submit( [this, request, handler, context](){ this->DescribeNodeAsyncHelper( request, handler, context ); } );
511 }
512 
DescribeNodeAsyncHelper(const DescribeNodeRequest & request,const DescribeNodeResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const513 void PanoramaClient::DescribeNodeAsyncHelper(const DescribeNodeRequest& request, const DescribeNodeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
514 {
515   handler(this, request, DescribeNode(request), context);
516 }
517 
DescribeNodeFromTemplateJob(const DescribeNodeFromTemplateJobRequest & request) const518 DescribeNodeFromTemplateJobOutcome PanoramaClient::DescribeNodeFromTemplateJob(const DescribeNodeFromTemplateJobRequest& request) const
519 {
520   if (!request.JobIdHasBeenSet())
521   {
522     AWS_LOGSTREAM_ERROR("DescribeNodeFromTemplateJob", "Required field: JobId, is not set");
523     return DescribeNodeFromTemplateJobOutcome(Aws::Client::AWSError<PanoramaErrors>(PanoramaErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [JobId]", false));
524   }
525   Aws::Http::URI uri = m_uri;
526   uri.AddPathSegments("/packages/template-job/");
527   uri.AddPathSegment(request.GetJobId());
528   return DescribeNodeFromTemplateJobOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
529 }
530 
DescribeNodeFromTemplateJobCallable(const DescribeNodeFromTemplateJobRequest & request) const531 DescribeNodeFromTemplateJobOutcomeCallable PanoramaClient::DescribeNodeFromTemplateJobCallable(const DescribeNodeFromTemplateJobRequest& request) const
532 {
533   auto task = Aws::MakeShared< std::packaged_task< DescribeNodeFromTemplateJobOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DescribeNodeFromTemplateJob(request); } );
534   auto packagedFunction = [task]() { (*task)(); };
535   m_executor->Submit(packagedFunction);
536   return task->get_future();
537 }
538 
DescribeNodeFromTemplateJobAsync(const DescribeNodeFromTemplateJobRequest & request,const DescribeNodeFromTemplateJobResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const539 void PanoramaClient::DescribeNodeFromTemplateJobAsync(const DescribeNodeFromTemplateJobRequest& request, const DescribeNodeFromTemplateJobResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
540 {
541   m_executor->Submit( [this, request, handler, context](){ this->DescribeNodeFromTemplateJobAsyncHelper( request, handler, context ); } );
542 }
543 
DescribeNodeFromTemplateJobAsyncHelper(const DescribeNodeFromTemplateJobRequest & request,const DescribeNodeFromTemplateJobResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const544 void PanoramaClient::DescribeNodeFromTemplateJobAsyncHelper(const DescribeNodeFromTemplateJobRequest& request, const DescribeNodeFromTemplateJobResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
545 {
546   handler(this, request, DescribeNodeFromTemplateJob(request), context);
547 }
548 
DescribePackage(const DescribePackageRequest & request) const549 DescribePackageOutcome PanoramaClient::DescribePackage(const DescribePackageRequest& request) const
550 {
551   if (!request.PackageIdHasBeenSet())
552   {
553     AWS_LOGSTREAM_ERROR("DescribePackage", "Required field: PackageId, is not set");
554     return DescribePackageOutcome(Aws::Client::AWSError<PanoramaErrors>(PanoramaErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [PackageId]", false));
555   }
556   Aws::Http::URI uri = m_uri;
557   uri.AddPathSegments("/packages/metadata/");
558   uri.AddPathSegment(request.GetPackageId());
559   return DescribePackageOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
560 }
561 
DescribePackageCallable(const DescribePackageRequest & request) const562 DescribePackageOutcomeCallable PanoramaClient::DescribePackageCallable(const DescribePackageRequest& request) const
563 {
564   auto task = Aws::MakeShared< std::packaged_task< DescribePackageOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DescribePackage(request); } );
565   auto packagedFunction = [task]() { (*task)(); };
566   m_executor->Submit(packagedFunction);
567   return task->get_future();
568 }
569 
DescribePackageAsync(const DescribePackageRequest & request,const DescribePackageResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const570 void PanoramaClient::DescribePackageAsync(const DescribePackageRequest& request, const DescribePackageResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
571 {
572   m_executor->Submit( [this, request, handler, context](){ this->DescribePackageAsyncHelper( request, handler, context ); } );
573 }
574 
DescribePackageAsyncHelper(const DescribePackageRequest & request,const DescribePackageResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const575 void PanoramaClient::DescribePackageAsyncHelper(const DescribePackageRequest& request, const DescribePackageResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
576 {
577   handler(this, request, DescribePackage(request), context);
578 }
579 
DescribePackageImportJob(const DescribePackageImportJobRequest & request) const580 DescribePackageImportJobOutcome PanoramaClient::DescribePackageImportJob(const DescribePackageImportJobRequest& request) const
581 {
582   if (!request.JobIdHasBeenSet())
583   {
584     AWS_LOGSTREAM_ERROR("DescribePackageImportJob", "Required field: JobId, is not set");
585     return DescribePackageImportJobOutcome(Aws::Client::AWSError<PanoramaErrors>(PanoramaErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [JobId]", false));
586   }
587   Aws::Http::URI uri = m_uri;
588   uri.AddPathSegments("/packages/import-jobs/");
589   uri.AddPathSegment(request.GetJobId());
590   return DescribePackageImportJobOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
591 }
592 
DescribePackageImportJobCallable(const DescribePackageImportJobRequest & request) const593 DescribePackageImportJobOutcomeCallable PanoramaClient::DescribePackageImportJobCallable(const DescribePackageImportJobRequest& request) const
594 {
595   auto task = Aws::MakeShared< std::packaged_task< DescribePackageImportJobOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DescribePackageImportJob(request); } );
596   auto packagedFunction = [task]() { (*task)(); };
597   m_executor->Submit(packagedFunction);
598   return task->get_future();
599 }
600 
DescribePackageImportJobAsync(const DescribePackageImportJobRequest & request,const DescribePackageImportJobResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const601 void PanoramaClient::DescribePackageImportJobAsync(const DescribePackageImportJobRequest& request, const DescribePackageImportJobResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
602 {
603   m_executor->Submit( [this, request, handler, context](){ this->DescribePackageImportJobAsyncHelper( request, handler, context ); } );
604 }
605 
DescribePackageImportJobAsyncHelper(const DescribePackageImportJobRequest & request,const DescribePackageImportJobResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const606 void PanoramaClient::DescribePackageImportJobAsyncHelper(const DescribePackageImportJobRequest& request, const DescribePackageImportJobResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
607 {
608   handler(this, request, DescribePackageImportJob(request), context);
609 }
610 
DescribePackageVersion(const DescribePackageVersionRequest & request) const611 DescribePackageVersionOutcome PanoramaClient::DescribePackageVersion(const DescribePackageVersionRequest& request) const
612 {
613   if (!request.PackageIdHasBeenSet())
614   {
615     AWS_LOGSTREAM_ERROR("DescribePackageVersion", "Required field: PackageId, is not set");
616     return DescribePackageVersionOutcome(Aws::Client::AWSError<PanoramaErrors>(PanoramaErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [PackageId]", false));
617   }
618   if (!request.PackageVersionHasBeenSet())
619   {
620     AWS_LOGSTREAM_ERROR("DescribePackageVersion", "Required field: PackageVersion, is not set");
621     return DescribePackageVersionOutcome(Aws::Client::AWSError<PanoramaErrors>(PanoramaErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [PackageVersion]", false));
622   }
623   Aws::Http::URI uri = m_uri;
624   uri.AddPathSegments("/packages/metadata/");
625   uri.AddPathSegment(request.GetPackageId());
626   uri.AddPathSegments("/versions/");
627   uri.AddPathSegment(request.GetPackageVersion());
628   return DescribePackageVersionOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
629 }
630 
DescribePackageVersionCallable(const DescribePackageVersionRequest & request) const631 DescribePackageVersionOutcomeCallable PanoramaClient::DescribePackageVersionCallable(const DescribePackageVersionRequest& request) const
632 {
633   auto task = Aws::MakeShared< std::packaged_task< DescribePackageVersionOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DescribePackageVersion(request); } );
634   auto packagedFunction = [task]() { (*task)(); };
635   m_executor->Submit(packagedFunction);
636   return task->get_future();
637 }
638 
DescribePackageVersionAsync(const DescribePackageVersionRequest & request,const DescribePackageVersionResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const639 void PanoramaClient::DescribePackageVersionAsync(const DescribePackageVersionRequest& request, const DescribePackageVersionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
640 {
641   m_executor->Submit( [this, request, handler, context](){ this->DescribePackageVersionAsyncHelper( request, handler, context ); } );
642 }
643 
DescribePackageVersionAsyncHelper(const DescribePackageVersionRequest & request,const DescribePackageVersionResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const644 void PanoramaClient::DescribePackageVersionAsyncHelper(const DescribePackageVersionRequest& request, const DescribePackageVersionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
645 {
646   handler(this, request, DescribePackageVersion(request), context);
647 }
648 
ListApplicationInstanceDependencies(const ListApplicationInstanceDependenciesRequest & request) const649 ListApplicationInstanceDependenciesOutcome PanoramaClient::ListApplicationInstanceDependencies(const ListApplicationInstanceDependenciesRequest& request) const
650 {
651   if (!request.ApplicationInstanceIdHasBeenSet())
652   {
653     AWS_LOGSTREAM_ERROR("ListApplicationInstanceDependencies", "Required field: ApplicationInstanceId, is not set");
654     return ListApplicationInstanceDependenciesOutcome(Aws::Client::AWSError<PanoramaErrors>(PanoramaErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ApplicationInstanceId]", false));
655   }
656   Aws::Http::URI uri = m_uri;
657   uri.AddPathSegments("/application-instances/");
658   uri.AddPathSegment(request.GetApplicationInstanceId());
659   uri.AddPathSegments("/package-dependencies");
660   return ListApplicationInstanceDependenciesOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
661 }
662 
ListApplicationInstanceDependenciesCallable(const ListApplicationInstanceDependenciesRequest & request) const663 ListApplicationInstanceDependenciesOutcomeCallable PanoramaClient::ListApplicationInstanceDependenciesCallable(const ListApplicationInstanceDependenciesRequest& request) const
664 {
665   auto task = Aws::MakeShared< std::packaged_task< ListApplicationInstanceDependenciesOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListApplicationInstanceDependencies(request); } );
666   auto packagedFunction = [task]() { (*task)(); };
667   m_executor->Submit(packagedFunction);
668   return task->get_future();
669 }
670 
ListApplicationInstanceDependenciesAsync(const ListApplicationInstanceDependenciesRequest & request,const ListApplicationInstanceDependenciesResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const671 void PanoramaClient::ListApplicationInstanceDependenciesAsync(const ListApplicationInstanceDependenciesRequest& request, const ListApplicationInstanceDependenciesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
672 {
673   m_executor->Submit( [this, request, handler, context](){ this->ListApplicationInstanceDependenciesAsyncHelper( request, handler, context ); } );
674 }
675 
ListApplicationInstanceDependenciesAsyncHelper(const ListApplicationInstanceDependenciesRequest & request,const ListApplicationInstanceDependenciesResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const676 void PanoramaClient::ListApplicationInstanceDependenciesAsyncHelper(const ListApplicationInstanceDependenciesRequest& request, const ListApplicationInstanceDependenciesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
677 {
678   handler(this, request, ListApplicationInstanceDependencies(request), context);
679 }
680 
ListApplicationInstanceNodeInstances(const ListApplicationInstanceNodeInstancesRequest & request) const681 ListApplicationInstanceNodeInstancesOutcome PanoramaClient::ListApplicationInstanceNodeInstances(const ListApplicationInstanceNodeInstancesRequest& request) const
682 {
683   if (!request.ApplicationInstanceIdHasBeenSet())
684   {
685     AWS_LOGSTREAM_ERROR("ListApplicationInstanceNodeInstances", "Required field: ApplicationInstanceId, is not set");
686     return ListApplicationInstanceNodeInstancesOutcome(Aws::Client::AWSError<PanoramaErrors>(PanoramaErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ApplicationInstanceId]", false));
687   }
688   Aws::Http::URI uri = m_uri;
689   uri.AddPathSegments("/application-instances/");
690   uri.AddPathSegment(request.GetApplicationInstanceId());
691   uri.AddPathSegments("/node-instances");
692   return ListApplicationInstanceNodeInstancesOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
693 }
694 
ListApplicationInstanceNodeInstancesCallable(const ListApplicationInstanceNodeInstancesRequest & request) const695 ListApplicationInstanceNodeInstancesOutcomeCallable PanoramaClient::ListApplicationInstanceNodeInstancesCallable(const ListApplicationInstanceNodeInstancesRequest& request) const
696 {
697   auto task = Aws::MakeShared< std::packaged_task< ListApplicationInstanceNodeInstancesOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListApplicationInstanceNodeInstances(request); } );
698   auto packagedFunction = [task]() { (*task)(); };
699   m_executor->Submit(packagedFunction);
700   return task->get_future();
701 }
702 
ListApplicationInstanceNodeInstancesAsync(const ListApplicationInstanceNodeInstancesRequest & request,const ListApplicationInstanceNodeInstancesResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const703 void PanoramaClient::ListApplicationInstanceNodeInstancesAsync(const ListApplicationInstanceNodeInstancesRequest& request, const ListApplicationInstanceNodeInstancesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
704 {
705   m_executor->Submit( [this, request, handler, context](){ this->ListApplicationInstanceNodeInstancesAsyncHelper( request, handler, context ); } );
706 }
707 
ListApplicationInstanceNodeInstancesAsyncHelper(const ListApplicationInstanceNodeInstancesRequest & request,const ListApplicationInstanceNodeInstancesResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const708 void PanoramaClient::ListApplicationInstanceNodeInstancesAsyncHelper(const ListApplicationInstanceNodeInstancesRequest& request, const ListApplicationInstanceNodeInstancesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
709 {
710   handler(this, request, ListApplicationInstanceNodeInstances(request), context);
711 }
712 
ListApplicationInstances(const ListApplicationInstancesRequest & request) const713 ListApplicationInstancesOutcome PanoramaClient::ListApplicationInstances(const ListApplicationInstancesRequest& request) const
714 {
715   Aws::Http::URI uri = m_uri;
716   uri.AddPathSegments("/application-instances");
717   return ListApplicationInstancesOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
718 }
719 
ListApplicationInstancesCallable(const ListApplicationInstancesRequest & request) const720 ListApplicationInstancesOutcomeCallable PanoramaClient::ListApplicationInstancesCallable(const ListApplicationInstancesRequest& request) const
721 {
722   auto task = Aws::MakeShared< std::packaged_task< ListApplicationInstancesOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListApplicationInstances(request); } );
723   auto packagedFunction = [task]() { (*task)(); };
724   m_executor->Submit(packagedFunction);
725   return task->get_future();
726 }
727 
ListApplicationInstancesAsync(const ListApplicationInstancesRequest & request,const ListApplicationInstancesResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const728 void PanoramaClient::ListApplicationInstancesAsync(const ListApplicationInstancesRequest& request, const ListApplicationInstancesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
729 {
730   m_executor->Submit( [this, request, handler, context](){ this->ListApplicationInstancesAsyncHelper( request, handler, context ); } );
731 }
732 
ListApplicationInstancesAsyncHelper(const ListApplicationInstancesRequest & request,const ListApplicationInstancesResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const733 void PanoramaClient::ListApplicationInstancesAsyncHelper(const ListApplicationInstancesRequest& request, const ListApplicationInstancesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
734 {
735   handler(this, request, ListApplicationInstances(request), context);
736 }
737 
ListDevices(const ListDevicesRequest & request) const738 ListDevicesOutcome PanoramaClient::ListDevices(const ListDevicesRequest& request) const
739 {
740   Aws::Http::URI uri = m_uri;
741   uri.AddPathSegments("/devices");
742   return ListDevicesOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
743 }
744 
ListDevicesCallable(const ListDevicesRequest & request) const745 ListDevicesOutcomeCallable PanoramaClient::ListDevicesCallable(const ListDevicesRequest& request) const
746 {
747   auto task = Aws::MakeShared< std::packaged_task< ListDevicesOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListDevices(request); } );
748   auto packagedFunction = [task]() { (*task)(); };
749   m_executor->Submit(packagedFunction);
750   return task->get_future();
751 }
752 
ListDevicesAsync(const ListDevicesRequest & request,const ListDevicesResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const753 void PanoramaClient::ListDevicesAsync(const ListDevicesRequest& request, const ListDevicesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
754 {
755   m_executor->Submit( [this, request, handler, context](){ this->ListDevicesAsyncHelper( request, handler, context ); } );
756 }
757 
ListDevicesAsyncHelper(const ListDevicesRequest & request,const ListDevicesResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const758 void PanoramaClient::ListDevicesAsyncHelper(const ListDevicesRequest& request, const ListDevicesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
759 {
760   handler(this, request, ListDevices(request), context);
761 }
762 
ListDevicesJobs(const ListDevicesJobsRequest & request) const763 ListDevicesJobsOutcome PanoramaClient::ListDevicesJobs(const ListDevicesJobsRequest& request) const
764 {
765   Aws::Http::URI uri = m_uri;
766   uri.AddPathSegments("/jobs");
767   return ListDevicesJobsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
768 }
769 
ListDevicesJobsCallable(const ListDevicesJobsRequest & request) const770 ListDevicesJobsOutcomeCallable PanoramaClient::ListDevicesJobsCallable(const ListDevicesJobsRequest& request) const
771 {
772   auto task = Aws::MakeShared< std::packaged_task< ListDevicesJobsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListDevicesJobs(request); } );
773   auto packagedFunction = [task]() { (*task)(); };
774   m_executor->Submit(packagedFunction);
775   return task->get_future();
776 }
777 
ListDevicesJobsAsync(const ListDevicesJobsRequest & request,const ListDevicesJobsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const778 void PanoramaClient::ListDevicesJobsAsync(const ListDevicesJobsRequest& request, const ListDevicesJobsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
779 {
780   m_executor->Submit( [this, request, handler, context](){ this->ListDevicesJobsAsyncHelper( request, handler, context ); } );
781 }
782 
ListDevicesJobsAsyncHelper(const ListDevicesJobsRequest & request,const ListDevicesJobsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const783 void PanoramaClient::ListDevicesJobsAsyncHelper(const ListDevicesJobsRequest& request, const ListDevicesJobsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
784 {
785   handler(this, request, ListDevicesJobs(request), context);
786 }
787 
ListNodeFromTemplateJobs(const ListNodeFromTemplateJobsRequest & request) const788 ListNodeFromTemplateJobsOutcome PanoramaClient::ListNodeFromTemplateJobs(const ListNodeFromTemplateJobsRequest& request) const
789 {
790   Aws::Http::URI uri = m_uri;
791   uri.AddPathSegments("/packages/template-job");
792   return ListNodeFromTemplateJobsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
793 }
794 
ListNodeFromTemplateJobsCallable(const ListNodeFromTemplateJobsRequest & request) const795 ListNodeFromTemplateJobsOutcomeCallable PanoramaClient::ListNodeFromTemplateJobsCallable(const ListNodeFromTemplateJobsRequest& request) const
796 {
797   auto task = Aws::MakeShared< std::packaged_task< ListNodeFromTemplateJobsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListNodeFromTemplateJobs(request); } );
798   auto packagedFunction = [task]() { (*task)(); };
799   m_executor->Submit(packagedFunction);
800   return task->get_future();
801 }
802 
ListNodeFromTemplateJobsAsync(const ListNodeFromTemplateJobsRequest & request,const ListNodeFromTemplateJobsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const803 void PanoramaClient::ListNodeFromTemplateJobsAsync(const ListNodeFromTemplateJobsRequest& request, const ListNodeFromTemplateJobsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
804 {
805   m_executor->Submit( [this, request, handler, context](){ this->ListNodeFromTemplateJobsAsyncHelper( request, handler, context ); } );
806 }
807 
ListNodeFromTemplateJobsAsyncHelper(const ListNodeFromTemplateJobsRequest & request,const ListNodeFromTemplateJobsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const808 void PanoramaClient::ListNodeFromTemplateJobsAsyncHelper(const ListNodeFromTemplateJobsRequest& request, const ListNodeFromTemplateJobsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
809 {
810   handler(this, request, ListNodeFromTemplateJobs(request), context);
811 }
812 
ListNodes(const ListNodesRequest & request) const813 ListNodesOutcome PanoramaClient::ListNodes(const ListNodesRequest& request) const
814 {
815   Aws::Http::URI uri = m_uri;
816   uri.AddPathSegments("/nodes");
817   return ListNodesOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
818 }
819 
ListNodesCallable(const ListNodesRequest & request) const820 ListNodesOutcomeCallable PanoramaClient::ListNodesCallable(const ListNodesRequest& request) const
821 {
822   auto task = Aws::MakeShared< std::packaged_task< ListNodesOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListNodes(request); } );
823   auto packagedFunction = [task]() { (*task)(); };
824   m_executor->Submit(packagedFunction);
825   return task->get_future();
826 }
827 
ListNodesAsync(const ListNodesRequest & request,const ListNodesResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const828 void PanoramaClient::ListNodesAsync(const ListNodesRequest& request, const ListNodesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
829 {
830   m_executor->Submit( [this, request, handler, context](){ this->ListNodesAsyncHelper( request, handler, context ); } );
831 }
832 
ListNodesAsyncHelper(const ListNodesRequest & request,const ListNodesResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const833 void PanoramaClient::ListNodesAsyncHelper(const ListNodesRequest& request, const ListNodesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
834 {
835   handler(this, request, ListNodes(request), context);
836 }
837 
ListPackageImportJobs(const ListPackageImportJobsRequest & request) const838 ListPackageImportJobsOutcome PanoramaClient::ListPackageImportJobs(const ListPackageImportJobsRequest& request) const
839 {
840   Aws::Http::URI uri = m_uri;
841   uri.AddPathSegments("/packages/import-jobs");
842   return ListPackageImportJobsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
843 }
844 
ListPackageImportJobsCallable(const ListPackageImportJobsRequest & request) const845 ListPackageImportJobsOutcomeCallable PanoramaClient::ListPackageImportJobsCallable(const ListPackageImportJobsRequest& request) const
846 {
847   auto task = Aws::MakeShared< std::packaged_task< ListPackageImportJobsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListPackageImportJobs(request); } );
848   auto packagedFunction = [task]() { (*task)(); };
849   m_executor->Submit(packagedFunction);
850   return task->get_future();
851 }
852 
ListPackageImportJobsAsync(const ListPackageImportJobsRequest & request,const ListPackageImportJobsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const853 void PanoramaClient::ListPackageImportJobsAsync(const ListPackageImportJobsRequest& request, const ListPackageImportJobsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
854 {
855   m_executor->Submit( [this, request, handler, context](){ this->ListPackageImportJobsAsyncHelper( request, handler, context ); } );
856 }
857 
ListPackageImportJobsAsyncHelper(const ListPackageImportJobsRequest & request,const ListPackageImportJobsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const858 void PanoramaClient::ListPackageImportJobsAsyncHelper(const ListPackageImportJobsRequest& request, const ListPackageImportJobsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
859 {
860   handler(this, request, ListPackageImportJobs(request), context);
861 }
862 
ListPackages(const ListPackagesRequest & request) const863 ListPackagesOutcome PanoramaClient::ListPackages(const ListPackagesRequest& request) const
864 {
865   Aws::Http::URI uri = m_uri;
866   uri.AddPathSegments("/packages");
867   return ListPackagesOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
868 }
869 
ListPackagesCallable(const ListPackagesRequest & request) const870 ListPackagesOutcomeCallable PanoramaClient::ListPackagesCallable(const ListPackagesRequest& request) const
871 {
872   auto task = Aws::MakeShared< std::packaged_task< ListPackagesOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListPackages(request); } );
873   auto packagedFunction = [task]() { (*task)(); };
874   m_executor->Submit(packagedFunction);
875   return task->get_future();
876 }
877 
ListPackagesAsync(const ListPackagesRequest & request,const ListPackagesResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const878 void PanoramaClient::ListPackagesAsync(const ListPackagesRequest& request, const ListPackagesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
879 {
880   m_executor->Submit( [this, request, handler, context](){ this->ListPackagesAsyncHelper( request, handler, context ); } );
881 }
882 
ListPackagesAsyncHelper(const ListPackagesRequest & request,const ListPackagesResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const883 void PanoramaClient::ListPackagesAsyncHelper(const ListPackagesRequest& request, const ListPackagesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
884 {
885   handler(this, request, ListPackages(request), context);
886 }
887 
ListTagsForResource(const ListTagsForResourceRequest & request) const888 ListTagsForResourceOutcome PanoramaClient::ListTagsForResource(const ListTagsForResourceRequest& request) const
889 {
890   if (!request.ResourceArnHasBeenSet())
891   {
892     AWS_LOGSTREAM_ERROR("ListTagsForResource", "Required field: ResourceArn, is not set");
893     return ListTagsForResourceOutcome(Aws::Client::AWSError<PanoramaErrors>(PanoramaErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ResourceArn]", false));
894   }
895   Aws::Http::URI uri = m_uri;
896   uri.AddPathSegments("/tags/");
897   uri.AddPathSegment(request.GetResourceArn());
898   return ListTagsForResourceOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
899 }
900 
ListTagsForResourceCallable(const ListTagsForResourceRequest & request) const901 ListTagsForResourceOutcomeCallable PanoramaClient::ListTagsForResourceCallable(const ListTagsForResourceRequest& request) const
902 {
903   auto task = Aws::MakeShared< std::packaged_task< ListTagsForResourceOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListTagsForResource(request); } );
904   auto packagedFunction = [task]() { (*task)(); };
905   m_executor->Submit(packagedFunction);
906   return task->get_future();
907 }
908 
ListTagsForResourceAsync(const ListTagsForResourceRequest & request,const ListTagsForResourceResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const909 void PanoramaClient::ListTagsForResourceAsync(const ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
910 {
911   m_executor->Submit( [this, request, handler, context](){ this->ListTagsForResourceAsyncHelper( request, handler, context ); } );
912 }
913 
ListTagsForResourceAsyncHelper(const ListTagsForResourceRequest & request,const ListTagsForResourceResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const914 void PanoramaClient::ListTagsForResourceAsyncHelper(const ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
915 {
916   handler(this, request, ListTagsForResource(request), context);
917 }
918 
ProvisionDevice(const ProvisionDeviceRequest & request) const919 ProvisionDeviceOutcome PanoramaClient::ProvisionDevice(const ProvisionDeviceRequest& request) const
920 {
921   Aws::Http::URI uri = m_uri;
922   uri.AddPathSegments("/devices");
923   return ProvisionDeviceOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
924 }
925 
ProvisionDeviceCallable(const ProvisionDeviceRequest & request) const926 ProvisionDeviceOutcomeCallable PanoramaClient::ProvisionDeviceCallable(const ProvisionDeviceRequest& request) const
927 {
928   auto task = Aws::MakeShared< std::packaged_task< ProvisionDeviceOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ProvisionDevice(request); } );
929   auto packagedFunction = [task]() { (*task)(); };
930   m_executor->Submit(packagedFunction);
931   return task->get_future();
932 }
933 
ProvisionDeviceAsync(const ProvisionDeviceRequest & request,const ProvisionDeviceResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const934 void PanoramaClient::ProvisionDeviceAsync(const ProvisionDeviceRequest& request, const ProvisionDeviceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
935 {
936   m_executor->Submit( [this, request, handler, context](){ this->ProvisionDeviceAsyncHelper( request, handler, context ); } );
937 }
938 
ProvisionDeviceAsyncHelper(const ProvisionDeviceRequest & request,const ProvisionDeviceResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const939 void PanoramaClient::ProvisionDeviceAsyncHelper(const ProvisionDeviceRequest& request, const ProvisionDeviceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
940 {
941   handler(this, request, ProvisionDevice(request), context);
942 }
943 
RegisterPackageVersion(const RegisterPackageVersionRequest & request) const944 RegisterPackageVersionOutcome PanoramaClient::RegisterPackageVersion(const RegisterPackageVersionRequest& request) const
945 {
946   if (!request.PackageIdHasBeenSet())
947   {
948     AWS_LOGSTREAM_ERROR("RegisterPackageVersion", "Required field: PackageId, is not set");
949     return RegisterPackageVersionOutcome(Aws::Client::AWSError<PanoramaErrors>(PanoramaErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [PackageId]", false));
950   }
951   if (!request.PackageVersionHasBeenSet())
952   {
953     AWS_LOGSTREAM_ERROR("RegisterPackageVersion", "Required field: PackageVersion, is not set");
954     return RegisterPackageVersionOutcome(Aws::Client::AWSError<PanoramaErrors>(PanoramaErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [PackageVersion]", false));
955   }
956   if (!request.PatchVersionHasBeenSet())
957   {
958     AWS_LOGSTREAM_ERROR("RegisterPackageVersion", "Required field: PatchVersion, is not set");
959     return RegisterPackageVersionOutcome(Aws::Client::AWSError<PanoramaErrors>(PanoramaErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [PatchVersion]", false));
960   }
961   Aws::Http::URI uri = m_uri;
962   uri.AddPathSegments("/packages/");
963   uri.AddPathSegment(request.GetPackageId());
964   uri.AddPathSegments("/versions/");
965   uri.AddPathSegment(request.GetPackageVersion());
966   uri.AddPathSegments("/patch/");
967   uri.AddPathSegment(request.GetPatchVersion());
968   return RegisterPackageVersionOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_PUT, Aws::Auth::SIGV4_SIGNER));
969 }
970 
RegisterPackageVersionCallable(const RegisterPackageVersionRequest & request) const971 RegisterPackageVersionOutcomeCallable PanoramaClient::RegisterPackageVersionCallable(const RegisterPackageVersionRequest& request) const
972 {
973   auto task = Aws::MakeShared< std::packaged_task< RegisterPackageVersionOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->RegisterPackageVersion(request); } );
974   auto packagedFunction = [task]() { (*task)(); };
975   m_executor->Submit(packagedFunction);
976   return task->get_future();
977 }
978 
RegisterPackageVersionAsync(const RegisterPackageVersionRequest & request,const RegisterPackageVersionResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const979 void PanoramaClient::RegisterPackageVersionAsync(const RegisterPackageVersionRequest& request, const RegisterPackageVersionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
980 {
981   m_executor->Submit( [this, request, handler, context](){ this->RegisterPackageVersionAsyncHelper( request, handler, context ); } );
982 }
983 
RegisterPackageVersionAsyncHelper(const RegisterPackageVersionRequest & request,const RegisterPackageVersionResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const984 void PanoramaClient::RegisterPackageVersionAsyncHelper(const RegisterPackageVersionRequest& request, const RegisterPackageVersionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
985 {
986   handler(this, request, RegisterPackageVersion(request), context);
987 }
988 
RemoveApplicationInstance(const RemoveApplicationInstanceRequest & request) const989 RemoveApplicationInstanceOutcome PanoramaClient::RemoveApplicationInstance(const RemoveApplicationInstanceRequest& request) const
990 {
991   if (!request.ApplicationInstanceIdHasBeenSet())
992   {
993     AWS_LOGSTREAM_ERROR("RemoveApplicationInstance", "Required field: ApplicationInstanceId, is not set");
994     return RemoveApplicationInstanceOutcome(Aws::Client::AWSError<PanoramaErrors>(PanoramaErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ApplicationInstanceId]", false));
995   }
996   Aws::Http::URI uri = m_uri;
997   uri.AddPathSegments("/application-instances/");
998   uri.AddPathSegment(request.GetApplicationInstanceId());
999   return RemoveApplicationInstanceOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER));
1000 }
1001 
RemoveApplicationInstanceCallable(const RemoveApplicationInstanceRequest & request) const1002 RemoveApplicationInstanceOutcomeCallable PanoramaClient::RemoveApplicationInstanceCallable(const RemoveApplicationInstanceRequest& request) const
1003 {
1004   auto task = Aws::MakeShared< std::packaged_task< RemoveApplicationInstanceOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->RemoveApplicationInstance(request); } );
1005   auto packagedFunction = [task]() { (*task)(); };
1006   m_executor->Submit(packagedFunction);
1007   return task->get_future();
1008 }
1009 
RemoveApplicationInstanceAsync(const RemoveApplicationInstanceRequest & request,const RemoveApplicationInstanceResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1010 void PanoramaClient::RemoveApplicationInstanceAsync(const RemoveApplicationInstanceRequest& request, const RemoveApplicationInstanceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1011 {
1012   m_executor->Submit( [this, request, handler, context](){ this->RemoveApplicationInstanceAsyncHelper( request, handler, context ); } );
1013 }
1014 
RemoveApplicationInstanceAsyncHelper(const RemoveApplicationInstanceRequest & request,const RemoveApplicationInstanceResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1015 void PanoramaClient::RemoveApplicationInstanceAsyncHelper(const RemoveApplicationInstanceRequest& request, const RemoveApplicationInstanceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1016 {
1017   handler(this, request, RemoveApplicationInstance(request), context);
1018 }
1019 
TagResource(const TagResourceRequest & request) const1020 TagResourceOutcome PanoramaClient::TagResource(const TagResourceRequest& request) const
1021 {
1022   if (!request.ResourceArnHasBeenSet())
1023   {
1024     AWS_LOGSTREAM_ERROR("TagResource", "Required field: ResourceArn, is not set");
1025     return TagResourceOutcome(Aws::Client::AWSError<PanoramaErrors>(PanoramaErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ResourceArn]", false));
1026   }
1027   Aws::Http::URI uri = m_uri;
1028   uri.AddPathSegments("/tags/");
1029   uri.AddPathSegment(request.GetResourceArn());
1030   return TagResourceOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
1031 }
1032 
TagResourceCallable(const TagResourceRequest & request) const1033 TagResourceOutcomeCallable PanoramaClient::TagResourceCallable(const TagResourceRequest& request) const
1034 {
1035   auto task = Aws::MakeShared< std::packaged_task< TagResourceOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->TagResource(request); } );
1036   auto packagedFunction = [task]() { (*task)(); };
1037   m_executor->Submit(packagedFunction);
1038   return task->get_future();
1039 }
1040 
TagResourceAsync(const TagResourceRequest & request,const TagResourceResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1041 void PanoramaClient::TagResourceAsync(const TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1042 {
1043   m_executor->Submit( [this, request, handler, context](){ this->TagResourceAsyncHelper( request, handler, context ); } );
1044 }
1045 
TagResourceAsyncHelper(const TagResourceRequest & request,const TagResourceResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1046 void PanoramaClient::TagResourceAsyncHelper(const TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1047 {
1048   handler(this, request, TagResource(request), context);
1049 }
1050 
UntagResource(const UntagResourceRequest & request) const1051 UntagResourceOutcome PanoramaClient::UntagResource(const UntagResourceRequest& request) const
1052 {
1053   if (!request.ResourceArnHasBeenSet())
1054   {
1055     AWS_LOGSTREAM_ERROR("UntagResource", "Required field: ResourceArn, is not set");
1056     return UntagResourceOutcome(Aws::Client::AWSError<PanoramaErrors>(PanoramaErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ResourceArn]", false));
1057   }
1058   if (!request.TagKeysHasBeenSet())
1059   {
1060     AWS_LOGSTREAM_ERROR("UntagResource", "Required field: TagKeys, is not set");
1061     return UntagResourceOutcome(Aws::Client::AWSError<PanoramaErrors>(PanoramaErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [TagKeys]", false));
1062   }
1063   Aws::Http::URI uri = m_uri;
1064   uri.AddPathSegments("/tags/");
1065   uri.AddPathSegment(request.GetResourceArn());
1066   return UntagResourceOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER));
1067 }
1068 
UntagResourceCallable(const UntagResourceRequest & request) const1069 UntagResourceOutcomeCallable PanoramaClient::UntagResourceCallable(const UntagResourceRequest& request) const
1070 {
1071   auto task = Aws::MakeShared< std::packaged_task< UntagResourceOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->UntagResource(request); } );
1072   auto packagedFunction = [task]() { (*task)(); };
1073   m_executor->Submit(packagedFunction);
1074   return task->get_future();
1075 }
1076 
UntagResourceAsync(const UntagResourceRequest & request,const UntagResourceResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1077 void PanoramaClient::UntagResourceAsync(const UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1078 {
1079   m_executor->Submit( [this, request, handler, context](){ this->UntagResourceAsyncHelper( request, handler, context ); } );
1080 }
1081 
UntagResourceAsyncHelper(const UntagResourceRequest & request,const UntagResourceResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1082 void PanoramaClient::UntagResourceAsyncHelper(const UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1083 {
1084   handler(this, request, UntagResource(request), context);
1085 }
1086 
UpdateDeviceMetadata(const UpdateDeviceMetadataRequest & request) const1087 UpdateDeviceMetadataOutcome PanoramaClient::UpdateDeviceMetadata(const UpdateDeviceMetadataRequest& request) const
1088 {
1089   if (!request.DeviceIdHasBeenSet())
1090   {
1091     AWS_LOGSTREAM_ERROR("UpdateDeviceMetadata", "Required field: DeviceId, is not set");
1092     return UpdateDeviceMetadataOutcome(Aws::Client::AWSError<PanoramaErrors>(PanoramaErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [DeviceId]", false));
1093   }
1094   Aws::Http::URI uri = m_uri;
1095   uri.AddPathSegments("/devices/");
1096   uri.AddPathSegment(request.GetDeviceId());
1097   return UpdateDeviceMetadataOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_PUT, Aws::Auth::SIGV4_SIGNER));
1098 }
1099 
UpdateDeviceMetadataCallable(const UpdateDeviceMetadataRequest & request) const1100 UpdateDeviceMetadataOutcomeCallable PanoramaClient::UpdateDeviceMetadataCallable(const UpdateDeviceMetadataRequest& request) const
1101 {
1102   auto task = Aws::MakeShared< std::packaged_task< UpdateDeviceMetadataOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->UpdateDeviceMetadata(request); } );
1103   auto packagedFunction = [task]() { (*task)(); };
1104   m_executor->Submit(packagedFunction);
1105   return task->get_future();
1106 }
1107 
UpdateDeviceMetadataAsync(const UpdateDeviceMetadataRequest & request,const UpdateDeviceMetadataResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1108 void PanoramaClient::UpdateDeviceMetadataAsync(const UpdateDeviceMetadataRequest& request, const UpdateDeviceMetadataResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1109 {
1110   m_executor->Submit( [this, request, handler, context](){ this->UpdateDeviceMetadataAsyncHelper( request, handler, context ); } );
1111 }
1112 
UpdateDeviceMetadataAsyncHelper(const UpdateDeviceMetadataRequest & request,const UpdateDeviceMetadataResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1113 void PanoramaClient::UpdateDeviceMetadataAsyncHelper(const UpdateDeviceMetadataRequest& request, const UpdateDeviceMetadataResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1114 {
1115   handler(this, request, UpdateDeviceMetadata(request), context);
1116 }
1117 
1118