116 lines
4.8 KiB
Python
116 lines
4.8 KiB
Python
from moto.core.responses import BaseResponse
|
|
from .models import mediapackage_backends, MediaPackageBackend
|
|
import json
|
|
|
|
|
|
class MediaPackageResponse(BaseResponse):
|
|
def __init__(self) -> None:
|
|
super().__init__(service_name="mediapackage")
|
|
|
|
@property
|
|
def mediapackage_backend(self) -> MediaPackageBackend:
|
|
return mediapackage_backends[self.current_account][self.region]
|
|
|
|
def create_channel(self) -> str:
|
|
description = self._get_param("description")
|
|
channel_id = self._get_param("id")
|
|
tags = self._get_param("tags")
|
|
channel = self.mediapackage_backend.create_channel(
|
|
description=description, channel_id=channel_id, tags=tags
|
|
)
|
|
return json.dumps(channel.to_dict())
|
|
|
|
def list_channels(self) -> str:
|
|
channels = self.mediapackage_backend.list_channels()
|
|
return json.dumps(dict(channels=channels))
|
|
|
|
def describe_channel(self) -> str:
|
|
channel_id = self._get_param("id")
|
|
channel = self.mediapackage_backend.describe_channel(channel_id=channel_id)
|
|
return json.dumps(channel.to_dict())
|
|
|
|
def delete_channel(self) -> str:
|
|
channel_id = self._get_param("id")
|
|
channel = self.mediapackage_backend.delete_channel(channel_id=channel_id)
|
|
return json.dumps(channel.to_dict())
|
|
|
|
def create_origin_endpoint(self) -> str:
|
|
authorization = self._get_param("authorization")
|
|
channel_id = self._get_param("channelId")
|
|
cmaf_package = self._get_param("cmafPackage")
|
|
dash_package = self._get_param("dashPackage")
|
|
description = self._get_param("description")
|
|
hls_package = self._get_param("hlsPackage")
|
|
endpoint_id = self._get_param("id")
|
|
manifest_name = self._get_param("manifestName")
|
|
mss_package = self._get_param("mssPackage")
|
|
origination = self._get_param("origination")
|
|
startover_window_seconds = self._get_int_param("startoverWindowSeconds")
|
|
tags = self._get_param("tags")
|
|
time_delay_seconds = self._get_int_param("timeDelaySeconds.member")
|
|
whitelist = self._get_list_prefix("whitelist.member")
|
|
origin_endpoint = self.mediapackage_backend.create_origin_endpoint(
|
|
authorization=authorization,
|
|
channel_id=channel_id,
|
|
cmaf_package=cmaf_package,
|
|
dash_package=dash_package,
|
|
description=description,
|
|
hls_package=hls_package,
|
|
endpoint_id=endpoint_id,
|
|
manifest_name=manifest_name,
|
|
mss_package=mss_package,
|
|
origination=origination,
|
|
startover_window_seconds=startover_window_seconds,
|
|
tags=tags,
|
|
time_delay_seconds=time_delay_seconds,
|
|
whitelist=whitelist, # type: ignore[arg-type]
|
|
)
|
|
return json.dumps(origin_endpoint.to_dict())
|
|
|
|
def list_origin_endpoints(self) -> str:
|
|
origin_endpoints = self.mediapackage_backend.list_origin_endpoints()
|
|
return json.dumps(dict(originEndpoints=origin_endpoints))
|
|
|
|
def describe_origin_endpoint(self) -> str:
|
|
endpoint_id = self._get_param("id")
|
|
endpoint = self.mediapackage_backend.describe_origin_endpoint(
|
|
endpoint_id=endpoint_id
|
|
)
|
|
return json.dumps(endpoint.to_dict())
|
|
|
|
def delete_origin_endpoint(self) -> str:
|
|
endpoint_id = self._get_param("id")
|
|
endpoint = self.mediapackage_backend.delete_origin_endpoint(
|
|
endpoint_id=endpoint_id
|
|
)
|
|
return json.dumps(endpoint.to_dict())
|
|
|
|
def update_origin_endpoint(self) -> str:
|
|
authorization = self._get_param("authorization")
|
|
cmaf_package = self._get_param("cmafPackage")
|
|
dash_package = self._get_param("dashPackage")
|
|
description = self._get_param("description")
|
|
hls_package = self._get_param("hlsPackage")
|
|
endpoint_id = self._get_param("id")
|
|
manifest_name = self._get_param("manifestName")
|
|
mss_package = self._get_param("mssPackage")
|
|
origination = self._get_param("origination")
|
|
startover_window_seconds = self._get_int_param("startoverWindowSeconds")
|
|
time_delay_seconds = self._get_int_param("timeDelaySeconds")
|
|
whitelist = self._get_list_prefix("whitelist.member")
|
|
origin_endpoint = self.mediapackage_backend.update_origin_endpoint(
|
|
authorization=authorization,
|
|
cmaf_package=cmaf_package,
|
|
dash_package=dash_package,
|
|
description=description,
|
|
hls_package=hls_package,
|
|
endpoint_id=endpoint_id,
|
|
manifest_name=manifest_name,
|
|
mss_package=mss_package,
|
|
origination=origination,
|
|
startover_window_seconds=startover_window_seconds,
|
|
time_delay_seconds=time_delay_seconds,
|
|
whitelist=whitelist, # type: ignore[arg-type]
|
|
)
|
|
return json.dumps(origin_endpoint.to_dict())
|