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/elastictranscoder/ElasticTranscoder_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <aws/elastictranscoder/model/Encryption.h>
10 #include <utility>
11 
12 namespace Aws
13 {
14 namespace Utils
15 {
16 namespace Json
17 {
18   class JsonValue;
19   class JsonView;
20 } // namespace Json
21 } // namespace Utils
22 namespace ElasticTranscoder
23 {
24 namespace Model
25 {
26 
27   /**
28    * <p>Watermarks can be in .png or .jpg format. If you want to display a watermark
29    * that is not rectangular, use the .png format, which supports
30    * transparency.</p><p><h3>See Also:</h3>   <a
31    * href="http://docs.aws.amazon.com/goto/WebAPI/elastictranscoder-2012-09-25/JobWatermark">AWS
32    * API Reference</a></p>
33    */
34   class AWS_ELASTICTRANSCODER_API JobWatermark
35   {
36   public:
37     JobWatermark();
38     JobWatermark(Aws::Utils::Json::JsonView jsonValue);
39     JobWatermark& operator=(Aws::Utils::Json::JsonView jsonValue);
40     Aws::Utils::Json::JsonValue Jsonize() const;
41 
42 
43     /**
44      * <p>The ID of the watermark settings that Elastic Transcoder uses to add
45      * watermarks to the video during transcoding. The settings are in the preset
46      * specified by Preset for the current output. In that preset, the value of
47      * Watermarks Id tells Elastic Transcoder which settings to use.</p>
48      */
GetPresetWatermarkId()49     inline const Aws::String& GetPresetWatermarkId() const{ return m_presetWatermarkId; }
50 
51     /**
52      * <p>The ID of the watermark settings that Elastic Transcoder uses to add
53      * watermarks to the video during transcoding. The settings are in the preset
54      * specified by Preset for the current output. In that preset, the value of
55      * Watermarks Id tells Elastic Transcoder which settings to use.</p>
56      */
PresetWatermarkIdHasBeenSet()57     inline bool PresetWatermarkIdHasBeenSet() const { return m_presetWatermarkIdHasBeenSet; }
58 
59     /**
60      * <p>The ID of the watermark settings that Elastic Transcoder uses to add
61      * watermarks to the video during transcoding. The settings are in the preset
62      * specified by Preset for the current output. In that preset, the value of
63      * Watermarks Id tells Elastic Transcoder which settings to use.</p>
64      */
SetPresetWatermarkId(const Aws::String & value)65     inline void SetPresetWatermarkId(const Aws::String& value) { m_presetWatermarkIdHasBeenSet = true; m_presetWatermarkId = value; }
66 
67     /**
68      * <p>The ID of the watermark settings that Elastic Transcoder uses to add
69      * watermarks to the video during transcoding. The settings are in the preset
70      * specified by Preset for the current output. In that preset, the value of
71      * Watermarks Id tells Elastic Transcoder which settings to use.</p>
72      */
SetPresetWatermarkId(Aws::String && value)73     inline void SetPresetWatermarkId(Aws::String&& value) { m_presetWatermarkIdHasBeenSet = true; m_presetWatermarkId = std::move(value); }
74 
75     /**
76      * <p>The ID of the watermark settings that Elastic Transcoder uses to add
77      * watermarks to the video during transcoding. The settings are in the preset
78      * specified by Preset for the current output. In that preset, the value of
79      * Watermarks Id tells Elastic Transcoder which settings to use.</p>
80      */
SetPresetWatermarkId(const char * value)81     inline void SetPresetWatermarkId(const char* value) { m_presetWatermarkIdHasBeenSet = true; m_presetWatermarkId.assign(value); }
82 
83     /**
84      * <p>The ID of the watermark settings that Elastic Transcoder uses to add
85      * watermarks to the video during transcoding. The settings are in the preset
86      * specified by Preset for the current output. In that preset, the value of
87      * Watermarks Id tells Elastic Transcoder which settings to use.</p>
88      */
WithPresetWatermarkId(const Aws::String & value)89     inline JobWatermark& WithPresetWatermarkId(const Aws::String& value) { SetPresetWatermarkId(value); return *this;}
90 
91     /**
92      * <p>The ID of the watermark settings that Elastic Transcoder uses to add
93      * watermarks to the video during transcoding. The settings are in the preset
94      * specified by Preset for the current output. In that preset, the value of
95      * Watermarks Id tells Elastic Transcoder which settings to use.</p>
96      */
WithPresetWatermarkId(Aws::String && value)97     inline JobWatermark& WithPresetWatermarkId(Aws::String&& value) { SetPresetWatermarkId(std::move(value)); return *this;}
98 
99     /**
100      * <p>The ID of the watermark settings that Elastic Transcoder uses to add
101      * watermarks to the video during transcoding. The settings are in the preset
102      * specified by Preset for the current output. In that preset, the value of
103      * Watermarks Id tells Elastic Transcoder which settings to use.</p>
104      */
WithPresetWatermarkId(const char * value)105     inline JobWatermark& WithPresetWatermarkId(const char* value) { SetPresetWatermarkId(value); return *this;}
106 
107 
108     /**
109      * <p> The name of the .png or .jpg file that you want to use for the watermark. To
110      * determine which Amazon S3 bucket contains the specified file, Elastic Transcoder
111      * checks the pipeline specified by <code>Pipeline</code>; the <code>Input
112      * Bucket</code> object in that pipeline identifies the bucket.</p> <p> If the file
113      * name includes a prefix, for example, <b>logos/128x64.png</b>, include the prefix
114      * in the key. If the file isn't in the specified bucket, Elastic Transcoder
115      * returns an error. </p>
116      */
GetInputKey()117     inline const Aws::String& GetInputKey() const{ return m_inputKey; }
118 
119     /**
120      * <p> The name of the .png or .jpg file that you want to use for the watermark. To
121      * determine which Amazon S3 bucket contains the specified file, Elastic Transcoder
122      * checks the pipeline specified by <code>Pipeline</code>; the <code>Input
123      * Bucket</code> object in that pipeline identifies the bucket.</p> <p> If the file
124      * name includes a prefix, for example, <b>logos/128x64.png</b>, include the prefix
125      * in the key. If the file isn't in the specified bucket, Elastic Transcoder
126      * returns an error. </p>
127      */
InputKeyHasBeenSet()128     inline bool InputKeyHasBeenSet() const { return m_inputKeyHasBeenSet; }
129 
130     /**
131      * <p> The name of the .png or .jpg file that you want to use for the watermark. To
132      * determine which Amazon S3 bucket contains the specified file, Elastic Transcoder
133      * checks the pipeline specified by <code>Pipeline</code>; the <code>Input
134      * Bucket</code> object in that pipeline identifies the bucket.</p> <p> If the file
135      * name includes a prefix, for example, <b>logos/128x64.png</b>, include the prefix
136      * in the key. If the file isn't in the specified bucket, Elastic Transcoder
137      * returns an error. </p>
138      */
SetInputKey(const Aws::String & value)139     inline void SetInputKey(const Aws::String& value) { m_inputKeyHasBeenSet = true; m_inputKey = value; }
140 
141     /**
142      * <p> The name of the .png or .jpg file that you want to use for the watermark. To
143      * determine which Amazon S3 bucket contains the specified file, Elastic Transcoder
144      * checks the pipeline specified by <code>Pipeline</code>; the <code>Input
145      * Bucket</code> object in that pipeline identifies the bucket.</p> <p> If the file
146      * name includes a prefix, for example, <b>logos/128x64.png</b>, include the prefix
147      * in the key. If the file isn't in the specified bucket, Elastic Transcoder
148      * returns an error. </p>
149      */
SetInputKey(Aws::String && value)150     inline void SetInputKey(Aws::String&& value) { m_inputKeyHasBeenSet = true; m_inputKey = std::move(value); }
151 
152     /**
153      * <p> The name of the .png or .jpg file that you want to use for the watermark. To
154      * determine which Amazon S3 bucket contains the specified file, Elastic Transcoder
155      * checks the pipeline specified by <code>Pipeline</code>; the <code>Input
156      * Bucket</code> object in that pipeline identifies the bucket.</p> <p> If the file
157      * name includes a prefix, for example, <b>logos/128x64.png</b>, include the prefix
158      * in the key. If the file isn't in the specified bucket, Elastic Transcoder
159      * returns an error. </p>
160      */
SetInputKey(const char * value)161     inline void SetInputKey(const char* value) { m_inputKeyHasBeenSet = true; m_inputKey.assign(value); }
162 
163     /**
164      * <p> The name of the .png or .jpg file that you want to use for the watermark. To
165      * determine which Amazon S3 bucket contains the specified file, Elastic Transcoder
166      * checks the pipeline specified by <code>Pipeline</code>; the <code>Input
167      * Bucket</code> object in that pipeline identifies the bucket.</p> <p> If the file
168      * name includes a prefix, for example, <b>logos/128x64.png</b>, include the prefix
169      * in the key. If the file isn't in the specified bucket, Elastic Transcoder
170      * returns an error. </p>
171      */
WithInputKey(const Aws::String & value)172     inline JobWatermark& WithInputKey(const Aws::String& value) { SetInputKey(value); return *this;}
173 
174     /**
175      * <p> The name of the .png or .jpg file that you want to use for the watermark. To
176      * determine which Amazon S3 bucket contains the specified file, Elastic Transcoder
177      * checks the pipeline specified by <code>Pipeline</code>; the <code>Input
178      * Bucket</code> object in that pipeline identifies the bucket.</p> <p> If the file
179      * name includes a prefix, for example, <b>logos/128x64.png</b>, include the prefix
180      * in the key. If the file isn't in the specified bucket, Elastic Transcoder
181      * returns an error. </p>
182      */
WithInputKey(Aws::String && value)183     inline JobWatermark& WithInputKey(Aws::String&& value) { SetInputKey(std::move(value)); return *this;}
184 
185     /**
186      * <p> The name of the .png or .jpg file that you want to use for the watermark. To
187      * determine which Amazon S3 bucket contains the specified file, Elastic Transcoder
188      * checks the pipeline specified by <code>Pipeline</code>; the <code>Input
189      * Bucket</code> object in that pipeline identifies the bucket.</p> <p> If the file
190      * name includes a prefix, for example, <b>logos/128x64.png</b>, include the prefix
191      * in the key. If the file isn't in the specified bucket, Elastic Transcoder
192      * returns an error. </p>
193      */
WithInputKey(const char * value)194     inline JobWatermark& WithInputKey(const char* value) { SetInputKey(value); return *this;}
195 
196 
197     /**
198      * <p>The encryption settings, if any, that you want Elastic Transcoder to apply to
199      * your watermarks.</p>
200      */
GetEncryption()201     inline const Encryption& GetEncryption() const{ return m_encryption; }
202 
203     /**
204      * <p>The encryption settings, if any, that you want Elastic Transcoder to apply to
205      * your watermarks.</p>
206      */
EncryptionHasBeenSet()207     inline bool EncryptionHasBeenSet() const { return m_encryptionHasBeenSet; }
208 
209     /**
210      * <p>The encryption settings, if any, that you want Elastic Transcoder to apply to
211      * your watermarks.</p>
212      */
SetEncryption(const Encryption & value)213     inline void SetEncryption(const Encryption& value) { m_encryptionHasBeenSet = true; m_encryption = value; }
214 
215     /**
216      * <p>The encryption settings, if any, that you want Elastic Transcoder to apply to
217      * your watermarks.</p>
218      */
SetEncryption(Encryption && value)219     inline void SetEncryption(Encryption&& value) { m_encryptionHasBeenSet = true; m_encryption = std::move(value); }
220 
221     /**
222      * <p>The encryption settings, if any, that you want Elastic Transcoder to apply to
223      * your watermarks.</p>
224      */
WithEncryption(const Encryption & value)225     inline JobWatermark& WithEncryption(const Encryption& value) { SetEncryption(value); return *this;}
226 
227     /**
228      * <p>The encryption settings, if any, that you want Elastic Transcoder to apply to
229      * your watermarks.</p>
230      */
WithEncryption(Encryption && value)231     inline JobWatermark& WithEncryption(Encryption&& value) { SetEncryption(std::move(value)); return *this;}
232 
233   private:
234 
235     Aws::String m_presetWatermarkId;
236     bool m_presetWatermarkIdHasBeenSet;
237 
238     Aws::String m_inputKey;
239     bool m_inputKeyHasBeenSet;
240 
241     Encryption m_encryption;
242     bool m_encryptionHasBeenSet;
243   };
244 
245 } // namespace Model
246 } // namespace ElasticTranscoder
247 } // namespace Aws
248