Module Smaws_Client_MediaStore.Types

type nonrec untag_resource_output = unit
type nonrec container_ar_n = string
type nonrec tag_key = string
type nonrec tag_key_list = tag_key list
type nonrec untag_resource_input = {
  1. tag_keys : tag_key_list;
    (*

    A comma-separated list of keys for tags that you want to remove from the container. For example, if your container has two tags (customer:CompanyA and priority:High) and you want to remove one of the tags (priority:High), you specify the key for the tag that you want to remove (priority).

    *)
  2. resource : container_ar_n;
    (*

    The Amazon Resource Name (ARN) for the container.

    *)
}
type nonrec error_message = string
type nonrec internal_server_error = {
  1. message : error_message option;
}

The service is temporarily unavailable.

type nonrec container_not_found_exception = {
  1. message : error_message option;
}

The container that you specified in the request does not exist.

type nonrec container_in_use_exception = {
  1. message : error_message option;
}

The container that you specified in the request already exists or is being updated.

type nonrec time_stamp = Smaws_Lib.CoreTypes.Timestamp.t
type nonrec tag_value = string
type nonrec tag_resource_output = unit
type nonrec tag = {
  1. value : tag_value option;
    (*

    Part of the key:value pair that defines a tag. You can use a tag value to describe a specific value within a category, such as "companyA" or "companyB." Tag values are case-sensitive.

    *)
  2. key : tag_key;
    (*

    Part of the key:value pair that defines a tag. You can use a tag key to describe a category of information, such as "customer." Tag keys are case-sensitive.

    *)
}

A collection of tags associated with a container. Each tag consists of a key:value pair, which can be anything you define. Typically, the tag key represents a category (such as "environment") and the tag value represents a specific value within that category (such as "test," "development," or "production"). You can add up to 50 tags to each container. For more information about tagging, including naming and usage conventions, see Tagging Resources in MediaStore.

type nonrec tag_list = tag list
type nonrec tag_resource_input = {
  1. tags : tag_list;
    (*

    An array of key:value pairs that you want to add to the container. You need to specify only the tags that you want to add or update. For example, suppose a container already has two tags (customer:CompanyA and priority:High). You want to change the priority tag and also add a third tag (type:Contract). For TagResource, you specify the following tags: priority:Medium, type:Contract. The result is that your container has three tags: customer:CompanyA, priority:Medium, and type:Contract.

    *)
  2. resource : container_ar_n;
    (*

    The Amazon Resource Name (ARN) for the container.

    *)
}
type nonrec stop_access_logging_output = unit
type nonrec container_name = string
type nonrec stop_access_logging_input = {
  1. container_name : container_name;
    (*

    The name of the container that you want to stop access logging on.

    *)
}
type nonrec start_access_logging_output = unit
type nonrec start_access_logging_input = {
  1. container_name : container_name;
    (*

    The name of the container that you want to start access logging on.

    *)
}
type nonrec put_metric_policy_output = unit
type nonrec container_level_metrics =
  1. | DISABLED
  2. | ENABLED
type nonrec object_group = string
type nonrec object_group_name = string
type nonrec metric_policy_rule = {
  1. object_group_name : object_group_name;
    (*

    A name that allows you to refer to the object group.

    *)
  2. object_group : object_group;
    (*

    A path or file name that defines which objects to include in the group. Wildcards (*) are acceptable.

    *)
}

A setting that enables metrics at the object level. Each rule contains an object group and an object group name. If the policy includes the MetricPolicyRules parameter, you must include at least one rule. Each metric policy can include up to five rules by default. You can also request a quota increase to allow up to 300 rules per policy.

type nonrec metric_policy_rules = metric_policy_rule list
type nonrec metric_policy = {
  1. metric_policy_rules : metric_policy_rules option;
    (*

    A parameter that holds an array of rules that enable metrics at the object level. This parameter is optional, but if you choose to include it, you must also include at least one rule. By default, you can include up to five rules. You can also request a quota increase to allow up to 300 rules per policy.

    *)
  2. container_level_metrics : container_level_metrics;
    (*

    A setting to enable or disable metrics at the container level.

    *)
}

The metric policy that is associated with the container. A metric policy allows AWS Elemental MediaStore to send metrics to Amazon CloudWatch. In the policy, you must indicate whether you want MediaStore to send container-level metrics. You can also include rules to define groups of objects that you want MediaStore to send object-level metrics for.

To view examples of how to construct a metric policy for your use case, see Example Metric Policies.

type nonrec put_metric_policy_input = {
  1. metric_policy : metric_policy;
    (*

    The metric policy that you want to associate with the container. In the policy, you must indicate whether you want MediaStore to send container-level metrics. You can also include up to five rules to define groups of objects that you want MediaStore to send object-level metrics for. If you include rules in the policy, construct each rule with both of the following:

    • An object group that defines which objects to include in the group. The definition can be a path or a file name, but it can't have more than 900 characters. Valid characters are: a-z, A-Z, 0-9, _ (underscore), = (equal), : (colon), . (period), - (hyphen), ~ (tilde), / (forward slash), and * (asterisk). Wildcards (*) are acceptable.
    • An object group name that allows you to refer to the object group. The name can't have more than 30 characters. Valid characters are: a-z, A-Z, 0-9, and _ (underscore).
    *)
  2. container_name : container_name;
    (*

    The name of the container that you want to add the metric policy to.

    *)
}
type nonrec put_lifecycle_policy_output = unit
type nonrec lifecycle_policy = string
type nonrec put_lifecycle_policy_input = {
  1. lifecycle_policy : lifecycle_policy;
    (*

    The object lifecycle policy to apply to the container.

    *)
  2. container_name : container_name;
    (*

    The name of the container that you want to assign the object lifecycle policy to.

    *)
}
type nonrec put_cors_policy_output = unit
type nonrec origin = string
type nonrec allowed_origins = origin list
type nonrec method_name =
  1. | HEAD
  2. | DELETE
  3. | GET
  4. | PUT
type nonrec allowed_methods = method_name list
type nonrec header = string
type nonrec allowed_headers = header list
type nonrec max_age_seconds = int
type nonrec expose_headers = header list
type nonrec cors_rule = {
  1. expose_headers : expose_headers option;
    (*

    One or more headers in the response that you want users to be able to access from their applications (for example, from a JavaScript XMLHttpRequest object).

    This element is optional for each rule.

    *)
  2. max_age_seconds : max_age_seconds option;
    (*

    The time in seconds that your browser caches the preflight response for the specified resource.

    A CORS rule can have only one MaxAgeSeconds element.

    *)
  3. allowed_headers : allowed_headers;
    (*

    Specifies which headers are allowed in a preflight OPTIONS request through the Access-Control-Request-Headers header. Each header name that is specified in Access-Control-Request-Headers must have a corresponding entry in the rule. Only the headers that were requested are sent back.

    This element can contain only one wildcard character (*).

    *)
  4. allowed_methods : allowed_methods option;
    (*

    Identifies an HTTP method that the origin that is specified in the rule is allowed to execute.

    Each CORS rule must contain at least one AllowedMethods and one AllowedOrigins element.

    *)
  5. allowed_origins : allowed_origins;
    (*

    One or more response headers that you want users to be able to access from their applications (for example, from a JavaScript XMLHttpRequest object).

    Each CORS rule must have at least one AllowedOrigins element. The string value can include only one wildcard character (*), for example, http://*.example.com. Additionally, you can specify only one wildcard character to allow cross-origin access for all origins.

    *)
}

A rule for a CORS policy. You can add up to 100 rules to a CORS policy. If more than one rule applies, the service uses the first applicable rule listed.

type nonrec cors_policy = cors_rule list
type nonrec put_cors_policy_input = {
  1. cors_policy : cors_policy;
    (*

    The CORS policy to apply to the container.

    *)
  2. container_name : container_name;
    (*

    The name of the container that you want to assign the CORS policy to.

    *)
}
type nonrec put_container_policy_output = unit
type nonrec container_policy = string
type nonrec put_container_policy_input = {
  1. policy : container_policy;
    (*

    The contents of the policy, which includes the following:

    • One Version tag
    • One Statement tag that contains the standard tags for the policy.
    *)
  2. container_name : container_name;
    (*

    The name of the container.

    *)
}
type nonrec policy_not_found_exception = {
  1. message : error_message option;
}

The policy that you specified in the request does not exist.

type nonrec pagination_token = string
type nonrec list_tags_for_resource_output = {
  1. tags : tag_list option;
    (*

    An array of key:value pairs that are assigned to the container.

    *)
}
type nonrec list_tags_for_resource_input = {
  1. resource : container_ar_n;
    (*

    The Amazon Resource Name (ARN) for the container.

    *)
}
type nonrec endpoint = string
type nonrec container_status =
  1. | DELETING
  2. | CREATING
  3. | ACTIVE
type nonrec container_access_logging_enabled = bool
type nonrec container = {
  1. access_logging_enabled : container_access_logging_enabled option;
    (*

    The state of access logging on the container. This value is false by default, indicating that AWS Elemental MediaStore does not send access logs to Amazon CloudWatch Logs. When you enable access logging on the container, MediaStore changes this value to true, indicating that the service delivers access logs for objects stored in that container to CloudWatch Logs.

    *)
  2. status : container_status option;
    (*

    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.

    *)
  3. name : container_name option;
    (*

    The name of the container.

    *)
  4. ar_n : container_ar_n option;
    (*

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

    arn:aws:::container/

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

    *)
  5. creation_time : time_stamp option;
    (*

    Unix timestamp.

    *)
  6. endpoint : endpoint option;
    (*

    The DNS endpoint of the container. Use the endpoint to identify the specific container when sending requests to the data plane. The service assigns this value when the container is created. Once the value has been assigned, it does not change.

    *)
}

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

type nonrec container_list = container list
type nonrec list_containers_output = {
  1. next_token : pagination_token option;
    (*

    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.

    *)
  2. containers : container_list;
    (*

    The names of the containers.

    *)
}
type nonrec container_list_limit = int
type nonrec list_containers_input = {
  1. max_results : container_list_limit option;
    (*

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

    *)
  2. next_token : pagination_token option;
    (*

    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.

    *)
}
type nonrec get_metric_policy_output = {
  1. metric_policy : metric_policy;
    (*

    The metric policy that is associated with the specific container.

    *)
}
type nonrec get_metric_policy_input = {
  1. container_name : container_name;
    (*

    The name of the container that is associated with the metric policy.

    *)
}
type nonrec get_lifecycle_policy_output = {
  1. lifecycle_policy : lifecycle_policy;
    (*

    The object lifecycle policy that is assigned to the container.

    *)
}
type nonrec get_lifecycle_policy_input = {
  1. container_name : container_name;
    (*

    The name of the container that the object lifecycle policy is assigned to.

    *)
}
type nonrec cors_policy_not_found_exception = {
  1. message : error_message option;
}

The CORS policy that you specified in the request does not exist.

type nonrec get_cors_policy_output = {
  1. cors_policy : cors_policy;
    (*

    The CORS policy assigned to the container.

    *)
}
type nonrec get_cors_policy_input = {
  1. container_name : container_name;
    (*

    The name of the container that the policy is assigned to.

    *)
}
type nonrec get_container_policy_output = {
  1. policy : container_policy;
    (*

    The contents of the access policy.

    *)
}
type nonrec get_container_policy_input = {
  1. container_name : container_name;
    (*

    The name of the container.

    *)
}
type nonrec describe_container_output = {
  1. container : container option;
    (*

    The name of the queried container.

    *)
}
type nonrec describe_container_input = {
  1. container_name : container_name option;
    (*

    The name of the container to query.

    *)
}
type nonrec delete_metric_policy_output = unit
type nonrec delete_metric_policy_input = {
  1. container_name : container_name;
    (*

    The name of the container that is associated with the metric policy that you want to delete.

    *)
}
type nonrec delete_lifecycle_policy_output = unit
type nonrec delete_lifecycle_policy_input = {
  1. container_name : container_name;
    (*

    The name of the container that holds the object lifecycle policy.

    *)
}
type nonrec delete_cors_policy_output = unit
type nonrec delete_cors_policy_input = {
  1. container_name : container_name;
    (*

    The name of the container to remove the policy from.

    *)
}
type nonrec delete_container_policy_output = unit
type nonrec delete_container_policy_input = {
  1. container_name : container_name;
    (*

    The name of the container that holds the policy.

    *)
}
type nonrec delete_container_output = unit
type nonrec delete_container_input = {
  1. container_name : container_name;
    (*

    The name of the container to delete.

    *)
}
type nonrec limit_exceeded_exception = {
  1. message : error_message option;
}

A service limit has been exceeded.

type nonrec create_container_output = {
  1. container : container;
    (*

    ContainerARN: The Amazon Resource Name (ARN) of the newly created container. The ARN has the following format: arn:aws:::container/. For example: arn:aws:mediastore:us-west-2:111122223333:container/movies

    ContainerName: The container name as specified in the request.

    CreationTime: Unix time stamp.

    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.

    *)
}
type nonrec create_container_input = {
  1. tags : tag_list option;
    (*

    An array of key:value pairs that you define. These values can be anything that you want. Typically, the tag key represents a category (such as "environment") and the tag value represents a specific value within that category (such as "test," "development," or "production"). You can add up to 50 tags to each container. For more information about tagging, including naming and usage conventions, see Tagging Resources in MediaStore.

    *)
  2. container_name : container_name;
    (*

    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.

    *)
}