{
  "version": "2.0",
  "service": "<p>The Amazon Chime SDK media pipeline APIs in this section allow software developers to create Amazon Chime SDK media pipelines and capture audio, video, events, and data messages from Amazon Chime SDK meetings. For more information about media pipleines, see <a href=\"https://docs.aws.amazon.com/chime/latest/APIReference/API_Operations_Amazon_Chime_SDK_Media_Pipelines.html\">Amzon Chime SDK media pipelines</a>. </p>",
  "operations": {
    "CreateMediaCapturePipeline": "<p>Creates a media capture pipeline.</p>",
    "DeleteMediaCapturePipeline": "<p>Deletes the media capture pipeline.</p>",
    "GetMediaCapturePipeline": "<p>Gets an existing media capture pipeline.</p>",
    "ListMediaCapturePipelines": "<p>Returns a list of media capture pipelines.</p>",
    "ListTagsForResource": "<p>Lists the tags applied to an Amazon Chime SDK media capture pipeline.</p>",
    "TagResource": "<p>Applies the specified tags to the specified Amazon Chime SDK media capture pipeline.</p>",
    "UntagResource": "<p>Removes the specified tags from the specified Amazon Chime SDK media capture pipeline.</p>"
  },
  "shapes": {
    "AmazonResourceName": {
      "base": null,
      "refs": {
        "ListTagsForResourceRequest$ResourceARN": "<p>The resource ARN.</p>",
        "MediaCapturePipeline$MediaPipelineArn": "<p>The ARN of a media capture pipeline.</p>",
        "MediaCapturePipelineSummary$MediaPipelineArn": "<p>The ARN of a media capture pipeline.</p>",
        "TagResourceRequest$ResourceARN": "<p>The resource ARN.</p>",
        "UntagResourceRequest$ResourceARN": "<p>The resource ARN.</p>"
      }
    },
    "Arn": {
      "base": null,
      "refs": {
        "CreateMediaCapturePipelineRequest$SourceArn": "<p>ARN of the source from which the media artifacts are captured.</p>",
        "CreateMediaCapturePipelineRequest$SinkArn": "<p>The ARN of the sink type.</p>",
        "MediaCapturePipeline$SourceArn": "<p>ARN of the source from which the media artifacts are saved.</p>",
        "MediaCapturePipeline$SinkArn": "<p>ARN of the destination to which the media artifacts are saved.</p>"
      }
    },
    "ArtifactsConfiguration": {
      "base": "<p>The configuration for the artifacts.</p>",
      "refs": {
        "ChimeSdkMeetingConfiguration$ArtifactsConfiguration": "<p>The configuration for the artifacts in an Amazon Chime SDK meeting.</p>"
      }
    },
    "ArtifactsState": {
      "base": null,
      "refs": {
        "ContentArtifactsConfiguration$State": "<p>Indicates whether the content artifact is enabled or disabled.</p>",
        "VideoArtifactsConfiguration$State": "<p>Indicates whether the video artifact is enabled or disabled.</p>"
      }
    },
    "AttendeeIdList": {
      "base": null,
      "refs": {
        "SelectedVideoStreams$AttendeeIds": "<p>The attendee IDs of the streams selected for a media capture pipeline. </p>"
      }
    },
    "AudioArtifactsConfiguration": {
      "base": "<p>The audio artifact configuration object.</p>",
      "refs": {
        "ArtifactsConfiguration$Audio": "<p>The configuration for the audio artifacts.</p>"
      }
    },
    "AudioMuxType": {
      "base": null,
      "refs": {
        "AudioArtifactsConfiguration$MuxType": "<p>The MUX type of the audio artifact configuration object.</p>"
      }
    },
    "BadRequestException": {
      "base": "<p>The input parameters don't match the service's restrictions.</p>",
      "refs": {
      }
    },
    "ChimeSdkMeetingConfiguration": {
      "base": "<p>The configuration object of the Amazon Chime SDK meeting for a specified media capture pipeline. <code>SourceType</code> must be <code>ChimeSdkMeeting</code>.</p>",
      "refs": {
        "CreateMediaCapturePipelineRequest$ChimeSdkMeetingConfiguration": "<p>The configuration for a specified media capture pipeline. <code>SourceType</code> must be <code>ChimeSdkMeeting</code>.</p>",
        "MediaCapturePipeline$ChimeSdkMeetingConfiguration": "<p>The configuration for a specified media capture pipeline. <code>SourceType</code> must be <code>ChimeSdkMeeting</code>.</p>"
      }
    },
    "ClientRequestToken": {
      "base": null,
      "refs": {
        "CreateMediaCapturePipelineRequest$ClientRequestToken": "<p>The token assigned to the client making the pipeline request.</p>"
      }
    },
    "ContentArtifactsConfiguration": {
      "base": "<p>The content artifact object.</p>",
      "refs": {
        "ArtifactsConfiguration$Content": "<p>The configuration for the content artifacts.</p>"
      }
    },
    "ContentMuxType": {
      "base": null,
      "refs": {
        "ContentArtifactsConfiguration$MuxType": "<p>The MUX type of the artifact configuration.</p>"
      }
    },
    "CreateMediaCapturePipelineRequest": {
      "base": null,
      "refs": {
      }
    },
    "CreateMediaCapturePipelineResponse": {
      "base": null,
      "refs": {
      }
    },
    "DeleteMediaCapturePipelineRequest": {
      "base": null,
      "refs": {
      }
    },
    "ErrorCode": {
      "base": null,
      "refs": {
        "BadRequestException$Code": null,
        "ForbiddenException$Code": null,
        "NotFoundException$Code": null,
        "ResourceLimitExceededException$Code": null,
        "ServiceFailureException$Code": null,
        "ServiceUnavailableException$Code": null,
        "ThrottledClientException$Code": null,
        "UnauthorizedClientException$Code": null
      }
    },
    "ExternalUserIdList": {
      "base": null,
      "refs": {
        "SelectedVideoStreams$ExternalUserIds": "<p>The external user IDs of the streams selected for a media capture pipeline.</p>"
      }
    },
    "ExternalUserIdType": {
      "base": null,
      "refs": {
        "ExternalUserIdList$member": null
      }
    },
    "ForbiddenException": {
      "base": "<p>The client is permanently forbidden from making the request.</p>",
      "refs": {
      }
    },
    "GetMediaCapturePipelineRequest": {
      "base": null,
      "refs": {
      }
    },
    "GetMediaCapturePipelineResponse": {
      "base": null,
      "refs": {
      }
    },
    "GuidString": {
      "base": null,
      "refs": {
        "AttendeeIdList$member": null,
        "DeleteMediaCapturePipelineRequest$MediaPipelineId": "<p>The ID of the media capture pipeline being deleted. </p>",
        "GetMediaCapturePipelineRequest$MediaPipelineId": "<p>The ID of the pipeline that you want to get.</p>",
        "MediaCapturePipeline$MediaPipelineId": "<p>The ID of a media capture pipeline.</p>",
        "MediaCapturePipelineSummary$MediaPipelineId": "<p>The ID of a media capture pipeline.</p>"
      }
    },
    "Iso8601Timestamp": {
      "base": null,
      "refs": {
        "MediaCapturePipeline$CreatedTimestamp": "<p>The time at which the capture pipeline was created, in ISO 8601 format.</p>",
        "MediaCapturePipeline$UpdatedTimestamp": "<p>The time at which the capture pipeline was updated, in ISO 8601 format.</p>"
      }
    },
    "ListMediaCapturePipelinesRequest": {
      "base": null,
      "refs": {
      }
    },
    "ListMediaCapturePipelinesResponse": {
      "base": null,
      "refs": {
      }
    },
    "ListTagsForResourceRequest": {
      "base": null,
      "refs": {
      }
    },
    "ListTagsForResourceResponse": {
      "base": null,
      "refs": {
      }
    },
    "MediaCapturePipeline": {
      "base": "<p>A media capture pipeline object consisting of an ID, source type, source ARN, a sink type, a sink ARN, and a configuration object.</p>",
      "refs": {
        "CreateMediaCapturePipelineResponse$MediaCapturePipeline": "<p>A media capture pipeline object, the ID, source type, source ARN, sink type, and sink ARN of a media capture pipeline object.</p>",
        "GetMediaCapturePipelineResponse$MediaCapturePipeline": "<p>The media capture pipeline object.</p>"
      }
    },
    "MediaCapturePipelineSummary": {
      "base": "<p>A summary of a media capture pipeline.</p>",
      "refs": {
        "MediaCapturePipelineSummaryList$member": null
      }
    },
    "MediaCapturePipelineSummaryList": {
      "base": null,
      "refs": {
        "ListMediaCapturePipelinesResponse$MediaCapturePipelines": "<p>The media capture pipeline objects in the list.</p>"
      }
    },
    "MediaPipelineSinkType": {
      "base": null,
      "refs": {
        "CreateMediaCapturePipelineRequest$SinkType": "<p>Destination type to which the media artifacts are saved. You must use an S3 bucket. </p>",
        "MediaCapturePipeline$SinkType": "<p>Destination type to which the media artifacts are saved. You must use an S3 Bucket.</p>"
      }
    },
    "MediaPipelineSourceType": {
      "base": null,
      "refs": {
        "CreateMediaCapturePipelineRequest$SourceType": "<p>Source type from which the media artifacts are captured. A Chime SDK Meeting is the only supported source.</p>",
        "MediaCapturePipeline$SourceType": "<p>Source type from which media artifacts are saved. You must use <code>ChimeMeeting</code>.</p>"
      }
    },
    "MediaPipelineStatus": {
      "base": null,
      "refs": {
        "MediaCapturePipeline$Status": "<p>The status of the media capture pipeline.</p>"
      }
    },
    "NotFoundException": {
      "base": "<p>One or more of the resources in the request does not exist in the system.</p>",
      "refs": {
      }
    },
    "ResourceLimitExceededException": {
      "base": "<p>The request exceeds the resource limit.</p>",
      "refs": {
      }
    },
    "ResultMax": {
      "base": null,
      "refs": {
        "ListMediaCapturePipelinesRequest$MaxResults": "<p>The maximum number of results to return in a single call. Valid Range: 1 - 99.</p>"
      }
    },
    "SelectedVideoStreams": {
      "base": "<p>The video streams to capture for a specified media capture pipeline. The total number of video streams can't exceed 25.</p>",
      "refs": {
        "SourceConfiguration$SelectedVideoStreams": "<p>The selected video streams to capture for a specified media capture pipeline. The number of video streams can't exceed 25.</p>"
      }
    },
    "ServiceFailureException": {
      "base": "<p>The service encountered an unexpected error.</p>",
      "refs": {
      }
    },
    "ServiceUnavailableException": {
      "base": "<p>The service is currently unavailable.</p>",
      "refs": {
      }
    },
    "SourceConfiguration": {
      "base": "<p>Source configuration for a specified media capture pipeline.</p>",
      "refs": {
        "ChimeSdkMeetingConfiguration$SourceConfiguration": "<p>The source configuration for a specified media capture pipline.</p>"
      }
    },
    "String": {
      "base": null,
      "refs": {
        "BadRequestException$Message": null,
        "BadRequestException$RequestId": "<p>The request id associated with the call responsible for the exception.</p>",
        "ForbiddenException$Message": null,
        "ForbiddenException$RequestId": "<p>The request id associated with the call responsible for the exception.</p>",
        "ListMediaCapturePipelinesRequest$NextToken": "<p>The token used to retrieve the next page of results.</p>",
        "ListMediaCapturePipelinesResponse$NextToken": "<p>The token used to retrieve the next page of results. </p>",
        "NotFoundException$Message": null,
        "NotFoundException$RequestId": "<p>The request id associated with the call responsible for the exception.</p>",
        "ResourceLimitExceededException$Message": null,
        "ResourceLimitExceededException$RequestId": "<p>The request id associated with the call responsible for the exception.</p>",
        "ServiceFailureException$Message": null,
        "ServiceFailureException$RequestId": "<p>The request id associated with the call responsible for the exception.</p>",
        "ServiceUnavailableException$Message": null,
        "ServiceUnavailableException$RequestId": "<p>The request id associated with the call responsible for the exception.</p>",
        "ThrottledClientException$Message": null,
        "ThrottledClientException$RequestId": "<p>The request id associated with the call responsible for the exception.</p>",
        "UnauthorizedClientException$Message": null,
        "UnauthorizedClientException$RequestId": "<p>The request id associated with the call responsible for the exception.</p>"
      }
    },
    "Tag": {
      "base": "<p>Describes a tag applied to a resource.</p>",
      "refs": {
        "TagList$member": null
      }
    },
    "TagKey": {
      "base": null,
      "refs": {
        "Tag$Key": "<p>The key of the tag.</p>",
        "TagKeyList$member": null
      }
    },
    "TagKeyList": {
      "base": null,
      "refs": {
        "UntagResourceRequest$TagKeys": "<p>The tag keys.</p>"
      }
    },
    "TagList": {
      "base": null,
      "refs": {
        "CreateMediaCapturePipelineRequest$Tags": "<p>The list of tags.</p>",
        "ListTagsForResourceResponse$Tags": "<p>The tag key-value pairs.</p>",
        "TagResourceRequest$Tags": "<p>The tag key-value pairs.</p>"
      }
    },
    "TagResourceRequest": {
      "base": null,
      "refs": {
      }
    },
    "TagResourceResponse": {
      "base": null,
      "refs": {
      }
    },
    "TagValue": {
      "base": null,
      "refs": {
        "Tag$Value": "<p>The value of the tag.</p>"
      }
    },
    "ThrottledClientException": {
      "base": "<p>The client exceeded its request rate limit.</p>",
      "refs": {
      }
    },
    "UnauthorizedClientException": {
      "base": "<p>The client is not currently authorized to make the request.</p>",
      "refs": {
      }
    },
    "UntagResourceRequest": {
      "base": null,
      "refs": {
      }
    },
    "UntagResourceResponse": {
      "base": null,
      "refs": {
      }
    },
    "VideoArtifactsConfiguration": {
      "base": "<p>The video artifact configuration object.</p>",
      "refs": {
        "ArtifactsConfiguration$Video": "<p>The configuration for the video artifacts.</p>"
      }
    },
    "VideoMuxType": {
      "base": null,
      "refs": {
        "VideoArtifactsConfiguration$MuxType": "<p>The MUX type of the video artifact configuration object.</p>"
      }
    }
  }
}
