{
  "version": "2.0",
  "service": "<p>This is the AWS Elemental Inference REST API Reference. It provides information on the URL, request contents, and response contents of each AWS Elemental Inference REST operation. </p> <p>We assume that you have the IAM permissions that you need to use AWS Elemental Inference via the REST API. We also assume that you are familiar with the features and operations of AWS Elemental Inference as described in <i>AWS Elemental Inference User Guide</i>. </p>",
  "operations": {
    "AssociateFeed": "<p>Associates a resource with the feed. The resource provides the input that Elemental Inference needs needs in order to perform an Elemental Inference feature, such as cropping video. You always provide the resource by associating it with a feed. You can associate only one resource with each feed.</p>",
    "CreateFeed": "<p>Creates a feed. The feed is the target for live streams being sent by the calling application. An example of a calling application is AWS Elemental MediaLive. After you create the feed, you can associate a resource with the feed.</p>",
    "DeleteFeed": "<p>Deletes the specified feed. The feed can be deleted at any time.</p>",
    "DisassociateFeed": "<p>Releases the resource (for example, an MediaLive channel) that is associated with this feed. The outputs in the feed become disabled.</p>",
    "GetFeed": "<p>Retrieves information about the specified feed.</p>",
    "ListFeeds": "<p>Displays a list of feeds that belong to this AWS account.</p>",
    "ListTagsForResource": "<p>List all tags that are on an Elemental Inference resource in the current region.</p>",
    "TagResource": "<p>Associates the specified tags to the resource identified by the specified resourceArn in the current region. If existing tags on a resource are not specified in the request parameters, they are not changed. When a resource is deleted, the tags associated with that resource are also deleted.</p>",
    "UntagResource": "<p>Deletes specified tags from the specified resource in the current region.</p>",
    "UpdateFeed": "<p>Updates the name and/or outputs in a feed. </p>"
  },
  "shapes": {
    "AccessDeniedException": {
      "base": "<p>You do not have sufficient access to perform this action.</p>",
      "refs": {}
    },
    "AssociateFeedRequest": {
      "base": null,
      "refs": {}
    },
    "AssociateFeedResponse": {
      "base": null,
      "refs": {}
    },
    "AssociatedResourceName": {
      "base": null,
      "refs": {
        "AssociateFeedRequest$associatedResourceName": "<p>An identifier for the resource. If the resource is from an AWS service, this identifier must be the full ARN of that resource. Otherwise, the identifier is a name that you assign and that is appropriate for the application that owns the resource. This name must not resemble an ARN.</p>",
        "DisassociateFeedRequest$associatedResourceName": "<p>The name of the resource currently associated with the feed'.</p>",
        "FeedAssociation$associatedResourceName": "<p>The name of the associated resource.</p>"
      }
    },
    "Boolean": {
      "base": null,
      "refs": {
        "AssociateFeedRequest$dryRun": "<p>Set to true if you want to do a dry run of the associate action.</p>",
        "DisassociateFeedRequest$dryRun": "<p>Set to true if you want to do a dry run of the disassociate action.</p>",
        "GetOutput$fromAssociation": "<p>True means that the output was originally created in the feed by the AssociateFeed operation. False means it was created using CreateFeed or UpdateFeed. You will need this value if you use the UpdateFeed operation to modify the list of outputs in the feed.</p>",
        "UpdateOutput$fromAssociation": "<p>This property is set by the service when you add the output to the feed, and indicates how you added the output. True means that you used the AssociateFeed operation. False means that you used the CreateFeed or UpdateFeed operation. Use GetFeed to obtain the value. If the value is True, include this field here with a value of True. If the value is False, omit the field here.</p>"
      }
    },
    "ClippingConfig": {
      "base": "<p>A type of OutputConfig, used when the output in a feed is for the clip feature.</p>",
      "refs": {
        "OutputConfig$clipping": "<p>The output config type that applies to the clipping feature.</p>"
      }
    },
    "ConflictException": {
      "base": "<p>The request could not be completed due to a conflict.</p>",
      "refs": {}
    },
    "CreateFeedRequest": {
      "base": null,
      "refs": {}
    },
    "CreateFeedResponse": {
      "base": null,
      "refs": {}
    },
    "CreateOutput": {
      "base": "<p>Contains configuration information about one output in a feed. It is used in the AssociateFeed and the CreateFeed actions.</p>",
      "refs": {
        "CreateOutputList$member": null
      }
    },
    "CreateOutputList": {
      "base": null,
      "refs": {
        "AssociateFeedRequest$outputs": "<p>The outputs to add to this feed. You must specify at least one output. You can later use the UpdateFeed action to change the list of outputs.</p>",
        "CreateFeedRequest$outputs": "<p>An array of outputs for this feed. Each output represents a specific Elemental Inference feature. For example, an output might represent the crop feature. </p>"
      }
    },
    "CroppingConfig": {
      "base": "<p>A type of OutputConfig, used when the output in a feed is for the crop feature.</p>",
      "refs": {
        "OutputConfig$cropping": "<p>The output config type that applies to the cropping feature.</p>"
      }
    },
    "DeleteFeedRequest": {
      "base": null,
      "refs": {}
    },
    "DeleteFeedResponse": {
      "base": null,
      "refs": {}
    },
    "DisassociateFeedRequest": {
      "base": null,
      "refs": {}
    },
    "DisassociateFeedResponse": {
      "base": null,
      "refs": {}
    },
    "FeedArn": {
      "base": null,
      "refs": {
        "AssociateFeedResponse$arn": "<p>The AWS ARN for this association.</p>",
        "CreateFeedResponse$arn": "<p>A unique ARN that Elemental Inference assigns to the feed.</p>",
        "DeleteFeedResponse$arn": "<p>The ARN of the deleted feed.</p>",
        "DisassociateFeedResponse$arn": "<p>The ID of the feed where you deleted the associated resource.</p>",
        "FeedSummary$arn": "<p>The ARN of the feed.</p>",
        "GetFeedResponse$arn": "<p>The ARN of the feed.</p>",
        "UpdateFeedResponse$arn": "<p>The ARN of the feed.</p>"
      }
    },
    "FeedAssociation": {
      "base": "<p>Contains information about the resource that is associated with a feed. It is used in the FeedSummary that is used in the response of a ListFeeds action.</p>",
      "refs": {
        "CreateFeedResponse$association": "<p>The association for this feed. When you create the feed, this property is empty. You must associate a resource with the feed using AssociateFeed.</p>",
        "FeedSummary$association": "<p>The resource, if any, associated with the feed.</p>",
        "GetFeedResponse$association": "<p>Information about the resource, if any, associated with the feed being queried.</p>",
        "UpdateFeedResponse$association": "<p>True means that the output was originally created in the feed by the AssociateFeed operation. False means it was created using CreateFeed or UpdateFeed. You will need this value if you use the UpdateFeed operation to modify the list of outputs in the feed.</p>"
      }
    },
    "FeedId": {
      "base": null,
      "refs": {
        "AssociateFeedRequest$id": "<p>The ID of the feed.</p>",
        "AssociateFeedResponse$id": "<p>An ID for this response. It is unique in Elemental Inference for this AWS account.</p>",
        "CreateFeedResponse$id": "<p>A unique ID that Elemental Inference assigns to the feed.</p>",
        "DeleteFeedRequest$id": "<p>The ID of the feed.</p>",
        "DeleteFeedResponse$id": "<p>The ID of the deleted feed.</p>",
        "DisassociateFeedRequest$id": "<p>The ID of the feed where you want to release the resource.</p>",
        "DisassociateFeedResponse$id": "<p>The ARN of the resource that you deleted.</p>",
        "FeedSummary$id": "<p>The ID of the feed.</p>",
        "GetFeedRequest$id": "<p>The ID of the feed to query.</p>",
        "GetFeedResponse$id": "<p>The ID of the feed being queried.</p>",
        "UpdateFeedRequest$id": "<p>The ID of the feed to update.</p>",
        "UpdateFeedResponse$id": "<p>The ID of the feed.</p>"
      }
    },
    "FeedStatus": {
      "base": null,
      "refs": {
        "CreateFeedResponse$status": "<p>The current status of the feed. After creation of the feed has succeeded, the status will be AVAILABLE.</p>",
        "DeleteFeedResponse$status": "<p>The current status of the feed. When deletion of the feed has succeeded, the status will be DELETED.</p>",
        "FeedSummary$status": "<p>The status of the feed.</p>",
        "GetFeedResponse$status": "<p>The status of the feed being queried.</p>",
        "UpdateFeedResponse$status": "<p>The status of the output.</p>"
      }
    },
    "FeedSummary": {
      "base": "<p>Contains configuration information about a feed. It is used in the ListFeeds action.</p>",
      "refs": {
        "FeedSummaryList$member": null
      }
    },
    "FeedSummaryList": {
      "base": null,
      "refs": {
        "ListFeedsResponse$feeds": "<p>A list of feed summaries.</p>"
      }
    },
    "GetFeedRequest": {
      "base": null,
      "refs": {}
    },
    "GetFeedResponse": {
      "base": null,
      "refs": {}
    },
    "GetOutput": {
      "base": "<p>Contains configuration information about one output in a feed. It is used in the GetFeed action.</p>",
      "refs": {
        "GetOutputList$member": null
      }
    },
    "GetOutputList": {
      "base": null,
      "refs": {
        "CreateFeedResponse$outputs": "<p>Data endpoints that Elemental Inference assigns to the feed.</p>",
        "GetFeedResponse$outputs": "<p>An array of the outputs in the feed being queried.</p>",
        "UpdateFeedResponse$outputs": "<p>The array of outputs in the feed. You might have left this array unchanged, or you might have changed it.</p>"
      }
    },
    "InternalServerErrorException": {
      "base": "<p>An internal server error occurred. This is a temporary condition and the request can be retried. If the problem persists, contact AWS Support.</p>",
      "refs": {}
    },
    "ListFeedsRequest": {
      "base": null,
      "refs": {}
    },
    "ListFeedsRequestMaxResultsInteger": {
      "base": null,
      "refs": {
        "ListFeedsRequest$maxResults": "<p>The maximum number of results to return per API request.</p> <p>For example, you submit a list request with MaxResults set at 5. Although 20 items match your request, the service returns no more than the first 5 items. (The service also returns a NextToken value that you can use to fetch the next batch of results.)</p> <p>The service might return fewer results than the MaxResults value. If MaxResults is not included in the request, the service defaults to pagination with a maximum of 10 results per page.</p> <p>Valid Range: Minimum value of 1. Maximum value of 1000.</p>"
      }
    },
    "ListFeedsResponse": {
      "base": null,
      "refs": {}
    },
    "ListTagsForResourceRequest": {
      "base": null,
      "refs": {}
    },
    "ListTagsForResourceResponse": {
      "base": null,
      "refs": {}
    },
    "OutputConfig": {
      "base": "<p>Contains one typed output. It is used in the CreateOutput, GetOutput, and Update Output structures. </p>",
      "refs": {
        "CreateOutput$outputConfig": "<p>A typed property for an output in a feed. It is used in the CreateFeed and AssociateFeed actions. It identifies the action for Elemental Inference to perform. It also provides a repository for the results of that action. For example, CroppingConfig output will contain the metadata for the crop feature. </p>",
        "GetOutput$outputConfig": "<p>A typed property for an output in a feed. It is used in the GetFeed action. It identifies the action for Elemental Inference to perform. It also provides a repository for the results of that action. For example, CroppingConfig output will contain the metadata for the crop feature. </p>",
        "UpdateOutput$outputConfig": "<p>A typed property for an output in a feed. It is used in the UpdateFeed action. It identifies the action for Elemental Inference to perform. It also provides a repository for the results of that action. For example, CroppingConfig output will contain the metadata for the crop feature. </p>"
      }
    },
    "OutputStatus": {
      "base": null,
      "refs": {
        "CreateOutput$status": "<p>The status to assign to the output.</p>",
        "GetOutput$status": "<p>The status of the output.</p>",
        "UpdateOutput$status": "<p>The status of the output.</p>"
      }
    },
    "ResourceArn": {
      "base": null,
      "refs": {
        "ListTagsForResourceRequest$resourceArn": "<p>The ARN of the resource whose tags you want to query. </p>",
        "TagResourceRequest$resourceArn": "<p>The ARN of the resource where you want to add tags. </p>",
        "UntagResourceRequest$resourceArn": "<p>The ARN of the resource where you want to delete one or more tags.</p>"
      }
    },
    "ResourceDescription": {
      "base": null,
      "refs": {
        "ClippingConfig$callbackMetadata": "<p>The metadata that is the result of the clip request to Elemental Inference. </p>",
        "CreateOutput$description": "<p>A description for the output.</p>",
        "GetOutput$description": "<p>The description of the output.</p>",
        "UpdateOutput$description": "<p>A description of the output.</p>"
      }
    },
    "ResourceName": {
      "base": null,
      "refs": {
        "CreateFeedRequest$name": "<p>A name for this feed.</p>",
        "CreateFeedResponse$name": "<p>The name that you specified.</p>",
        "CreateOutput$name": "<p>A name for the output.</p>",
        "FeedSummary$name": "<p>The name of the feed</p>",
        "GetFeedResponse$name": "<p>The name of the feed being queried.</p>",
        "GetOutput$name": "<p>The ARN of the output.</p>",
        "UpdateFeedRequest$name": "<p>Required. You can specify the existing name (to leave it unchanged) or a new name.</p>",
        "UpdateFeedResponse$name": "<p>The updated or original name of the feed.</p>",
        "UpdateOutput$name": "<p>The name start here</p>"
      }
    },
    "ResourceNotFoundException": {
      "base": "<p>The resource specified in the action doesn't exist.</p>",
      "refs": {}
    },
    "ServiceQuotaExceededException": {
      "base": "<p>The request was rejected because it would exceed one or more service quotas for your account. Review your service quotas and either delete unused resources or request a quota increase.</p>",
      "refs": {}
    },
    "String": {
      "base": null,
      "refs": {
        "AccessDeniedException$message": null,
        "ConflictException$message": null,
        "InternalServerErrorException$message": null,
        "ListFeedsRequest$nextToken": "<p>The token that identifies the batch of results that you want to see.</p> <p>For example, you submit a ListBridges request with MaxResults set at 5. The service returns the first batch of results (up to 5) and a NextToken value. To see the next batch of results, you can submit the ListBridges request a second time and specify the NextToken value.</p>",
        "ListFeedsResponse$nextToken": "<p>The token that identifies the batch of results that you want to see. For example, you submit a list request with MaxResults set at 5. The service returns the first batch of results (up to 5) and a NextToken value. To see the next batch of results, you can submit the list request a second time and specify the NextToken value.</p>",
        "ResourceNotFoundException$message": null,
        "ServiceQuotaExceededException$message": null,
        "StringList$member": null,
        "TooManyRequestException$message": null,
        "ValidationException$message": null
      }
    },
    "StringList": {
      "base": null,
      "refs": {
        "CreateFeedResponse$dataEndpoints": "<p>A unique ARN that Elemental Inference assigns to the feed.</p>",
        "GetFeedResponse$dataEndpoints": "<p>The dataEndpoints of the feed being queried.</p>",
        "UpdateFeedResponse$dataEndpoints": "<p>The data endpoints of the feed.</p>"
      }
    },
    "TagKey": {
      "base": null,
      "refs": {
        "TagKeyList$member": null,
        "TagMap$key": null
      }
    },
    "TagKeyList": {
      "base": null,
      "refs": {
        "UntagResourceRequest$tagKeys": "<p>The keys of the tags to delete.</p>"
      }
    },
    "TagMap": {
      "base": null,
      "refs": {
        "CreateFeedRequest$tags": "<p>If you want to include tags, add them now. You won't be able to add them later.</p>",
        "CreateFeedResponse$tags": "<p>Any tags that you included when you created the feed.</p>",
        "GetFeedResponse$tags": "<p>A list of the tags, if any, for the feed being queried.</p>",
        "ListTagsForResourceResponse$tags": "<p>A list of the tags that belong to this resource.</p>",
        "TagResourceRequest$tags": "<p>A list of tags to add to the resource.</p>",
        "UpdateFeedResponse$tags": "<p>The name of the resource currently associated with the feed, if any.</p>"
      }
    },
    "TagResourceRequest": {
      "base": null,
      "refs": {}
    },
    "TagValue": {
      "base": null,
      "refs": {
        "TagMap$value": null
      }
    },
    "TooManyRequestException": {
      "base": "<p>The request was denied due to request throttling. Too many requests have been made within a given time period. Reduce the frequency of requests and use exponential backoff when retrying.</p>",
      "refs": {}
    },
    "UntagResourceRequest": {
      "base": null,
      "refs": {}
    },
    "UpdateFeedRequest": {
      "base": null,
      "refs": {}
    },
    "UpdateFeedResponse": {
      "base": null,
      "refs": {}
    },
    "UpdateOutput": {
      "base": "<p>Contains configuration information about one output in a feed. It is used in the UpdateFeed action.</p>",
      "refs": {
        "UpdateOutputList$member": null
      }
    },
    "UpdateOutputList": {
      "base": null,
      "refs": {
        "UpdateFeedRequest$outputs": "<p>Required. You can specify the existing array of outputs (to leave outputs unchanged) or you can specify a new array. </p>"
      }
    },
    "ValidationException": {
      "base": "<p>The input fails to satisfy the constraints specified by the service. Check the error message for details about which parameter or field is invalid and correct the request before retrying.</p>",
      "refs": {}
    }
  }
}
