moto/moto/mediapackage/responses.py
2023-04-03 22:50:19 +00:00

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