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/mediaconvert/MediaConvert_EXPORTS.h>
8 #include <aws/mediaconvert/MediaConvertRequest.h>
9 #include <aws/mediaconvert/model/AccelerationSettings.h>
10 #include <aws/core/utils/memory/stl/AWSString.h>
11 #include <aws/core/utils/memory/stl/AWSVector.h>
12 #include <aws/mediaconvert/model/JobTemplateSettings.h>
13 #include <aws/mediaconvert/model/StatusUpdateInterval.h>
14 #include <aws/core/utils/memory/stl/AWSMap.h>
15 #include <aws/mediaconvert/model/HopDestination.h>
16 #include <utility>
17 
18 namespace Aws
19 {
20 namespace MediaConvert
21 {
22 namespace Model
23 {
24 
25   /**
26    */
27   class AWS_MEDIACONVERT_API CreateJobTemplateRequest : public MediaConvertRequest
28   {
29   public:
30     CreateJobTemplateRequest();
31 
32     // Service request name is the Operation name which will send this request out,
33     // each operation should has unique request name, so that we can get operation's name from this request.
34     // Note: this is not true for response, multiple operations may have the same response name,
35     // so we can not get operation's name from response.
GetServiceRequestName()36     inline virtual const char* GetServiceRequestName() const override { return "CreateJobTemplate"; }
37 
38     Aws::String SerializePayload() const override;
39 
40 
41     /**
42      * Accelerated transcoding can significantly speed up jobs with long, visually
43      * complex content. Outputs that use this feature incur pro-tier pricing. For
44      * information about feature limitations, see the AWS Elemental MediaConvert User
45      * Guide.
46      */
GetAccelerationSettings()47     inline const AccelerationSettings& GetAccelerationSettings() const{ return m_accelerationSettings; }
48 
49     /**
50      * Accelerated transcoding can significantly speed up jobs with long, visually
51      * complex content. Outputs that use this feature incur pro-tier pricing. For
52      * information about feature limitations, see the AWS Elemental MediaConvert User
53      * Guide.
54      */
AccelerationSettingsHasBeenSet()55     inline bool AccelerationSettingsHasBeenSet() const { return m_accelerationSettingsHasBeenSet; }
56 
57     /**
58      * Accelerated transcoding can significantly speed up jobs with long, visually
59      * complex content. Outputs that use this feature incur pro-tier pricing. For
60      * information about feature limitations, see the AWS Elemental MediaConvert User
61      * Guide.
62      */
SetAccelerationSettings(const AccelerationSettings & value)63     inline void SetAccelerationSettings(const AccelerationSettings& value) { m_accelerationSettingsHasBeenSet = true; m_accelerationSettings = value; }
64 
65     /**
66      * Accelerated transcoding can significantly speed up jobs with long, visually
67      * complex content. Outputs that use this feature incur pro-tier pricing. For
68      * information about feature limitations, see the AWS Elemental MediaConvert User
69      * Guide.
70      */
SetAccelerationSettings(AccelerationSettings && value)71     inline void SetAccelerationSettings(AccelerationSettings&& value) { m_accelerationSettingsHasBeenSet = true; m_accelerationSettings = std::move(value); }
72 
73     /**
74      * Accelerated transcoding can significantly speed up jobs with long, visually
75      * complex content. Outputs that use this feature incur pro-tier pricing. For
76      * information about feature limitations, see the AWS Elemental MediaConvert User
77      * Guide.
78      */
WithAccelerationSettings(const AccelerationSettings & value)79     inline CreateJobTemplateRequest& WithAccelerationSettings(const AccelerationSettings& value) { SetAccelerationSettings(value); return *this;}
80 
81     /**
82      * Accelerated transcoding can significantly speed up jobs with long, visually
83      * complex content. Outputs that use this feature incur pro-tier pricing. For
84      * information about feature limitations, see the AWS Elemental MediaConvert User
85      * Guide.
86      */
WithAccelerationSettings(AccelerationSettings && value)87     inline CreateJobTemplateRequest& WithAccelerationSettings(AccelerationSettings&& value) { SetAccelerationSettings(std::move(value)); return *this;}
88 
89 
90     /**
91      * Optional. A category for the job template you are creating
92      */
GetCategory()93     inline const Aws::String& GetCategory() const{ return m_category; }
94 
95     /**
96      * Optional. A category for the job template you are creating
97      */
CategoryHasBeenSet()98     inline bool CategoryHasBeenSet() const { return m_categoryHasBeenSet; }
99 
100     /**
101      * Optional. A category for the job template you are creating
102      */
SetCategory(const Aws::String & value)103     inline void SetCategory(const Aws::String& value) { m_categoryHasBeenSet = true; m_category = value; }
104 
105     /**
106      * Optional. A category for the job template you are creating
107      */
SetCategory(Aws::String && value)108     inline void SetCategory(Aws::String&& value) { m_categoryHasBeenSet = true; m_category = std::move(value); }
109 
110     /**
111      * Optional. A category for the job template you are creating
112      */
SetCategory(const char * value)113     inline void SetCategory(const char* value) { m_categoryHasBeenSet = true; m_category.assign(value); }
114 
115     /**
116      * Optional. A category for the job template you are creating
117      */
WithCategory(const Aws::String & value)118     inline CreateJobTemplateRequest& WithCategory(const Aws::String& value) { SetCategory(value); return *this;}
119 
120     /**
121      * Optional. A category for the job template you are creating
122      */
WithCategory(Aws::String && value)123     inline CreateJobTemplateRequest& WithCategory(Aws::String&& value) { SetCategory(std::move(value)); return *this;}
124 
125     /**
126      * Optional. A category for the job template you are creating
127      */
WithCategory(const char * value)128     inline CreateJobTemplateRequest& WithCategory(const char* value) { SetCategory(value); return *this;}
129 
130 
131     /**
132      * Optional. A description of the job template you are creating.
133      */
GetDescription()134     inline const Aws::String& GetDescription() const{ return m_description; }
135 
136     /**
137      * Optional. A description of the job template you are creating.
138      */
DescriptionHasBeenSet()139     inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
140 
141     /**
142      * Optional. A description of the job template you are creating.
143      */
SetDescription(const Aws::String & value)144     inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; }
145 
146     /**
147      * Optional. A description of the job template you are creating.
148      */
SetDescription(Aws::String && value)149     inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); }
150 
151     /**
152      * Optional. A description of the job template you are creating.
153      */
SetDescription(const char * value)154     inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); }
155 
156     /**
157      * Optional. A description of the job template you are creating.
158      */
WithDescription(const Aws::String & value)159     inline CreateJobTemplateRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
160 
161     /**
162      * Optional. A description of the job template you are creating.
163      */
WithDescription(Aws::String && value)164     inline CreateJobTemplateRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
165 
166     /**
167      * Optional. A description of the job template you are creating.
168      */
WithDescription(const char * value)169     inline CreateJobTemplateRequest& WithDescription(const char* value) { SetDescription(value); return *this;}
170 
171 
172     /**
173      * Optional. Use queue hopping to avoid overly long waits in the backlog of the
174      * queue that you submit your job to. Specify an alternate queue and the maximum
175      * time that your job will wait in the initial queue before hopping. For more
176      * information about this feature, see the AWS Elemental MediaConvert User Guide.
177      */
GetHopDestinations()178     inline const Aws::Vector<HopDestination>& GetHopDestinations() const{ return m_hopDestinations; }
179 
180     /**
181      * Optional. Use queue hopping to avoid overly long waits in the backlog of the
182      * queue that you submit your job to. Specify an alternate queue and the maximum
183      * time that your job will wait in the initial queue before hopping. For more
184      * information about this feature, see the AWS Elemental MediaConvert User Guide.
185      */
HopDestinationsHasBeenSet()186     inline bool HopDestinationsHasBeenSet() const { return m_hopDestinationsHasBeenSet; }
187 
188     /**
189      * Optional. Use queue hopping to avoid overly long waits in the backlog of the
190      * queue that you submit your job to. Specify an alternate queue and the maximum
191      * time that your job will wait in the initial queue before hopping. For more
192      * information about this feature, see the AWS Elemental MediaConvert User Guide.
193      */
SetHopDestinations(const Aws::Vector<HopDestination> & value)194     inline void SetHopDestinations(const Aws::Vector<HopDestination>& value) { m_hopDestinationsHasBeenSet = true; m_hopDestinations = value; }
195 
196     /**
197      * Optional. Use queue hopping to avoid overly long waits in the backlog of the
198      * queue that you submit your job to. Specify an alternate queue and the maximum
199      * time that your job will wait in the initial queue before hopping. For more
200      * information about this feature, see the AWS Elemental MediaConvert User Guide.
201      */
SetHopDestinations(Aws::Vector<HopDestination> && value)202     inline void SetHopDestinations(Aws::Vector<HopDestination>&& value) { m_hopDestinationsHasBeenSet = true; m_hopDestinations = std::move(value); }
203 
204     /**
205      * Optional. Use queue hopping to avoid overly long waits in the backlog of the
206      * queue that you submit your job to. Specify an alternate queue and the maximum
207      * time that your job will wait in the initial queue before hopping. For more
208      * information about this feature, see the AWS Elemental MediaConvert User Guide.
209      */
WithHopDestinations(const Aws::Vector<HopDestination> & value)210     inline CreateJobTemplateRequest& WithHopDestinations(const Aws::Vector<HopDestination>& value) { SetHopDestinations(value); return *this;}
211 
212     /**
213      * Optional. Use queue hopping to avoid overly long waits in the backlog of the
214      * queue that you submit your job to. Specify an alternate queue and the maximum
215      * time that your job will wait in the initial queue before hopping. For more
216      * information about this feature, see the AWS Elemental MediaConvert User Guide.
217      */
WithHopDestinations(Aws::Vector<HopDestination> && value)218     inline CreateJobTemplateRequest& WithHopDestinations(Aws::Vector<HopDestination>&& value) { SetHopDestinations(std::move(value)); return *this;}
219 
220     /**
221      * Optional. Use queue hopping to avoid overly long waits in the backlog of the
222      * queue that you submit your job to. Specify an alternate queue and the maximum
223      * time that your job will wait in the initial queue before hopping. For more
224      * information about this feature, see the AWS Elemental MediaConvert User Guide.
225      */
AddHopDestinations(const HopDestination & value)226     inline CreateJobTemplateRequest& AddHopDestinations(const HopDestination& value) { m_hopDestinationsHasBeenSet = true; m_hopDestinations.push_back(value); return *this; }
227 
228     /**
229      * Optional. Use queue hopping to avoid overly long waits in the backlog of the
230      * queue that you submit your job to. Specify an alternate queue and the maximum
231      * time that your job will wait in the initial queue before hopping. For more
232      * information about this feature, see the AWS Elemental MediaConvert User Guide.
233      */
AddHopDestinations(HopDestination && value)234     inline CreateJobTemplateRequest& AddHopDestinations(HopDestination&& value) { m_hopDestinationsHasBeenSet = true; m_hopDestinations.push_back(std::move(value)); return *this; }
235 
236 
237     /**
238      * The name of the job template you are creating.
239      */
GetName()240     inline const Aws::String& GetName() const{ return m_name; }
241 
242     /**
243      * The name of the job template you are creating.
244      */
NameHasBeenSet()245     inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
246 
247     /**
248      * The name of the job template you are creating.
249      */
SetName(const Aws::String & value)250     inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
251 
252     /**
253      * The name of the job template you are creating.
254      */
SetName(Aws::String && value)255     inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
256 
257     /**
258      * The name of the job template you are creating.
259      */
SetName(const char * value)260     inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
261 
262     /**
263      * The name of the job template you are creating.
264      */
WithName(const Aws::String & value)265     inline CreateJobTemplateRequest& WithName(const Aws::String& value) { SetName(value); return *this;}
266 
267     /**
268      * The name of the job template you are creating.
269      */
WithName(Aws::String && value)270     inline CreateJobTemplateRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
271 
272     /**
273      * The name of the job template you are creating.
274      */
WithName(const char * value)275     inline CreateJobTemplateRequest& WithName(const char* value) { SetName(value); return *this;}
276 
277 
278     /**
279      * Specify the relative priority for this job. In any given queue, the service
280      * begins processing the job with the highest value first. When more than one job
281      * has the same priority, the service begins processing the job that you submitted
282      * first. If you don't specify a priority, the service uses the default value 0.
283      */
GetPriority()284     inline int GetPriority() const{ return m_priority; }
285 
286     /**
287      * Specify the relative priority for this job. In any given queue, the service
288      * begins processing the job with the highest value first. When more than one job
289      * has the same priority, the service begins processing the job that you submitted
290      * first. If you don't specify a priority, the service uses the default value 0.
291      */
PriorityHasBeenSet()292     inline bool PriorityHasBeenSet() const { return m_priorityHasBeenSet; }
293 
294     /**
295      * Specify the relative priority for this job. In any given queue, the service
296      * begins processing the job with the highest value first. When more than one job
297      * has the same priority, the service begins processing the job that you submitted
298      * first. If you don't specify a priority, the service uses the default value 0.
299      */
SetPriority(int value)300     inline void SetPriority(int value) { m_priorityHasBeenSet = true; m_priority = value; }
301 
302     /**
303      * Specify the relative priority for this job. In any given queue, the service
304      * begins processing the job with the highest value first. When more than one job
305      * has the same priority, the service begins processing the job that you submitted
306      * first. If you don't specify a priority, the service uses the default value 0.
307      */
WithPriority(int value)308     inline CreateJobTemplateRequest& WithPriority(int value) { SetPriority(value); return *this;}
309 
310 
311     /**
312      * Optional. The queue that jobs created from this template are assigned to. If you
313      * don't specify this, jobs will go to the default queue.
314      */
GetQueue()315     inline const Aws::String& GetQueue() const{ return m_queue; }
316 
317     /**
318      * Optional. The queue that jobs created from this template are assigned to. If you
319      * don't specify this, jobs will go to the default queue.
320      */
QueueHasBeenSet()321     inline bool QueueHasBeenSet() const { return m_queueHasBeenSet; }
322 
323     /**
324      * Optional. The queue that jobs created from this template are assigned to. If you
325      * don't specify this, jobs will go to the default queue.
326      */
SetQueue(const Aws::String & value)327     inline void SetQueue(const Aws::String& value) { m_queueHasBeenSet = true; m_queue = value; }
328 
329     /**
330      * Optional. The queue that jobs created from this template are assigned to. If you
331      * don't specify this, jobs will go to the default queue.
332      */
SetQueue(Aws::String && value)333     inline void SetQueue(Aws::String&& value) { m_queueHasBeenSet = true; m_queue = std::move(value); }
334 
335     /**
336      * Optional. The queue that jobs created from this template are assigned to. If you
337      * don't specify this, jobs will go to the default queue.
338      */
SetQueue(const char * value)339     inline void SetQueue(const char* value) { m_queueHasBeenSet = true; m_queue.assign(value); }
340 
341     /**
342      * Optional. The queue that jobs created from this template are assigned to. If you
343      * don't specify this, jobs will go to the default queue.
344      */
WithQueue(const Aws::String & value)345     inline CreateJobTemplateRequest& WithQueue(const Aws::String& value) { SetQueue(value); return *this;}
346 
347     /**
348      * Optional. The queue that jobs created from this template are assigned to. If you
349      * don't specify this, jobs will go to the default queue.
350      */
WithQueue(Aws::String && value)351     inline CreateJobTemplateRequest& WithQueue(Aws::String&& value) { SetQueue(std::move(value)); return *this;}
352 
353     /**
354      * Optional. The queue that jobs created from this template are assigned to. If you
355      * don't specify this, jobs will go to the default queue.
356      */
WithQueue(const char * value)357     inline CreateJobTemplateRequest& WithQueue(const char* value) { SetQueue(value); return *this;}
358 
359 
360     /**
361      * JobTemplateSettings contains all the transcode settings saved in the template
362      * that will be applied to jobs created from it.
363      */
GetSettings()364     inline const JobTemplateSettings& GetSettings() const{ return m_settings; }
365 
366     /**
367      * JobTemplateSettings contains all the transcode settings saved in the template
368      * that will be applied to jobs created from it.
369      */
SettingsHasBeenSet()370     inline bool SettingsHasBeenSet() const { return m_settingsHasBeenSet; }
371 
372     /**
373      * JobTemplateSettings contains all the transcode settings saved in the template
374      * that will be applied to jobs created from it.
375      */
SetSettings(const JobTemplateSettings & value)376     inline void SetSettings(const JobTemplateSettings& value) { m_settingsHasBeenSet = true; m_settings = value; }
377 
378     /**
379      * JobTemplateSettings contains all the transcode settings saved in the template
380      * that will be applied to jobs created from it.
381      */
SetSettings(JobTemplateSettings && value)382     inline void SetSettings(JobTemplateSettings&& value) { m_settingsHasBeenSet = true; m_settings = std::move(value); }
383 
384     /**
385      * JobTemplateSettings contains all the transcode settings saved in the template
386      * that will be applied to jobs created from it.
387      */
WithSettings(const JobTemplateSettings & value)388     inline CreateJobTemplateRequest& WithSettings(const JobTemplateSettings& value) { SetSettings(value); return *this;}
389 
390     /**
391      * JobTemplateSettings contains all the transcode settings saved in the template
392      * that will be applied to jobs created from it.
393      */
WithSettings(JobTemplateSettings && value)394     inline CreateJobTemplateRequest& WithSettings(JobTemplateSettings&& value) { SetSettings(std::move(value)); return *this;}
395 
396 
397     /**
398      * Specify how often MediaConvert sends STATUS_UPDATE events to Amazon CloudWatch
399      * Events. Set the interval, in seconds, between status updates. MediaConvert sends
400      * an update at this interval from the time the service begins processing your job
401      * to the time it completes the transcode or encounters an error.
402      */
GetStatusUpdateInterval()403     inline const StatusUpdateInterval& GetStatusUpdateInterval() const{ return m_statusUpdateInterval; }
404 
405     /**
406      * Specify how often MediaConvert sends STATUS_UPDATE events to Amazon CloudWatch
407      * Events. Set the interval, in seconds, between status updates. MediaConvert sends
408      * an update at this interval from the time the service begins processing your job
409      * to the time it completes the transcode or encounters an error.
410      */
StatusUpdateIntervalHasBeenSet()411     inline bool StatusUpdateIntervalHasBeenSet() const { return m_statusUpdateIntervalHasBeenSet; }
412 
413     /**
414      * Specify how often MediaConvert sends STATUS_UPDATE events to Amazon CloudWatch
415      * Events. Set the interval, in seconds, between status updates. MediaConvert sends
416      * an update at this interval from the time the service begins processing your job
417      * to the time it completes the transcode or encounters an error.
418      */
SetStatusUpdateInterval(const StatusUpdateInterval & value)419     inline void SetStatusUpdateInterval(const StatusUpdateInterval& value) { m_statusUpdateIntervalHasBeenSet = true; m_statusUpdateInterval = value; }
420 
421     /**
422      * Specify how often MediaConvert sends STATUS_UPDATE events to Amazon CloudWatch
423      * Events. Set the interval, in seconds, between status updates. MediaConvert sends
424      * an update at this interval from the time the service begins processing your job
425      * to the time it completes the transcode or encounters an error.
426      */
SetStatusUpdateInterval(StatusUpdateInterval && value)427     inline void SetStatusUpdateInterval(StatusUpdateInterval&& value) { m_statusUpdateIntervalHasBeenSet = true; m_statusUpdateInterval = std::move(value); }
428 
429     /**
430      * Specify how often MediaConvert sends STATUS_UPDATE events to Amazon CloudWatch
431      * Events. Set the interval, in seconds, between status updates. MediaConvert sends
432      * an update at this interval from the time the service begins processing your job
433      * to the time it completes the transcode or encounters an error.
434      */
WithStatusUpdateInterval(const StatusUpdateInterval & value)435     inline CreateJobTemplateRequest& WithStatusUpdateInterval(const StatusUpdateInterval& value) { SetStatusUpdateInterval(value); return *this;}
436 
437     /**
438      * Specify how often MediaConvert sends STATUS_UPDATE events to Amazon CloudWatch
439      * Events. Set the interval, in seconds, between status updates. MediaConvert sends
440      * an update at this interval from the time the service begins processing your job
441      * to the time it completes the transcode or encounters an error.
442      */
WithStatusUpdateInterval(StatusUpdateInterval && value)443     inline CreateJobTemplateRequest& WithStatusUpdateInterval(StatusUpdateInterval&& value) { SetStatusUpdateInterval(std::move(value)); return *this;}
444 
445 
446     /**
447      * The tags that you want to add to the resource. You can tag resources with a
448      * key-value pair or with only a key.
449      */
GetTags()450     inline const Aws::Map<Aws::String, Aws::String>& GetTags() const{ return m_tags; }
451 
452     /**
453      * The tags that you want to add to the resource. You can tag resources with a
454      * key-value pair or with only a key.
455      */
TagsHasBeenSet()456     inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
457 
458     /**
459      * The tags that you want to add to the resource. You can tag resources with a
460      * key-value pair or with only a key.
461      */
SetTags(const Aws::Map<Aws::String,Aws::String> & value)462     inline void SetTags(const Aws::Map<Aws::String, Aws::String>& value) { m_tagsHasBeenSet = true; m_tags = value; }
463 
464     /**
465      * The tags that you want to add to the resource. You can tag resources with a
466      * key-value pair or with only a key.
467      */
SetTags(Aws::Map<Aws::String,Aws::String> && value)468     inline void SetTags(Aws::Map<Aws::String, Aws::String>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
469 
470     /**
471      * The tags that you want to add to the resource. You can tag resources with a
472      * key-value pair or with only a key.
473      */
WithTags(const Aws::Map<Aws::String,Aws::String> & value)474     inline CreateJobTemplateRequest& WithTags(const Aws::Map<Aws::String, Aws::String>& value) { SetTags(value); return *this;}
475 
476     /**
477      * The tags that you want to add to the resource. You can tag resources with a
478      * key-value pair or with only a key.
479      */
WithTags(Aws::Map<Aws::String,Aws::String> && value)480     inline CreateJobTemplateRequest& WithTags(Aws::Map<Aws::String, Aws::String>&& value) { SetTags(std::move(value)); return *this;}
481 
482     /**
483      * The tags that you want to add to the resource. You can tag resources with a
484      * key-value pair or with only a key.
485      */
AddTags(const Aws::String & key,const Aws::String & value)486     inline CreateJobTemplateRequest& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; }
487 
488     /**
489      * The tags that you want to add to the resource. You can tag resources with a
490      * key-value pair or with only a key.
491      */
AddTags(Aws::String && key,const Aws::String & value)492     inline CreateJobTemplateRequest& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; }
493 
494     /**
495      * The tags that you want to add to the resource. You can tag resources with a
496      * key-value pair or with only a key.
497      */
AddTags(const Aws::String & key,Aws::String && value)498     inline CreateJobTemplateRequest& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; }
499 
500     /**
501      * The tags that you want to add to the resource. You can tag resources with a
502      * key-value pair or with only a key.
503      */
AddTags(Aws::String && key,Aws::String && value)504     inline CreateJobTemplateRequest& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; }
505 
506     /**
507      * The tags that you want to add to the resource. You can tag resources with a
508      * key-value pair or with only a key.
509      */
AddTags(const char * key,Aws::String && value)510     inline CreateJobTemplateRequest& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; }
511 
512     /**
513      * The tags that you want to add to the resource. You can tag resources with a
514      * key-value pair or with only a key.
515      */
AddTags(Aws::String && key,const char * value)516     inline CreateJobTemplateRequest& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; }
517 
518     /**
519      * The tags that you want to add to the resource. You can tag resources with a
520      * key-value pair or with only a key.
521      */
AddTags(const char * key,const char * value)522     inline CreateJobTemplateRequest& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; }
523 
524   private:
525 
526     AccelerationSettings m_accelerationSettings;
527     bool m_accelerationSettingsHasBeenSet;
528 
529     Aws::String m_category;
530     bool m_categoryHasBeenSet;
531 
532     Aws::String m_description;
533     bool m_descriptionHasBeenSet;
534 
535     Aws::Vector<HopDestination> m_hopDestinations;
536     bool m_hopDestinationsHasBeenSet;
537 
538     Aws::String m_name;
539     bool m_nameHasBeenSet;
540 
541     int m_priority;
542     bool m_priorityHasBeenSet;
543 
544     Aws::String m_queue;
545     bool m_queueHasBeenSet;
546 
547     JobTemplateSettings m_settings;
548     bool m_settingsHasBeenSet;
549 
550     StatusUpdateInterval m_statusUpdateInterval;
551     bool m_statusUpdateIntervalHasBeenSet;
552 
553     Aws::Map<Aws::String, Aws::String> m_tags;
554     bool m_tagsHasBeenSet;
555   };
556 
557 } // namespace Model
558 } // namespace MediaConvert
559 } // namespace Aws
560