{ "version":"2.0", "metadata":{ "apiVersion":"2017-09-01", "endpointPrefix":"mediastore", "jsonVersion":"1.1", "protocol":"json", "serviceAbbreviation":"MediaStore", "serviceFullName":"AWS Elemental MediaStore", "serviceId":"MediaStore", "signatureVersion":"v4", "signingName":"mediastore", "targetPrefix":"MediaStore_20170901", "uid":"mediastore-2017-09-01" }, "operations":{ "CreateContainer":{ "name":"CreateContainer", "http":{ "method":"POST", "requestUri":"/" }, "input":{"shape":"CreateContainerInput"}, "output":{"shape":"CreateContainerOutput"}, "errors":[ {"shape":"ContainerInUseException"}, {"shape":"LimitExceededException"}, {"shape":"InternalServerError"} ], "documentation":"

Creates a storage container to hold objects. A container is similar to a bucket in the Amazon S3 service.

" }, "DeleteContainer":{ "name":"DeleteContainer", "http":{ "method":"POST", "requestUri":"/" }, "input":{"shape":"DeleteContainerInput"}, "output":{"shape":"DeleteContainerOutput"}, "errors":[ {"shape":"ContainerInUseException"}, {"shape":"ContainerNotFoundException"}, {"shape":"InternalServerError"} ], "documentation":"

Deletes the specified container. Before you make a DeleteContainer request, delete any objects in the container or in any folders in the container. You can delete only empty containers.

" }, "DeleteContainerPolicy":{ "name":"DeleteContainerPolicy", "http":{ "method":"POST", "requestUri":"/" }, "input":{"shape":"DeleteContainerPolicyInput"}, "output":{"shape":"DeleteContainerPolicyOutput"}, "errors":[ {"shape":"ContainerInUseException"}, {"shape":"ContainerNotFoundException"}, {"shape":"PolicyNotFoundException"}, {"shape":"InternalServerError"} ], "documentation":"

Deletes the access policy that is associated with the specified container.

" }, "DescribeContainer":{ "name":"DescribeContainer", "http":{ "method":"POST", "requestUri":"/" }, "input":{"shape":"DescribeContainerInput"}, "output":{"shape":"DescribeContainerOutput"}, "errors":[ {"shape":"ContainerNotFoundException"}, {"shape":"InternalServerError"} ], "documentation":"

Retrieves the properties of the requested container. This returns a single Container object based on ContainerName. To return all Container objects that are associated with a specified AWS account, use ListContainers.

" }, "GetContainerPolicy":{ "name":"GetContainerPolicy", "http":{ "method":"POST", "requestUri":"/" }, "input":{"shape":"GetContainerPolicyInput"}, "output":{"shape":"GetContainerPolicyOutput"}, "errors":[ {"shape":"ContainerInUseException"}, {"shape":"ContainerNotFoundException"}, {"shape":"PolicyNotFoundException"}, {"shape":"InternalServerError"} ], "documentation":"

Retrieves the access policy for the specified container. For information about the data that is included in an access policy, see the AWS Identity and Access Management User Guide.

" }, "ListContainers":{ "name":"ListContainers", "http":{ "method":"POST", "requestUri":"/" }, "input":{"shape":"ListContainersInput"}, "output":{"shape":"ListContainersOutput"}, "errors":[ {"shape":"InternalServerError"} ], "documentation":"

Lists the properties of all containers in AWS Elemental MediaStore.

You can query to receive all the containers in one response. Or you can include the MaxResults parameter to receive a limited number of containers in each response. In this case, the response includes a token. To get the next set of containers, send the command again, this time with the NextToken parameter (with the returned token as its value). The next set of responses appears, with a token if there are still more containers to receive.

See also DescribeContainer, which gets the properties of one container.

" }, "PutContainerPolicy":{ "name":"PutContainerPolicy", "http":{ "method":"POST", "requestUri":"/" }, "input":{"shape":"PutContainerPolicyInput"}, "output":{"shape":"PutContainerPolicyOutput"}, "errors":[ {"shape":"ContainerNotFoundException"}, {"shape":"ContainerInUseException"}, {"shape":"InternalServerError"} ], "documentation":"

Creates an access policy for the specified container to restrict the users and clients that can access it. For information about the data that is included in an access policy, see the AWS Identity and Access Management User Guide.

For this release of the REST API, you can create only one policy for a container. If you enter PutContainerPolicy twice, the second command modifies the existing policy.

" } }, "shapes":{ "Container":{ "type":"structure", "members":{ "Endpoint":{ "shape":"Endpoint", "documentation":"

The DNS endpoint of the container. Use from 1 to 255 characters. Use this endpoint to identify this container when sending requests to the data plane.

" }, "CreationTime":{ "shape":"TimeStamp", "documentation":"

Unix timestamp.

" }, "ARN":{ "shape":"ContainerARN", "documentation":"

The Amazon Resource Name (ARN) of the container. The ARN has the following format:

arn:aws:<region>:<account that owns this container>:container/<name of container>

For example: arn:aws:mediastore:us-west-2:111122223333:container/movies

" }, "Name":{ "shape":"ContainerName", "documentation":"

The name of the container.

" }, "Status":{ "shape":"ContainerStatus", "documentation":"

The status of container creation or deletion. The status is one of the following: CREATING, ACTIVE, or DELETING. While the service is creating the container, the status is CREATING. When the endpoint is available, the status changes to ACTIVE.

" } }, "documentation":"

This section describes operations that you can perform on an AWS Elemental MediaStore container.

" }, "ContainerARN":{ "type":"string", "max":1024, "min":1, "pattern":"arn:aws:mediastore:[a-z]+-[a-z]+-\\d:\\d{12}:container/\\w{1,255}" }, "ContainerInUseException":{ "type":"structure", "members":{ "Message":{"shape":"ErrorMessage"} }, "documentation":"

Resource already exists or is being updated.

", "exception":true }, "ContainerList":{ "type":"list", "member":{"shape":"Container"} }, "ContainerListLimit":{ "type":"integer", "max":100, "min":1 }, "ContainerName":{ "type":"string", "max":255, "min":1, "pattern":"\\w+" }, "ContainerNotFoundException":{ "type":"structure", "members":{ "Message":{"shape":"ErrorMessage"} }, "documentation":"

Could not perform an operation on a container that does not exist.

", "exception":true }, "ContainerPolicy":{ "type":"string", "max":8192, "min":1, "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u00FF]+" }, "ContainerStatus":{ "type":"string", "enum":[ "ACTIVE", "CREATING", "DELETING" ], "max":16, "min":1 }, "CreateContainerInput":{ "type":"structure", "required":["ContainerName"], "members":{ "ContainerName":{ "shape":"ContainerName", "documentation":"

The name for the container. The name must be from 1 to 255 characters. Container names must be unique to your AWS account within a specific region. As an example, you could create a container named movies in every region, as long as you don’t have an existing container with that name.

" } } }, "CreateContainerOutput":{ "type":"structure", "required":["Container"], "members":{ "Container":{ "shape":"Container", "documentation":"

ContainerARN: The Amazon Resource Name (ARN) of the newly created container. The ARN has the following format: arn:aws:<region>:<account that owns this container>:container/<name of container>. For example: arn:aws:mediastore:us-west-2:111122223333:container/movies

ContainerName: The container name as specified in the request.

CreationTime: Unix timestamp.

Status: The status of container creation or deletion. The status is one of the following: CREATING, ACTIVE, or DELETING. While the service is creating the container, the status is CREATING. When an endpoint is available, the status changes to ACTIVE.

The return value does not include the container's endpoint. To make downstream requests, you must obtain this value by using DescribeContainer or ListContainers.

" } } }, "DeleteContainerInput":{ "type":"structure", "required":["ContainerName"], "members":{ "ContainerName":{ "shape":"ContainerName", "documentation":"

The name of the container to delete.

" } } }, "DeleteContainerOutput":{ "type":"structure", "members":{ } }, "DeleteContainerPolicyInput":{ "type":"structure", "required":["ContainerName"], "members":{ "ContainerName":{ "shape":"ContainerName", "documentation":"

The name of the container that holds the policy.

" } } }, "DeleteContainerPolicyOutput":{ "type":"structure", "members":{ } }, "DescribeContainerInput":{ "type":"structure", "members":{ "ContainerName":{ "shape":"ContainerName", "documentation":"

The name of the container to query.

" } } }, "DescribeContainerOutput":{ "type":"structure", "members":{ "Container":{ "shape":"Container", "documentation":"

The name of the queried container.

" } } }, "Endpoint":{ "type":"string", "max":255, "min":1 }, "ErrorMessage":{ "type":"string", "max":255, "min":1, "pattern":"[ \\w:\\.\\?-]+" }, "GetContainerPolicyInput":{ "type":"structure", "required":["ContainerName"], "members":{ "ContainerName":{ "shape":"ContainerName", "documentation":"

The name of the container.

" } } }, "GetContainerPolicyOutput":{ "type":"structure", "required":["Policy"], "members":{ "Policy":{ "shape":"ContainerPolicy", "documentation":"

The contents of the access policy.

" } } }, "InternalServerError":{ "type":"structure", "members":{ "Message":{"shape":"ErrorMessage"} }, "documentation":"

The service is temporarily unavailable.

", "exception":true, "fault":true }, "LimitExceededException":{ "type":"structure", "members":{ "Message":{"shape":"ErrorMessage"} }, "documentation":"

A service limit has been exceeded.

", "exception":true }, "ListContainersInput":{ "type":"structure", "members":{ "NextToken":{ "shape":"PaginationToken", "documentation":"

Only if you used MaxResults in the first command, enter the token (which was included in the previous response) to obtain the next set of containers. This token is included in a response only if there actually are more containers to list.

" }, "MaxResults":{ "shape":"ContainerListLimit", "documentation":"

Enter the maximum number of containers in the response. Use from 1 to 255 characters.

" } } }, "ListContainersOutput":{ "type":"structure", "required":["Containers"], "members":{ "Containers":{ "shape":"ContainerList", "documentation":"

The names of the containers.

" }, "NextToken":{ "shape":"PaginationToken", "documentation":"

NextToken is the token to use in the next call to ListContainers. This token is returned only if you included the MaxResults tag in the original command, and only if there are still containers to return.

" } } }, "PaginationToken":{ "type":"string", "max":255, "min":1, "pattern":"[0-9A-Za-z=/+]+" }, "PolicyNotFoundException":{ "type":"structure", "members":{ "Message":{"shape":"ErrorMessage"} }, "documentation":"

Could not perform an operation on a policy that does not exist.

", "exception":true }, "PutContainerPolicyInput":{ "type":"structure", "required":[ "ContainerName", "Policy" ], "members":{ "ContainerName":{ "shape":"ContainerName", "documentation":"

The name of the container.

" }, "Policy":{ "shape":"ContainerPolicy", "documentation":"

The contents of the policy, which includes the following:

" } } }, "PutContainerPolicyOutput":{ "type":"structure", "members":{ } }, "TimeStamp":{"type":"timestamp"} }, "documentation":"

An AWS Elemental MediaStore container is a namespace that holds folders and objects. You use a container endpoint to create, read, and delete objects.

" }