diff --git a/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/__init__.py b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/__init__.py index 0e9019c26..0d854a424 100644 --- a/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/__init__.py +++ b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/__init__.py @@ -1,3 +1,4 @@ from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.cmaf_api import CmafApi from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.customdata.customdata_api import CustomdataApi +from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.drm.drm_api import DrmApi from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.cmaf_muxing_list_query_params import CmafMuxingListQueryParams diff --git a/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/cmaf_api.py b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/cmaf_api.py index b07ad28c1..77f8eae04 100644 --- a/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/cmaf_api.py +++ b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/cmaf_api.py @@ -9,6 +9,7 @@ from bitmovin_api_sdk.models.response_envelope import ResponseEnvelope from bitmovin_api_sdk.models.response_error import ResponseError from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.customdata.customdata_api import CustomdataApi +from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.drm.drm_api import DrmApi from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.cmaf_muxing_list_query_params import CmafMuxingListQueryParams @@ -31,6 +32,14 @@ def __init__(self, api_key, tenant_org_id=None, base_url=None, logger=None): logger=logger ) + self.drm = DrmApi( + api_key=api_key, + tenant_org_id=tenant_org_id, + base_url=base_url, + logger=logger + ) + + def create(self, encoding_id, cmaf_muxing, **kwargs): # type: (string_types, CmafMuxing, dict) -> CmafMuxing """Add CMAF muxing diff --git a/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/__init__.py b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/__init__.py new file mode 100644 index 000000000..965fa5664 --- /dev/null +++ b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/__init__.py @@ -0,0 +1,10 @@ +from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.drm.drm_api import DrmApi +from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.drm.widevine.widevine_api import WidevineApi +from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.drm.playready.playready_api import PlayreadyApi +from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.drm.primetime.primetime_api import PrimetimeApi +from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.drm.fairplay.fairplay_api import FairplayApi +from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.drm.marlin.marlin_api import MarlinApi +from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.drm.clearkey.clearkey_api import ClearkeyApi +from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.drm.cenc.cenc_api import CencApi +from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.drm.aes.aes_api import AesApi +from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.drm.speke.speke_api import SpekeApi diff --git a/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/aes/__init__.py b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/aes/__init__.py new file mode 100644 index 000000000..c63284bf3 --- /dev/null +++ b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/aes/__init__.py @@ -0,0 +1,3 @@ +from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.drm.aes.aes_api import AesApi +from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.drm.aes.customdata.customdata_api import CustomdataApi +from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.drm.aes.aes_encryption_drm_list_query_params import AesEncryptionDrmListQueryParams diff --git a/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/aes/aes_api.py b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/aes/aes_api.py new file mode 100644 index 000000000..afc74a8cd --- /dev/null +++ b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/aes/aes_api.py @@ -0,0 +1,119 @@ +# coding: utf-8 + +from __future__ import absolute_import + +from bitmovin_api_sdk.common import BaseApi, BitmovinApiLoggerBase +from bitmovin_api_sdk.common.poscheck import poscheck_except +from bitmovin_api_sdk.models.aes_encryption_drm import AesEncryptionDrm +from bitmovin_api_sdk.models.bitmovin_response import BitmovinResponse +from bitmovin_api_sdk.models.response_envelope import ResponseEnvelope +from bitmovin_api_sdk.models.response_error import ResponseError +from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.drm.aes.customdata.customdata_api import CustomdataApi +from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.drm.aes.aes_encryption_drm_list_query_params import AesEncryptionDrmListQueryParams + + +class AesApi(BaseApi): + @poscheck_except(2) + def __init__(self, api_key, tenant_org_id=None, base_url=None, logger=None): + # type: (str, str, str, BitmovinApiLoggerBase) -> None + + super(AesApi, self).__init__( + api_key=api_key, + tenant_org_id=tenant_org_id, + base_url=base_url, + logger=logger + ) + + self.customdata = CustomdataApi( + api_key=api_key, + tenant_org_id=tenant_org_id, + base_url=base_url, + logger=logger + ) + + def create(self, encoding_id, muxing_id, aes_encryption_drm, **kwargs): + # type: (string_types, string_types, AesEncryptionDrm, dict) -> AesEncryptionDrm + """Add AES encryption configuration to CMAF + + :param encoding_id: Id of the encoding. + :type encoding_id: string_types, required + :param muxing_id: Id of the CMAF muxing. + :type muxing_id: string_types, required + :param aes_encryption_drm: The AES encryption configuration to be created + :type aes_encryption_drm: AesEncryptionDrm, required + :return: AESEncryption details + :rtype: AesEncryptionDrm + """ + + return self.api_client.post( + '/encoding/encodings/{encoding_id}/muxings/cmaf/{muxing_id}/drm/aes', + aes_encryption_drm, + path_params={'encoding_id': encoding_id, 'muxing_id': muxing_id}, + type=AesEncryptionDrm, + **kwargs + ) + + def delete(self, encoding_id, muxing_id, drm_id, **kwargs): + # type: (string_types, string_types, string_types, dict) -> BitmovinResponse + """Delete AES encryption configuration from an CMAF muxing + + :param encoding_id: Id of the encoding. + :type encoding_id: string_types, required + :param muxing_id: Id of the CMAF muxing. + :type muxing_id: string_types, required + :param drm_id: Id of the AES encryption configuration. + :type drm_id: string_types, required + :return: Id of the AES encryption configuration. + :rtype: BitmovinResponse + """ + + return self.api_client.delete( + '/encoding/encodings/{encoding_id}/muxings/cmaf/{muxing_id}/drm/aes/{drm_id}', + path_params={'encoding_id': encoding_id, 'muxing_id': muxing_id, 'drm_id': drm_id}, + type=BitmovinResponse, + **kwargs + ) + + def get(self, encoding_id, muxing_id, drm_id, **kwargs): + # type: (string_types, string_types, string_types, dict) -> AesEncryptionDrm + """AES encryption Details of an CMAF muxing + + :param encoding_id: Id of the encoding. + :type encoding_id: string_types, required + :param muxing_id: Id of the CMAF muxing. + :type muxing_id: string_types, required + :param drm_id: Id of the AES encryption configuration. + :type drm_id: string_types, required + :return: AESEncryption details + :rtype: AesEncryptionDrm + """ + + return self.api_client.get( + '/encoding/encodings/{encoding_id}/muxings/cmaf/{muxing_id}/drm/aes/{drm_id}', + path_params={'encoding_id': encoding_id, 'muxing_id': muxing_id, 'drm_id': drm_id}, + type=AesEncryptionDrm, + **kwargs + ) + + def list(self, encoding_id, muxing_id, query_params=None, **kwargs): + # type: (string_types, string_types, AesEncryptionDrmListQueryParams, dict) -> AesEncryptionDrm + """List AES encryption configurations of an CMAF muxing + + :param encoding_id: Id of the encoding. + :type encoding_id: string_types, required + :param muxing_id: Id of the CMAF muxing. + :type muxing_id: string_types, required + :param query_params: Query parameters + :type query_params: AesEncryptionDrmListQueryParams + :return: List of AES encryption configurations + :rtype: AesEncryptionDrm + """ + + return self.api_client.get( + '/encoding/encodings/{encoding_id}/muxings/cmaf/{muxing_id}/drm/aes', + path_params={'encoding_id': encoding_id, 'muxing_id': muxing_id}, + query_params=query_params, + pagination_response=True, + type=AesEncryptionDrm, + **kwargs + ) diff --git a/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/aes/aes_encryption_drm_list_query_params.py b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/aes/aes_encryption_drm_list_query_params.py new file mode 100644 index 000000000..4de75e71c --- /dev/null +++ b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/aes/aes_encryption_drm_list_query_params.py @@ -0,0 +1,25 @@ +class AesEncryptionDrmListQueryParams(object): + def __init__(self, offset=None, limit=None): + # type: (int, int) -> None + super(AesEncryptionDrmListQueryParams, self).__init__() + + self.offset = offset + self.limit = limit + + @property + def openapi_types(self): + types = { + 'offset': 'int', + 'limit': 'int' + } + + return types + + @property + def attribute_map(self): + attributes = { + 'offset': 'offset', + 'limit': 'limit' + } + + return attributes diff --git a/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/aes/customdata/__init__.py b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/aes/customdata/__init__.py new file mode 100644 index 000000000..a2f602bfe --- /dev/null +++ b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/aes/customdata/__init__.py @@ -0,0 +1 @@ +from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.drm.aes.customdata.customdata_api import CustomdataApi diff --git a/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/aes/customdata/customdata_api.py b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/aes/customdata/customdata_api.py new file mode 100644 index 000000000..9929b0871 --- /dev/null +++ b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/aes/customdata/customdata_api.py @@ -0,0 +1,43 @@ +# coding: utf-8 + +from __future__ import absolute_import + +from bitmovin_api_sdk.common import BaseApi, BitmovinApiLoggerBase +from bitmovin_api_sdk.common.poscheck import poscheck_except +from bitmovin_api_sdk.models.custom_data import CustomData +from bitmovin_api_sdk.models.response_envelope import ResponseEnvelope +from bitmovin_api_sdk.models.response_error import ResponseError + + +class CustomdataApi(BaseApi): + @poscheck_except(2) + def __init__(self, api_key, tenant_org_id=None, base_url=None, logger=None): + # type: (str, str, str, BitmovinApiLoggerBase) -> None + + super(CustomdataApi, self).__init__( + api_key=api_key, + tenant_org_id=tenant_org_id, + base_url=base_url, + logger=logger + ) + + def get(self, encoding_id, muxing_id, drm_id, **kwargs): + # type: (string_types, string_types, string_types, dict) -> CustomData + """AES encryption Custom Data of an CMAF muxing + + :param encoding_id: Id of the encoding. + :type encoding_id: string_types, required + :param muxing_id: Id of the CMAF muxing. + :type muxing_id: string_types, required + :param drm_id: Id of the AES encryption configuration. + :type drm_id: string_types, required + :return: AES encryption custom data + :rtype: CustomData + """ + + return self.api_client.get( + '/encoding/encodings/{encoding_id}/muxings/cmaf/{muxing_id}/drm/aes/{drm_id}/customData', + path_params={'encoding_id': encoding_id, 'muxing_id': muxing_id, 'drm_id': drm_id}, + type=CustomData, + **kwargs + ) diff --git a/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/cenc/__init__.py b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/cenc/__init__.py new file mode 100644 index 000000000..ba66ddf06 --- /dev/null +++ b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/cenc/__init__.py @@ -0,0 +1,3 @@ +from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.drm.cenc.cenc_api import CencApi +from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.drm.cenc.customdata.customdata_api import CustomdataApi +from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.drm.cenc.cenc_drm_list_query_params import CencDrmListQueryParams diff --git a/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/cenc/cenc_api.py b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/cenc/cenc_api.py new file mode 100644 index 000000000..89f251dea --- /dev/null +++ b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/cenc/cenc_api.py @@ -0,0 +1,119 @@ +# coding: utf-8 + +from __future__ import absolute_import + +from bitmovin_api_sdk.common import BaseApi, BitmovinApiLoggerBase +from bitmovin_api_sdk.common.poscheck import poscheck_except +from bitmovin_api_sdk.models.bitmovin_response import BitmovinResponse +from bitmovin_api_sdk.models.cenc_drm import CencDrm +from bitmovin_api_sdk.models.response_envelope import ResponseEnvelope +from bitmovin_api_sdk.models.response_error import ResponseError +from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.drm.cenc.customdata.customdata_api import CustomdataApi +from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.drm.cenc.cenc_drm_list_query_params import CencDrmListQueryParams + + +class CencApi(BaseApi): + @poscheck_except(2) + def __init__(self, api_key, tenant_org_id=None, base_url=None, logger=None): + # type: (str, str, str, BitmovinApiLoggerBase) -> None + + super(CencApi, self).__init__( + api_key=api_key, + tenant_org_id=tenant_org_id, + base_url=base_url, + logger=logger + ) + + self.customdata = CustomdataApi( + api_key=api_key, + tenant_org_id=tenant_org_id, + base_url=base_url, + logger=logger + ) + + def create(self, encoding_id, muxing_id, cenc_drm, **kwargs): + # type: (string_types, string_types, CencDrm, dict) -> CencDrm + """Add CENC DRM to an CMAF muxing + + :param encoding_id: Id of the encoding. + :type encoding_id: string_types, required + :param muxing_id: Id of the CMAF muxing. + :type muxing_id: string_types, required + :param cenc_drm: The CencDrm to be created + :type cenc_drm: CencDrm, required + :return: CENC DRM + :rtype: CencDrm + """ + + return self.api_client.post( + '/encoding/encodings/{encoding_id}/muxings/cmaf/{muxing_id}/drm/cenc', + cenc_drm, + path_params={'encoding_id': encoding_id, 'muxing_id': muxing_id}, + type=CencDrm, + **kwargs + ) + + def delete(self, encoding_id, muxing_id, drm_id, **kwargs): + # type: (string_types, string_types, string_types, dict) -> BitmovinResponse + """Delete CENC DRM from an CMAF muxing + + :param encoding_id: Id of the encoding. + :type encoding_id: string_types, required + :param muxing_id: Id of the CMAF muxing + :type muxing_id: string_types, required + :param drm_id: Id of the cenc drm. + :type drm_id: string_types, required + :return: Id of the CENC DRM + :rtype: BitmovinResponse + """ + + return self.api_client.delete( + '/encoding/encodings/{encoding_id}/muxings/cmaf/{muxing_id}/drm/cenc/{drm_id}', + path_params={'encoding_id': encoding_id, 'muxing_id': muxing_id, 'drm_id': drm_id}, + type=BitmovinResponse, + **kwargs + ) + + def get(self, encoding_id, muxing_id, drm_id, **kwargs): + # type: (string_types, string_types, string_types, dict) -> CencDrm + """CENC DRM Details of an CMAF muxing + + :param encoding_id: Id of the encoding. + :type encoding_id: string_types, required + :param muxing_id: Id of the CMAF muxing. + :type muxing_id: string_types, required + :param drm_id: Id of the cenc drm. + :type drm_id: string_types, required + :return: CENC DRM + :rtype: CencDrm + """ + + return self.api_client.get( + '/encoding/encodings/{encoding_id}/muxings/cmaf/{muxing_id}/drm/cenc/{drm_id}', + path_params={'encoding_id': encoding_id, 'muxing_id': muxing_id, 'drm_id': drm_id}, + type=CencDrm, + **kwargs + ) + + def list(self, encoding_id, muxing_id, query_params=None, **kwargs): + # type: (string_types, string_types, CencDrmListQueryParams, dict) -> CencDrm + """List CENC DRMs of an CMAF muxing + + :param encoding_id: Id of the encoding. + :type encoding_id: string_types, required + :param muxing_id: Id of the CMAF muxing. + :type muxing_id: string_types, required + :param query_params: Query parameters + :type query_params: CencDrmListQueryParams + :return: List of CENC DRMs + :rtype: CencDrm + """ + + return self.api_client.get( + '/encoding/encodings/{encoding_id}/muxings/cmaf/{muxing_id}/drm/cenc', + path_params={'encoding_id': encoding_id, 'muxing_id': muxing_id}, + query_params=query_params, + pagination_response=True, + type=CencDrm, + **kwargs + ) diff --git a/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/cenc/cenc_drm_list_query_params.py b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/cenc/cenc_drm_list_query_params.py new file mode 100644 index 000000000..466c73670 --- /dev/null +++ b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/cenc/cenc_drm_list_query_params.py @@ -0,0 +1,25 @@ +class CencDrmListQueryParams(object): + def __init__(self, offset=None, limit=None): + # type: (string_types, string_types) -> None + super(CencDrmListQueryParams, self).__init__() + + self.offset = offset + self.limit = limit + + @property + def openapi_types(self): + types = { + 'offset': 'string_types', + 'limit': 'string_types' + } + + return types + + @property + def attribute_map(self): + attributes = { + 'offset': 'offset', + 'limit': 'limit' + } + + return attributes diff --git a/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/cenc/customdata/__init__.py b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/cenc/customdata/__init__.py new file mode 100644 index 000000000..1ca650715 --- /dev/null +++ b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/cenc/customdata/__init__.py @@ -0,0 +1 @@ +from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.drm.cenc.customdata.customdata_api import CustomdataApi diff --git a/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/cenc/customdata/customdata_api.py b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/cenc/customdata/customdata_api.py new file mode 100644 index 000000000..110952af6 --- /dev/null +++ b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/cenc/customdata/customdata_api.py @@ -0,0 +1,43 @@ +# coding: utf-8 + +from __future__ import absolute_import + +from bitmovin_api_sdk.common import BaseApi, BitmovinApiLoggerBase +from bitmovin_api_sdk.common.poscheck import poscheck_except +from bitmovin_api_sdk.models.custom_data import CustomData +from bitmovin_api_sdk.models.response_envelope import ResponseEnvelope +from bitmovin_api_sdk.models.response_error import ResponseError + + +class CustomdataApi(BaseApi): + @poscheck_except(2) + def __init__(self, api_key, tenant_org_id=None, base_url=None, logger=None): + # type: (str, str, str, BitmovinApiLoggerBase) -> None + + super(CustomdataApi, self).__init__( + api_key=api_key, + tenant_org_id=tenant_org_id, + base_url=base_url, + logger=logger + ) + + def get(self, encoding_id, muxing_id, drm_id, **kwargs): + # type: (string_types, string_types, string_types, dict) -> CustomData + """CENC DRM Custom Data of an CMAF muxing + + :param encoding_id: Id of the encoding. + :type encoding_id: string_types, required + :param muxing_id: Id of the CMAF muxing. + :type muxing_id: string_types, required + :param drm_id: Id of the cenc drm. + :type drm_id: string_types, required + :return: CENC DRM custom data + :rtype: CustomData + """ + + return self.api_client.get( + '/encoding/encodings/{encoding_id}/muxings/cmaf/{muxing_id}/drm/cenc/{drm_id}/customData', + path_params={'encoding_id': encoding_id, 'muxing_id': muxing_id, 'drm_id': drm_id}, + type=CustomData, + **kwargs + ) diff --git a/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/clearkey/__init__.py b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/clearkey/__init__.py new file mode 100644 index 000000000..f5d238d4d --- /dev/null +++ b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/clearkey/__init__.py @@ -0,0 +1,3 @@ +from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.drm.clearkey.clearkey_api import ClearkeyApi +from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.drm.clearkey.customdata.customdata_api import CustomdataApi +from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.drm.clearkey.clear_key_drm_list_query_params import ClearKeyDrmListQueryParams diff --git a/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/clearkey/clear_key_drm_list_query_params.py b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/clearkey/clear_key_drm_list_query_params.py new file mode 100644 index 000000000..5e2a2bd16 --- /dev/null +++ b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/clearkey/clear_key_drm_list_query_params.py @@ -0,0 +1,25 @@ +class ClearKeyDrmListQueryParams(object): + def __init__(self, offset=None, limit=None): + # type: (int, int) -> None + super(ClearKeyDrmListQueryParams, self).__init__() + + self.offset = offset + self.limit = limit + + @property + def openapi_types(self): + types = { + 'offset': 'int', + 'limit': 'int' + } + + return types + + @property + def attribute_map(self): + attributes = { + 'offset': 'offset', + 'limit': 'limit' + } + + return attributes diff --git a/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/clearkey/clearkey_api.py b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/clearkey/clearkey_api.py new file mode 100644 index 000000000..c463c647f --- /dev/null +++ b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/clearkey/clearkey_api.py @@ -0,0 +1,119 @@ +# coding: utf-8 + +from __future__ import absolute_import + +from bitmovin_api_sdk.common import BaseApi, BitmovinApiLoggerBase +from bitmovin_api_sdk.common.poscheck import poscheck_except +from bitmovin_api_sdk.models.bitmovin_response import BitmovinResponse +from bitmovin_api_sdk.models.clear_key_drm import ClearKeyDrm +from bitmovin_api_sdk.models.response_envelope import ResponseEnvelope +from bitmovin_api_sdk.models.response_error import ResponseError +from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.drm.clearkey.customdata.customdata_api import CustomdataApi +from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.drm.clearkey.clear_key_drm_list_query_params import ClearKeyDrmListQueryParams + + +class ClearkeyApi(BaseApi): + @poscheck_except(2) + def __init__(self, api_key, tenant_org_id=None, base_url=None, logger=None): + # type: (str, str, str, BitmovinApiLoggerBase) -> None + + super(ClearkeyApi, self).__init__( + api_key=api_key, + tenant_org_id=tenant_org_id, + base_url=base_url, + logger=logger + ) + + self.customdata = CustomdataApi( + api_key=api_key, + tenant_org_id=tenant_org_id, + base_url=base_url, + logger=logger + ) + + def create(self, encoding_id, muxing_id, clear_key_drm, **kwargs): + # type: (string_types, string_types, ClearKeyDrm, dict) -> ClearKeyDrm + """Add ClearKey DRM to an CMAF muxing + + :param encoding_id: Id of the encoding. + :type encoding_id: string_types, required + :param muxing_id: Id of the CMAF muxing. + :type muxing_id: string_types, required + :param clear_key_drm: The ClearKey DRM to be created + :type clear_key_drm: ClearKeyDrm, required + :return: ClearKey configuration + :rtype: ClearKeyDrm + """ + + return self.api_client.post( + '/encoding/encodings/{encoding_id}/muxings/cmaf/{muxing_id}/drm/clearkey', + clear_key_drm, + path_params={'encoding_id': encoding_id, 'muxing_id': muxing_id}, + type=ClearKeyDrm, + **kwargs + ) + + def delete(self, encoding_id, muxing_id, drm_id, **kwargs): + # type: (string_types, string_types, string_types, dict) -> BitmovinResponse + """Delete ClearKey DRM from an CMAF muxing + + :param encoding_id: Id of the encoding. + :type encoding_id: string_types, required + :param muxing_id: Id of the CMAF muxing + :type muxing_id: string_types, required + :param drm_id: Id of the ClearKey DRM configuration. + :type drm_id: string_types, required + :return: Id of the ClearKey DRM configuration. + :rtype: BitmovinResponse + """ + + return self.api_client.delete( + '/encoding/encodings/{encoding_id}/muxings/cmaf/{muxing_id}/drm/clearkey/{drm_id}', + path_params={'encoding_id': encoding_id, 'muxing_id': muxing_id, 'drm_id': drm_id}, + type=BitmovinResponse, + **kwargs + ) + + def get(self, encoding_id, muxing_id, drm_id, **kwargs): + # type: (string_types, string_types, string_types, dict) -> ClearKeyDrm + """ClearKey DRM Details of an CMAF muxing + + :param encoding_id: Id of the encoding. + :type encoding_id: string_types, required + :param muxing_id: Id of the CMAF muxing + :type muxing_id: string_types, required + :param drm_id: Id of the ClearKey DRM configuration. + :type drm_id: string_types, required + :return: ClearKey configuration + :rtype: ClearKeyDrm + """ + + return self.api_client.get( + '/encoding/encodings/{encoding_id}/muxings/cmaf/{muxing_id}/drm/clearkey/{drm_id}', + path_params={'encoding_id': encoding_id, 'muxing_id': muxing_id, 'drm_id': drm_id}, + type=ClearKeyDrm, + **kwargs + ) + + def list(self, encoding_id, muxing_id, query_params=None, **kwargs): + # type: (string_types, string_types, ClearKeyDrmListQueryParams, dict) -> ClearKeyDrm + """List ClearKey DRMs of an CMAF muxing + + :param encoding_id: Id of the encoding. + :type encoding_id: string_types, required + :param muxing_id: Id of the CMAF muxing + :type muxing_id: string_types, required + :param query_params: Query parameters + :type query_params: ClearKeyDrmListQueryParams + :return: List of ClearKey DRM configurations + :rtype: ClearKeyDrm + """ + + return self.api_client.get( + '/encoding/encodings/{encoding_id}/muxings/cmaf/{muxing_id}/drm/clearkey', + path_params={'encoding_id': encoding_id, 'muxing_id': muxing_id}, + query_params=query_params, + pagination_response=True, + type=ClearKeyDrm, + **kwargs + ) diff --git a/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/clearkey/customdata/__init__.py b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/clearkey/customdata/__init__.py new file mode 100644 index 000000000..d8d374da0 --- /dev/null +++ b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/clearkey/customdata/__init__.py @@ -0,0 +1 @@ +from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.drm.clearkey.customdata.customdata_api import CustomdataApi diff --git a/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/clearkey/customdata/customdata_api.py b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/clearkey/customdata/customdata_api.py new file mode 100644 index 000000000..0661473ea --- /dev/null +++ b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/clearkey/customdata/customdata_api.py @@ -0,0 +1,43 @@ +# coding: utf-8 + +from __future__ import absolute_import + +from bitmovin_api_sdk.common import BaseApi, BitmovinApiLoggerBase +from bitmovin_api_sdk.common.poscheck import poscheck_except +from bitmovin_api_sdk.models.custom_data import CustomData +from bitmovin_api_sdk.models.response_envelope import ResponseEnvelope +from bitmovin_api_sdk.models.response_error import ResponseError + + +class CustomdataApi(BaseApi): + @poscheck_except(2) + def __init__(self, api_key, tenant_org_id=None, base_url=None, logger=None): + # type: (str, str, str, BitmovinApiLoggerBase) -> None + + super(CustomdataApi, self).__init__( + api_key=api_key, + tenant_org_id=tenant_org_id, + base_url=base_url, + logger=logger + ) + + def get(self, encoding_id, muxing_id, drm_id, **kwargs): + # type: (string_types, string_types, string_types, dict) -> CustomData + """ClearKey DRM Custom Data of an CMAF muxing + + :param encoding_id: Id of the encoding. + :type encoding_id: string_types, required + :param muxing_id: Id of the CMAF muxing + :type muxing_id: string_types, required + :param drm_id: Id of the ClearKey DRM configuration. + :type drm_id: string_types, required + :return: ClearKey DRM custom data + :rtype: CustomData + """ + + return self.api_client.get( + '/encoding/encodings/{encoding_id}/muxings/cmaf/{muxing_id}/drm/clearkey/{drm_id}/customData', + path_params={'encoding_id': encoding_id, 'muxing_id': muxing_id, 'drm_id': drm_id}, + type=CustomData, + **kwargs + ) diff --git a/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/drm_api.py b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/drm_api.py new file mode 100644 index 000000000..fe5720af3 --- /dev/null +++ b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/drm_api.py @@ -0,0 +1,135 @@ +# coding: utf-8 + +from __future__ import absolute_import + +from bitmovin_api_sdk.common import BaseApi, BitmovinApiLoggerBase +from bitmovin_api_sdk.common.poscheck import poscheck_except +from bitmovin_api_sdk.models.drm import Drm +from bitmovin_api_sdk.models.response_envelope import ResponseEnvelope +from bitmovin_api_sdk.models.response_error import ResponseError +from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.drm.widevine.widevine_api import WidevineApi +from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.drm.playready.playready_api import PlayreadyApi +from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.drm.primetime.primetime_api import PrimetimeApi +from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.drm.fairplay.fairplay_api import FairplayApi +from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.drm.marlin.marlin_api import MarlinApi +from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.drm.clearkey.clearkey_api import ClearkeyApi +from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.drm.cenc.cenc_api import CencApi +from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.drm.aes.aes_api import AesApi +from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.drm.speke.speke_api import SpekeApi + + +class DrmApi(BaseApi): + @poscheck_except(2) + def __init__(self, api_key, tenant_org_id=None, base_url=None, logger=None): + # type: (str, str, str, BitmovinApiLoggerBase) -> None + + super(DrmApi, self).__init__( + api_key=api_key, + tenant_org_id=tenant_org_id, + base_url=base_url, + logger=logger + ) + + self.widevine = WidevineApi( + api_key=api_key, + tenant_org_id=tenant_org_id, + base_url=base_url, + logger=logger + ) + + self.playready = PlayreadyApi( + api_key=api_key, + tenant_org_id=tenant_org_id, + base_url=base_url, + logger=logger + ) + + self.primetime = PrimetimeApi( + api_key=api_key, + tenant_org_id=tenant_org_id, + base_url=base_url, + logger=logger + ) + + self.fairplay = FairplayApi( + api_key=api_key, + tenant_org_id=tenant_org_id, + base_url=base_url, + logger=logger + ) + + self.marlin = MarlinApi( + api_key=api_key, + tenant_org_id=tenant_org_id, + base_url=base_url, + logger=logger + ) + + self.clearkey = ClearkeyApi( + api_key=api_key, + tenant_org_id=tenant_org_id, + base_url=base_url, + logger=logger + ) + + self.cenc = CencApi( + api_key=api_key, + tenant_org_id=tenant_org_id, + base_url=base_url, + logger=logger + ) + + self.aes = AesApi( + api_key=api_key, + tenant_org_id=tenant_org_id, + base_url=base_url, + logger=logger + ) + + self.speke = SpekeApi( + api_key=api_key, + tenant_org_id=tenant_org_id, + base_url=base_url, + logger=logger + ) + + def get(self, encoding_id, muxing_id, drm_id, **kwargs): + # type: (string_types, string_types, string_types, dict) -> Drm + """DRM Details of an CMAF muxing + + :param encoding_id: Id of the encoding. + :type encoding_id: string_types, required + :param muxing_id: Id of the CMAF muxing + :type muxing_id: string_types, required + :param drm_id: Id of the DRM. + :type drm_id: string_types, required + :return: DRM + :rtype: Drm + """ + + return self.api_client.get( + '/encoding/encodings/{encoding_id}/muxings/cmaf/{muxing_id}/drm/{drm_id}', + path_params={'encoding_id': encoding_id, 'muxing_id': muxing_id, 'drm_id': drm_id}, + type=Drm, + **kwargs + ) + + def list(self, encoding_id, muxing_id, **kwargs): + # type: (string_types, string_types, dict) -> Drm + """List all DRMs of an CMAF muxing + + :param encoding_id: Id of the encoding. + :type encoding_id: string_types, required + :param muxing_id: Id of the CMAF muxing + :type muxing_id: string_types, required + :return: List of DRM configurations + :rtype: Drm + """ + + return self.api_client.get( + '/encoding/encodings/{encoding_id}/muxings/cmaf/{muxing_id}/drm', + path_params={'encoding_id': encoding_id, 'muxing_id': muxing_id}, + pagination_response=True, + type=Drm, + **kwargs + ) diff --git a/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/fairplay/__init__.py b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/fairplay/__init__.py new file mode 100644 index 000000000..0865219ef --- /dev/null +++ b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/fairplay/__init__.py @@ -0,0 +1,3 @@ +from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.drm.fairplay.fairplay_api import FairplayApi +from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.drm.fairplay.customdata.customdata_api import CustomdataApi +from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.drm.fairplay.fair_play_drm_list_query_params import FairPlayDrmListQueryParams diff --git a/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/fairplay/customdata/__init__.py b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/fairplay/customdata/__init__.py new file mode 100644 index 000000000..af3352d57 --- /dev/null +++ b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/fairplay/customdata/__init__.py @@ -0,0 +1 @@ +from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.drm.fairplay.customdata.customdata_api import CustomdataApi diff --git a/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/fairplay/customdata/customdata_api.py b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/fairplay/customdata/customdata_api.py new file mode 100644 index 000000000..c135850b4 --- /dev/null +++ b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/fairplay/customdata/customdata_api.py @@ -0,0 +1,43 @@ +# coding: utf-8 + +from __future__ import absolute_import + +from bitmovin_api_sdk.common import BaseApi, BitmovinApiLoggerBase +from bitmovin_api_sdk.common.poscheck import poscheck_except +from bitmovin_api_sdk.models.custom_data import CustomData +from bitmovin_api_sdk.models.response_envelope import ResponseEnvelope +from bitmovin_api_sdk.models.response_error import ResponseError + + +class CustomdataApi(BaseApi): + @poscheck_except(2) + def __init__(self, api_key, tenant_org_id=None, base_url=None, logger=None): + # type: (str, str, str, BitmovinApiLoggerBase) -> None + + super(CustomdataApi, self).__init__( + api_key=api_key, + tenant_org_id=tenant_org_id, + base_url=base_url, + logger=logger + ) + + def get(self, encoding_id, muxing_id, drm_id, **kwargs): + # type: (string_types, string_types, string_types, dict) -> CustomData + """FairPlay DRM Custom Data of an CMAF muxing + + :param encoding_id: Id of the encoding. + :type encoding_id: string_types, required + :param muxing_id: Id of the CMAF muxing + :type muxing_id: string_types, required + :param drm_id: Id of the FairPlay DRM configuration. + :type drm_id: string_types, required + :return: Fair Play custom data + :rtype: CustomData + """ + + return self.api_client.get( + '/encoding/encodings/{encoding_id}/muxings/cmaf/{muxing_id}/drm/fairplay/{drm_id}/customData', + path_params={'encoding_id': encoding_id, 'muxing_id': muxing_id, 'drm_id': drm_id}, + type=CustomData, + **kwargs + ) diff --git a/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/fairplay/fair_play_drm_list_query_params.py b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/fairplay/fair_play_drm_list_query_params.py new file mode 100644 index 000000000..199a406a6 --- /dev/null +++ b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/fairplay/fair_play_drm_list_query_params.py @@ -0,0 +1,25 @@ +class FairPlayDrmListQueryParams(object): + def __init__(self, offset=None, limit=None): + # type: (int, int) -> None + super(FairPlayDrmListQueryParams, self).__init__() + + self.offset = offset + self.limit = limit + + @property + def openapi_types(self): + types = { + 'offset': 'int', + 'limit': 'int' + } + + return types + + @property + def attribute_map(self): + attributes = { + 'offset': 'offset', + 'limit': 'limit' + } + + return attributes diff --git a/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/fairplay/fairplay_api.py b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/fairplay/fairplay_api.py new file mode 100644 index 000000000..896accbad --- /dev/null +++ b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/fairplay/fairplay_api.py @@ -0,0 +1,119 @@ +# coding: utf-8 + +from __future__ import absolute_import + +from bitmovin_api_sdk.common import BaseApi, BitmovinApiLoggerBase +from bitmovin_api_sdk.common.poscheck import poscheck_except +from bitmovin_api_sdk.models.bitmovin_response import BitmovinResponse +from bitmovin_api_sdk.models.fair_play_drm import FairPlayDrm +from bitmovin_api_sdk.models.response_envelope import ResponseEnvelope +from bitmovin_api_sdk.models.response_error import ResponseError +from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.drm.fairplay.customdata.customdata_api import CustomdataApi +from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.drm.fairplay.fair_play_drm_list_query_params import FairPlayDrmListQueryParams + + +class FairplayApi(BaseApi): + @poscheck_except(2) + def __init__(self, api_key, tenant_org_id=None, base_url=None, logger=None): + # type: (str, str, str, BitmovinApiLoggerBase) -> None + + super(FairplayApi, self).__init__( + api_key=api_key, + tenant_org_id=tenant_org_id, + base_url=base_url, + logger=logger + ) + + self.customdata = CustomdataApi( + api_key=api_key, + tenant_org_id=tenant_org_id, + base_url=base_url, + logger=logger + ) + + def create(self, encoding_id, muxing_id, fair_play_drm, **kwargs): + # type: (string_types, string_types, FairPlayDrm, dict) -> FairPlayDrm + """Add FairPlay DRM to an CMAF muxing + + :param encoding_id: Id of the encoding. + :type encoding_id: string_types, required + :param muxing_id: Id of the CMAF muxing + :type muxing_id: string_types, required + :param fair_play_drm: The FairPlay DRM to be created + :type fair_play_drm: FairPlayDrm, required + :return: FairPlay details + :rtype: FairPlayDrm + """ + + return self.api_client.post( + '/encoding/encodings/{encoding_id}/muxings/cmaf/{muxing_id}/drm/fairplay', + fair_play_drm, + path_params={'encoding_id': encoding_id, 'muxing_id': muxing_id}, + type=FairPlayDrm, + **kwargs + ) + + def delete(self, encoding_id, muxing_id, drm_id, **kwargs): + # type: (string_types, string_types, string_types, dict) -> BitmovinResponse + """Delete FairPlay DRM from an CMAF muxing + + :param encoding_id: Id of the encoding. + :type encoding_id: string_types, required + :param muxing_id: Id of the CMAF muxing + :type muxing_id: string_types, required + :param drm_id: Id of the FairPlay DRM configuration. + :type drm_id: string_types, required + :return: Id of the FairPlay DRM configuration. + :rtype: BitmovinResponse + """ + + return self.api_client.delete( + '/encoding/encodings/{encoding_id}/muxings/cmaf/{muxing_id}/drm/fairplay/{drm_id}', + path_params={'encoding_id': encoding_id, 'muxing_id': muxing_id, 'drm_id': drm_id}, + type=BitmovinResponse, + **kwargs + ) + + def get(self, encoding_id, muxing_id, drm_id, **kwargs): + # type: (string_types, string_types, string_types, dict) -> FairPlayDrm + """FairPlay DRM Details of an CMAF muxing + + :param encoding_id: Id of the encoding. + :type encoding_id: string_types, required + :param muxing_id: Id of the CMAF muxing + :type muxing_id: string_types, required + :param drm_id: Id of the FairPlay DRM configuration. + :type drm_id: string_types, required + :return: FairPlay details + :rtype: FairPlayDrm + """ + + return self.api_client.get( + '/encoding/encodings/{encoding_id}/muxings/cmaf/{muxing_id}/drm/fairplay/{drm_id}', + path_params={'encoding_id': encoding_id, 'muxing_id': muxing_id, 'drm_id': drm_id}, + type=FairPlayDrm, + **kwargs + ) + + def list(self, encoding_id, muxing_id, query_params=None, **kwargs): + # type: (string_types, string_types, FairPlayDrmListQueryParams, dict) -> FairPlayDrm + """List FairPlay DRMs of an CMAF muxing + + :param encoding_id: Id of the encoding. + :type encoding_id: string_types, required + :param muxing_id: Id of the CMAF muxing. + :type muxing_id: string_types, required + :param query_params: Query parameters + :type query_params: FairPlayDrmListQueryParams + :return: List of FairPlay DRM configurations + :rtype: FairPlayDrm + """ + + return self.api_client.get( + '/encoding/encodings/{encoding_id}/muxings/cmaf/{muxing_id}/drm/fairplay', + path_params={'encoding_id': encoding_id, 'muxing_id': muxing_id}, + query_params=query_params, + pagination_response=True, + type=FairPlayDrm, + **kwargs + ) diff --git a/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/marlin/__init__.py b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/marlin/__init__.py new file mode 100644 index 000000000..449d546cc --- /dev/null +++ b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/marlin/__init__.py @@ -0,0 +1,3 @@ +from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.drm.marlin.marlin_api import MarlinApi +from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.drm.marlin.customdata.customdata_api import CustomdataApi +from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.drm.marlin.marlin_drm_list_query_params import MarlinDrmListQueryParams diff --git a/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/marlin/customdata/__init__.py b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/marlin/customdata/__init__.py new file mode 100644 index 000000000..e776f836c --- /dev/null +++ b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/marlin/customdata/__init__.py @@ -0,0 +1 @@ +from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.drm.marlin.customdata.customdata_api import CustomdataApi diff --git a/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/marlin/customdata/customdata_api.py b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/marlin/customdata/customdata_api.py new file mode 100644 index 000000000..3eed8d7be --- /dev/null +++ b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/marlin/customdata/customdata_api.py @@ -0,0 +1,43 @@ +# coding: utf-8 + +from __future__ import absolute_import + +from bitmovin_api_sdk.common import BaseApi, BitmovinApiLoggerBase +from bitmovin_api_sdk.common.poscheck import poscheck_except +from bitmovin_api_sdk.models.custom_data import CustomData +from bitmovin_api_sdk.models.response_envelope import ResponseEnvelope +from bitmovin_api_sdk.models.response_error import ResponseError + + +class CustomdataApi(BaseApi): + @poscheck_except(2) + def __init__(self, api_key, tenant_org_id=None, base_url=None, logger=None): + # type: (str, str, str, BitmovinApiLoggerBase) -> None + + super(CustomdataApi, self).__init__( + api_key=api_key, + tenant_org_id=tenant_org_id, + base_url=base_url, + logger=logger + ) + + def get(self, encoding_id, muxing_id, drm_id, **kwargs): + # type: (string_types, string_types, string_types, dict) -> CustomData + """Marlin DRM Custom Data of an CMAF muxing + + :param encoding_id: Id of the encoding. + :type encoding_id: string_types, required + :param muxing_id: Id of the CMAF muxing + :type muxing_id: string_types, required + :param drm_id: Id of the Marlin DRM configuration. + :type drm_id: string_types, required + :return: marlin DRM custom data + :rtype: CustomData + """ + + return self.api_client.get( + '/encoding/encodings/{encoding_id}/muxings/cmaf/{muxing_id}/drm/marlin/{drm_id}/customData', + path_params={'encoding_id': encoding_id, 'muxing_id': muxing_id, 'drm_id': drm_id}, + type=CustomData, + **kwargs + ) diff --git a/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/marlin/marlin_api.py b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/marlin/marlin_api.py new file mode 100644 index 000000000..c09f25ae4 --- /dev/null +++ b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/marlin/marlin_api.py @@ -0,0 +1,119 @@ +# coding: utf-8 + +from __future__ import absolute_import + +from bitmovin_api_sdk.common import BaseApi, BitmovinApiLoggerBase +from bitmovin_api_sdk.common.poscheck import poscheck_except +from bitmovin_api_sdk.models.bitmovin_response import BitmovinResponse +from bitmovin_api_sdk.models.marlin_drm import MarlinDrm +from bitmovin_api_sdk.models.response_envelope import ResponseEnvelope +from bitmovin_api_sdk.models.response_error import ResponseError +from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.drm.marlin.customdata.customdata_api import CustomdataApi +from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.drm.marlin.marlin_drm_list_query_params import MarlinDrmListQueryParams + + +class MarlinApi(BaseApi): + @poscheck_except(2) + def __init__(self, api_key, tenant_org_id=None, base_url=None, logger=None): + # type: (str, str, str, BitmovinApiLoggerBase) -> None + + super(MarlinApi, self).__init__( + api_key=api_key, + tenant_org_id=tenant_org_id, + base_url=base_url, + logger=logger + ) + + self.customdata = CustomdataApi( + api_key=api_key, + tenant_org_id=tenant_org_id, + base_url=base_url, + logger=logger + ) + + def create(self, encoding_id, muxing_id, marlin_drm, **kwargs): + # type: (string_types, string_types, MarlinDrm, dict) -> MarlinDrm + """Add Marlin DRM to an CMAF muxing + + :param encoding_id: Id of the encoding. + :type encoding_id: string_types, required + :param muxing_id: Id of the CMAF muxing. + :type muxing_id: string_types, required + :param marlin_drm: The Marlin DRM to be created + :type marlin_drm: MarlinDrm, required + :return: Marlin details + :rtype: MarlinDrm + """ + + return self.api_client.post( + '/encoding/encodings/{encoding_id}/muxings/cmaf/{muxing_id}/drm/marlin', + marlin_drm, + path_params={'encoding_id': encoding_id, 'muxing_id': muxing_id}, + type=MarlinDrm, + **kwargs + ) + + def delete(self, encoding_id, muxing_id, drm_id, **kwargs): + # type: (string_types, string_types, string_types, dict) -> BitmovinResponse + """Delete Marlin DRM from an CMAF muxing + + :param encoding_id: Id of the encoding. + :type encoding_id: string_types, required + :param muxing_id: Id of the CMAF muxing + :type muxing_id: string_types, required + :param drm_id: Id of the Marlin DRM configuration. + :type drm_id: string_types, required + :return: Id of the Marlin DRM configuration. + :rtype: BitmovinResponse + """ + + return self.api_client.delete( + '/encoding/encodings/{encoding_id}/muxings/cmaf/{muxing_id}/drm/marlin/{drm_id}', + path_params={'encoding_id': encoding_id, 'muxing_id': muxing_id, 'drm_id': drm_id}, + type=BitmovinResponse, + **kwargs + ) + + def get(self, encoding_id, muxing_id, drm_id, **kwargs): + # type: (string_types, string_types, string_types, dict) -> MarlinDrm + """Marlin DRM Details of an CMAF muxing + + :param encoding_id: Id of the encoding. + :type encoding_id: string_types, required + :param muxing_id: Id of the CMAF muxing + :type muxing_id: string_types, required + :param drm_id: Id of the Marlin DRM configuration. + :type drm_id: string_types, required + :return: Marlin details + :rtype: MarlinDrm + """ + + return self.api_client.get( + '/encoding/encodings/{encoding_id}/muxings/cmaf/{muxing_id}/drm/marlin/{drm_id}', + path_params={'encoding_id': encoding_id, 'muxing_id': muxing_id, 'drm_id': drm_id}, + type=MarlinDrm, + **kwargs + ) + + def list(self, encoding_id, muxing_id, query_params=None, **kwargs): + # type: (string_types, string_types, MarlinDrmListQueryParams, dict) -> MarlinDrm + """List Marlin DRMs of an CMAF muxing + + :param encoding_id: Id of the encoding. + :type encoding_id: string_types, required + :param muxing_id: Id of the CMAF muxing + :type muxing_id: string_types, required + :param query_params: Query parameters + :type query_params: MarlinDrmListQueryParams + :return: List of Marlin DRM configurations + :rtype: MarlinDrm + """ + + return self.api_client.get( + '/encoding/encodings/{encoding_id}/muxings/cmaf/{muxing_id}/drm/marlin', + path_params={'encoding_id': encoding_id, 'muxing_id': muxing_id}, + query_params=query_params, + pagination_response=True, + type=MarlinDrm, + **kwargs + ) diff --git a/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/marlin/marlin_drm_list_query_params.py b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/marlin/marlin_drm_list_query_params.py new file mode 100644 index 000000000..87b361622 --- /dev/null +++ b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/marlin/marlin_drm_list_query_params.py @@ -0,0 +1,25 @@ +class MarlinDrmListQueryParams(object): + def __init__(self, offset=None, limit=None): + # type: (int, int) -> None + super(MarlinDrmListQueryParams, self).__init__() + + self.offset = offset + self.limit = limit + + @property + def openapi_types(self): + types = { + 'offset': 'int', + 'limit': 'int' + } + + return types + + @property + def attribute_map(self): + attributes = { + 'offset': 'offset', + 'limit': 'limit' + } + + return attributes diff --git a/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/playready/__init__.py b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/playready/__init__.py new file mode 100644 index 000000000..7b4b13a2d --- /dev/null +++ b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/playready/__init__.py @@ -0,0 +1,3 @@ +from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.drm.playready.playready_api import PlayreadyApi +from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.drm.playready.customdata.customdata_api import CustomdataApi +from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.drm.playready.play_ready_drm_list_query_params import PlayReadyDrmListQueryParams diff --git a/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/playready/customdata/__init__.py b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/playready/customdata/__init__.py new file mode 100644 index 000000000..f743eb4fe --- /dev/null +++ b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/playready/customdata/__init__.py @@ -0,0 +1 @@ +from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.drm.playready.customdata.customdata_api import CustomdataApi diff --git a/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/playready/customdata/customdata_api.py b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/playready/customdata/customdata_api.py new file mode 100644 index 000000000..707a4a02d --- /dev/null +++ b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/playready/customdata/customdata_api.py @@ -0,0 +1,43 @@ +# coding: utf-8 + +from __future__ import absolute_import + +from bitmovin_api_sdk.common import BaseApi, BitmovinApiLoggerBase +from bitmovin_api_sdk.common.poscheck import poscheck_except +from bitmovin_api_sdk.models.custom_data import CustomData +from bitmovin_api_sdk.models.response_envelope import ResponseEnvelope +from bitmovin_api_sdk.models.response_error import ResponseError + + +class CustomdataApi(BaseApi): + @poscheck_except(2) + def __init__(self, api_key, tenant_org_id=None, base_url=None, logger=None): + # type: (str, str, str, BitmovinApiLoggerBase) -> None + + super(CustomdataApi, self).__init__( + api_key=api_key, + tenant_org_id=tenant_org_id, + base_url=base_url, + logger=logger + ) + + def get(self, encoding_id, muxing_id, drm_id, **kwargs): + # type: (string_types, string_types, string_types, dict) -> CustomData + """PlayReady DRM Custom Data of an CMAF muxing + + :param encoding_id: Id of the encoding. + :type encoding_id: string_types, required + :param muxing_id: Id of the CMAF muxing + :type muxing_id: string_types, required + :param drm_id: Id of the PlayReady DRM configuration. + :type drm_id: string_types, required + :return: PlayReady DRM custom data + :rtype: CustomData + """ + + return self.api_client.get( + '/encoding/encodings/{encoding_id}/muxings/cmaf/{muxing_id}/drm/playready/{drm_id}/customData', + path_params={'encoding_id': encoding_id, 'muxing_id': muxing_id, 'drm_id': drm_id}, + type=CustomData, + **kwargs + ) diff --git a/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/playready/play_ready_drm_list_query_params.py b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/playready/play_ready_drm_list_query_params.py new file mode 100644 index 000000000..30338c86d --- /dev/null +++ b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/playready/play_ready_drm_list_query_params.py @@ -0,0 +1,25 @@ +class PlayReadyDrmListQueryParams(object): + def __init__(self, offset=None, limit=None): + # type: (int, int) -> None + super(PlayReadyDrmListQueryParams, self).__init__() + + self.offset = offset + self.limit = limit + + @property + def openapi_types(self): + types = { + 'offset': 'int', + 'limit': 'int' + } + + return types + + @property + def attribute_map(self): + attributes = { + 'offset': 'offset', + 'limit': 'limit' + } + + return attributes diff --git a/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/playready/playready_api.py b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/playready/playready_api.py new file mode 100644 index 000000000..c02ee29d5 --- /dev/null +++ b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/playready/playready_api.py @@ -0,0 +1,119 @@ +# coding: utf-8 + +from __future__ import absolute_import + +from bitmovin_api_sdk.common import BaseApi, BitmovinApiLoggerBase +from bitmovin_api_sdk.common.poscheck import poscheck_except +from bitmovin_api_sdk.models.bitmovin_response import BitmovinResponse +from bitmovin_api_sdk.models.play_ready_drm import PlayReadyDrm +from bitmovin_api_sdk.models.response_envelope import ResponseEnvelope +from bitmovin_api_sdk.models.response_error import ResponseError +from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.drm.playready.customdata.customdata_api import CustomdataApi +from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.drm.playready.play_ready_drm_list_query_params import PlayReadyDrmListQueryParams + + +class PlayreadyApi(BaseApi): + @poscheck_except(2) + def __init__(self, api_key, tenant_org_id=None, base_url=None, logger=None): + # type: (str, str, str, BitmovinApiLoggerBase) -> None + + super(PlayreadyApi, self).__init__( + api_key=api_key, + tenant_org_id=tenant_org_id, + base_url=base_url, + logger=logger + ) + + self.customdata = CustomdataApi( + api_key=api_key, + tenant_org_id=tenant_org_id, + base_url=base_url, + logger=logger + ) + + def create(self, encoding_id, muxing_id, play_ready_drm, **kwargs): + # type: (string_types, string_types, PlayReadyDrm, dict) -> PlayReadyDrm + """Add PlayReady DRM to an CMAF muxing + + :param encoding_id: Id of the encoding. + :type encoding_id: string_types, required + :param muxing_id: Id of the CMAF muxing. + :type muxing_id: string_types, required + :param play_ready_drm: The PlayReady DRM to be created + :type play_ready_drm: PlayReadyDrm, required + :return: PlayReady configuration + :rtype: PlayReadyDrm + """ + + return self.api_client.post( + '/encoding/encodings/{encoding_id}/muxings/cmaf/{muxing_id}/drm/playready', + play_ready_drm, + path_params={'encoding_id': encoding_id, 'muxing_id': muxing_id}, + type=PlayReadyDrm, + **kwargs + ) + + def delete(self, encoding_id, muxing_id, drm_id, **kwargs): + # type: (string_types, string_types, string_types, dict) -> BitmovinResponse + """Delete PlayReady DRM from an CMAF muxing + + :param encoding_id: Id of the encoding. + :type encoding_id: string_types, required + :param muxing_id: Id of the CMAF muxing + :type muxing_id: string_types, required + :param drm_id: Id of the PlayReady DRM configuration. + :type drm_id: string_types, required + :return: Id of the PlayReady DRM configuration. + :rtype: BitmovinResponse + """ + + return self.api_client.delete( + '/encoding/encodings/{encoding_id}/muxings/cmaf/{muxing_id}/drm/playready/{drm_id}', + path_params={'encoding_id': encoding_id, 'muxing_id': muxing_id, 'drm_id': drm_id}, + type=BitmovinResponse, + **kwargs + ) + + def get(self, encoding_id, muxing_id, drm_id, **kwargs): + # type: (string_types, string_types, string_types, dict) -> PlayReadyDrm + """PlayReady DRM Details of an CMAF muxing + + :param encoding_id: Id of the encoding. + :type encoding_id: string_types, required + :param muxing_id: Id of the CMAF muxing + :type muxing_id: string_types, required + :param drm_id: Id of the PlayReady DRM configuration. + :type drm_id: string_types, required + :return: PlayReady configuration + :rtype: PlayReadyDrm + """ + + return self.api_client.get( + '/encoding/encodings/{encoding_id}/muxings/cmaf/{muxing_id}/drm/playready/{drm_id}', + path_params={'encoding_id': encoding_id, 'muxing_id': muxing_id, 'drm_id': drm_id}, + type=PlayReadyDrm, + **kwargs + ) + + def list(self, encoding_id, muxing_id, query_params=None, **kwargs): + # type: (string_types, string_types, PlayReadyDrmListQueryParams, dict) -> PlayReadyDrm + """List PlayReady DRMs of an CMAF muxing + + :param encoding_id: Id of the encoding. + :type encoding_id: string_types, required + :param muxing_id: Id of the CMAF muxing + :type muxing_id: string_types, required + :param query_params: Query parameters + :type query_params: PlayReadyDrmListQueryParams + :return: List of PlayReady DRM configurations + :rtype: PlayReadyDrm + """ + + return self.api_client.get( + '/encoding/encodings/{encoding_id}/muxings/cmaf/{muxing_id}/drm/playready', + path_params={'encoding_id': encoding_id, 'muxing_id': muxing_id}, + query_params=query_params, + pagination_response=True, + type=PlayReadyDrm, + **kwargs + ) diff --git a/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/primetime/__init__.py b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/primetime/__init__.py new file mode 100644 index 000000000..d07d4f709 --- /dev/null +++ b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/primetime/__init__.py @@ -0,0 +1,3 @@ +from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.drm.primetime.primetime_api import PrimetimeApi +from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.drm.primetime.customdata.customdata_api import CustomdataApi +from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.drm.primetime.prime_time_drm_list_query_params import PrimeTimeDrmListQueryParams diff --git a/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/primetime/customdata/__init__.py b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/primetime/customdata/__init__.py new file mode 100644 index 000000000..30e26e970 --- /dev/null +++ b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/primetime/customdata/__init__.py @@ -0,0 +1 @@ +from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.drm.primetime.customdata.customdata_api import CustomdataApi diff --git a/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/primetime/customdata/customdata_api.py b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/primetime/customdata/customdata_api.py new file mode 100644 index 000000000..63f9443fc --- /dev/null +++ b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/primetime/customdata/customdata_api.py @@ -0,0 +1,43 @@ +# coding: utf-8 + +from __future__ import absolute_import + +from bitmovin_api_sdk.common import BaseApi, BitmovinApiLoggerBase +from bitmovin_api_sdk.common.poscheck import poscheck_except +from bitmovin_api_sdk.models.custom_data import CustomData +from bitmovin_api_sdk.models.response_envelope import ResponseEnvelope +from bitmovin_api_sdk.models.response_error import ResponseError + + +class CustomdataApi(BaseApi): + @poscheck_except(2) + def __init__(self, api_key, tenant_org_id=None, base_url=None, logger=None): + # type: (str, str, str, BitmovinApiLoggerBase) -> None + + super(CustomdataApi, self).__init__( + api_key=api_key, + tenant_org_id=tenant_org_id, + base_url=base_url, + logger=logger + ) + + def get(self, encoding_id, muxing_id, drm_id, **kwargs): + # type: (string_types, string_types, string_types, dict) -> CustomData + """PrimeTime DRM Custom Data of an CMAF muxing + + :param encoding_id: Id of the encoding. + :type encoding_id: string_types, required + :param muxing_id: Id of the CMAF muxing + :type muxing_id: string_types, required + :param drm_id: Id of the PrimeTime DRM configuration. + :type drm_id: string_types, required + :return: PrimeTime DRM custom data + :rtype: CustomData + """ + + return self.api_client.get( + '/encoding/encodings/{encoding_id}/muxings/cmaf/{muxing_id}/drm/primetime/{drm_id}/customData', + path_params={'encoding_id': encoding_id, 'muxing_id': muxing_id, 'drm_id': drm_id}, + type=CustomData, + **kwargs + ) diff --git a/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/primetime/prime_time_drm_list_query_params.py b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/primetime/prime_time_drm_list_query_params.py new file mode 100644 index 000000000..43edef57f --- /dev/null +++ b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/primetime/prime_time_drm_list_query_params.py @@ -0,0 +1,25 @@ +class PrimeTimeDrmListQueryParams(object): + def __init__(self, offset=None, limit=None): + # type: (int, int) -> None + super(PrimeTimeDrmListQueryParams, self).__init__() + + self.offset = offset + self.limit = limit + + @property + def openapi_types(self): + types = { + 'offset': 'int', + 'limit': 'int' + } + + return types + + @property + def attribute_map(self): + attributes = { + 'offset': 'offset', + 'limit': 'limit' + } + + return attributes diff --git a/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/primetime/primetime_api.py b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/primetime/primetime_api.py new file mode 100644 index 000000000..731dd0972 --- /dev/null +++ b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/primetime/primetime_api.py @@ -0,0 +1,119 @@ +# coding: utf-8 + +from __future__ import absolute_import + +from bitmovin_api_sdk.common import BaseApi, BitmovinApiLoggerBase +from bitmovin_api_sdk.common.poscheck import poscheck_except +from bitmovin_api_sdk.models.bitmovin_response import BitmovinResponse +from bitmovin_api_sdk.models.prime_time_drm import PrimeTimeDrm +from bitmovin_api_sdk.models.response_envelope import ResponseEnvelope +from bitmovin_api_sdk.models.response_error import ResponseError +from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.drm.primetime.customdata.customdata_api import CustomdataApi +from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.drm.primetime.prime_time_drm_list_query_params import PrimeTimeDrmListQueryParams + + +class PrimetimeApi(BaseApi): + @poscheck_except(2) + def __init__(self, api_key, tenant_org_id=None, base_url=None, logger=None): + # type: (str, str, str, BitmovinApiLoggerBase) -> None + + super(PrimetimeApi, self).__init__( + api_key=api_key, + tenant_org_id=tenant_org_id, + base_url=base_url, + logger=logger + ) + + self.customdata = CustomdataApi( + api_key=api_key, + tenant_org_id=tenant_org_id, + base_url=base_url, + logger=logger + ) + + def create(self, encoding_id, muxing_id, prime_time_drm, **kwargs): + # type: (string_types, string_types, PrimeTimeDrm, dict) -> PrimeTimeDrm + """Add PrimeTime DRM to an CMAF muxing + + :param encoding_id: Id of the encoding. + :type encoding_id: string_types, required + :param muxing_id: Id of the CMAF muxing. + :type muxing_id: string_types, required + :param prime_time_drm: The PrimeTime DRM to be created + :type prime_time_drm: PrimeTimeDrm, required + :return: PrimeTime details + :rtype: PrimeTimeDrm + """ + + return self.api_client.post( + '/encoding/encodings/{encoding_id}/muxings/cmaf/{muxing_id}/drm/primetime', + prime_time_drm, + path_params={'encoding_id': encoding_id, 'muxing_id': muxing_id}, + type=PrimeTimeDrm, + **kwargs + ) + + def delete(self, encoding_id, muxing_id, drm_id, **kwargs): + # type: (string_types, string_types, string_types, dict) -> BitmovinResponse + """Delete PrimeTime DRM from an CMAF muxing + + :param encoding_id: Id of the encoding. + :type encoding_id: string_types, required + :param muxing_id: Id of the CMAF muxing + :type muxing_id: string_types, required + :param drm_id: Id of the PrimeTime DRM configuration. + :type drm_id: string_types, required + :return: Id of the PrimeTime DRM configuration. + :rtype: BitmovinResponse + """ + + return self.api_client.delete( + '/encoding/encodings/{encoding_id}/muxings/cmaf/{muxing_id}/drm/primetime/{drm_id}', + path_params={'encoding_id': encoding_id, 'muxing_id': muxing_id, 'drm_id': drm_id}, + type=BitmovinResponse, + **kwargs + ) + + def get(self, encoding_id, muxing_id, drm_id, **kwargs): + # type: (string_types, string_types, string_types, dict) -> PrimeTimeDrm + """PrimeTime DRM Details of an CMAF muxing + + :param encoding_id: Id of the encoding. + :type encoding_id: string_types, required + :param muxing_id: Id of the CMAF muxing + :type muxing_id: string_types, required + :param drm_id: Id of the PrimeTime DRM configuration. + :type drm_id: string_types, required + :return: PrimeTime details + :rtype: PrimeTimeDrm + """ + + return self.api_client.get( + '/encoding/encodings/{encoding_id}/muxings/cmaf/{muxing_id}/drm/primetime/{drm_id}', + path_params={'encoding_id': encoding_id, 'muxing_id': muxing_id, 'drm_id': drm_id}, + type=PrimeTimeDrm, + **kwargs + ) + + def list(self, encoding_id, muxing_id, query_params=None, **kwargs): + # type: (string_types, string_types, PrimeTimeDrmListQueryParams, dict) -> PrimeTimeDrm + """List PrimeTime DRMs of an CMAF muxing + + :param encoding_id: Id of the encoding. + :type encoding_id: string_types, required + :param muxing_id: Id of the CMAF muxing + :type muxing_id: string_types, required + :param query_params: Query parameters + :type query_params: PrimeTimeDrmListQueryParams + :return: List of PrimeTime DRM configurations + :rtype: PrimeTimeDrm + """ + + return self.api_client.get( + '/encoding/encodings/{encoding_id}/muxings/cmaf/{muxing_id}/drm/primetime', + path_params={'encoding_id': encoding_id, 'muxing_id': muxing_id}, + query_params=query_params, + pagination_response=True, + type=PrimeTimeDrm, + **kwargs + ) diff --git a/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/speke/__init__.py b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/speke/__init__.py new file mode 100644 index 000000000..cd629bd64 --- /dev/null +++ b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/speke/__init__.py @@ -0,0 +1,3 @@ +from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.drm.speke.speke_api import SpekeApi +from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.drm.speke.customdata.customdata_api import CustomdataApi +from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.drm.speke.speke_drm_list_query_params import SpekeDrmListQueryParams diff --git a/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/speke/customdata/__init__.py b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/speke/customdata/__init__.py new file mode 100644 index 000000000..a19615138 --- /dev/null +++ b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/speke/customdata/__init__.py @@ -0,0 +1 @@ +from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.drm.speke.customdata.customdata_api import CustomdataApi diff --git a/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/speke/customdata/customdata_api.py b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/speke/customdata/customdata_api.py new file mode 100644 index 000000000..9366f4765 --- /dev/null +++ b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/speke/customdata/customdata_api.py @@ -0,0 +1,43 @@ +# coding: utf-8 + +from __future__ import absolute_import + +from bitmovin_api_sdk.common import BaseApi, BitmovinApiLoggerBase +from bitmovin_api_sdk.common.poscheck import poscheck_except +from bitmovin_api_sdk.models.custom_data import CustomData +from bitmovin_api_sdk.models.response_envelope import ResponseEnvelope +from bitmovin_api_sdk.models.response_error import ResponseError + + +class CustomdataApi(BaseApi): + @poscheck_except(2) + def __init__(self, api_key, tenant_org_id=None, base_url=None, logger=None): + # type: (str, str, str, BitmovinApiLoggerBase) -> None + + super(CustomdataApi, self).__init__( + api_key=api_key, + tenant_org_id=tenant_org_id, + base_url=base_url, + logger=logger + ) + + def get(self, encoding_id, muxing_id, drm_id, **kwargs): + # type: (string_types, string_types, string_types, dict) -> CustomData + """SPEKE DRM Custom Data of an CMAF muxing + + :param encoding_id: Id of the encoding. + :type encoding_id: string_types, required + :param muxing_id: Id of the CMAF muxing + :type muxing_id: string_types, required + :param drm_id: Id of the SPEKE DRM. + :type drm_id: string_types, required + :return: SPEKE DRM custom data + :rtype: CustomData + """ + + return self.api_client.get( + '/encoding/encodings/{encoding_id}/muxings/cmaf/{muxing_id}/drm/speke/{drm_id}/customData', + path_params={'encoding_id': encoding_id, 'muxing_id': muxing_id, 'drm_id': drm_id}, + type=CustomData, + **kwargs + ) diff --git a/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/speke/speke_api.py b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/speke/speke_api.py new file mode 100644 index 000000000..978953c33 --- /dev/null +++ b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/speke/speke_api.py @@ -0,0 +1,119 @@ +# coding: utf-8 + +from __future__ import absolute_import + +from bitmovin_api_sdk.common import BaseApi, BitmovinApiLoggerBase +from bitmovin_api_sdk.common.poscheck import poscheck_except +from bitmovin_api_sdk.models.bitmovin_response import BitmovinResponse +from bitmovin_api_sdk.models.response_envelope import ResponseEnvelope +from bitmovin_api_sdk.models.response_error import ResponseError +from bitmovin_api_sdk.models.speke_drm import SpekeDrm +from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.drm.speke.customdata.customdata_api import CustomdataApi +from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.drm.speke.speke_drm_list_query_params import SpekeDrmListQueryParams + + +class SpekeApi(BaseApi): + @poscheck_except(2) + def __init__(self, api_key, tenant_org_id=None, base_url=None, logger=None): + # type: (str, str, str, BitmovinApiLoggerBase) -> None + + super(SpekeApi, self).__init__( + api_key=api_key, + tenant_org_id=tenant_org_id, + base_url=base_url, + logger=logger + ) + + self.customdata = CustomdataApi( + api_key=api_key, + tenant_org_id=tenant_org_id, + base_url=base_url, + logger=logger + ) + + def create(self, encoding_id, muxing_id, speke_drm, **kwargs): + # type: (string_types, string_types, SpekeDrm, dict) -> SpekeDrm + """Add SPEKE DRM key provider to CMAF + + :param encoding_id: Id of the encoding. + :type encoding_id: string_types, required + :param muxing_id: Id of the CMAF muxing + :type muxing_id: string_types, required + :param speke_drm: The SPEKE DRM key provider to be created + :type speke_drm: SpekeDrm, required + :return: SPEKE DRM key provider + :rtype: SpekeDrm + """ + + return self.api_client.post( + '/encoding/encodings/{encoding_id}/muxings/cmaf/{muxing_id}/drm/speke', + speke_drm, + path_params={'encoding_id': encoding_id, 'muxing_id': muxing_id}, + type=SpekeDrm, + **kwargs + ) + + def delete(self, encoding_id, muxing_id, drm_id, **kwargs): + # type: (string_types, string_types, string_types, dict) -> BitmovinResponse + """Delete SPEKE DRM from an CMAF muxing + + :param encoding_id: Id of the encoding. + :type encoding_id: string_types, required + :param muxing_id: Id of the CMAF muxing + :type muxing_id: string_types, required + :param drm_id: Id of the SPEKE DRM. + :type drm_id: string_types, required + :return: Id of the SPEKE DRM + :rtype: BitmovinResponse + """ + + return self.api_client.delete( + '/encoding/encodings/{encoding_id}/muxings/cmaf/{muxing_id}/drm/speke/{drm_id}', + path_params={'encoding_id': encoding_id, 'muxing_id': muxing_id, 'drm_id': drm_id}, + type=BitmovinResponse, + **kwargs + ) + + def get(self, encoding_id, muxing_id, drm_id, **kwargs): + # type: (string_types, string_types, string_types, dict) -> SpekeDrm + """SPEKE DRM Details of an CMAF muxing + + :param encoding_id: Id of the encoding. + :type encoding_id: string_types, required + :param muxing_id: Id of the CMAF muxing + :type muxing_id: string_types, required + :param drm_id: Id of the SPEKE DRM. + :type drm_id: string_types, required + :return: SPEKE DRM + :rtype: SpekeDrm + """ + + return self.api_client.get( + '/encoding/encodings/{encoding_id}/muxings/cmaf/{muxing_id}/drm/speke/{drm_id}', + path_params={'encoding_id': encoding_id, 'muxing_id': muxing_id, 'drm_id': drm_id}, + type=SpekeDrm, + **kwargs + ) + + def list(self, encoding_id, muxing_id, query_params=None, **kwargs): + # type: (string_types, string_types, SpekeDrmListQueryParams, dict) -> SpekeDrm + """List SPEKE DRM of an CMAF muxing + + :param encoding_id: Id of the encoding. + :type encoding_id: string_types, required + :param muxing_id: Id of the CMAF muxing + :type muxing_id: string_types, required + :param query_params: Query parameters + :type query_params: SpekeDrmListQueryParams + :return: List of SPEKE DRM key provider + :rtype: SpekeDrm + """ + + return self.api_client.get( + '/encoding/encodings/{encoding_id}/muxings/cmaf/{muxing_id}/drm/speke', + path_params={'encoding_id': encoding_id, 'muxing_id': muxing_id}, + query_params=query_params, + pagination_response=True, + type=SpekeDrm, + **kwargs + ) diff --git a/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/speke/speke_drm_list_query_params.py b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/speke/speke_drm_list_query_params.py new file mode 100644 index 000000000..f54adfdf0 --- /dev/null +++ b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/speke/speke_drm_list_query_params.py @@ -0,0 +1,25 @@ +class SpekeDrmListQueryParams(object): + def __init__(self, offset=None, limit=None): + # type: (string_types, string_types) -> None + super(SpekeDrmListQueryParams, self).__init__() + + self.offset = offset + self.limit = limit + + @property + def openapi_types(self): + types = { + 'offset': 'string_types', + 'limit': 'string_types' + } + + return types + + @property + def attribute_map(self): + attributes = { + 'offset': 'offset', + 'limit': 'limit' + } + + return attributes diff --git a/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/widevine/__init__.py b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/widevine/__init__.py new file mode 100644 index 000000000..1f6ba7d40 --- /dev/null +++ b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/widevine/__init__.py @@ -0,0 +1,3 @@ +from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.drm.widevine.widevine_api import WidevineApi +from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.drm.widevine.customdata.customdata_api import CustomdataApi +from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.drm.widevine.widevine_drm_list_query_params import WidevineDrmListQueryParams diff --git a/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/widevine/customdata/__init__.py b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/widevine/customdata/__init__.py new file mode 100644 index 000000000..f01c410c3 --- /dev/null +++ b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/widevine/customdata/__init__.py @@ -0,0 +1 @@ +from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.drm.widevine.customdata.customdata_api import CustomdataApi diff --git a/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/widevine/customdata/customdata_api.py b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/widevine/customdata/customdata_api.py new file mode 100644 index 000000000..b4f48baee --- /dev/null +++ b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/widevine/customdata/customdata_api.py @@ -0,0 +1,43 @@ +# coding: utf-8 + +from __future__ import absolute_import + +from bitmovin_api_sdk.common import BaseApi, BitmovinApiLoggerBase +from bitmovin_api_sdk.common.poscheck import poscheck_except +from bitmovin_api_sdk.models.custom_data import CustomData +from bitmovin_api_sdk.models.response_envelope import ResponseEnvelope +from bitmovin_api_sdk.models.response_error import ResponseError + + +class CustomdataApi(BaseApi): + @poscheck_except(2) + def __init__(self, api_key, tenant_org_id=None, base_url=None, logger=None): + # type: (str, str, str, BitmovinApiLoggerBase) -> None + + super(CustomdataApi, self).__init__( + api_key=api_key, + tenant_org_id=tenant_org_id, + base_url=base_url, + logger=logger + ) + + def get(self, encoding_id, muxing_id, drm_id, **kwargs): + # type: (string_types, string_types, string_types, dict) -> CustomData + """Widevine DRM Custom Data of an CMAF muxing + + :param encoding_id: Id of the encoding. + :type encoding_id: string_types, required + :param muxing_id: Id of the CMAF muxing. + :type muxing_id: string_types, required + :param drm_id: Id of the widevine drm. + :type drm_id: string_types, required + :return: Widevine DRM custom data + :rtype: CustomData + """ + + return self.api_client.get( + '/encoding/encodings/{encoding_id}/muxings/cmaf/{muxing_id}/drm/widevine/{drm_id}/customData', + path_params={'encoding_id': encoding_id, 'muxing_id': muxing_id, 'drm_id': drm_id}, + type=CustomData, + **kwargs + ) diff --git a/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/widevine/widevine_api.py b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/widevine/widevine_api.py new file mode 100644 index 000000000..35db86eb2 --- /dev/null +++ b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/widevine/widevine_api.py @@ -0,0 +1,119 @@ +# coding: utf-8 + +from __future__ import absolute_import + +from bitmovin_api_sdk.common import BaseApi, BitmovinApiLoggerBase +from bitmovin_api_sdk.common.poscheck import poscheck_except +from bitmovin_api_sdk.models.bitmovin_response import BitmovinResponse +from bitmovin_api_sdk.models.response_envelope import ResponseEnvelope +from bitmovin_api_sdk.models.response_error import ResponseError +from bitmovin_api_sdk.models.widevine_drm import WidevineDrm +from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.drm.widevine.customdata.customdata_api import CustomdataApi +from bitmovin_api_sdk.encoding.encodings.muxings.cmaf.drm.widevine.widevine_drm_list_query_params import WidevineDrmListQueryParams + + +class WidevineApi(BaseApi): + @poscheck_except(2) + def __init__(self, api_key, tenant_org_id=None, base_url=None, logger=None): + # type: (str, str, str, BitmovinApiLoggerBase) -> None + + super(WidevineApi, self).__init__( + api_key=api_key, + tenant_org_id=tenant_org_id, + base_url=base_url, + logger=logger + ) + + self.customdata = CustomdataApi( + api_key=api_key, + tenant_org_id=tenant_org_id, + base_url=base_url, + logger=logger + ) + + def create(self, encoding_id, muxing_id, widevine_drm, **kwargs): + # type: (string_types, string_types, WidevineDrm, dict) -> WidevineDrm + """Add Widevine DRM to an CMAF muxing + + :param encoding_id: Id of the encoding. + :type encoding_id: string_types, required + :param muxing_id: Id of the CMAF muxing. + :type muxing_id: string_types, required + :param widevine_drm: The Widevine DRM to be created + :type widevine_drm: WidevineDrm, required + :return: Widevine DRM + :rtype: WidevineDrm + """ + + return self.api_client.post( + '/encoding/encodings/{encoding_id}/muxings/cmaf/{muxing_id}/drm/widevine', + widevine_drm, + path_params={'encoding_id': encoding_id, 'muxing_id': muxing_id}, + type=WidevineDrm, + **kwargs + ) + + def delete(self, encoding_id, muxing_id, drm_id, **kwargs): + # type: (string_types, string_types, string_types, dict) -> BitmovinResponse + """Delete Widevine DRM from an CMAF muxing + + :param encoding_id: Id of the encoding. + :type encoding_id: string_types, required + :param muxing_id: Id of the CMAF muxing + :type muxing_id: string_types, required + :param drm_id: Id of the widevine drm. + :type drm_id: string_types, required + :return: Id of the Widevine DRM + :rtype: BitmovinResponse + """ + + return self.api_client.delete( + '/encoding/encodings/{encoding_id}/muxings/cmaf/{muxing_id}/drm/widevine/{drm_id}', + path_params={'encoding_id': encoding_id, 'muxing_id': muxing_id, 'drm_id': drm_id}, + type=BitmovinResponse, + **kwargs + ) + + def get(self, encoding_id, muxing_id, drm_id, **kwargs): + # type: (string_types, string_types, string_types, dict) -> WidevineDrm + """Widevine DRM Details of an CMAF muxing + + :param encoding_id: Id of the encoding. + :type encoding_id: string_types, required + :param muxing_id: Id of the CMAF muxing. + :type muxing_id: string_types, required + :param drm_id: Id of the widevine drm. + :type drm_id: string_types, required + :return: Widevine DRM + :rtype: WidevineDrm + """ + + return self.api_client.get( + '/encoding/encodings/{encoding_id}/muxings/cmaf/{muxing_id}/drm/widevine/{drm_id}', + path_params={'encoding_id': encoding_id, 'muxing_id': muxing_id, 'drm_id': drm_id}, + type=WidevineDrm, + **kwargs + ) + + def list(self, encoding_id, muxing_id, query_params=None, **kwargs): + # type: (string_types, string_types, WidevineDrmListQueryParams, dict) -> WidevineDrm + """List Widevine DRMs of an CMAF muxing + + :param encoding_id: Id of the encoding. + :type encoding_id: string_types, required + :param muxing_id: Id of the CMAF muxing + :type muxing_id: string_types, required + :param query_params: Query parameters + :type query_params: WidevineDrmListQueryParams + :return: List of Widevine DRMs + :rtype: WidevineDrm + """ + + return self.api_client.get( + '/encoding/encodings/{encoding_id}/muxings/cmaf/{muxing_id}/drm/widevine', + path_params={'encoding_id': encoding_id, 'muxing_id': muxing_id}, + query_params=query_params, + pagination_response=True, + type=WidevineDrm, + **kwargs + ) diff --git a/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/widevine/widevine_drm_list_query_params.py b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/widevine/widevine_drm_list_query_params.py new file mode 100644 index 000000000..4af0e0de8 --- /dev/null +++ b/bitmovin_api_sdk/encoding/encodings/muxings/cmaf/drm/widevine/widevine_drm_list_query_params.py @@ -0,0 +1,25 @@ +class WidevineDrmListQueryParams(object): + def __init__(self, offset=None, limit=None): + # type: (int, int) -> None + super(WidevineDrmListQueryParams, self).__init__() + + self.offset = offset + self.limit = limit + + @property + def openapi_types(self): + types = { + 'offset': 'int', + 'limit': 'int' + } + + return types + + @property + def attribute_map(self): + attributes = { + 'offset': 'offset', + 'limit': 'limit' + } + + return attributes