{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/amazon-mediastore/refs/heads/main/json-schema/mediastore-api-cors-rule-schema.json", "title": "CorsRule", "description": "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": "object", "properties": { "AllowedOrigins": { "allOf": [ { "$ref": "#/components/schemas/AllowedOrigins" }, { "description": "

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.

" } ] }, "AllowedMethods": { "allOf": [ { "$ref": "#/components/schemas/AllowedMethods" }, { "description": "

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.

" } ] }, "AllowedHeaders": { "allOf": [ { "$ref": "#/components/schemas/AllowedHeaders" }, { "description": "

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 (*).

" } ] }, "MaxAgeSeconds": { "allOf": [ { "$ref": "#/components/schemas/MaxAgeSeconds" }, { "description": "

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

A CORS rule can have only one MaxAgeSeconds element.

" } ] }, "ExposeHeaders": { "allOf": [ { "$ref": "#/components/schemas/ExposeHeaders" }, { "description": "

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.

" } ] } }, "required": [ "AllowedOrigins", "AllowedHeaders" ] }