@@ -123,10 +123,14 @@ final class Input
123123
124124 /**
125125 * Specify the source file for your transcoding job. You can use multiple inputs in a single job. The service
126- * concatenates these inputs, in the order that you specify them in the job, to create the outputs. If your input format
127- * is IMF, specify your input by providing the path to your CPL. For example, "s3://bucket/vf/cpl.xml". If the CPL is in
128- * an incomplete IMP, make sure to use *Supplemental IMPs* to specify any supplemental IMPs that contain assets
129- * referenced by the CPL.
126+ * concatenates these inputs, in the order that you specify them in the job, to create the outputs. For standard inputs,
127+ * provide the path to your S3, HTTP, or HTTPS source file. For example, s3://amzn-s3-demo-bucket/input.mp4 for an
128+ * Amazon S3 input or https://example.com/input.mp4 for an HTTPS input. For TAMS inputs, specify the HTTPS endpoint of
129+ * your TAMS server. For example, https://tams-server.example.com . When you do, also specify Source ID, Timerange, GAP
130+ * handling, and the Authorization connection ARN under TAMS settings. (Don't include these parameters in the Input file
131+ * URL.) For IMF inputs, specify your input by providing the path to your CPL. For example,
132+ * s3://amzn-s3-demo-bucket/vf/cpl.xml . If the CPL is in an incomplete IMP, make sure to use Supplemental IMPsto
133+ * specify any supplemental IMPs that contain assets referenced by the CPL.
130134 *
131135 * @var string|null
132136 */
@@ -220,6 +224,19 @@ final class Input
220224 */
221225 private $ supplementalImps ;
222226
227+ /**
228+ * Specify a Time Addressable Media Store (TAMS) server as an input source. TAMS is an open-source API specification
229+ * that provides access to time-segmented media content. Use TAMS to retrieve specific time ranges from live or archived
230+ * media streams. When you specify TAMS settings, MediaConvert connects to your TAMS server, retrieves the media
231+ * segments for your specified time range, and processes them as a single input. This enables workflows like extracting
232+ * clips from live streams or processing specific portions of archived content. To use TAMS, you must: 1. Have access to
233+ * a TAMS-compliant server 2. Specify the server URL in the Input file URL field 3. Provide the required SourceId and
234+ * Timerange parameters 4. Configure authentication, if your TAMS server requires it.
235+ *
236+ * @var InputTamsSettings|null
237+ */
238+ private $ tamsSettings ;
239+
223240 /**
224241 * Use this Timecode source setting, located under the input settings, to specify how the service counts input video
225242 * frames. This input frame count affects only the behavior of features that apply to a single input at a time, such as
@@ -290,6 +307,7 @@ final class Input
290307 * ProgramNumber?: null|int,
291308 * PsiControl?: null|InputPsiControl::*,
292309 * SupplementalImps?: null|string[],
310+ * TamsSettings?: null|InputTamsSettings|array,
293311 * TimecodeSource?: null|InputTimecodeSource::*,
294312 * TimecodeStart?: null|string,
295313 * VideoGenerator?: null|InputVideoGenerator|array,
@@ -320,6 +338,7 @@ public function __construct(array $input)
320338 $ this ->programNumber = $ input ['ProgramNumber ' ] ?? null ;
321339 $ this ->psiControl = $ input ['PsiControl ' ] ?? null ;
322340 $ this ->supplementalImps = $ input ['SupplementalImps ' ] ?? null ;
341+ $ this ->tamsSettings = isset ($ input ['TamsSettings ' ]) ? InputTamsSettings::create ($ input ['TamsSettings ' ]) : null ;
323342 $ this ->timecodeSource = $ input ['TimecodeSource ' ] ?? null ;
324343 $ this ->timecodeStart = $ input ['TimecodeStart ' ] ?? null ;
325344 $ this ->videoGenerator = isset ($ input ['VideoGenerator ' ]) ? InputVideoGenerator::create ($ input ['VideoGenerator ' ]) : null ;
@@ -350,6 +369,7 @@ public function __construct(array $input)
350369 * ProgramNumber?: null|int,
351370 * PsiControl?: null|InputPsiControl::*,
352371 * SupplementalImps?: null|string[],
372+ * TamsSettings?: null|InputTamsSettings|array,
353373 * TimecodeSource?: null|InputTimecodeSource::*,
354374 * TimecodeStart?: null|string,
355375 * VideoGenerator?: null|InputVideoGenerator|array,
@@ -503,6 +523,11 @@ public function getSupplementalImps(): array
503523 return $ this ->supplementalImps ?? [];
504524 }
505525
526+ public function getTamsSettings (): ?InputTamsSettings
527+ {
528+ return $ this ->tamsSettings ;
529+ }
530+
506531 /**
507532 * @return InputTimecodeSource::*|null
508533 */
@@ -659,6 +684,9 @@ public function requestBody(): array
659684 $ payload ['supplementalImps ' ][$ index ] = $ listValue ;
660685 }
661686 }
687+ if (null !== $ v = $ this ->tamsSettings ) {
688+ $ payload ['tamsSettings ' ] = $ v ->requestBody ();
689+ }
662690 if (null !== $ v = $ this ->timecodeSource ) {
663691 if (!InputTimecodeSource::exists ($ v )) {
664692 throw new InvalidArgument (\sprintf ('Invalid parameter "timecodeSource" for "%s". The value "%s" is not a valid "InputTimecodeSource". ' , __CLASS__ , $ v ));
0 commit comments