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/transcribe/TranscribeService_EXPORTS.h> 8 #include <aws/transcribe/TranscribeServiceRequest.h> 9 #include <aws/core/utils/memory/stl/AWSString.h> 10 #include <aws/transcribe/model/Media.h> 11 #include <aws/transcribe/model/CallAnalyticsJobSettings.h> 12 #include <aws/core/utils/memory/stl/AWSVector.h> 13 #include <aws/transcribe/model/ChannelDefinition.h> 14 #include <utility> 15 16 namespace Aws 17 { 18 namespace TranscribeService 19 { 20 namespace Model 21 { 22 23 /** 24 */ 25 class AWS_TRANSCRIBESERVICE_API StartCallAnalyticsJobRequest : public TranscribeServiceRequest 26 { 27 public: 28 StartCallAnalyticsJobRequest(); 29 30 // Service request name is the Operation name which will send this request out, 31 // each operation should has unique request name, so that we can get operation's name from this request. 32 // Note: this is not true for response, multiple operations may have the same response name, 33 // so we can not get operation's name from response. GetServiceRequestName()34 inline virtual const char* GetServiceRequestName() const override { return "StartCallAnalyticsJob"; } 35 36 Aws::String SerializePayload() const override; 37 38 Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; 39 40 41 /** 42 * <p>The name of the call analytics job. You can't use the string "." or ".." by 43 * themselves as the job name. The name must also be unique within an Amazon Web 44 * Services account. If you try to create a call analytics job with the same name 45 * as a previous call analytics job, you get a <code>ConflictException</code> 46 * error.</p> 47 */ GetCallAnalyticsJobName()48 inline const Aws::String& GetCallAnalyticsJobName() const{ return m_callAnalyticsJobName; } 49 50 /** 51 * <p>The name of the call analytics job. You can't use the string "." or ".." by 52 * themselves as the job name. The name must also be unique within an Amazon Web 53 * Services account. If you try to create a call analytics job with the same name 54 * as a previous call analytics job, you get a <code>ConflictException</code> 55 * error.</p> 56 */ CallAnalyticsJobNameHasBeenSet()57 inline bool CallAnalyticsJobNameHasBeenSet() const { return m_callAnalyticsJobNameHasBeenSet; } 58 59 /** 60 * <p>The name of the call analytics job. You can't use the string "." or ".." by 61 * themselves as the job name. The name must also be unique within an Amazon Web 62 * Services account. If you try to create a call analytics job with the same name 63 * as a previous call analytics job, you get a <code>ConflictException</code> 64 * error.</p> 65 */ SetCallAnalyticsJobName(const Aws::String & value)66 inline void SetCallAnalyticsJobName(const Aws::String& value) { m_callAnalyticsJobNameHasBeenSet = true; m_callAnalyticsJobName = value; } 67 68 /** 69 * <p>The name of the call analytics job. You can't use the string "." or ".." by 70 * themselves as the job name. The name must also be unique within an Amazon Web 71 * Services account. If you try to create a call analytics job with the same name 72 * as a previous call analytics job, you get a <code>ConflictException</code> 73 * error.</p> 74 */ SetCallAnalyticsJobName(Aws::String && value)75 inline void SetCallAnalyticsJobName(Aws::String&& value) { m_callAnalyticsJobNameHasBeenSet = true; m_callAnalyticsJobName = std::move(value); } 76 77 /** 78 * <p>The name of the call analytics job. You can't use the string "." or ".." by 79 * themselves as the job name. The name must also be unique within an Amazon Web 80 * Services account. If you try to create a call analytics job with the same name 81 * as a previous call analytics job, you get a <code>ConflictException</code> 82 * error.</p> 83 */ SetCallAnalyticsJobName(const char * value)84 inline void SetCallAnalyticsJobName(const char* value) { m_callAnalyticsJobNameHasBeenSet = true; m_callAnalyticsJobName.assign(value); } 85 86 /** 87 * <p>The name of the call analytics job. You can't use the string "." or ".." by 88 * themselves as the job name. The name must also be unique within an Amazon Web 89 * Services account. If you try to create a call analytics job with the same name 90 * as a previous call analytics job, you get a <code>ConflictException</code> 91 * error.</p> 92 */ WithCallAnalyticsJobName(const Aws::String & value)93 inline StartCallAnalyticsJobRequest& WithCallAnalyticsJobName(const Aws::String& value) { SetCallAnalyticsJobName(value); return *this;} 94 95 /** 96 * <p>The name of the call analytics job. You can't use the string "." or ".." by 97 * themselves as the job name. The name must also be unique within an Amazon Web 98 * Services account. If you try to create a call analytics job with the same name 99 * as a previous call analytics job, you get a <code>ConflictException</code> 100 * error.</p> 101 */ WithCallAnalyticsJobName(Aws::String && value)102 inline StartCallAnalyticsJobRequest& WithCallAnalyticsJobName(Aws::String&& value) { SetCallAnalyticsJobName(std::move(value)); return *this;} 103 104 /** 105 * <p>The name of the call analytics job. You can't use the string "." or ".." by 106 * themselves as the job name. The name must also be unique within an Amazon Web 107 * Services account. If you try to create a call analytics job with the same name 108 * as a previous call analytics job, you get a <code>ConflictException</code> 109 * error.</p> 110 */ WithCallAnalyticsJobName(const char * value)111 inline StartCallAnalyticsJobRequest& WithCallAnalyticsJobName(const char* value) { SetCallAnalyticsJobName(value); return *this;} 112 113 114 GetMedia()115 inline const Media& GetMedia() const{ return m_media; } 116 117 MediaHasBeenSet()118 inline bool MediaHasBeenSet() const { return m_mediaHasBeenSet; } 119 120 SetMedia(const Media & value)121 inline void SetMedia(const Media& value) { m_mediaHasBeenSet = true; m_media = value; } 122 123 SetMedia(Media && value)124 inline void SetMedia(Media&& value) { m_mediaHasBeenSet = true; m_media = std::move(value); } 125 126 WithMedia(const Media & value)127 inline StartCallAnalyticsJobRequest& WithMedia(const Media& value) { SetMedia(value); return *this;} 128 129 WithMedia(Media && value)130 inline StartCallAnalyticsJobRequest& WithMedia(Media&& value) { SetMedia(std::move(value)); return *this;} 131 132 133 /** 134 * <p>The Amazon S3 location where the output of the call analytics job is stored. 135 * You can provide the following location types to store the output of call 136 * analytics job:</p> <ul> <li> <p>s3://DOC-EXAMPLE-BUCKET1</p> <p> If you specify 137 * a bucket, Amazon Transcribe saves the output of the analytics job as a JSON file 138 * at the root level of the bucket.</p> </li> <li> 139 * <p>s3://DOC-EXAMPLE-BUCKET1/folder/</p> <p>f you specify a path, Amazon 140 * Transcribe saves the output of the analytics job as 141 * s3://DOC-EXAMPLE-BUCKET1/folder/your-transcription-job-name.json</p> <p>If you 142 * specify a folder, you must provide a trailing slash.</p> </li> <li> 143 * <p>s3://DOC-EXAMPLE-BUCKET1/folder/filename.json</p> <p> If you provide a path 144 * that has the filename specified, Amazon Transcribe saves the output of the 145 * analytics job as s3://DOC-EXAMPLEBUCKET1/folder/filename.json</p> </li> </ul> 146 * <p>You can specify an Amazon Web Services Key Management Service (KMS) key to 147 * encrypt the output of our analytics job using the 148 * <code>OutputEncryptionKMSKeyId</code> parameter. If you don't specify a KMS key, 149 * Amazon Transcribe uses the default Amazon S3 key for server-side encryption of 150 * the analytics job output that is placed in your S3 bucket.</p> 151 */ GetOutputLocation()152 inline const Aws::String& GetOutputLocation() const{ return m_outputLocation; } 153 154 /** 155 * <p>The Amazon S3 location where the output of the call analytics job is stored. 156 * You can provide the following location types to store the output of call 157 * analytics job:</p> <ul> <li> <p>s3://DOC-EXAMPLE-BUCKET1</p> <p> If you specify 158 * a bucket, Amazon Transcribe saves the output of the analytics job as a JSON file 159 * at the root level of the bucket.</p> </li> <li> 160 * <p>s3://DOC-EXAMPLE-BUCKET1/folder/</p> <p>f you specify a path, Amazon 161 * Transcribe saves the output of the analytics job as 162 * s3://DOC-EXAMPLE-BUCKET1/folder/your-transcription-job-name.json</p> <p>If you 163 * specify a folder, you must provide a trailing slash.</p> </li> <li> 164 * <p>s3://DOC-EXAMPLE-BUCKET1/folder/filename.json</p> <p> If you provide a path 165 * that has the filename specified, Amazon Transcribe saves the output of the 166 * analytics job as s3://DOC-EXAMPLEBUCKET1/folder/filename.json</p> </li> </ul> 167 * <p>You can specify an Amazon Web Services Key Management Service (KMS) key to 168 * encrypt the output of our analytics job using the 169 * <code>OutputEncryptionKMSKeyId</code> parameter. If you don't specify a KMS key, 170 * Amazon Transcribe uses the default Amazon S3 key for server-side encryption of 171 * the analytics job output that is placed in your S3 bucket.</p> 172 */ OutputLocationHasBeenSet()173 inline bool OutputLocationHasBeenSet() const { return m_outputLocationHasBeenSet; } 174 175 /** 176 * <p>The Amazon S3 location where the output of the call analytics job is stored. 177 * You can provide the following location types to store the output of call 178 * analytics job:</p> <ul> <li> <p>s3://DOC-EXAMPLE-BUCKET1</p> <p> If you specify 179 * a bucket, Amazon Transcribe saves the output of the analytics job as a JSON file 180 * at the root level of the bucket.</p> </li> <li> 181 * <p>s3://DOC-EXAMPLE-BUCKET1/folder/</p> <p>f you specify a path, Amazon 182 * Transcribe saves the output of the analytics job as 183 * s3://DOC-EXAMPLE-BUCKET1/folder/your-transcription-job-name.json</p> <p>If you 184 * specify a folder, you must provide a trailing slash.</p> </li> <li> 185 * <p>s3://DOC-EXAMPLE-BUCKET1/folder/filename.json</p> <p> If you provide a path 186 * that has the filename specified, Amazon Transcribe saves the output of the 187 * analytics job as s3://DOC-EXAMPLEBUCKET1/folder/filename.json</p> </li> </ul> 188 * <p>You can specify an Amazon Web Services Key Management Service (KMS) key to 189 * encrypt the output of our analytics job using the 190 * <code>OutputEncryptionKMSKeyId</code> parameter. If you don't specify a KMS key, 191 * Amazon Transcribe uses the default Amazon S3 key for server-side encryption of 192 * the analytics job output that is placed in your S3 bucket.</p> 193 */ SetOutputLocation(const Aws::String & value)194 inline void SetOutputLocation(const Aws::String& value) { m_outputLocationHasBeenSet = true; m_outputLocation = value; } 195 196 /** 197 * <p>The Amazon S3 location where the output of the call analytics job is stored. 198 * You can provide the following location types to store the output of call 199 * analytics job:</p> <ul> <li> <p>s3://DOC-EXAMPLE-BUCKET1</p> <p> If you specify 200 * a bucket, Amazon Transcribe saves the output of the analytics job as a JSON file 201 * at the root level of the bucket.</p> </li> <li> 202 * <p>s3://DOC-EXAMPLE-BUCKET1/folder/</p> <p>f you specify a path, Amazon 203 * Transcribe saves the output of the analytics job as 204 * s3://DOC-EXAMPLE-BUCKET1/folder/your-transcription-job-name.json</p> <p>If you 205 * specify a folder, you must provide a trailing slash.</p> </li> <li> 206 * <p>s3://DOC-EXAMPLE-BUCKET1/folder/filename.json</p> <p> If you provide a path 207 * that has the filename specified, Amazon Transcribe saves the output of the 208 * analytics job as s3://DOC-EXAMPLEBUCKET1/folder/filename.json</p> </li> </ul> 209 * <p>You can specify an Amazon Web Services Key Management Service (KMS) key to 210 * encrypt the output of our analytics job using the 211 * <code>OutputEncryptionKMSKeyId</code> parameter. If you don't specify a KMS key, 212 * Amazon Transcribe uses the default Amazon S3 key for server-side encryption of 213 * the analytics job output that is placed in your S3 bucket.</p> 214 */ SetOutputLocation(Aws::String && value)215 inline void SetOutputLocation(Aws::String&& value) { m_outputLocationHasBeenSet = true; m_outputLocation = std::move(value); } 216 217 /** 218 * <p>The Amazon S3 location where the output of the call analytics job is stored. 219 * You can provide the following location types to store the output of call 220 * analytics job:</p> <ul> <li> <p>s3://DOC-EXAMPLE-BUCKET1</p> <p> If you specify 221 * a bucket, Amazon Transcribe saves the output of the analytics job as a JSON file 222 * at the root level of the bucket.</p> </li> <li> 223 * <p>s3://DOC-EXAMPLE-BUCKET1/folder/</p> <p>f you specify a path, Amazon 224 * Transcribe saves the output of the analytics job as 225 * s3://DOC-EXAMPLE-BUCKET1/folder/your-transcription-job-name.json</p> <p>If you 226 * specify a folder, you must provide a trailing slash.</p> </li> <li> 227 * <p>s3://DOC-EXAMPLE-BUCKET1/folder/filename.json</p> <p> If you provide a path 228 * that has the filename specified, Amazon Transcribe saves the output of the 229 * analytics job as s3://DOC-EXAMPLEBUCKET1/folder/filename.json</p> </li> </ul> 230 * <p>You can specify an Amazon Web Services Key Management Service (KMS) key to 231 * encrypt the output of our analytics job using the 232 * <code>OutputEncryptionKMSKeyId</code> parameter. If you don't specify a KMS key, 233 * Amazon Transcribe uses the default Amazon S3 key for server-side encryption of 234 * the analytics job output that is placed in your S3 bucket.</p> 235 */ SetOutputLocation(const char * value)236 inline void SetOutputLocation(const char* value) { m_outputLocationHasBeenSet = true; m_outputLocation.assign(value); } 237 238 /** 239 * <p>The Amazon S3 location where the output of the call analytics job is stored. 240 * You can provide the following location types to store the output of call 241 * analytics job:</p> <ul> <li> <p>s3://DOC-EXAMPLE-BUCKET1</p> <p> If you specify 242 * a bucket, Amazon Transcribe saves the output of the analytics job as a JSON file 243 * at the root level of the bucket.</p> </li> <li> 244 * <p>s3://DOC-EXAMPLE-BUCKET1/folder/</p> <p>f you specify a path, Amazon 245 * Transcribe saves the output of the analytics job as 246 * s3://DOC-EXAMPLE-BUCKET1/folder/your-transcription-job-name.json</p> <p>If you 247 * specify a folder, you must provide a trailing slash.</p> </li> <li> 248 * <p>s3://DOC-EXAMPLE-BUCKET1/folder/filename.json</p> <p> If you provide a path 249 * that has the filename specified, Amazon Transcribe saves the output of the 250 * analytics job as s3://DOC-EXAMPLEBUCKET1/folder/filename.json</p> </li> </ul> 251 * <p>You can specify an Amazon Web Services Key Management Service (KMS) key to 252 * encrypt the output of our analytics job using the 253 * <code>OutputEncryptionKMSKeyId</code> parameter. If you don't specify a KMS key, 254 * Amazon Transcribe uses the default Amazon S3 key for server-side encryption of 255 * the analytics job output that is placed in your S3 bucket.</p> 256 */ WithOutputLocation(const Aws::String & value)257 inline StartCallAnalyticsJobRequest& WithOutputLocation(const Aws::String& value) { SetOutputLocation(value); return *this;} 258 259 /** 260 * <p>The Amazon S3 location where the output of the call analytics job is stored. 261 * You can provide the following location types to store the output of call 262 * analytics job:</p> <ul> <li> <p>s3://DOC-EXAMPLE-BUCKET1</p> <p> If you specify 263 * a bucket, Amazon Transcribe saves the output of the analytics job as a JSON file 264 * at the root level of the bucket.</p> </li> <li> 265 * <p>s3://DOC-EXAMPLE-BUCKET1/folder/</p> <p>f you specify a path, Amazon 266 * Transcribe saves the output of the analytics job as 267 * s3://DOC-EXAMPLE-BUCKET1/folder/your-transcription-job-name.json</p> <p>If you 268 * specify a folder, you must provide a trailing slash.</p> </li> <li> 269 * <p>s3://DOC-EXAMPLE-BUCKET1/folder/filename.json</p> <p> If you provide a path 270 * that has the filename specified, Amazon Transcribe saves the output of the 271 * analytics job as s3://DOC-EXAMPLEBUCKET1/folder/filename.json</p> </li> </ul> 272 * <p>You can specify an Amazon Web Services Key Management Service (KMS) key to 273 * encrypt the output of our analytics job using the 274 * <code>OutputEncryptionKMSKeyId</code> parameter. If you don't specify a KMS key, 275 * Amazon Transcribe uses the default Amazon S3 key for server-side encryption of 276 * the analytics job output that is placed in your S3 bucket.</p> 277 */ WithOutputLocation(Aws::String && value)278 inline StartCallAnalyticsJobRequest& WithOutputLocation(Aws::String&& value) { SetOutputLocation(std::move(value)); return *this;} 279 280 /** 281 * <p>The Amazon S3 location where the output of the call analytics job is stored. 282 * You can provide the following location types to store the output of call 283 * analytics job:</p> <ul> <li> <p>s3://DOC-EXAMPLE-BUCKET1</p> <p> If you specify 284 * a bucket, Amazon Transcribe saves the output of the analytics job as a JSON file 285 * at the root level of the bucket.</p> </li> <li> 286 * <p>s3://DOC-EXAMPLE-BUCKET1/folder/</p> <p>f you specify a path, Amazon 287 * Transcribe saves the output of the analytics job as 288 * s3://DOC-EXAMPLE-BUCKET1/folder/your-transcription-job-name.json</p> <p>If you 289 * specify a folder, you must provide a trailing slash.</p> </li> <li> 290 * <p>s3://DOC-EXAMPLE-BUCKET1/folder/filename.json</p> <p> If you provide a path 291 * that has the filename specified, Amazon Transcribe saves the output of the 292 * analytics job as s3://DOC-EXAMPLEBUCKET1/folder/filename.json</p> </li> </ul> 293 * <p>You can specify an Amazon Web Services Key Management Service (KMS) key to 294 * encrypt the output of our analytics job using the 295 * <code>OutputEncryptionKMSKeyId</code> parameter. If you don't specify a KMS key, 296 * Amazon Transcribe uses the default Amazon S3 key for server-side encryption of 297 * the analytics job output that is placed in your S3 bucket.</p> 298 */ WithOutputLocation(const char * value)299 inline StartCallAnalyticsJobRequest& WithOutputLocation(const char* value) { SetOutputLocation(value); return *this;} 300 301 302 /** 303 * <p>The Amazon Resource Name (ARN) of the Amazon Web Services Key Management 304 * Service key used to encrypt the output of the call analytics job. The user 305 * calling the operation must have permission to use the specified KMS key.</p> 306 * <p>You use either of the following to identify an Amazon Web Services KMS key in 307 * the current account:</p> <ul> <li> <p>KMS Key ID: 308 * "1234abcd-12ab-34cd-56ef-1234567890ab"</p> </li> <li> <p>KMS Key Alias: 309 * "alias/ExampleAlias"</p> </li> </ul> <p> You can use either of the following to 310 * identify a KMS key in the current account or another account:</p> <ul> <li> 311 * <p>Amazon Resource Name (ARN) of a KMS key in the current account or another 312 * account: "arn:aws:kms:region:account 313 * ID:key/1234abcd-12ab-34cd-56ef1234567890ab"</p> </li> <li> <p>ARN of a KMS Key 314 * Alias: "arn:aws:kms:region:account ID:alias/ExampleAlias"</p> </li> </ul> <p>If 315 * you don't specify an encryption key, the output of the call analytics job is 316 * encrypted with the default Amazon S3 key (SSE-S3).</p> <p>If you specify a KMS 317 * key to encrypt your output, you must also specify an output location in the 318 * <code>OutputLocation</code> parameter. </p> 319 */ GetOutputEncryptionKMSKeyId()320 inline const Aws::String& GetOutputEncryptionKMSKeyId() const{ return m_outputEncryptionKMSKeyId; } 321 322 /** 323 * <p>The Amazon Resource Name (ARN) of the Amazon Web Services Key Management 324 * Service key used to encrypt the output of the call analytics job. The user 325 * calling the operation must have permission to use the specified KMS key.</p> 326 * <p>You use either of the following to identify an Amazon Web Services KMS key in 327 * the current account:</p> <ul> <li> <p>KMS Key ID: 328 * "1234abcd-12ab-34cd-56ef-1234567890ab"</p> </li> <li> <p>KMS Key Alias: 329 * "alias/ExampleAlias"</p> </li> </ul> <p> You can use either of the following to 330 * identify a KMS key in the current account or another account:</p> <ul> <li> 331 * <p>Amazon Resource Name (ARN) of a KMS key in the current account or another 332 * account: "arn:aws:kms:region:account 333 * ID:key/1234abcd-12ab-34cd-56ef1234567890ab"</p> </li> <li> <p>ARN of a KMS Key 334 * Alias: "arn:aws:kms:region:account ID:alias/ExampleAlias"</p> </li> </ul> <p>If 335 * you don't specify an encryption key, the output of the call analytics job is 336 * encrypted with the default Amazon S3 key (SSE-S3).</p> <p>If you specify a KMS 337 * key to encrypt your output, you must also specify an output location in the 338 * <code>OutputLocation</code> parameter. </p> 339 */ OutputEncryptionKMSKeyIdHasBeenSet()340 inline bool OutputEncryptionKMSKeyIdHasBeenSet() const { return m_outputEncryptionKMSKeyIdHasBeenSet; } 341 342 /** 343 * <p>The Amazon Resource Name (ARN) of the Amazon Web Services Key Management 344 * Service key used to encrypt the output of the call analytics job. The user 345 * calling the operation must have permission to use the specified KMS key.</p> 346 * <p>You use either of the following to identify an Amazon Web Services KMS key in 347 * the current account:</p> <ul> <li> <p>KMS Key ID: 348 * "1234abcd-12ab-34cd-56ef-1234567890ab"</p> </li> <li> <p>KMS Key Alias: 349 * "alias/ExampleAlias"</p> </li> </ul> <p> You can use either of the following to 350 * identify a KMS key in the current account or another account:</p> <ul> <li> 351 * <p>Amazon Resource Name (ARN) of a KMS key in the current account or another 352 * account: "arn:aws:kms:region:account 353 * ID:key/1234abcd-12ab-34cd-56ef1234567890ab"</p> </li> <li> <p>ARN of a KMS Key 354 * Alias: "arn:aws:kms:region:account ID:alias/ExampleAlias"</p> </li> </ul> <p>If 355 * you don't specify an encryption key, the output of the call analytics job is 356 * encrypted with the default Amazon S3 key (SSE-S3).</p> <p>If you specify a KMS 357 * key to encrypt your output, you must also specify an output location in the 358 * <code>OutputLocation</code> parameter. </p> 359 */ SetOutputEncryptionKMSKeyId(const Aws::String & value)360 inline void SetOutputEncryptionKMSKeyId(const Aws::String& value) { m_outputEncryptionKMSKeyIdHasBeenSet = true; m_outputEncryptionKMSKeyId = value; } 361 362 /** 363 * <p>The Amazon Resource Name (ARN) of the Amazon Web Services Key Management 364 * Service key used to encrypt the output of the call analytics job. The user 365 * calling the operation must have permission to use the specified KMS key.</p> 366 * <p>You use either of the following to identify an Amazon Web Services KMS key in 367 * the current account:</p> <ul> <li> <p>KMS Key ID: 368 * "1234abcd-12ab-34cd-56ef-1234567890ab"</p> </li> <li> <p>KMS Key Alias: 369 * "alias/ExampleAlias"</p> </li> </ul> <p> You can use either of the following to 370 * identify a KMS key in the current account or another account:</p> <ul> <li> 371 * <p>Amazon Resource Name (ARN) of a KMS key in the current account or another 372 * account: "arn:aws:kms:region:account 373 * ID:key/1234abcd-12ab-34cd-56ef1234567890ab"</p> </li> <li> <p>ARN of a KMS Key 374 * Alias: "arn:aws:kms:region:account ID:alias/ExampleAlias"</p> </li> </ul> <p>If 375 * you don't specify an encryption key, the output of the call analytics job is 376 * encrypted with the default Amazon S3 key (SSE-S3).</p> <p>If you specify a KMS 377 * key to encrypt your output, you must also specify an output location in the 378 * <code>OutputLocation</code> parameter. </p> 379 */ SetOutputEncryptionKMSKeyId(Aws::String && value)380 inline void SetOutputEncryptionKMSKeyId(Aws::String&& value) { m_outputEncryptionKMSKeyIdHasBeenSet = true; m_outputEncryptionKMSKeyId = std::move(value); } 381 382 /** 383 * <p>The Amazon Resource Name (ARN) of the Amazon Web Services Key Management 384 * Service key used to encrypt the output of the call analytics job. The user 385 * calling the operation must have permission to use the specified KMS key.</p> 386 * <p>You use either of the following to identify an Amazon Web Services KMS key in 387 * the current account:</p> <ul> <li> <p>KMS Key ID: 388 * "1234abcd-12ab-34cd-56ef-1234567890ab"</p> </li> <li> <p>KMS Key Alias: 389 * "alias/ExampleAlias"</p> </li> </ul> <p> You can use either of the following to 390 * identify a KMS key in the current account or another account:</p> <ul> <li> 391 * <p>Amazon Resource Name (ARN) of a KMS key in the current account or another 392 * account: "arn:aws:kms:region:account 393 * ID:key/1234abcd-12ab-34cd-56ef1234567890ab"</p> </li> <li> <p>ARN of a KMS Key 394 * Alias: "arn:aws:kms:region:account ID:alias/ExampleAlias"</p> </li> </ul> <p>If 395 * you don't specify an encryption key, the output of the call analytics job is 396 * encrypted with the default Amazon S3 key (SSE-S3).</p> <p>If you specify a KMS 397 * key to encrypt your output, you must also specify an output location in the 398 * <code>OutputLocation</code> parameter. </p> 399 */ SetOutputEncryptionKMSKeyId(const char * value)400 inline void SetOutputEncryptionKMSKeyId(const char* value) { m_outputEncryptionKMSKeyIdHasBeenSet = true; m_outputEncryptionKMSKeyId.assign(value); } 401 402 /** 403 * <p>The Amazon Resource Name (ARN) of the Amazon Web Services Key Management 404 * Service key used to encrypt the output of the call analytics job. The user 405 * calling the operation must have permission to use the specified KMS key.</p> 406 * <p>You use either of the following to identify an Amazon Web Services KMS key in 407 * the current account:</p> <ul> <li> <p>KMS Key ID: 408 * "1234abcd-12ab-34cd-56ef-1234567890ab"</p> </li> <li> <p>KMS Key Alias: 409 * "alias/ExampleAlias"</p> </li> </ul> <p> You can use either of the following to 410 * identify a KMS key in the current account or another account:</p> <ul> <li> 411 * <p>Amazon Resource Name (ARN) of a KMS key in the current account or another 412 * account: "arn:aws:kms:region:account 413 * ID:key/1234abcd-12ab-34cd-56ef1234567890ab"</p> </li> <li> <p>ARN of a KMS Key 414 * Alias: "arn:aws:kms:region:account ID:alias/ExampleAlias"</p> </li> </ul> <p>If 415 * you don't specify an encryption key, the output of the call analytics job is 416 * encrypted with the default Amazon S3 key (SSE-S3).</p> <p>If you specify a KMS 417 * key to encrypt your output, you must also specify an output location in the 418 * <code>OutputLocation</code> parameter. </p> 419 */ WithOutputEncryptionKMSKeyId(const Aws::String & value)420 inline StartCallAnalyticsJobRequest& WithOutputEncryptionKMSKeyId(const Aws::String& value) { SetOutputEncryptionKMSKeyId(value); return *this;} 421 422 /** 423 * <p>The Amazon Resource Name (ARN) of the Amazon Web Services Key Management 424 * Service key used to encrypt the output of the call analytics job. The user 425 * calling the operation must have permission to use the specified KMS key.</p> 426 * <p>You use either of the following to identify an Amazon Web Services KMS key in 427 * the current account:</p> <ul> <li> <p>KMS Key ID: 428 * "1234abcd-12ab-34cd-56ef-1234567890ab"</p> </li> <li> <p>KMS Key Alias: 429 * "alias/ExampleAlias"</p> </li> </ul> <p> You can use either of the following to 430 * identify a KMS key in the current account or another account:</p> <ul> <li> 431 * <p>Amazon Resource Name (ARN) of a KMS key in the current account or another 432 * account: "arn:aws:kms:region:account 433 * ID:key/1234abcd-12ab-34cd-56ef1234567890ab"</p> </li> <li> <p>ARN of a KMS Key 434 * Alias: "arn:aws:kms:region:account ID:alias/ExampleAlias"</p> </li> </ul> <p>If 435 * you don't specify an encryption key, the output of the call analytics job is 436 * encrypted with the default Amazon S3 key (SSE-S3).</p> <p>If you specify a KMS 437 * key to encrypt your output, you must also specify an output location in the 438 * <code>OutputLocation</code> parameter. </p> 439 */ WithOutputEncryptionKMSKeyId(Aws::String && value)440 inline StartCallAnalyticsJobRequest& WithOutputEncryptionKMSKeyId(Aws::String&& value) { SetOutputEncryptionKMSKeyId(std::move(value)); return *this;} 441 442 /** 443 * <p>The Amazon Resource Name (ARN) of the Amazon Web Services Key Management 444 * Service key used to encrypt the output of the call analytics job. The user 445 * calling the operation must have permission to use the specified KMS key.</p> 446 * <p>You use either of the following to identify an Amazon Web Services KMS key in 447 * the current account:</p> <ul> <li> <p>KMS Key ID: 448 * "1234abcd-12ab-34cd-56ef-1234567890ab"</p> </li> <li> <p>KMS Key Alias: 449 * "alias/ExampleAlias"</p> </li> </ul> <p> You can use either of the following to 450 * identify a KMS key in the current account or another account:</p> <ul> <li> 451 * <p>Amazon Resource Name (ARN) of a KMS key in the current account or another 452 * account: "arn:aws:kms:region:account 453 * ID:key/1234abcd-12ab-34cd-56ef1234567890ab"</p> </li> <li> <p>ARN of a KMS Key 454 * Alias: "arn:aws:kms:region:account ID:alias/ExampleAlias"</p> </li> </ul> <p>If 455 * you don't specify an encryption key, the output of the call analytics job is 456 * encrypted with the default Amazon S3 key (SSE-S3).</p> <p>If you specify a KMS 457 * key to encrypt your output, you must also specify an output location in the 458 * <code>OutputLocation</code> parameter. </p> 459 */ WithOutputEncryptionKMSKeyId(const char * value)460 inline StartCallAnalyticsJobRequest& WithOutputEncryptionKMSKeyId(const char* value) { SetOutputEncryptionKMSKeyId(value); return *this;} 461 462 463 /** 464 * <p>The Amazon Resource Name (ARN) of a role that has access to the S3 bucket 465 * that contains your input files. Amazon Transcribe assumes this role to read 466 * queued audio files. If you have specified an output S3 bucket for your 467 * transcription results, this role should have access to the output bucket as 468 * well.</p> 469 */ GetDataAccessRoleArn()470 inline const Aws::String& GetDataAccessRoleArn() const{ return m_dataAccessRoleArn; } 471 472 /** 473 * <p>The Amazon Resource Name (ARN) of a role that has access to the S3 bucket 474 * that contains your input files. Amazon Transcribe assumes this role to read 475 * queued audio files. If you have specified an output S3 bucket for your 476 * transcription results, this role should have access to the output bucket as 477 * well.</p> 478 */ DataAccessRoleArnHasBeenSet()479 inline bool DataAccessRoleArnHasBeenSet() const { return m_dataAccessRoleArnHasBeenSet; } 480 481 /** 482 * <p>The Amazon Resource Name (ARN) of a role that has access to the S3 bucket 483 * that contains your input files. Amazon Transcribe assumes this role to read 484 * queued audio files. If you have specified an output S3 bucket for your 485 * transcription results, this role should have access to the output bucket as 486 * well.</p> 487 */ SetDataAccessRoleArn(const Aws::String & value)488 inline void SetDataAccessRoleArn(const Aws::String& value) { m_dataAccessRoleArnHasBeenSet = true; m_dataAccessRoleArn = value; } 489 490 /** 491 * <p>The Amazon Resource Name (ARN) of a role that has access to the S3 bucket 492 * that contains your input files. Amazon Transcribe assumes this role to read 493 * queued audio files. If you have specified an output S3 bucket for your 494 * transcription results, this role should have access to the output bucket as 495 * well.</p> 496 */ SetDataAccessRoleArn(Aws::String && value)497 inline void SetDataAccessRoleArn(Aws::String&& value) { m_dataAccessRoleArnHasBeenSet = true; m_dataAccessRoleArn = std::move(value); } 498 499 /** 500 * <p>The Amazon Resource Name (ARN) of a role that has access to the S3 bucket 501 * that contains your input files. Amazon Transcribe assumes this role to read 502 * queued audio files. If you have specified an output S3 bucket for your 503 * transcription results, this role should have access to the output bucket as 504 * well.</p> 505 */ SetDataAccessRoleArn(const char * value)506 inline void SetDataAccessRoleArn(const char* value) { m_dataAccessRoleArnHasBeenSet = true; m_dataAccessRoleArn.assign(value); } 507 508 /** 509 * <p>The Amazon Resource Name (ARN) of a role that has access to the S3 bucket 510 * that contains your input files. Amazon Transcribe assumes this role to read 511 * queued audio files. If you have specified an output S3 bucket for your 512 * transcription results, this role should have access to the output bucket as 513 * well.</p> 514 */ WithDataAccessRoleArn(const Aws::String & value)515 inline StartCallAnalyticsJobRequest& WithDataAccessRoleArn(const Aws::String& value) { SetDataAccessRoleArn(value); return *this;} 516 517 /** 518 * <p>The Amazon Resource Name (ARN) of a role that has access to the S3 bucket 519 * that contains your input files. Amazon Transcribe assumes this role to read 520 * queued audio files. If you have specified an output S3 bucket for your 521 * transcription results, this role should have access to the output bucket as 522 * well.</p> 523 */ WithDataAccessRoleArn(Aws::String && value)524 inline StartCallAnalyticsJobRequest& WithDataAccessRoleArn(Aws::String&& value) { SetDataAccessRoleArn(std::move(value)); return *this;} 525 526 /** 527 * <p>The Amazon Resource Name (ARN) of a role that has access to the S3 bucket 528 * that contains your input files. Amazon Transcribe assumes this role to read 529 * queued audio files. If you have specified an output S3 bucket for your 530 * transcription results, this role should have access to the output bucket as 531 * well.</p> 532 */ WithDataAccessRoleArn(const char * value)533 inline StartCallAnalyticsJobRequest& WithDataAccessRoleArn(const char* value) { SetDataAccessRoleArn(value); return *this;} 534 535 536 /** 537 * <p>A <code>Settings</code> object that provides optional settings for a call 538 * analytics job. </p> 539 */ GetSettings()540 inline const CallAnalyticsJobSettings& GetSettings() const{ return m_settings; } 541 542 /** 543 * <p>A <code>Settings</code> object that provides optional settings for a call 544 * analytics job. </p> 545 */ SettingsHasBeenSet()546 inline bool SettingsHasBeenSet() const { return m_settingsHasBeenSet; } 547 548 /** 549 * <p>A <code>Settings</code> object that provides optional settings for a call 550 * analytics job. </p> 551 */ SetSettings(const CallAnalyticsJobSettings & value)552 inline void SetSettings(const CallAnalyticsJobSettings& value) { m_settingsHasBeenSet = true; m_settings = value; } 553 554 /** 555 * <p>A <code>Settings</code> object that provides optional settings for a call 556 * analytics job. </p> 557 */ SetSettings(CallAnalyticsJobSettings && value)558 inline void SetSettings(CallAnalyticsJobSettings&& value) { m_settingsHasBeenSet = true; m_settings = std::move(value); } 559 560 /** 561 * <p>A <code>Settings</code> object that provides optional settings for a call 562 * analytics job. </p> 563 */ WithSettings(const CallAnalyticsJobSettings & value)564 inline StartCallAnalyticsJobRequest& WithSettings(const CallAnalyticsJobSettings& value) { SetSettings(value); return *this;} 565 566 /** 567 * <p>A <code>Settings</code> object that provides optional settings for a call 568 * analytics job. </p> 569 */ WithSettings(CallAnalyticsJobSettings && value)570 inline StartCallAnalyticsJobRequest& WithSettings(CallAnalyticsJobSettings&& value) { SetSettings(std::move(value)); return *this;} 571 572 573 /** 574 * <p>When you start a call analytics job, you must pass an array that maps the 575 * agent and the customer to specific audio channels. The values you can assign to 576 * a channel are 0 and 1. The agent and the customer must each have their own 577 * channel. You can't assign more than one channel to an agent or customer. </p> 578 */ GetChannelDefinitions()579 inline const Aws::Vector<ChannelDefinition>& GetChannelDefinitions() const{ return m_channelDefinitions; } 580 581 /** 582 * <p>When you start a call analytics job, you must pass an array that maps the 583 * agent and the customer to specific audio channels. The values you can assign to 584 * a channel are 0 and 1. The agent and the customer must each have their own 585 * channel. You can't assign more than one channel to an agent or customer. </p> 586 */ ChannelDefinitionsHasBeenSet()587 inline bool ChannelDefinitionsHasBeenSet() const { return m_channelDefinitionsHasBeenSet; } 588 589 /** 590 * <p>When you start a call analytics job, you must pass an array that maps the 591 * agent and the customer to specific audio channels. The values you can assign to 592 * a channel are 0 and 1. The agent and the customer must each have their own 593 * channel. You can't assign more than one channel to an agent or customer. </p> 594 */ SetChannelDefinitions(const Aws::Vector<ChannelDefinition> & value)595 inline void SetChannelDefinitions(const Aws::Vector<ChannelDefinition>& value) { m_channelDefinitionsHasBeenSet = true; m_channelDefinitions = value; } 596 597 /** 598 * <p>When you start a call analytics job, you must pass an array that maps the 599 * agent and the customer to specific audio channels. The values you can assign to 600 * a channel are 0 and 1. The agent and the customer must each have their own 601 * channel. You can't assign more than one channel to an agent or customer. </p> 602 */ SetChannelDefinitions(Aws::Vector<ChannelDefinition> && value)603 inline void SetChannelDefinitions(Aws::Vector<ChannelDefinition>&& value) { m_channelDefinitionsHasBeenSet = true; m_channelDefinitions = std::move(value); } 604 605 /** 606 * <p>When you start a call analytics job, you must pass an array that maps the 607 * agent and the customer to specific audio channels. The values you can assign to 608 * a channel are 0 and 1. The agent and the customer must each have their own 609 * channel. You can't assign more than one channel to an agent or customer. </p> 610 */ WithChannelDefinitions(const Aws::Vector<ChannelDefinition> & value)611 inline StartCallAnalyticsJobRequest& WithChannelDefinitions(const Aws::Vector<ChannelDefinition>& value) { SetChannelDefinitions(value); return *this;} 612 613 /** 614 * <p>When you start a call analytics job, you must pass an array that maps the 615 * agent and the customer to specific audio channels. The values you can assign to 616 * a channel are 0 and 1. The agent and the customer must each have their own 617 * channel. You can't assign more than one channel to an agent or customer. </p> 618 */ WithChannelDefinitions(Aws::Vector<ChannelDefinition> && value)619 inline StartCallAnalyticsJobRequest& WithChannelDefinitions(Aws::Vector<ChannelDefinition>&& value) { SetChannelDefinitions(std::move(value)); return *this;} 620 621 /** 622 * <p>When you start a call analytics job, you must pass an array that maps the 623 * agent and the customer to specific audio channels. The values you can assign to 624 * a channel are 0 and 1. The agent and the customer must each have their own 625 * channel. You can't assign more than one channel to an agent or customer. </p> 626 */ AddChannelDefinitions(const ChannelDefinition & value)627 inline StartCallAnalyticsJobRequest& AddChannelDefinitions(const ChannelDefinition& value) { m_channelDefinitionsHasBeenSet = true; m_channelDefinitions.push_back(value); return *this; } 628 629 /** 630 * <p>When you start a call analytics job, you must pass an array that maps the 631 * agent and the customer to specific audio channels. The values you can assign to 632 * a channel are 0 and 1. The agent and the customer must each have their own 633 * channel. You can't assign more than one channel to an agent or customer. </p> 634 */ AddChannelDefinitions(ChannelDefinition && value)635 inline StartCallAnalyticsJobRequest& AddChannelDefinitions(ChannelDefinition&& value) { m_channelDefinitionsHasBeenSet = true; m_channelDefinitions.push_back(std::move(value)); return *this; } 636 637 private: 638 639 Aws::String m_callAnalyticsJobName; 640 bool m_callAnalyticsJobNameHasBeenSet; 641 642 Media m_media; 643 bool m_mediaHasBeenSet; 644 645 Aws::String m_outputLocation; 646 bool m_outputLocationHasBeenSet; 647 648 Aws::String m_outputEncryptionKMSKeyId; 649 bool m_outputEncryptionKMSKeyIdHasBeenSet; 650 651 Aws::String m_dataAccessRoleArn; 652 bool m_dataAccessRoleArnHasBeenSet; 653 654 CallAnalyticsJobSettings m_settings; 655 bool m_settingsHasBeenSet; 656 657 Aws::Vector<ChannelDefinition> m_channelDefinitions; 658 bool m_channelDefinitionsHasBeenSet; 659 }; 660 661 } // namespace Model 662 } // namespace TranscribeService 663 } // namespace Aws 664