origin_endpoints
Creates, updates, deletes or gets an origin_endpoint resource or lists origin_endpoints in a region
Overview
| Name | origin_endpoints |
| Type | Resource |
| Description | Represents an origin endpoint that is associated with a channel, offering a dynamically repackaged version of its content through various streaming media protocols. The content can be efficiently disseminated to end-users via a Content Delivery Network (CDN), like Amazon CloudFront. |
| Id | awscc.mediapackagev2.origin_endpoints |
Fields
- get (all properties)
- list (identifiers only)
| Name | Datatype | Description |
|---|---|---|
arn | string | <p>The Amazon Resource Name (ARN) associated with the resource.</p> |
channel_group_name | string | |
channel_name | string | |
container_type | string | |
created_at | string | <p>The date and time the origin endpoint was created.</p> |
dash_manifests | array | <p>A DASH manifest configuration.</p> |
description | string | <p>Enter any descriptive text that helps you to identify the origin endpoint.</p> |
force_endpoint_error_configuration | object | <p>The failover settings for the endpoint.</p> |
hls_manifests | array | <p>An HTTP live streaming (HLS) manifest configuration.</p> |
low_latency_hls_manifests | array | <p>A low-latency HLS manifest configuration.</p> |
modified_at | string | <p>The date and time the origin endpoint was modified.</p> |
origin_endpoint_name | string | |
segment | object | <p>The segment configuration, including the segment name, duration, and other configuration values.</p> |
startover_window_seconds | integer | <p>The size of the window (in seconds) to create a window of the live stream that's available for on-demand viewing. Viewers can start-over or catch-up on content that falls within the window. The maximum startover window is 1,209,600 seconds (14 days).</p> |
dash_manifest_urls | array | |
hls_manifest_urls | array | |
low_latency_hls_manifest_urls | array | |
tags | array | |
region | string | AWS region. |
| Name | Datatype | Description |
|---|---|---|
arn | string | <p>The Amazon Resource Name (ARN) associated with the resource.</p> |
region | string | AWS region. |
For more information, see AWS::MediaPackageV2::OriginEndpoint.
Methods
| Name | Resource | Accessible by | Required Params |
|---|---|---|---|
create_resource | origin_endpoints | INSERT | ChannelGroupName, ChannelName, OriginEndpointName, ContainerType, region |
delete_resource | origin_endpoints | DELETE | Identifier, region |
update_resource | origin_endpoints | UPDATE | Identifier, PatchDocument, region |
list_resources | origin_endpoints_list_only | SELECT | region |
get_resource | origin_endpoints | SELECT | Identifier, region |
SELECT examples
- get (all properties)
- list (identifiers only)
Gets all properties from an individual origin_endpoint.
SELECT
region,
arn,
channel_group_name,
channel_name,
container_type,
created_at,
dash_manifests,
description,
force_endpoint_error_configuration,
hls_manifests,
low_latency_hls_manifests,
modified_at,
origin_endpoint_name,
segment,
startover_window_seconds,
dash_manifest_urls,
hls_manifest_urls,
low_latency_hls_manifest_urls,
tags
FROM awscc.mediapackagev2.origin_endpoints
WHERE
region = 'us-east-1' AND
Identifier = '{{ arn }}';
Lists all origin_endpoints in a region.
SELECT
region,
arn
FROM awscc.mediapackagev2.origin_endpoints_list_only
WHERE
region = 'us-east-1';
INSERT example
Use the following StackQL query and manifest file to create a new origin_endpoint resource, using stack-deploy.
- Required Properties
- All Properties
- Manifest
/*+ create */
INSERT INTO awscc.mediapackagev2.origin_endpoints (
ChannelGroupName,
ChannelName,
ContainerType,
OriginEndpointName,
region
)
SELECT
'{{ channel_group_name }}',
'{{ channel_name }}',
'{{ container_type }}',
'{{ origin_endpoint_name }}',
'{{ region }}';
/*+ create */
INSERT INTO awscc.mediapackagev2.origin_endpoints (
ChannelGroupName,
ChannelName,
ContainerType,
DashManifests,
Description,
ForceEndpointErrorConfiguration,
HlsManifests,
LowLatencyHlsManifests,
OriginEndpointName,
Segment,
StartoverWindowSeconds,
Tags,
region
)
SELECT
'{{ channel_group_name }}',
'{{ channel_name }}',
'{{ container_type }}',
'{{ dash_manifests }}',
'{{ description }}',
'{{ force_endpoint_error_configuration }}',
'{{ hls_manifests }}',
'{{ low_latency_hls_manifests }}',
'{{ origin_endpoint_name }}',
'{{ segment }}',
'{{ startover_window_seconds }}',
'{{ tags }}',
'{{ region }}';
version: 1
name: stack name
description: stack description
providers:
- aws
globals:
- name: region
value: '{{ vars.AWS_REGION }}'
resources:
- name: origin_endpoint
props:
- name: channel_group_name
value: '{{ channel_group_name }}'
- name: channel_name
value: '{{ channel_name }}'
- name: container_type
value: '{{ container_type }}'
- name: dash_manifests
value:
- manifest_name: '{{ manifest_name }}'
manifest_window_seconds: '{{ manifest_window_seconds }}'
filter_configuration:
manifest_filter: '{{ manifest_filter }}'
start: '{{ start }}'
end: '{{ end }}'
time_delay_seconds: '{{ time_delay_seconds }}'
clip_start_time: '{{ clip_start_time }}'
min_update_period_seconds: '{{ min_update_period_seconds }}'
min_buffer_time_seconds: '{{ min_buffer_time_seconds }}'
suggested_presentation_delay_seconds: '{{ suggested_presentation_delay_seconds }}'
segment_template_format: '{{ segment_template_format }}'
period_triggers:
- '{{ period_triggers[0] }}'
scte_dash:
ad_marker_dash: '{{ ad_marker_dash }}'
drm_signaling: '{{ drm_signaling }}'
utc_timing:
timing_mode: '{{ timing_mode }}'
timing_source: '{{ timing_source }}'
profiles:
- '{{ profiles[0] }}'
base_urls:
- url: '{{ url }}'
service_location: '{{ service_location }}'
dvb_priority: '{{ dvb_priority }}'
dvb_weight: '{{ dvb_weight }}'
program_information:
title: '{{ title }}'
source: '{{ source }}'
copyright: '{{ copyright }}'
language_code: '{{ language_code }}'
more_information_url: '{{ more_information_url }}'
dvb_settings:
font_download:
url: '{{ url }}'
mime_type: '{{ mime_type }}'
font_family: '{{ font_family }}'
error_metrics:
- reporting_url: '{{ reporting_url }}'
probability: '{{ probability }}'
compactness: '{{ compactness }}'
subtitle_configuration:
ttml_configuration:
ttml_profile: '{{ ttml_profile }}'
- name: description
value: '{{ description }}'
- name: force_endpoint_error_configuration
value:
endpoint_error_conditions:
- '{{ endpoint_error_conditions[0] }}'
- name: hls_manifests
value:
- manifest_name: '{{ manifest_name }}'
url: '{{ url }}'
child_manifest_name: '{{ child_manifest_name }}'
manifest_window_seconds: '{{ manifest_window_seconds }}'
program_date_time_interval_seconds: '{{ program_date_time_interval_seconds }}'
scte_hls:
ad_marker_hls: '{{ ad_marker_hls }}'
filter_configuration: null
start_tag:
time_offset: null
precise: '{{ precise }}'
url_encode_child_manifest: '{{ url_encode_child_manifest }}'
- name: low_latency_hls_manifests
value:
- manifest_name: '{{ manifest_name }}'
url: '{{ url }}'
child_manifest_name: '{{ child_manifest_name }}'
manifest_window_seconds: '{{ manifest_window_seconds }}'
program_date_time_interval_seconds: '{{ program_date_time_interval_seconds }}'
scte_hls: null
filter_configuration: null
start_tag: null
url_encode_child_manifest: '{{ url_encode_child_manifest }}'
- name: origin_endpoint_name
value: '{{ origin_endpoint_name }}'
- name: segment
value:
segment_duration_seconds: '{{ segment_duration_seconds }}'
segment_name: '{{ segment_name }}'
ts_use_audio_rendition_group: '{{ ts_use_audio_rendition_group }}'
include_iframe_only_streams: '{{ include_iframe_only_streams }}'
ts_include_dvb_subtitles: '{{ ts_include_dvb_subtitles }}'
scte:
scte_filter:
- '{{ scte_filter[0] }}'
encryption:
constant_initialization_vector: '{{ constant_initialization_vector }}'
encryption_method:
ts_encryption_method: '{{ ts_encryption_method }}'
cmaf_encryption_method: '{{ cmaf_encryption_method }}'
key_rotation_interval_seconds: '{{ key_rotation_interval_seconds }}'
cmaf_exclude_segment_drm_metadata: '{{ cmaf_exclude_segment_drm_metadata }}'
speke_key_provider:
encryption_contract_configuration:
preset_speke20_audio: '{{ preset_speke20_audio }}'
preset_speke20_video: '{{ preset_speke20_video }}'
resource_id: '{{ resource_id }}'
drm_systems:
- '{{ drm_systems[0] }}'
role_arn: '{{ role_arn }}'
url: '{{ url }}'
- name: startover_window_seconds
value: '{{ startover_window_seconds }}'
- name: tags
value:
- key: '{{ key }}'
value: '{{ value }}'
UPDATE example
Use the following StackQL query and manifest file to update a origin_endpoint resource, using stack-deploy.
/*+ update */
UPDATE awscc.mediapackagev2.origin_endpoints
SET PatchDocument = string('{{ {
"ContainerType": container_type,
"DashManifests": dash_manifests,
"Description": description,
"ForceEndpointErrorConfiguration": force_endpoint_error_configuration,
"Segment": segment,
"StartoverWindowSeconds": startover_window_seconds,
"Tags": tags
} | generate_patch_document }}')
WHERE
region = '{{ region }}' AND
Identifier = '{{ arn }}';
DELETE example
/*+ delete */
DELETE FROM awscc.mediapackagev2.origin_endpoints
WHERE
Identifier = '{{ arn }}' AND
region = 'us-east-1';
Permissions
To operate on the origin_endpoints resource, the following permissions are required:
- Create
- Read
- Update
- Delete
- List
mediapackagev2:TagResource,
mediapackagev2:CreateOriginEndpoint,
iam:PassRole
mediapackagev2:GetOriginEndpoint
mediapackagev2:TagResource,
mediapackagev2:UntagResource,
mediapackagev2:ListTagsForResource,
mediapackagev2:UpdateOriginEndpoint,
iam:PassRole
mediapackagev2:GetOriginEndpoint,
mediapackagev2:DeleteOriginEndpoint
mediapackagev2:ListOriginEndpoints