createMediaInsightsPipeline method

Future<CreateMediaInsightsPipelineResponse> createMediaInsightsPipeline({
  1. required String mediaInsightsPipelineConfigurationArn,
  2. String? clientRequestToken,
  3. KinesisVideoStreamRecordingSourceRuntimeConfiguration? kinesisVideoStreamRecordingSourceRuntimeConfiguration,
  4. KinesisVideoStreamSourceRuntimeConfiguration? kinesisVideoStreamSourceRuntimeConfiguration,
  5. Map<String, String>? mediaInsightsRuntimeMetadata,
  6. S3RecordingSinkRuntimeConfiguration? s3RecordingSinkRuntimeConfiguration,
  7. List<Tag>? tags,
})

Creates a media insights pipeline.

May throw BadRequestException. May throw ForbiddenException. May throw NotFoundException. May throw ResourceLimitExceededException. May throw ServiceFailureException. May throw ServiceUnavailableException. May throw ThrottledClientException. May throw UnauthorizedClientException.

Parameter mediaInsightsPipelineConfigurationArn : The ARN of the pipeline's configuration.

Parameter clientRequestToken : The unique identifier for the media insights pipeline request.

Parameter kinesisVideoStreamRecordingSourceRuntimeConfiguration : The runtime configuration for the Kinesis video recording stream source.

Parameter kinesisVideoStreamSourceRuntimeConfiguration : The runtime configuration for the Kinesis video stream source of the media insights pipeline.

Parameter mediaInsightsRuntimeMetadata : The runtime metadata for the media insights pipeline. Consists of a key-value map of strings.

Parameter s3RecordingSinkRuntimeConfiguration : The runtime configuration for the S3 recording sink. If specified, the settings in this structure override any settings in S3RecordingSinkConfiguration.

Parameter tags : The tags assigned to the media insights pipeline.

Implementation

Future<CreateMediaInsightsPipelineResponse> createMediaInsightsPipeline({
  required String mediaInsightsPipelineConfigurationArn,
  String? clientRequestToken,
  KinesisVideoStreamRecordingSourceRuntimeConfiguration?
      kinesisVideoStreamRecordingSourceRuntimeConfiguration,
  KinesisVideoStreamSourceRuntimeConfiguration?
      kinesisVideoStreamSourceRuntimeConfiguration,
  Map<String, String>? mediaInsightsRuntimeMetadata,
  S3RecordingSinkRuntimeConfiguration? s3RecordingSinkRuntimeConfiguration,
  List<Tag>? tags,
}) async {
  final $payload = <String, dynamic>{
    'MediaInsightsPipelineConfigurationArn':
        mediaInsightsPipelineConfigurationArn,
    'ClientRequestToken': clientRequestToken ?? _s.generateIdempotencyToken(),
    if (kinesisVideoStreamRecordingSourceRuntimeConfiguration != null)
      'KinesisVideoStreamRecordingSourceRuntimeConfiguration':
          kinesisVideoStreamRecordingSourceRuntimeConfiguration,
    if (kinesisVideoStreamSourceRuntimeConfiguration != null)
      'KinesisVideoStreamSourceRuntimeConfiguration':
          kinesisVideoStreamSourceRuntimeConfiguration,
    if (mediaInsightsRuntimeMetadata != null)
      'MediaInsightsRuntimeMetadata': mediaInsightsRuntimeMetadata,
    if (s3RecordingSinkRuntimeConfiguration != null)
      'S3RecordingSinkRuntimeConfiguration':
          s3RecordingSinkRuntimeConfiguration,
    if (tags != null) 'Tags': tags,
  };
  final response = await _protocol.send(
    payload: $payload,
    method: 'POST',
    requestUri: '/media-insights-pipelines',
    exceptionFnMap: _exceptionFns,
  );
  return CreateMediaInsightsPipelineResponse.fromJson(response);
}