diff --git a/sdk/media/azure-mgmt-media/azure/mgmt/media/_azure_media_services.py b/sdk/media/azure-mgmt-media/azure/mgmt/media/_azure_media_services.py index 5a3d6fac6449..63680195b4c3 100644 --- a/sdk/media/azure-mgmt-media/azure/mgmt/media/_azure_media_services.py +++ b/sdk/media/azure-mgmt-media/azure/mgmt/media/_azure_media_services.py @@ -16,6 +16,8 @@ from .operations import AccountFiltersOperations from .operations import Operations from .operations import MediaservicesOperations +from .operations import PrivateLinkResourcesOperations +from .operations import PrivateEndpointConnectionsOperations from .operations import LocationsOperations from .operations import AssetsOperations from .operations import AssetFiltersOperations @@ -42,6 +44,10 @@ class AzureMediaServices(SDKClient): :vartype operations: azure.mgmt.media.operations.Operations :ivar mediaservices: Mediaservices operations :vartype mediaservices: azure.mgmt.media.operations.MediaservicesOperations + :ivar private_link_resources: PrivateLinkResources operations + :vartype private_link_resources: azure.mgmt.media.operations.PrivateLinkResourcesOperations + :ivar private_endpoint_connections: PrivateEndpointConnections operations + :vartype private_endpoint_connections: azure.mgmt.media.operations.PrivateEndpointConnectionsOperations :ivar locations: Locations operations :vartype locations: azure.mgmt.media.operations.LocationsOperations :ivar assets: Assets operations @@ -81,7 +87,7 @@ def __init__( super(AzureMediaServices, self).__init__(self.config.credentials, self.config) client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} - self.api_version = '2018-07-01' + self.api_version = '2020-05-01' self._serialize = Serializer(client_models) self._deserialize = Deserializer(client_models) @@ -91,6 +97,10 @@ def __init__( self._client, self.config, self._serialize, self._deserialize) self.mediaservices = MediaservicesOperations( self._client, self.config, self._serialize, self._deserialize) + self.private_link_resources = PrivateLinkResourcesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.private_endpoint_connections = PrivateEndpointConnectionsOperations( + self._client, self.config, self._serialize, self._deserialize) self.locations = LocationsOperations( self._client, self.config, self._serialize, self._deserialize) self.assets = AssetsOperations( diff --git a/sdk/media/azure-mgmt-media/azure/mgmt/media/models/__init__.py b/sdk/media/azure-mgmt-media/azure/mgmt/media/models/__init__.py index c6801c6972e1..2c1b950d4b75 100644 --- a/sdk/media/azure-mgmt-media/azure/mgmt/media/models/__init__.py +++ b/sdk/media/azure-mgmt-media/azure/mgmt/media/models/__init__.py @@ -12,6 +12,7 @@ try: from ._models_py3 import AacAudio from ._models_py3 import AbsoluteClipTime + from ._models_py3 import AccountEncryption from ._models_py3 import AccountFilter from ._models_py3 import AkamaiAccessControl from ._models_py3 import AkamaiSignatureHeaderAuthenticationKey @@ -24,6 +25,7 @@ from ._models_py3 import Audio from ._models_py3 import AudioAnalyzerPreset from ._models_py3 import AudioOverlay + from ._models_py3 import AzureEntityResource from ._models_py3 import BuiltInStandardEncoderPreset from ._models_py3 import CbcsDrmConfiguration from ._models_py3 import CencDrmConfiguration @@ -94,6 +96,7 @@ from ._models_py3 import JpgFormat from ._models_py3 import JpgImage from ._models_py3 import JpgLayer + from ._models_py3 import KeyVaultProperties from ._models_py3 import Layer from ._models_py3 import ListContainerSasInput from ._models_py3 import ListContentKeysResponse @@ -106,14 +109,18 @@ from ._models_py3 import LiveEventEndpoint from ._models_py3 import LiveEventInput from ._models_py3 import LiveEventInputAccessControl + from ._models_py3 import LiveEventInputTrackSelection + from ._models_py3 import LiveEventOutputTranscriptionTrack from ._models_py3 import LiveEventPreview from ._models_py3 import LiveEventPreviewAccessControl + from ._models_py3 import LiveEventTranscription from ._models_py3 import LiveOutput from ._models_py3 import Location + from ._models_py3 import LogSpecification from ._models_py3 import MediaService - from ._models_py3 import Metric + from ._models_py3 import MediaServiceIdentity from ._models_py3 import MetricDimension - from ._models_py3 import MetricProperties + from ._models_py3 import MetricSpecification from ._models_py3 import Mp4Format from ._models_py3 import MultiBitrateFormat from ._models_py3 import NoEncryption @@ -127,6 +134,13 @@ from ._models_py3 import PngLayer from ._models_py3 import PresentationTimeRange from ._models_py3 import Preset + from ._models_py3 import PrivateEndpoint + from ._models_py3 import PrivateEndpointConnection + from ._models_py3 import PrivateEndpointConnectionListResult + from ._models_py3 import PrivateLinkResource + from ._models_py3 import PrivateLinkResourceListResult + from ._models_py3 import PrivateLinkServiceConnectionState + from ._models_py3 import Properties from ._models_py3 import Provider from ._models_py3 import ProxyResource from ._models_py3 import Rectangle @@ -147,7 +161,6 @@ from ._models_py3 import StreamingPolicyFairPlayConfiguration from ._models_py3 import StreamingPolicyPlayReadyConfiguration from ._models_py3 import StreamingPolicyWidevineConfiguration - from ._models_py3 import SubscriptionMediaService from ._models_py3 import SyncStorageKeysInput from ._models_py3 import TrackedResource from ._models_py3 import TrackPropertyCondition @@ -155,6 +168,7 @@ from ._models_py3 import Transform from ._models_py3 import TransformOutput from ._models_py3 import TransportStreamFormat + from ._models_py3 import UtcClipTime from ._models_py3 import Video from ._models_py3 import VideoAnalyzerPreset from ._models_py3 import VideoLayer @@ -162,6 +176,7 @@ except (SyntaxError, ImportError): from ._models import AacAudio from ._models import AbsoluteClipTime + from ._models import AccountEncryption from ._models import AccountFilter from ._models import AkamaiAccessControl from ._models import AkamaiSignatureHeaderAuthenticationKey @@ -174,6 +189,7 @@ from ._models import Audio from ._models import AudioAnalyzerPreset from ._models import AudioOverlay + from ._models import AzureEntityResource from ._models import BuiltInStandardEncoderPreset from ._models import CbcsDrmConfiguration from ._models import CencDrmConfiguration @@ -244,6 +260,7 @@ from ._models import JpgFormat from ._models import JpgImage from ._models import JpgLayer + from ._models import KeyVaultProperties from ._models import Layer from ._models import ListContainerSasInput from ._models import ListContentKeysResponse @@ -256,14 +273,18 @@ from ._models import LiveEventEndpoint from ._models import LiveEventInput from ._models import LiveEventInputAccessControl + from ._models import LiveEventInputTrackSelection + from ._models import LiveEventOutputTranscriptionTrack from ._models import LiveEventPreview from ._models import LiveEventPreviewAccessControl + from ._models import LiveEventTranscription from ._models import LiveOutput from ._models import Location + from ._models import LogSpecification from ._models import MediaService - from ._models import Metric + from ._models import MediaServiceIdentity from ._models import MetricDimension - from ._models import MetricProperties + from ._models import MetricSpecification from ._models import Mp4Format from ._models import MultiBitrateFormat from ._models import NoEncryption @@ -277,6 +298,13 @@ from ._models import PngLayer from ._models import PresentationTimeRange from ._models import Preset + from ._models import PrivateEndpoint + from ._models import PrivateEndpointConnection + from ._models import PrivateEndpointConnectionListResult + from ._models import PrivateLinkResource + from ._models import PrivateLinkResourceListResult + from ._models import PrivateLinkServiceConnectionState + from ._models import Properties from ._models import Provider from ._models import ProxyResource from ._models import Rectangle @@ -297,7 +325,6 @@ from ._models import StreamingPolicyFairPlayConfiguration from ._models import StreamingPolicyPlayReadyConfiguration from ._models import StreamingPolicyWidevineConfiguration - from ._models import SubscriptionMediaService from ._models import SyncStorageKeysInput from ._models import TrackedResource from ._models import TrackPropertyCondition @@ -305,6 +332,7 @@ from ._models import Transform from ._models import TransformOutput from ._models import TransportStreamFormat + from ._models import UtcClipTime from ._models import Video from ._models import VideoAnalyzerPreset from ._models import VideoLayer @@ -321,7 +349,6 @@ from ._paged_models import StreamingEndpointPaged from ._paged_models import StreamingLocatorPaged from ._paged_models import StreamingPolicyPaged -from ._paged_models import SubscriptionMediaServicePaged from ._paged_models import TransformPaged from ._azure_media_services_enums import ( FilterTrackPropertyType, @@ -329,6 +356,11 @@ MetricUnit, MetricAggregationType, StorageAccountType, + StorageAuthentication, + AccountEncryptionKeyType, + ManagedIdentityType, + PrivateEndpointConnectionProvisioningState, + PrivateEndpointServiceConnectionStatus, AssetStorageEncryptionFormat, AssetContainerPermission, ContentKeyPolicyPlayReadyUnknownOutputPassingOption, @@ -337,8 +369,10 @@ ContentKeyPolicyRestrictionTokenType, ContentKeyPolicyFairPlayRentalAndLeaseKeyType, AacAudioProfile, - AnalysisResolution, StretchMode, + VideoSyncMode, + AnalysisResolution, + AudioAnalysisMode, DeinterlaceParity, DeinterlaceMode, Rotation, @@ -369,6 +403,7 @@ __all__ = [ 'AacAudio', 'AbsoluteClipTime', + 'AccountEncryption', 'AccountFilter', 'AkamaiAccessControl', 'AkamaiSignatureHeaderAuthenticationKey', @@ -381,6 +416,7 @@ 'Audio', 'AudioAnalyzerPreset', 'AudioOverlay', + 'AzureEntityResource', 'BuiltInStandardEncoderPreset', 'CbcsDrmConfiguration', 'CencDrmConfiguration', @@ -451,6 +487,7 @@ 'JpgFormat', 'JpgImage', 'JpgLayer', + 'KeyVaultProperties', 'Layer', 'ListContainerSasInput', 'ListContentKeysResponse', @@ -463,14 +500,18 @@ 'LiveEventEndpoint', 'LiveEventInput', 'LiveEventInputAccessControl', + 'LiveEventInputTrackSelection', + 'LiveEventOutputTranscriptionTrack', 'LiveEventPreview', 'LiveEventPreviewAccessControl', + 'LiveEventTranscription', 'LiveOutput', 'Location', + 'LogSpecification', 'MediaService', - 'Metric', + 'MediaServiceIdentity', 'MetricDimension', - 'MetricProperties', + 'MetricSpecification', 'Mp4Format', 'MultiBitrateFormat', 'NoEncryption', @@ -484,6 +525,13 @@ 'PngLayer', 'PresentationTimeRange', 'Preset', + 'PrivateEndpoint', + 'PrivateEndpointConnection', + 'PrivateEndpointConnectionListResult', + 'PrivateLinkResource', + 'PrivateLinkResourceListResult', + 'PrivateLinkServiceConnectionState', + 'Properties', 'Provider', 'ProxyResource', 'Rectangle', @@ -504,7 +552,6 @@ 'StreamingPolicyFairPlayConfiguration', 'StreamingPolicyPlayReadyConfiguration', 'StreamingPolicyWidevineConfiguration', - 'SubscriptionMediaService', 'SyncStorageKeysInput', 'TrackedResource', 'TrackPropertyCondition', @@ -512,6 +559,7 @@ 'Transform', 'TransformOutput', 'TransportStreamFormat', + 'UtcClipTime', 'Video', 'VideoAnalyzerPreset', 'VideoLayer', @@ -519,7 +567,6 @@ 'AccountFilterPaged', 'OperationPaged', 'MediaServicePaged', - 'SubscriptionMediaServicePaged', 'AssetPaged', 'AssetFilterPaged', 'ContentKeyPolicyPaged', @@ -535,6 +582,11 @@ 'MetricUnit', 'MetricAggregationType', 'StorageAccountType', + 'StorageAuthentication', + 'AccountEncryptionKeyType', + 'ManagedIdentityType', + 'PrivateEndpointConnectionProvisioningState', + 'PrivateEndpointServiceConnectionStatus', 'AssetStorageEncryptionFormat', 'AssetContainerPermission', 'ContentKeyPolicyPlayReadyUnknownOutputPassingOption', @@ -543,8 +595,10 @@ 'ContentKeyPolicyRestrictionTokenType', 'ContentKeyPolicyFairPlayRentalAndLeaseKeyType', 'AacAudioProfile', - 'AnalysisResolution', 'StretchMode', + 'VideoSyncMode', + 'AnalysisResolution', + 'AudioAnalysisMode', 'DeinterlaceParity', 'DeinterlaceMode', 'Rotation', diff --git a/sdk/media/azure-mgmt-media/azure/mgmt/media/models/_azure_media_services_enums.py b/sdk/media/azure-mgmt-media/azure/mgmt/media/models/_azure_media_services_enums.py index 858dcb3bc4a1..e23c24eb49f1 100644 --- a/sdk/media/azure-mgmt-media/azure/mgmt/media/models/_azure_media_services_enums.py +++ b/sdk/media/azure-mgmt-media/azure/mgmt/media/models/_azure_media_services_enums.py @@ -48,6 +48,39 @@ class StorageAccountType(str, Enum): secondary = "Secondary" #: A secondary storage account for the Media Services account. +class StorageAuthentication(str, Enum): + + system = "System" #: System authentication. + managed_identity = "ManagedIdentity" #: Managed Identity authentication. + + +class AccountEncryptionKeyType(str, Enum): + + system_key = "SystemKey" #: The Account Key is encrypted with a System Key. + customer_key = "CustomerKey" #: The Account Key is encrypted with a Customer Key. + + +class ManagedIdentityType(str, Enum): + + system_assigned = "SystemAssigned" #: A system-assigned managed identity. + none = "None" #: No managed identity. + + +class PrivateEndpointConnectionProvisioningState(str, Enum): + + succeeded = "Succeeded" + creating = "Creating" + deleting = "Deleting" + failed = "Failed" + + +class PrivateEndpointServiceConnectionStatus(str, Enum): + + pending = "Pending" + approved = "Approved" + rejected = "Rejected" + + class AssetStorageEncryptionFormat(str, Enum): none = "None" #: The Asset does not use client-side storage encryption (this is the only allowed value for new Assets). @@ -107,17 +140,31 @@ class AacAudioProfile(str, Enum): he_aac_v2 = "HeAacV2" #: Specifies that the output audio is to be encoded into HE-AAC v2 profile. +class StretchMode(str, Enum): + + none = "None" #: Strictly respect the output resolution without considering the pixel aspect ratio or display aspect ratio of the input video. + auto_size = "AutoSize" #: Override the output resolution, and change it to match the display aspect ratio of the input, without padding. For example, if the input is 1920x1080 and the encoding preset asks for 1280x1280, then the value in the preset is overridden, and the output will be at 1280x720, which maintains the input aspect ratio of 16:9. + auto_fit = "AutoFit" #: Pad the output (with either letterbox or pillar box) to honor the output resolution, while ensuring that the active video region in the output has the same aspect ratio as the input. For example, if the input is 1920x1080 and the encoding preset asks for 1280x1280, then the output will be at 1280x1280, which contains an inner rectangle of 1280x720 at aspect ratio of 16:9, and pillar box regions 280 pixels wide at the left and right. + + +class VideoSyncMode(str, Enum): + + auto = "Auto" #: This is the default method. Chooses between Cfr and Vfr depending on muxer capabilities. For output format MP4, the default mode is Cfr. + passthrough = "Passthrough" #: The presentation timestamps on frames are passed through from the input file to the output file writer. Recommended when the input source has variable frame rate, and are attempting to produce multiple layers for adaptive streaming in the output which have aligned GOP boundaries. Note: if two or more frames in the input have duplicate timestamps, then the output will also have the same behavior + cfr = "Cfr" #: Input frames will be repeated and/or dropped as needed to achieve exactly the requested constant frame rate. Recommended when the output frame rate is explicitly set at a specified value + vfr = "Vfr" #: Similar to the Passthrough mode, but if the input has frames that have duplicate timestamps, then only one frame is passed through to the output, and others are dropped. Recommended when the number of output frames is expected to be equal to the number of input frames. For example, the output is used to calculate a quality metric like PSNR against the input + + class AnalysisResolution(str, Enum): source_resolution = "SourceResolution" standard_definition = "StandardDefinition" -class StretchMode(str, Enum): +class AudioAnalysisMode(str, Enum): - none = "None" #: Strictly respect the output resolution without considering the pixel aspect ratio or display aspect ratio of the input video. - auto_size = "AutoSize" #: Override the output resolution, and change it to match the display aspect ratio of the input, without padding. For example, if the input is 1920x1080 and the encoding preset asks for 1280x1280, then the value in the preset is overridden, and the output will be at 1280x720, which maintains the input aspect ratio of 16:9. - auto_fit = "AutoFit" #: Pad the output (with either letterbox or pillar box) to honor the output resolution, while ensuring that the active video region in the output has the same aspect ratio as the input. For example, if the input is 1920x1080 and the encoding preset asks for 1280x1280, then the output will be at 1280x1280, which contains an inner rectangle of 1280x720 at aspect ratio of 16:9, and pillar box regions 280 pixels wide at the left and right. + standard = "Standard" #: Performs all operations included in the Basic mode, additionally performing language detection and speaker diarization. + basic = "Basic" #: This mode performs speech-to-text transcription and generation of a VTT subtitle/caption file. The output of this mode includes an Insights JSON file including only the keywords, transcription,and timing information. Automatic language detection and speaker diarization are not included in this mode. class DeinterlaceParity(str, Enum): @@ -168,16 +215,17 @@ class H264Complexity(str, Enum): class EncoderNamedPreset(str, Enum): - h264_single_bitrate_sd = "H264SingleBitrateSD" #: Produces an MP4 file where the video is encoded with H.264 codec at 2200 kbps and a picture height of 480 pixels, and the stereo audio is encoded with AAC-LC codec at 64 kbps. - h264_single_bitrate720p = "H264SingleBitrate720p" #: Produces an MP4 file where the video is encoded with H.264 codec at 4500 kbps and a picture height of 720 pixels, and the stereo audio is encoded with AAC-LC codec at 64 kbps. - h264_single_bitrate1080p = "H264SingleBitrate1080p" #: Produces an MP4 file where the video is encoded with H.264 codec at 6750 kbps and a picture height of 1080 pixels, and the stereo audio is encoded with AAC-LC codec at 64 kbps. - adaptive_streaming = "AdaptiveStreaming" #: Produces a set of GOP aligned MP4 files with H.264 video and stereo AAC audio. Auto-generates a bitrate ladder based on the input resolution and bitrate. The auto-generated preset will never exceed the input resolution and bitrate. For example, if the input is 720p at 3 Mbps, output will remain 720p at best, and will start at rates lower than 3 Mbps. The output will have video and audio in separate MP4 files, which is optimal for adaptive streaming. + h264_single_bitrate_sd = "H264SingleBitrateSD" #: Produces an MP4 file where the video is encoded with H.264 codec at 2200 kbps and a picture height of 480 pixels, and the stereo audio is encoded with AAC-LC codec at 128 kbps. + h264_single_bitrate720p = "H264SingleBitrate720p" #: Produces an MP4 file where the video is encoded with H.264 codec at 4500 kbps and a picture height of 720 pixels, and the stereo audio is encoded with AAC-LC codec at 128 kbps. + h264_single_bitrate1080p = "H264SingleBitrate1080p" #: Produces an MP4 file where the video is encoded with H.264 codec at 6750 kbps and a picture height of 1080 pixels, and the stereo audio is encoded with AAC-LC codec at 128 kbps. + adaptive_streaming = "AdaptiveStreaming" #: Produces a set of GOP aligned MP4 files with H.264 video and stereo AAC audio. Auto-generates a bitrate ladder based on the input resolution, bitrate and frame rate. The auto-generated preset will never exceed the input resolution. For example, if the input is 720p, output will remain 720p at best. aac_good_quality_audio = "AACGoodQualityAudio" #: Produces a single MP4 file containing only stereo audio encoded at 192 kbps. content_aware_encoding_experimental = "ContentAwareEncodingExperimental" #: Exposes an experimental preset for content-aware encoding. Given any input content, the service attempts to automatically determine the optimal number of layers, appropriate bitrate and resolution settings for delivery by adaptive streaming. The underlying algorithms will continue to evolve over time. The output will contain MP4 files with video and audio interleaved. content_aware_encoding = "ContentAwareEncoding" #: Produces a set of GOP-aligned MP4s by using content-aware encoding. Given any input content, the service performs an initial lightweight analysis of the input content, and uses the results to determine the optimal number of layers, appropriate bitrate and resolution settings for delivery by adaptive streaming. This preset is particularly effective for low and medium complexity videos, where the output files will be at lower bitrates but at a quality that still delivers a good experience to viewers. The output will contain MP4 files with video and audio interleaved. - h264_multiple_bitrate1080p = "H264MultipleBitrate1080p" #: Produces a set of 8 GOP-aligned MP4 files, ranging from 6000 kbps to 400 kbps, and stereo AAC audio. Resolution starts at 1080p and goes down to 360p. - h264_multiple_bitrate720p = "H264MultipleBitrate720p" #: Produces a set of 6 GOP-aligned MP4 files, ranging from 3400 kbps to 400 kbps, and stereo AAC audio. Resolution starts at 720p and goes down to 360p. - h264_multiple_bitrate_sd = "H264MultipleBitrateSD" #: Produces a set of 5 GOP-aligned MP4 files, ranging from 1600kbps to 400 kbps, and stereo AAC audio. Resolution starts at 480p and goes down to 360p. + copy_all_bitrate_non_interleaved = "CopyAllBitrateNonInterleaved" #: Copy all video and audio streams from the input asset as non-interleaved video and audio output files. This preset can be used to clip an existing asset or convert a group of key frame (GOP) aligned MP4 files as an asset that can be streamed. + h264_multiple_bitrate1080p = "H264MultipleBitrate1080p" #: Produces a set of 8 GOP-aligned MP4 files, ranging from 6000 kbps to 400 kbps, and stereo AAC audio. Resolution starts at 1080p and goes down to 180p. + h264_multiple_bitrate720p = "H264MultipleBitrate720p" #: Produces a set of 6 GOP-aligned MP4 files, ranging from 3400 kbps to 400 kbps, and stereo AAC audio. Resolution starts at 720p and goes down to 180p. + h264_multiple_bitrate_sd = "H264MultipleBitrateSD" #: Produces a set of 5 GOP-aligned MP4 files, ranging from 1900kbps to 400 kbps, and stereo AAC audio. Resolution starts at 480p and goes down to 240p. class InsightsType(str, Enum): @@ -276,45 +324,46 @@ class EncryptionScheme(str, Enum): class LiveOutputResourceState(str, Enum): - creating = "Creating" - running = "Running" - deleting = "Deleting" + creating = "Creating" #: Live output is being created. No content is archived in the asset until the live output is in running state. + running = "Running" #: Live output is running and archiving live streaming content to the asset if there is valid input from a contribution encoder. + deleting = "Deleting" #: Live output is being deleted. The live asset is being converted from live to on-demand asset. Any streaming URLs created on the live output asset continue to work. class LiveEventInputProtocol(str, Enum): - fragmented_mp4 = "FragmentedMP4" - rtmp = "RTMP" + fragmented_mp4 = "FragmentedMP4" #: Smooth Streaming input will be sent by the contribution encoder to the live event. + rtmp = "RTMP" #: RTMP input will be sent by the contribution encoder to the live event. class LiveEventEncodingType(str, Enum): - none = "None" - basic = "Basic" - standard = "Standard" - premium1080p = "Premium1080p" + none = "None" #: A contribution live encoder sends a multiple bitrate stream. The ingested stream passes through the live event without any further processing. It is also called the pass-through mode. + standard = "Standard" #: A contribution live encoder sends a single bitrate stream to the live event and Media Services creates multiple bitrate streams. The output cannot exceed 720p in resolution. + premium1080p = "Premium1080p" #: A contribution live encoder sends a single bitrate stream to the live event and Media Services creates multiple bitrate streams. The output cannot exceed 1080p in resolution. class LiveEventResourceState(str, Enum): - stopped = "Stopped" - starting = "Starting" - running = "Running" - stopping = "Stopping" - deleting = "Deleting" + stopped = "Stopped" #: This is the initial state of the live event after creation (unless autostart was set to true.) No billing occurs in this state. In this state, the live event properties can be updated but streaming is not allowed. + allocating = "Allocating" #: Allocate action was called on the live event and resources are being provisioned for this live event. Once allocation completes successfully, the live event will transition to StandBy state. + stand_by = "StandBy" #: Live event resources have been provisioned and is ready to start. Billing occurs in this state. Most properties can still be updated, however ingest or streaming is not allowed during this state. + starting = "Starting" #: The live event is being started and resources are being allocated. No billing occurs in this state. Updates or streaming are not allowed during this state. If an error occurs, the live event returns to the Stopped state. + running = "Running" #: The live event resources have been allocated, ingest and preview URLs have been generated, and it is capable of receiving live streams. At this point, billing is active. You must explicitly call Stop on the live event resource to halt further billing. + stopping = "Stopping" #: The live event is being stopped and resources are being de-provisioned. No billing occurs in this transient state. Updates or streaming are not allowed during this state. + deleting = "Deleting" #: The live event is being deleted. No billing occurs in this transient state. Updates or streaming are not allowed during this state. class StreamOptionsFlag(str, Enum): - default = "Default" - low_latency = "LowLatency" + default = "Default" #: Live streaming with no special latency optimizations. + low_latency = "LowLatency" #: The live event provides lower end to end latency by reducing its internal buffers. This could result in more client buffering during playback if network bandwidth is low. class StreamingEndpointResourceState(str, Enum): - stopped = "Stopped" - starting = "Starting" - running = "Running" - stopping = "Stopping" - deleting = "Deleting" - scaling = "Scaling" + stopped = "Stopped" #: The initial state of a streaming endpoint after creation. Content is not ready to be streamed from this endpoint. + starting = "Starting" #: The streaming endpoint is transitioning to the running state. + running = "Running" #: The streaming endpoint is running. It is able to stream content to clients + stopping = "Stopping" #: The streaming endpoint is transitioning to the stopped state. + deleting = "Deleting" #: The streaming endpoint is being deleted. + scaling = "Scaling" #: The streaming endpoint is increasing or decreasing scale units. diff --git a/sdk/media/azure-mgmt-media/azure/mgmt/media/models/_models.py b/sdk/media/azure-mgmt-media/azure/mgmt/media/models/_models.py index 7f9aeb3e0475..b8196a080a79 100644 --- a/sdk/media/azure-mgmt-media/azure/mgmt/media/models/_models.py +++ b/sdk/media/azure-mgmt-media/azure/mgmt/media/models/_models.py @@ -17,7 +17,7 @@ class Codec(Model): """Describes the basic properties of all codecs. You probably want to use the sub-classes and not this class directly. Known - sub-classes are: Audio, CopyVideo, Video, CopyAudio + sub-classes are: Audio, Video, CopyVideo, CopyAudio All required parameters must be populated in order to send to Azure. @@ -38,7 +38,7 @@ class Codec(Model): } _subtype_map = { - 'odatatype': {'#Microsoft.Media.Audio': 'Audio', '#Microsoft.Media.CopyVideo': 'CopyVideo', '#Microsoft.Media.Video': 'Video', '#Microsoft.Media.CopyAudio': 'CopyAudio'} + 'odatatype': {'#Microsoft.Media.Audio': 'Audio', '#Microsoft.Media.Video': 'Video', '#Microsoft.Media.CopyVideo': 'CopyVideo', '#Microsoft.Media.CopyAudio': 'CopyAudio'} } def __init__(self, **kwargs): @@ -139,7 +139,7 @@ class ClipTime(Model): specify the time position in the media. You probably want to use the sub-classes and not this class directly. Known - sub-classes are: AbsoluteClipTime + sub-classes are: AbsoluteClipTime, UtcClipTime All required parameters must be populated in order to send to Azure. @@ -156,7 +156,7 @@ class ClipTime(Model): } _subtype_map = { - 'odatatype': {'#Microsoft.Media.AbsoluteClipTime': 'AbsoluteClipTime'} + 'odatatype': {'#Microsoft.Media.AbsoluteClipTime': 'AbsoluteClipTime', '#Microsoft.Media.UtcClipTime': 'UtcClipTime'} } def __init__(self, **kwargs): @@ -195,17 +195,47 @@ def __init__(self, **kwargs): self.odatatype = '#Microsoft.Media.AbsoluteClipTime' +class AccountEncryption(Model): + """AccountEncryption. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. The type of key used to encrypt the Account Key. + Possible values include: 'SystemKey', 'CustomerKey' + :type type: str or ~azure.mgmt.media.models.AccountEncryptionKeyType + :param key_vault_properties: The properties of the key used to encrypt the + account. + :type key_vault_properties: ~azure.mgmt.media.models.KeyVaultProperties + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'key_vault_properties': {'key': 'keyVaultProperties', 'type': 'KeyVaultProperties'}, + } + + def __init__(self, **kwargs): + super(AccountEncryption, self).__init__(**kwargs) + self.type = kwargs.get('type', None) + self.key_vault_properties = kwargs.get('key_vault_properties', None) + + class Resource(Model): - """The core properties of ARM resources. + """Resource. Variables are only populated by the server, and will be ignored when sending a request. - :ivar id: Fully qualified resource ID for the resource. + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} :vartype id: str - :ivar name: The name of the resource. + :ivar name: The name of the resource :vartype name: str - :ivar type: The type of the resource. + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. :vartype type: str """ @@ -229,16 +259,19 @@ def __init__(self, **kwargs): class ProxyResource(Resource): - """The resource model definition for a ARM proxy resource. + """The resource model definition for a ARM proxy resource. It will have + everything other than required location and tags. Variables are only populated by the server, and will be ignored when sending a request. - :ivar id: Fully qualified resource ID for the resource. + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} :vartype id: str - :ivar name: The name of the resource. + :ivar name: The name of the resource :vartype name: str - :ivar type: The type of the resource. + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. :vartype type: str """ @@ -264,11 +297,13 @@ class AccountFilter(ProxyResource): Variables are only populated by the server, and will be ignored when sending a request. - :ivar id: Fully qualified resource ID for the resource. + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} :vartype id: str - :ivar name: The name of the resource. + :ivar name: The name of the resource :vartype name: str - :ivar type: The type of the resource. + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. :vartype type: str :param presentation_time_range: The presentation time range. :type presentation_time_range: @@ -346,7 +381,7 @@ def __init__(self, **kwargs): class ApiError(Model): """The API error. - :param error: ApiError. The error properties. + :param error: The error properties. :type error: ~azure.mgmt.media.models.ODataError """ @@ -377,11 +412,13 @@ class Asset(ProxyResource): Variables are only populated by the server, and will be ignored when sending a request. - :ivar id: Fully qualified resource ID for the resource. + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} :vartype id: str - :ivar name: The name of the resource. + :ivar name: The name of the resource :vartype name: str - :ivar type: The type of the resource. + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. :vartype type: str :ivar asset_id: The Asset ID. :vartype asset_id: str @@ -492,11 +529,13 @@ class AssetFilter(ProxyResource): Variables are only populated by the server, and will be ignored when sending a request. - :ivar id: Fully qualified resource ID for the resource. + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} :vartype id: str - :ivar name: The name of the resource. + :ivar name: The name of the resource :vartype name: str - :ivar type: The type of the resource. + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. :vartype type: str :param presentation_time_range: The presentation time range. :type presentation_time_range: @@ -635,16 +674,21 @@ class AudioAnalyzerPreset(Preset): :param audio_language: The language for the audio payload in the input using the BCP-47 format of 'language tag-region' (e.g: 'en-US'). If you know the language of your content, it is recommended that you specify it. - If the language isn't specified or set to null, automatic language - detection will choose the first language detected and process with the - selected language for the duration of the file. It does not currently - support dynamically switching between languages after the first language - is detected. The automatic detection works best with audio recordings with - clearly discernable speech. If automatic detection fails to find the - language, transcription would fallback to 'en-US'." The list of supported - languages is available here: - https://go.microsoft.com/fwlink/?linkid=2109463 + The language must be specified explicitly for AudioAnalysisMode::Basic, + since automatic language detection is not included in basic mode. If the + language isn't specified or set to null, automatic language detection will + choose the first language detected and process with the selected language + for the duration of the file. It does not currently support dynamically + switching between languages after the first language is detected. The + automatic detection works best with audio recordings with clearly + discernable speech. If automatic detection fails to find the language, + transcription would fallback to 'en-US'." The list of supported languages + is available here: https://go.microsoft.com/fwlink/?linkid=2109463 :type audio_language: str + :param mode: Determines the set of audio analysis operations to be + performed. If unspecified, the Standard AudioAnalysisMode would be chosen. + Possible values include: 'Standard', 'Basic' + :type mode: str or ~azure.mgmt.media.models.AudioAnalysisMode :param experimental_options: Dictionary containing key value pairs for parameters not exposed in the preset itself :type experimental_options: dict[str, str] @@ -657,6 +701,7 @@ class AudioAnalyzerPreset(Preset): _attribute_map = { 'odatatype': {'key': '@odata\\.type', 'type': 'str'}, 'audio_language': {'key': 'audioLanguage', 'type': 'str'}, + 'mode': {'key': 'mode', 'type': 'str'}, 'experimental_options': {'key': 'experimentalOptions', 'type': '{str}'}, } @@ -667,6 +712,7 @@ class AudioAnalyzerPreset(Preset): def __init__(self, **kwargs): super(AudioAnalyzerPreset, self).__init__(**kwargs) self.audio_language = kwargs.get('audio_language', None) + self.mode = kwargs.get('mode', None) self.experimental_options = kwargs.get('experimental_options', None) self.odatatype = '#Microsoft.Media.AudioAnalyzerPreset' @@ -687,15 +733,16 @@ class Overlay(Model): :type input_label: str :param start: The start position, with reference to the input video, at which the overlay starts. The value should be in ISO 8601 format. For - example, PT05S to start the overlay at 5 seconds in to the input video. If + example, PT05S to start the overlay at 5 seconds into the input video. If not specified the overlay starts from the beginning of the input video. :type start: timedelta - :param end: The position in the input video at which the overlay ends. The - value should be in ISO 8601 duration format. For example, PT30S to end the - overlay at 30 seconds in to the input video. If not specified the overlay - will be applied until the end of the input video if inputLoop is true. - Else, if inputLoop is false, then overlay will last as long as the - duration of the overlay media. + :param end: The end position, with reference to the input video, at which + the overlay ends. The value should be in ISO 8601 format. For example, + PT30S to end the overlay at 30 seconds into the input video. If not + specified or the value is greater than the input video duration, the + overlay will be applied until the end of the input video if the overlay + media duration is greater than the input video duration, else the overlay + will last as long as the overlay media duration. :type end: timedelta :param fade_in_duration: The duration over which the overlay fades in onto the input video. The value should be in ISO 8601 duration format. If not @@ -755,15 +802,16 @@ class AudioOverlay(Overlay): :type input_label: str :param start: The start position, with reference to the input video, at which the overlay starts. The value should be in ISO 8601 format. For - example, PT05S to start the overlay at 5 seconds in to the input video. If + example, PT05S to start the overlay at 5 seconds into the input video. If not specified the overlay starts from the beginning of the input video. :type start: timedelta - :param end: The position in the input video at which the overlay ends. The - value should be in ISO 8601 duration format. For example, PT30S to end the - overlay at 30 seconds in to the input video. If not specified the overlay - will be applied until the end of the input video if inputLoop is true. - Else, if inputLoop is false, then overlay will last as long as the - duration of the overlay media. + :param end: The end position, with reference to the input video, at which + the overlay ends. The value should be in ISO 8601 format. For example, + PT30S to end the overlay at 30 seconds into the input video. If not + specified or the value is greater than the input video duration, the + overlay will be applied until the end of the input video if the overlay + media duration is greater than the input video duration, else the overlay + will last as long as the overlay media duration. :type end: timedelta :param fade_in_duration: The duration over which the overlay fades in onto the input video. The value should be in ISO 8601 duration format. If not @@ -800,6 +848,44 @@ def __init__(self, **kwargs): self.odatatype = '#Microsoft.Media.AudioOverlay' +class AzureEntityResource(Resource): + """The resource model definition for a Azure Resource Manager resource with an + etag. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :ivar etag: Resource Etag. + :vartype etag: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AzureEntityResource, self).__init__(**kwargs) + self.etag = None + + class BuiltInStandardEncoderPreset(Preset): """Describes a built-in preset for encoding the input video with the Standard Encoder. @@ -812,8 +898,9 @@ class BuiltInStandardEncoderPreset(Preset): videos. Possible values include: 'H264SingleBitrateSD', 'H264SingleBitrate720p', 'H264SingleBitrate1080p', 'AdaptiveStreaming', 'AACGoodQualityAudio', 'ContentAwareEncodingExperimental', - 'ContentAwareEncoding', 'H264MultipleBitrate1080p', - 'H264MultipleBitrate720p', 'H264MultipleBitrateSD' + 'ContentAwareEncoding', 'CopyAllBitrateNonInterleaved', + 'H264MultipleBitrate1080p', 'H264MultipleBitrate720p', + 'H264MultipleBitrateSD' :type preset_name: str or ~azure.mgmt.media.models.EncoderNamedPreset """ @@ -980,11 +1067,13 @@ class ContentKeyPolicy(ProxyResource): All required parameters must be populated in order to send to Azure. - :ivar id: Fully qualified resource ID for the resource. + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} :vartype id: str - :ivar name: The name of the resource. + :ivar name: The name of the resource :vartype name: str - :ivar type: The type of the resource. + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. :vartype type: str :ivar policy_id: The legacy Policy ID. :vartype policy_id: str @@ -2351,12 +2440,17 @@ class Format(Model): :param filename_pattern: Required. The pattern of the file names for the generated output files. The following macros are supported in the file - name: {Basename} - The base name of the input video {Extension} - The - appropriate extension for this format. {Label} - The label assigned to the - codec/layer. {Index} - A unique index for thumbnails. Only applicable to - thumbnails. {Bitrate} - The audio/video bitrate. Not applicable to - thumbnails. {Codec} - The type of the audio/video codec. Any unsubstituted - macros will be collapsed and removed from the filename. + name: {Basename} - An expansion macro that will use the name of the input + video file. If the base name(the file suffix is not included) of the input + video file is less than 32 characters long, the base name of input video + files will be used. If the length of base name of the input video file + exceeds 32 characters, the base name is truncated to the first 32 + characters in total length. {Extension} - The appropriate extension for + this format. {Label} - The label assigned to the codec/layer. {Index} - A + unique index for thumbnails. Only applicable to thumbnails. {Bitrate} - + The audio/video bitrate. Not applicable to thumbnails. {Codec} - The type + of the audio/video codec. Any unsubstituted macros will be collapsed and + removed from the filename. :type filename_pattern: str :param odatatype: Required. Constant filled by server. :type odatatype: str @@ -2633,15 +2727,19 @@ class Video(Codec): :type label: str :param odatatype: Required. Constant filled by server. :type odatatype: str - :param key_frame_interval: The distance between two key frames, thereby - defining a group of pictures (GOP). The value should be a non-zero integer - in the range [1, 30] seconds, specified in ISO 8601 format. The default is - 2 seconds (PT2S). + :param key_frame_interval: The distance between two key frames. The value + should be non-zero in the range [0.5, 20] seconds, specified in ISO 8601 + format. The default is 2 seconds(PT2S). Note that this setting is ignored + if VideoSyncMode.Passthrough is set, where the KeyFrameInterval value will + follow the input source setting. :type key_frame_interval: timedelta :param stretch_mode: The resizing mode - how the input video will be resized to fit the desired output resolution(s). Default is AutoSize. Possible values include: 'None', 'AutoSize', 'AutoFit' :type stretch_mode: str or ~azure.mgmt.media.models.StretchMode + :param sync_mode: The Video Sync Mode. Possible values include: 'Auto', + 'Passthrough', 'Cfr', 'Vfr' + :type sync_mode: str or ~azure.mgmt.media.models.VideoSyncMode """ _validation = { @@ -2653,6 +2751,7 @@ class Video(Codec): 'odatatype': {'key': '@odata\\.type', 'type': 'str'}, 'key_frame_interval': {'key': 'keyFrameInterval', 'type': 'duration'}, 'stretch_mode': {'key': 'stretchMode', 'type': 'str'}, + 'sync_mode': {'key': 'syncMode', 'type': 'str'}, } _subtype_map = { @@ -2663,6 +2762,7 @@ def __init__(self, **kwargs): super(Video, self).__init__(**kwargs) self.key_frame_interval = kwargs.get('key_frame_interval', None) self.stretch_mode = kwargs.get('stretch_mode', None) + self.sync_mode = kwargs.get('sync_mode', None) self.odatatype = '#Microsoft.Media.Video' @@ -2676,15 +2776,19 @@ class H264Video(Video): :type label: str :param odatatype: Required. Constant filled by server. :type odatatype: str - :param key_frame_interval: The distance between two key frames, thereby - defining a group of pictures (GOP). The value should be a non-zero integer - in the range [1, 30] seconds, specified in ISO 8601 format. The default is - 2 seconds (PT2S). + :param key_frame_interval: The distance between two key frames. The value + should be non-zero in the range [0.5, 20] seconds, specified in ISO 8601 + format. The default is 2 seconds(PT2S). Note that this setting is ignored + if VideoSyncMode.Passthrough is set, where the KeyFrameInterval value will + follow the input source setting. :type key_frame_interval: timedelta :param stretch_mode: The resizing mode - how the input video will be resized to fit the desired output resolution(s). Default is AutoSize. Possible values include: 'None', 'AutoSize', 'AutoFit' :type stretch_mode: str or ~azure.mgmt.media.models.StretchMode + :param sync_mode: The Video Sync Mode. Possible values include: 'Auto', + 'Passthrough', 'Cfr', 'Vfr' + :type sync_mode: str or ~azure.mgmt.media.models.VideoSyncMode :param scene_change_detection: Whether or not the encoder should insert key frames at scene changes. If not specified, the default is false. This flag should be set to true only when the encoder is being configured to @@ -2708,6 +2812,7 @@ class H264Video(Video): 'odatatype': {'key': '@odata\\.type', 'type': 'str'}, 'key_frame_interval': {'key': 'keyFrameInterval', 'type': 'duration'}, 'stretch_mode': {'key': 'stretchMode', 'type': 'str'}, + 'sync_mode': {'key': 'syncMode', 'type': 'str'}, 'scene_change_detection': {'key': 'sceneChangeDetection', 'type': 'bool'}, 'complexity': {'key': 'complexity', 'type': 'str'}, 'layers': {'key': 'layers', 'type': '[H264Layer]'}, @@ -2722,10 +2827,11 @@ def __init__(self, **kwargs): class Hls(Model): - """The HLS configuration. + """HTTP Live Streaming (HLS) packing setting for the live output. - :param fragments_per_ts_segment: The amount of fragments per HTTP Live - Streaming (HLS) segment. + :param fragments_per_ts_segment: The number of fragments in an HTTP Live + Streaming (HLS) TS segment in the output of the live event. This value + does not affect the packing ratio for HLS CMAF output. :type fragments_per_ts_segment: int """ @@ -2752,31 +2858,52 @@ class Image(Video): :type label: str :param odatatype: Required. Constant filled by server. :type odatatype: str - :param key_frame_interval: The distance between two key frames, thereby - defining a group of pictures (GOP). The value should be a non-zero integer - in the range [1, 30] seconds, specified in ISO 8601 format. The default is - 2 seconds (PT2S). + :param key_frame_interval: The distance between two key frames. The value + should be non-zero in the range [0.5, 20] seconds, specified in ISO 8601 + format. The default is 2 seconds(PT2S). Note that this setting is ignored + if VideoSyncMode.Passthrough is set, where the KeyFrameInterval value will + follow the input source setting. :type key_frame_interval: timedelta :param stretch_mode: The resizing mode - how the input video will be resized to fit the desired output resolution(s). Default is AutoSize. Possible values include: 'None', 'AutoSize', 'AutoFit' :type stretch_mode: str or ~azure.mgmt.media.models.StretchMode + :param sync_mode: The Video Sync Mode. Possible values include: 'Auto', + 'Passthrough', 'Cfr', 'Vfr' + :type sync_mode: str or ~azure.mgmt.media.models.VideoSyncMode :param start: Required. The position in the input video from where to - start generating thumbnails. The value can be in absolute timestamp (ISO - 8601, e.g: PT05S), or a frame count (For example, 10 for the 10th frame), - or a relative value (For example, 1%). Also supports a macro {Best}, which - tells the encoder to select the best thumbnail from the first few seconds - of the video. + start generating thumbnails. The value can be in ISO 8601 format (For + example, PT05S to start at 5 seconds), or a frame count (For example, 10 + to start at the 10th frame), or a relative value to stream duration (For + example, 10% to start at 10% of stream duration). Also supports a macro + {Best}, which tells the encoder to select the best thumbnail from the + first few seconds of the video and will only produce one thumbnail, no + matter what other settings are for Step and Range. The default value is + macro {Best}. :type start: str :param step: The intervals at which thumbnails are generated. The value - can be in absolute timestamp (ISO 8601, e.g: PT05S for one image every 5 - seconds), or a frame count (For example, 30 for every 30 frames), or a - relative value (For example, 1%). + can be in ISO 8601 format (For example, PT05S for one image every 5 + seconds), or a frame count (For example, 30 for one image every 30 + frames), or a relative value to stream duration (For example, 10% for one + image every 10% of stream duration). Note: Step value will affect the + first generated thumbnail, which may not be exactly the one specified at + transform preset start time. This is due to the encoder, which tries to + select the best thumbnail between start time and Step position from start + time as the first output. As the default value is 10%, it means if stream + has long duration, the first generated thumbnail might be far away from + the one specified at start time. Try to select reasonable value for Step + if the first thumbnail is expected close to start time, or set Range value + at 1 if only one thumbnail is needed at start time. :type step: str - :param range: The position in the input video at which to stop generating - thumbnails. The value can be in absolute timestamp (ISO 8601, e.g: PT5M30S - to stop at 5 minutes and 30 seconds), or a frame count (For example, 300 - to stop at the 300th frame), or a relative value (For example, 100%). + :param range: The position relative to transform preset start time in the + input video at which to stop generating thumbnails. The value can be in + ISO 8601 format (For example, PT5M30S to stop at 5 minutes and 30 seconds + from start time), or a frame count (For example, 300 to stop at the 300th + frame from the frame at start time. If this value is 1, it means only + producing one thumbnail at start time), or a relative value to the stream + duration (For example, 50% to stop at half of stream duration from start + time). The default value is 100%, which means to stop at the end of the + stream. :type range: str """ @@ -2790,6 +2917,7 @@ class Image(Video): 'odatatype': {'key': '@odata\\.type', 'type': 'str'}, 'key_frame_interval': {'key': 'keyFrameInterval', 'type': 'duration'}, 'stretch_mode': {'key': 'stretchMode', 'type': 'str'}, + 'sync_mode': {'key': 'syncMode', 'type': 'str'}, 'start': {'key': 'start', 'type': 'str'}, 'step': {'key': 'step', 'type': 'str'}, 'range': {'key': 'range', 'type': 'str'}, @@ -2817,12 +2945,17 @@ class ImageFormat(Format): :param filename_pattern: Required. The pattern of the file names for the generated output files. The following macros are supported in the file - name: {Basename} - The base name of the input video {Extension} - The - appropriate extension for this format. {Label} - The label assigned to the - codec/layer. {Index} - A unique index for thumbnails. Only applicable to - thumbnails. {Bitrate} - The audio/video bitrate. Not applicable to - thumbnails. {Codec} - The type of the audio/video codec. Any unsubstituted - macros will be collapsed and removed from the filename. + name: {Basename} - An expansion macro that will use the name of the input + video file. If the base name(the file suffix is not included) of the input + video file is less than 32 characters long, the base name of input video + files will be used. If the length of base name of the input video file + exceeds 32 characters, the base name is truncated to the first 32 + characters in total length. {Extension} - The appropriate extension for + this format. {Label} - The label assigned to the codec/layer. {Index} - A + unique index for thumbnails. Only applicable to thumbnails. {Bitrate} - + The audio/video bitrate. Not applicable to thumbnails. {Codec} - The type + of the audio/video codec. Any unsubstituted macros will be collapsed and + removed from the filename. :type filename_pattern: str :param odatatype: Required. Constant filled by server. :type odatatype: str @@ -2897,14 +3030,16 @@ class Job(ProxyResource): All required parameters must be populated in order to send to Azure. - :ivar id: Fully qualified resource ID for the resource. + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} :vartype id: str - :ivar name: The name of the resource. + :ivar name: The name of the resource :vartype name: str - :ivar type: The type of the resource. + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. :vartype type: str - :ivar created: The UTC date and time when the Job was created, in - 'YYYY-MM-DDThh:mm:ssZ' format. + :ivar created: The UTC date and time when the customer has created the + Job, in 'YYYY-MM-DDThh:mm:ssZ' format. :vartype created: datetime :ivar state: The current state of the job. Possible values include: 'Canceled', 'Canceling', 'Error', 'Finished', 'Processing', 'Queued', @@ -2914,8 +3049,8 @@ class Job(ProxyResource): :type description: str :param input: Required. The inputs for the Job. :type input: ~azure.mgmt.media.models.JobInput - :ivar last_modified: The UTC date and time when the Job was last updated, - in 'YYYY-MM-DDThh:mm:ssZ' format. + :ivar last_modified: The UTC date and time when the customer has last + updated the Job, in 'YYYY-MM-DDThh:mm:ssZ' format. :vartype last_modified: datetime :param outputs: Required. The outputs for the Job. :type outputs: list[~azure.mgmt.media.models.JobOutput] @@ -3419,12 +3554,17 @@ class JpgFormat(ImageFormat): :param filename_pattern: Required. The pattern of the file names for the generated output files. The following macros are supported in the file - name: {Basename} - The base name of the input video {Extension} - The - appropriate extension for this format. {Label} - The label assigned to the - codec/layer. {Index} - A unique index for thumbnails. Only applicable to - thumbnails. {Bitrate} - The audio/video bitrate. Not applicable to - thumbnails. {Codec} - The type of the audio/video codec. Any unsubstituted - macros will be collapsed and removed from the filename. + name: {Basename} - An expansion macro that will use the name of the input + video file. If the base name(the file suffix is not included) of the input + video file is less than 32 characters long, the base name of input video + files will be used. If the length of base name of the input video file + exceeds 32 characters, the base name is truncated to the first 32 + characters in total length. {Extension} - The appropriate extension for + this format. {Label} - The label assigned to the codec/layer. {Index} - A + unique index for thumbnails. Only applicable to thumbnails. {Bitrate} - + The audio/video bitrate. Not applicable to thumbnails. {Codec} - The type + of the audio/video codec. Any unsubstituted macros will be collapsed and + removed from the filename. :type filename_pattern: str :param odatatype: Required. Constant filled by server. :type odatatype: str @@ -3456,35 +3596,63 @@ class JpgImage(Image): :type label: str :param odatatype: Required. Constant filled by server. :type odatatype: str - :param key_frame_interval: The distance between two key frames, thereby - defining a group of pictures (GOP). The value should be a non-zero integer - in the range [1, 30] seconds, specified in ISO 8601 format. The default is - 2 seconds (PT2S). + :param key_frame_interval: The distance between two key frames. The value + should be non-zero in the range [0.5, 20] seconds, specified in ISO 8601 + format. The default is 2 seconds(PT2S). Note that this setting is ignored + if VideoSyncMode.Passthrough is set, where the KeyFrameInterval value will + follow the input source setting. :type key_frame_interval: timedelta :param stretch_mode: The resizing mode - how the input video will be resized to fit the desired output resolution(s). Default is AutoSize. Possible values include: 'None', 'AutoSize', 'AutoFit' :type stretch_mode: str or ~azure.mgmt.media.models.StretchMode + :param sync_mode: The Video Sync Mode. Possible values include: 'Auto', + 'Passthrough', 'Cfr', 'Vfr' + :type sync_mode: str or ~azure.mgmt.media.models.VideoSyncMode :param start: Required. The position in the input video from where to - start generating thumbnails. The value can be in absolute timestamp (ISO - 8601, e.g: PT05S), or a frame count (For example, 10 for the 10th frame), - or a relative value (For example, 1%). Also supports a macro {Best}, which - tells the encoder to select the best thumbnail from the first few seconds - of the video. + start generating thumbnails. The value can be in ISO 8601 format (For + example, PT05S to start at 5 seconds), or a frame count (For example, 10 + to start at the 10th frame), or a relative value to stream duration (For + example, 10% to start at 10% of stream duration). Also supports a macro + {Best}, which tells the encoder to select the best thumbnail from the + first few seconds of the video and will only produce one thumbnail, no + matter what other settings are for Step and Range. The default value is + macro {Best}. :type start: str :param step: The intervals at which thumbnails are generated. The value - can be in absolute timestamp (ISO 8601, e.g: PT05S for one image every 5 - seconds), or a frame count (For example, 30 for every 30 frames), or a - relative value (For example, 1%). + can be in ISO 8601 format (For example, PT05S for one image every 5 + seconds), or a frame count (For example, 30 for one image every 30 + frames), or a relative value to stream duration (For example, 10% for one + image every 10% of stream duration). Note: Step value will affect the + first generated thumbnail, which may not be exactly the one specified at + transform preset start time. This is due to the encoder, which tries to + select the best thumbnail between start time and Step position from start + time as the first output. As the default value is 10%, it means if stream + has long duration, the first generated thumbnail might be far away from + the one specified at start time. Try to select reasonable value for Step + if the first thumbnail is expected close to start time, or set Range value + at 1 if only one thumbnail is needed at start time. :type step: str - :param range: The position in the input video at which to stop generating - thumbnails. The value can be in absolute timestamp (ISO 8601, e.g: PT5M30S - to stop at 5 minutes and 30 seconds), or a frame count (For example, 300 - to stop at the 300th frame), or a relative value (For example, 100%). + :param range: The position relative to transform preset start time in the + input video at which to stop generating thumbnails. The value can be in + ISO 8601 format (For example, PT5M30S to stop at 5 minutes and 30 seconds + from start time), or a frame count (For example, 300 to stop at the 300th + frame from the frame at start time. If this value is 1, it means only + producing one thumbnail at start time), or a relative value to the stream + duration (For example, 50% to stop at half of stream duration from start + time). The default value is 100%, which means to stop at the end of the + stream. :type range: str :param layers: A collection of output JPEG image layers to be produced by the encoder. :type layers: list[~azure.mgmt.media.models.JpgLayer] + :param sprite_column: Sets the number of columns used in thumbnail sprite + image. The number of rows are automatically calculated and a VTT file is + generated with the coordinate mappings for each thumbnail in the sprite. + Note: this value should be a positive integer and a proper value is + recommended so that the output image resolution will not go beyond JPEG + maximum pixel resolution limit 65535x65535. + :type sprite_column: int """ _validation = { @@ -3497,15 +3665,18 @@ class JpgImage(Image): 'odatatype': {'key': '@odata\\.type', 'type': 'str'}, 'key_frame_interval': {'key': 'keyFrameInterval', 'type': 'duration'}, 'stretch_mode': {'key': 'stretchMode', 'type': 'str'}, + 'sync_mode': {'key': 'syncMode', 'type': 'str'}, 'start': {'key': 'start', 'type': 'str'}, 'step': {'key': 'step', 'type': 'str'}, 'range': {'key': 'range', 'type': 'str'}, 'layers': {'key': 'layers', 'type': '[JpgLayer]'}, + 'sprite_column': {'key': 'spriteColumn', 'type': 'int'}, } def __init__(self, **kwargs): super(JpgImage, self).__init__(**kwargs) self.layers = kwargs.get('layers', None) + self.sprite_column = kwargs.get('sprite_column', None) self.odatatype = '#Microsoft.Media.JpgImage' @@ -3551,6 +3722,37 @@ def __init__(self, **kwargs): self.odatatype = '#Microsoft.Media.JpgLayer' +class KeyVaultProperties(Model): + """KeyVaultProperties. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param key_identifier: The URL of the Key Vault key used to encrypt the + account. The key may either be versioned (for example + https://vault/keys/mykey/version1) or reference a key without a version + (for example https://vault/keys/mykey). + :type key_identifier: str + :ivar current_key_identifier: The current key used to encrypt the Media + Services account, including the key version. + :vartype current_key_identifier: str + """ + + _validation = { + 'current_key_identifier': {'readonly': True}, + } + + _attribute_map = { + 'key_identifier': {'key': 'keyIdentifier', 'type': 'str'}, + 'current_key_identifier': {'key': 'currentKeyIdentifier', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(KeyVaultProperties, self).__init__(**kwargs) + self.key_identifier = kwargs.get('key_identifier', None) + self.current_key_identifier = None + + class ListContainerSasInput(Model): """The parameters to the list SAS request. @@ -3654,20 +3856,24 @@ def __init__(self, **kwargs): class TrackedResource(Resource): - """The resource model definition for a ARM tracked resource. + """The resource model definition for a ARM tracked top level resource. Variables are only populated by the server, and will be ignored when sending a request. - :ivar id: Fully qualified resource ID for the resource. + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} :vartype id: str - :ivar name: The name of the resource. + :ivar name: The name of the resource :vartype name: str - :ivar type: The type of the resource. + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. :vartype type: str :param tags: Resource tags. :type tags: dict[str, str] - :param location: The Azure Region of the resource. + :param location: Required. The geo-location where the resource lives :type location: str """ @@ -3675,6 +3881,7 @@ class TrackedResource(Resource): 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, + 'location': {'required': True}, } _attribute_map = { @@ -3692,50 +3899,72 @@ def __init__(self, **kwargs): class LiveEvent(TrackedResource): - """The Live Event. + """The live event. Variables are only populated by the server, and will be ignored when sending a request. All required parameters must be populated in order to send to Azure. - :ivar id: Fully qualified resource ID for the resource. + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} :vartype id: str - :ivar name: The name of the resource. + :ivar name: The name of the resource :vartype name: str - :ivar type: The type of the resource. + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. :vartype type: str :param tags: Resource tags. :type tags: dict[str, str] - :param location: The Azure Region of the resource. + :param location: Required. The geo-location where the resource lives :type location: str - :param description: The Live Event description. + :param description: A description for the live event. :type description: str - :param input: Required. The Live Event input. + :param input: Required. Live event input settings. It defines how the live + event receives input from a contribution encoder. :type input: ~azure.mgmt.media.models.LiveEventInput - :param preview: The Live Event preview. + :param preview: Live event preview settings. Preview allows live event + producers to preview the live streaming content without creating any live + output. :type preview: ~azure.mgmt.media.models.LiveEventPreview - :param encoding: The Live Event encoding. + :param encoding: Encoding settings for the live event. It configures + whether a live encoder is used for the live event and settings for the + live encoder if it is used. :type encoding: ~azure.mgmt.media.models.LiveEventEncoding - :ivar provisioning_state: The provisioning state of the Live Event. + :param transcriptions: Live transcription settings for the live event. See + https://go.microsoft.com/fwlink/?linkid=2133742 for more information about + the live transcription feature. + :type transcriptions: + list[~azure.mgmt.media.models.LiveEventTranscription] + :ivar provisioning_state: The provisioning state of the live event. :vartype provisioning_state: str - :ivar resource_state: The resource state of the Live Event. Possible - values include: 'Stopped', 'Starting', 'Running', 'Stopping', 'Deleting' + :ivar resource_state: The resource state of the live event. See + https://go.microsoft.com/fwlink/?linkid=2139012 for more information. + Possible values include: 'Stopped', 'Allocating', 'StandBy', 'Starting', + 'Running', 'Stopping', 'Deleting' :vartype resource_state: str or ~azure.mgmt.media.models.LiveEventResourceState - :param cross_site_access_policies: The Live Event access policies. + :param cross_site_access_policies: Live event cross site access policies. :type cross_site_access_policies: ~azure.mgmt.media.models.CrossSiteAccessPolicies - :param vanity_url: Specifies whether to use a vanity url with the Live - Event. This value is specified at creation time and cannot be updated. - :type vanity_url: bool - :param stream_options: The options to use for the LiveEvent. This value - is specified at creation time and cannot be updated. + :param use_static_hostname: Specifies whether a static hostname would be + assigned to the live event preview and ingest endpoints. This value can + only be updated if the live event is in Standby state + :type use_static_hostname: bool + :param hostname_prefix: When useStaticHostname is set to true, the + hostnamePrefix specifies the first part of the hostname assigned to the + live event preview and ingest endpoints. The final hostname would be a + combination of this prefix, the media service account name and a short + code for the Azure Media Services data center. + :type hostname_prefix: str + :param stream_options: The options to use for the LiveEvent. This value is + specified at creation time and cannot be updated. The valid values for the + array entry values are 'Default' and 'LowLatency'. :type stream_options: list[str or ~azure.mgmt.media.models.StreamOptionsFlag] - :ivar created: The exact time the Live Event was created. + :ivar created: The creation time for the live event :vartype created: datetime - :ivar last_modified: The exact time the Live Event was last modified. + :ivar last_modified: The last modified time of the live event. :vartype last_modified: datetime """ @@ -3743,6 +3972,7 @@ class LiveEvent(TrackedResource): 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, + 'location': {'required': True}, 'input': {'required': True}, 'provisioning_state': {'readonly': True}, 'resource_state': {'readonly': True}, @@ -3760,10 +3990,12 @@ class LiveEvent(TrackedResource): 'input': {'key': 'properties.input', 'type': 'LiveEventInput'}, 'preview': {'key': 'properties.preview', 'type': 'LiveEventPreview'}, 'encoding': {'key': 'properties.encoding', 'type': 'LiveEventEncoding'}, + 'transcriptions': {'key': 'properties.transcriptions', 'type': '[LiveEventTranscription]'}, 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 'resource_state': {'key': 'properties.resourceState', 'type': 'str'}, 'cross_site_access_policies': {'key': 'properties.crossSiteAccessPolicies', 'type': 'CrossSiteAccessPolicies'}, - 'vanity_url': {'key': 'properties.vanityUrl', 'type': 'bool'}, + 'use_static_hostname': {'key': 'properties.useStaticHostname', 'type': 'bool'}, + 'hostname_prefix': {'key': 'properties.hostnamePrefix', 'type': 'str'}, 'stream_options': {'key': 'properties.streamOptions', 'type': '[str]'}, 'created': {'key': 'properties.created', 'type': 'iso-8601'}, 'last_modified': {'key': 'properties.lastModified', 'type': 'iso-8601'}, @@ -3775,10 +4007,12 @@ def __init__(self, **kwargs): self.input = kwargs.get('input', None) self.preview = kwargs.get('preview', None) self.encoding = kwargs.get('encoding', None) + self.transcriptions = kwargs.get('transcriptions', None) self.provisioning_state = None self.resource_state = None self.cross_site_access_policies = kwargs.get('cross_site_access_policies', None) - self.vanity_url = kwargs.get('vanity_url', None) + self.use_static_hostname = kwargs.get('use_static_hostname', None) + self.hostname_prefix = kwargs.get('hostname_prefix', None) self.stream_options = kwargs.get('stream_options', None) self.created = None self.last_modified = None @@ -3787,8 +4021,9 @@ def __init__(self, **kwargs): class LiveEventActionInput(Model): """The LiveEvent action input parameter definition. - :param remove_outputs_on_stop: The flag indicates if remove LiveOutputs on - Stop. + :param remove_outputs_on_stop: The flag indicates whether live outputs are + automatically deleted when live event is being stopped. Deleting live + outputs do not delete the underlying assets. :type remove_outputs_on_stop: bool """ @@ -3802,30 +4037,54 @@ def __init__(self, **kwargs): class LiveEventEncoding(Model): - """The Live Event encoding. - - :param encoding_type: The encoding type for Live Event. This value is - specified at creation time and cannot be updated. Possible values include: - 'None', 'Basic', 'Standard', 'Premium1080p' + """Specifies the live event type and optional encoding settings for encoding + live events. + + :param encoding_type: Live event type. When encodingType is set to None, + the service simply passes through the incoming video and audio layer(s) to + the output. When encodingType is set to Standard or Premium1080p, a live + encoder transcodes the incoming stream into multiple bitrates or layers. + See https://go.microsoft.com/fwlink/?linkid=2095101 for more information. + This property cannot be modified after the live event is created. Possible + values include: 'None', 'Standard', 'Premium1080p' :type encoding_type: str or ~azure.mgmt.media.models.LiveEventEncodingType - :param preset_name: The encoding preset name. This value is specified at - creation time and cannot be updated. + :param preset_name: The optional encoding preset name, used when + encodingType is not None. This value is specified at creation time and + cannot be updated. If the encodingType is set to Standard, then the + default preset name is ‘Default720p’. Else if the encodingType is set to + Premium1080p, the default preset is ‘Default1080p’. :type preset_name: str + :param stretch_mode: Specifies how the input video will be resized to fit + the desired output resolution(s). Default is None. Possible values + include: 'None', 'AutoSize', 'AutoFit' + :type stretch_mode: str or ~azure.mgmt.media.models.StretchMode + :param key_frame_interval: Use an ISO 8601 time value between 0.5 to 20 + seconds to specify the output fragment length for the video and audio + tracks of an encoding live event. For example, use PT2S to indicate 2 + seconds. For the video track it also defines the key frame interval, or + the length of a GoP (group of pictures). If this value is not set for an + encoding live event, the fragment duration defaults to 2 seconds. The + value cannot be set for pass-through live events. + :type key_frame_interval: timedelta """ _attribute_map = { 'encoding_type': {'key': 'encodingType', 'type': 'str'}, 'preset_name': {'key': 'presetName', 'type': 'str'}, + 'stretch_mode': {'key': 'stretchMode', 'type': 'str'}, + 'key_frame_interval': {'key': 'keyFrameInterval', 'type': 'duration'}, } def __init__(self, **kwargs): super(LiveEventEncoding, self).__init__(**kwargs) self.encoding_type = kwargs.get('encoding_type', None) self.preset_name = kwargs.get('preset_name', None) + self.stretch_mode = kwargs.get('stretch_mode', None) + self.key_frame_interval = kwargs.get('key_frame_interval', None) class LiveEventEndpoint(Model): - """The Live Event endpoint. + """The live event endpoint. :param protocol: The endpoint protocol. :type protocol: str @@ -3845,25 +4104,27 @@ def __init__(self, **kwargs): class LiveEventInput(Model): - """The Live Event input. + """The live event input. All required parameters must be populated in order to send to Azure. - :param streaming_protocol: Required. The streaming protocol for the Live - Event. This is specified at creation time and cannot be updated. Possible + :param streaming_protocol: Required. The input protocol for the live + event. This is specified at creation time and cannot be updated. Possible values include: 'FragmentedMP4', 'RTMP' :type streaming_protocol: str or ~azure.mgmt.media.models.LiveEventInputProtocol - :param access_control: The access control for LiveEvent Input. + :param access_control: Access control for live event input. :type access_control: ~azure.mgmt.media.models.LiveEventInputAccessControl - :param key_frame_interval_duration: ISO 8601 timespan duration of the key - frame interval duration. + :param key_frame_interval_duration: ISO 8601 time duration of the key + frame interval duration of the input. This value sets the + EXT-X-TARGETDURATION property in the HLS output. For example, use PT2S to + indicate 2 seconds. Leave the value empty for encoding live events. :type key_frame_interval_duration: str - :param access_token: A unique identifier for a stream. This can be - specified at creation time but cannot be updated. If omitted, the service - will generate a unique value. + :param access_token: A UUID in string form to uniquely identify the + stream. This can be specified at creation time but cannot be updated. If + omitted, the service will generate a unique value. :type access_token: str - :param endpoints: The input endpoints for the Live Event. + :param endpoints: The input endpoints for the live event. :type endpoints: list[~azure.mgmt.media.models.LiveEventEndpoint] """ @@ -3889,7 +4150,7 @@ def __init__(self, **kwargs): class LiveEventInputAccessControl(Model): - """The IP access control for Live Event Input. + """The IP access control for live event input. :param ip: The IP access control properties. :type ip: ~azure.mgmt.media.models.IPAccessControl @@ -3904,27 +4165,81 @@ def __init__(self, **kwargs): self.ip = kwargs.get('ip', None) +class LiveEventInputTrackSelection(Model): + """A track selection condition. This property is reserved for future use, any + value set on this property will be ignored. + + :param property: Property name to select. This property is reserved for + future use, any value set on this property will be ignored. + :type property: str + :param operation: Comparing operation. This property is reserved for + future use, any value set on this property will be ignored. + :type operation: str + :param value: Property value to select. This property is reserved for + future use, any value set on this property will be ignored. + :type value: str + """ + + _attribute_map = { + 'property': {'key': 'property', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(LiveEventInputTrackSelection, self).__init__(**kwargs) + self.property = kwargs.get('property', None) + self.operation = kwargs.get('operation', None) + self.value = kwargs.get('value', None) + + +class LiveEventOutputTranscriptionTrack(Model): + """Describes a transcription track in the output of a live event, generated + using speech-to-text transcription. This property is reserved for future + use, any value set on this property will be ignored. + + All required parameters must be populated in order to send to Azure. + + :param track_name: Required. The output track name. This property is + reserved for future use, any value set on this property will be ignored. + :type track_name: str + """ + + _validation = { + 'track_name': {'required': True}, + } + + _attribute_map = { + 'track_name': {'key': 'trackName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(LiveEventOutputTranscriptionTrack, self).__init__(**kwargs) + self.track_name = kwargs.get('track_name', None) + + class LiveEventPreview(Model): - """The Live Event preview. + """Live event preview settings. - :param endpoints: The endpoints for preview. + :param endpoints: The endpoints for preview. Do not share the preview URL + with the live event audience. :type endpoints: list[~azure.mgmt.media.models.LiveEventEndpoint] - :param access_control: The access control for LiveEvent preview. + :param access_control: The access control for live event preview. :type access_control: ~azure.mgmt.media.models.LiveEventPreviewAccessControl :param preview_locator: The identifier of the preview locator in Guid - format. Specifying this at creation time allows the caller to know the - preview locator url before the event is created. If omitted, the service - will generate a random identifier. This value cannot be updated once the + format. Specifying this at creation time allows the caller to know the + preview locator url before the event is created. If omitted, the service + will generate a random identifier. This value cannot be updated once the live event is created. :type preview_locator: str :param streaming_policy_name: The name of streaming policy used for the - LiveEvent preview. This value is specified at creation time and cannot be + live event preview. This value is specified at creation time and cannot be updated. :type streaming_policy_name: str - :param alternative_media_id: An Alternative Media Identifier associated - with the StreamingLocator created for the preview. This value is - specified at creation time and cannot be updated. The identifier can be + :param alternative_media_id: An alternative media identifier associated + with the streaming locator created for the preview. This value is + specified at creation time and cannot be updated. The identifier can be used in the CustomLicenseAcquisitionUrlTemplate or the CustomKeyAcquisitionUrlTemplate of the StreamingPolicy specified in the StreamingPolicyName field. @@ -3949,7 +4264,7 @@ def __init__(self, **kwargs): class LiveEventPreviewAccessControl(Model): - """The IP access control for Live Event preview. + """The IP access control for the live event preview endpoint. :param ip: The IP access control properties. :type ip: ~azure.mgmt.media.models.IPAccessControl @@ -3964,6 +4279,44 @@ def __init__(self, **kwargs): self.ip = kwargs.get('ip', None) +class LiveEventTranscription(Model): + """Describes the transcription tracks in the output of a live event, generated + using speech-to-text transcription. This property is reserved for future + use, any value set on this property will be ignored. + + :param language: Specifies the language (locale) to be used for + speech-to-text transcription – it should match the spoken language in the + audio track. The value should be in BCP-47 format (e.g: 'en-US'). See + https://go.microsoft.com/fwlink/?linkid=2133742 for more information about + the live transcription feature and the list of supported languages. + :type language: str + :param input_track_selection: Provides a mechanism to select the audio + track in the input live feed, to which speech-to-text transcription is + applied. This property is reserved for future use, any value set on this + property will be ignored. + :type input_track_selection: + list[~azure.mgmt.media.models.LiveEventInputTrackSelection] + :param output_transcription_track: Describes a transcription track in the + output of a live event, generated using speech-to-text transcription. This + property is reserved for future use, any value set on this property will + be ignored. + :type output_transcription_track: + ~azure.mgmt.media.models.LiveEventOutputTranscriptionTrack + """ + + _attribute_map = { + 'language': {'key': 'language', 'type': 'str'}, + 'input_track_selection': {'key': 'inputTrackSelection', 'type': '[LiveEventInputTrackSelection]'}, + 'output_transcription_track': {'key': 'outputTranscriptionTrack', 'type': 'LiveEventOutputTranscriptionTrack'}, + } + + def __init__(self, **kwargs): + super(LiveEventTranscription, self).__init__(**kwargs) + self.language = kwargs.get('language', None) + self.input_track_selection = kwargs.get('input_track_selection', None) + self.output_transcription_track = kwargs.get('output_transcription_track', None) + + class LiveOutput(ProxyResource): """The Live Output. @@ -3972,34 +4325,39 @@ class LiveOutput(ProxyResource): All required parameters must be populated in order to send to Azure. - :ivar id: Fully qualified resource ID for the resource. + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} :vartype id: str - :ivar name: The name of the resource. + :ivar name: The name of the resource :vartype name: str - :ivar type: The type of the resource. + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. :vartype type: str - :param description: The description of the Live Output. + :param description: The description of the live output. :type description: str - :param asset_name: Required. The asset name. + :param asset_name: Required. The asset that the live output will write to. :type asset_name: str - :param archive_window_length: Required. ISO 8601 timespan duration of the - archive window length. This is duration that customer want to retain the - recorded content. + :param archive_window_length: Required. ISO 8601 time between 1 minute to + 25 hours to indicate the maximum content length that can be archived in + the asset for this live output. This also sets the maximum content length + for the rewind window. For example, use PT1H30M to indicate 1 hour and 30 + minutes of archive window. :type archive_window_length: timedelta - :param manifest_name: The manifest file name. If not provided, the - service will generate one automatically. + :param manifest_name: The manifest file name. If not provided, the service + will generate one automatically. :type manifest_name: str - :param hls: The HLS configuration. + :param hls: HTTP Live Streaming (HLS) packing setting for the live output. :type hls: ~azure.mgmt.media.models.Hls - :param output_snap_time: The output snapshot time. + :param output_snap_time: The initial timestamp that the live output will + start at, any content before this value will not be archived. :type output_snap_time: long - :ivar created: The exact time the Live Output was created. + :ivar created: The creation time the live output. :vartype created: datetime - :ivar last_modified: The exact time the Live Output was last modified. + :ivar last_modified: The time the live output was last modified. :vartype last_modified: datetime - :ivar provisioning_state: The provisioning state of the Live Output. + :ivar provisioning_state: The provisioning state of the live output. :vartype provisioning_state: str - :ivar resource_state: The resource state of the Live Output. Possible + :ivar resource_state: The resource state of the live output. Possible values include: 'Creating', 'Running', 'Deleting' :vartype resource_state: str or ~azure.mgmt.media.models.LiveOutputResourceState @@ -4069,32 +4427,78 @@ def __init__(self, **kwargs): self.name = kwargs.get('name', None) +class LogSpecification(Model): + """A diagnostic log emitted by service. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: The diagnostic log category name. + :vartype name: str + :ivar display_name: The diagnostic log category display name. + :vartype display_name: str + :ivar blob_duration: The time range for requests in each blob. + :vartype blob_duration: str + """ + + _validation = { + 'name': {'readonly': True}, + 'display_name': {'readonly': True}, + 'blob_duration': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'blob_duration': {'key': 'blobDuration', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(LogSpecification, self).__init__(**kwargs) + self.name = None + self.display_name = None + self.blob_duration = None + + class MediaService(TrackedResource): """A Media Services account. Variables are only populated by the server, and will be ignored when sending a request. - :ivar id: Fully qualified resource ID for the resource. + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} :vartype id: str - :ivar name: The name of the resource. + :ivar name: The name of the resource :vartype name: str - :ivar type: The type of the resource. + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. :vartype type: str :param tags: Resource tags. :type tags: dict[str, str] - :param location: The Azure Region of the resource. + :param location: Required. The geo-location where the resource lives :type location: str :ivar media_service_id: The Media Services account ID. :vartype media_service_id: str :param storage_accounts: The storage accounts for this resource. :type storage_accounts: list[~azure.mgmt.media.models.StorageAccount] + :param storage_authentication: Possible values include: 'System', + 'ManagedIdentity' + :type storage_authentication: str or + ~azure.mgmt.media.models.StorageAuthentication + :param encryption: The account encryption properties. + :type encryption: ~azure.mgmt.media.models.AccountEncryption + :param identity: The Managed Identity for the Media Services account. + :type identity: ~azure.mgmt.media.models.MediaServiceIdentity """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, + 'location': {'required': True}, 'media_service_id': {'readonly': True}, } @@ -4106,63 +4510,54 @@ class MediaService(TrackedResource): 'location': {'key': 'location', 'type': 'str'}, 'media_service_id': {'key': 'properties.mediaServiceId', 'type': 'str'}, 'storage_accounts': {'key': 'properties.storageAccounts', 'type': '[StorageAccount]'}, + 'storage_authentication': {'key': 'properties.storageAuthentication', 'type': 'str'}, + 'encryption': {'key': 'properties.encryption', 'type': 'AccountEncryption'}, + 'identity': {'key': 'identity', 'type': 'MediaServiceIdentity'}, } def __init__(self, **kwargs): super(MediaService, self).__init__(**kwargs) self.media_service_id = None self.storage_accounts = kwargs.get('storage_accounts', None) + self.storage_authentication = kwargs.get('storage_authentication', None) + self.encryption = kwargs.get('encryption', None) + self.identity = kwargs.get('identity', None) -class Metric(Model): - """A metric emitted by service. +class MediaServiceIdentity(Model): + """MediaServiceIdentity. Variables are only populated by the server, and will be ignored when sending a request. - :ivar name: The metric name. - :vartype name: str - :ivar display_name: The metric display name. - :vartype display_name: str - :ivar display_description: The metric display description. - :vartype display_description: str - :ivar unit: The metric unit. Possible values include: 'Bytes', 'Count', - 'Milliseconds' - :vartype unit: str or ~azure.mgmt.media.models.MetricUnit - :ivar aggregation_type: The metric aggregation type. Possible values - include: 'Average', 'Count', 'Total' - :vartype aggregation_type: str or - ~azure.mgmt.media.models.MetricAggregationType - :ivar dimensions: The metric dimensions. - :vartype dimensions: list[~azure.mgmt.media.models.MetricDimension] + All required parameters must be populated in order to send to Azure. + + :param type: Required. The identity type. Possible values include: + 'SystemAssigned', 'None' + :type type: str or ~azure.mgmt.media.models.ManagedIdentityType + :ivar principal_id: The Principal ID of the identity. + :vartype principal_id: str + :ivar tenant_id: The Tenant ID of the identity. + :vartype tenant_id: str """ _validation = { - 'name': {'readonly': True}, - 'display_name': {'readonly': True}, - 'display_description': {'readonly': True}, - 'unit': {'readonly': True}, - 'aggregation_type': {'readonly': True}, - 'dimensions': {'readonly': True}, + 'type': {'required': True}, + 'principal_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, } _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'display_name': {'key': 'displayName', 'type': 'str'}, - 'display_description': {'key': 'displayDescription', 'type': 'str'}, - 'unit': {'key': 'unit', 'type': 'str'}, - 'aggregation_type': {'key': 'aggregationType', 'type': 'str'}, - 'dimensions': {'key': 'dimensions', 'type': '[MetricDimension]'}, + 'type': {'key': 'type', 'type': 'str'}, + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, } def __init__(self, **kwargs): - super(Metric, self).__init__(**kwargs) - self.name = None - self.display_name = None - self.display_description = None - self.unit = None - self.aggregation_type = None - self.dimensions = None + super(MediaServiceIdentity, self).__init__(**kwargs) + self.type = kwargs.get('type', None) + self.principal_id = None + self.tenant_id = None class MetricDimension(Model): @@ -4198,28 +4593,59 @@ def __init__(self, **kwargs): self.to_be_exported_for_shoebox = None -class MetricProperties(Model): - """Metric properties. +class MetricSpecification(Model): + """A metric emitted by service. Variables are only populated by the server, and will be ignored when sending a request. - :ivar service_specification: The service specifications. - :vartype service_specification: - ~azure.mgmt.media.models.ServiceSpecification + :ivar name: The metric name. + :vartype name: str + :ivar display_name: The metric display name. + :vartype display_name: str + :ivar display_description: The metric display description. + :vartype display_description: str + :ivar unit: The metric unit. Possible values include: 'Bytes', 'Count', + 'Milliseconds' + :vartype unit: str or ~azure.mgmt.media.models.MetricUnit + :ivar aggregation_type: The metric aggregation type. Possible values + include: 'Average', 'Count', 'Total' + :vartype aggregation_type: str or + ~azure.mgmt.media.models.MetricAggregationType + :param supported_aggregation_types: Supported aggregation types. + :type supported_aggregation_types: list[str] + :ivar dimensions: The metric dimensions. + :vartype dimensions: list[~azure.mgmt.media.models.MetricDimension] """ _validation = { - 'service_specification': {'readonly': True}, + 'name': {'readonly': True}, + 'display_name': {'readonly': True}, + 'display_description': {'readonly': True}, + 'unit': {'readonly': True}, + 'aggregation_type': {'readonly': True}, + 'dimensions': {'readonly': True}, } _attribute_map = { - 'service_specification': {'key': 'serviceSpecification', 'type': 'ServiceSpecification'}, + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'display_description': {'key': 'displayDescription', 'type': 'str'}, + 'unit': {'key': 'unit', 'type': 'str'}, + 'aggregation_type': {'key': 'aggregationType', 'type': 'str'}, + 'supported_aggregation_types': {'key': 'supportedAggregationTypes', 'type': '[str]'}, + 'dimensions': {'key': 'dimensions', 'type': '[MetricDimension]'}, } def __init__(self, **kwargs): - super(MetricProperties, self).__init__(**kwargs) - self.service_specification = None + super(MetricSpecification, self).__init__(**kwargs) + self.name = None + self.display_name = None + self.display_description = None + self.unit = None + self.aggregation_type = None + self.supported_aggregation_types = kwargs.get('supported_aggregation_types', None) + self.dimensions = None class MultiBitrateFormat(Format): @@ -4236,12 +4662,17 @@ class MultiBitrateFormat(Format): :param filename_pattern: Required. The pattern of the file names for the generated output files. The following macros are supported in the file - name: {Basename} - The base name of the input video {Extension} - The - appropriate extension for this format. {Label} - The label assigned to the - codec/layer. {Index} - A unique index for thumbnails. Only applicable to - thumbnails. {Bitrate} - The audio/video bitrate. Not applicable to - thumbnails. {Codec} - The type of the audio/video codec. Any unsubstituted - macros will be collapsed and removed from the filename. + name: {Basename} - An expansion macro that will use the name of the input + video file. If the base name(the file suffix is not included) of the input + video file is less than 32 characters long, the base name of input video + files will be used. If the length of base name of the input video file + exceeds 32 characters, the base name is truncated to the first 32 + characters in total length. {Extension} - The appropriate extension for + this format. {Label} - The label assigned to the codec/layer. {Index} - A + unique index for thumbnails. Only applicable to thumbnails. {Bitrate} - + The audio/video bitrate. Not applicable to thumbnails. {Codec} - The type + of the audio/video codec. Any unsubstituted macros will be collapsed and + removed from the filename. :type filename_pattern: str :param odatatype: Required. Constant filled by server. :type odatatype: str @@ -4278,12 +4709,17 @@ class Mp4Format(MultiBitrateFormat): :param filename_pattern: Required. The pattern of the file names for the generated output files. The following macros are supported in the file - name: {Basename} - The base name of the input video {Extension} - The - appropriate extension for this format. {Label} - The label assigned to the - codec/layer. {Index} - A unique index for thumbnails. Only applicable to - thumbnails. {Bitrate} - The audio/video bitrate. Not applicable to - thumbnails. {Codec} - The type of the audio/video codec. Any unsubstituted - macros will be collapsed and removed from the filename. + name: {Basename} - An expansion macro that will use the name of the input + video file. If the base name(the file suffix is not included) of the input + video file is less than 32 characters long, the base name of input video + files will be used. If the length of base name of the input video file + exceeds 32 characters, the base name is truncated to the first 32 + characters in total length. {Extension} - The appropriate extension for + this format. {Label} - The label assigned to the codec/layer. {Index} - A + unique index for thumbnails. Only applicable to thumbnails. {Bitrate} - + The audio/video bitrate. Not applicable to thumbnails. {Codec} - The type + of the audio/video codec. Any unsubstituted macros will be collapsed and + removed from the filename. :type filename_pattern: str :param odatatype: Required. Constant filled by server. :type odatatype: str @@ -4365,7 +4801,7 @@ class Operation(Model): :param origin: Origin of the operation. :type origin: str :param properties: Operation properties format. - :type properties: ~azure.mgmt.media.models.MetricProperties + :type properties: ~azure.mgmt.media.models.Properties """ _validation = { @@ -4376,7 +4812,7 @@ class Operation(Model): 'name': {'key': 'name', 'type': 'str'}, 'display': {'key': 'display', 'type': 'OperationDisplay'}, 'origin': {'key': 'origin', 'type': 'str'}, - 'properties': {'key': 'properties', 'type': 'MetricProperties'}, + 'properties': {'key': 'properties', 'type': 'Properties'}, } def __init__(self, **kwargs): @@ -4449,12 +4885,17 @@ class PngFormat(ImageFormat): :param filename_pattern: Required. The pattern of the file names for the generated output files. The following macros are supported in the file - name: {Basename} - The base name of the input video {Extension} - The - appropriate extension for this format. {Label} - The label assigned to the - codec/layer. {Index} - A unique index for thumbnails. Only applicable to - thumbnails. {Bitrate} - The audio/video bitrate. Not applicable to - thumbnails. {Codec} - The type of the audio/video codec. Any unsubstituted - macros will be collapsed and removed from the filename. + name: {Basename} - An expansion macro that will use the name of the input + video file. If the base name(the file suffix is not included) of the input + video file is less than 32 characters long, the base name of input video + files will be used. If the length of base name of the input video file + exceeds 32 characters, the base name is truncated to the first 32 + characters in total length. {Extension} - The appropriate extension for + this format. {Label} - The label assigned to the codec/layer. {Index} - A + unique index for thumbnails. Only applicable to thumbnails. {Bitrate} - + The audio/video bitrate. Not applicable to thumbnails. {Codec} - The type + of the audio/video codec. Any unsubstituted macros will be collapsed and + removed from the filename. :type filename_pattern: str :param odatatype: Required. Constant filled by server. :type odatatype: str @@ -4486,31 +4927,52 @@ class PngImage(Image): :type label: str :param odatatype: Required. Constant filled by server. :type odatatype: str - :param key_frame_interval: The distance between two key frames, thereby - defining a group of pictures (GOP). The value should be a non-zero integer - in the range [1, 30] seconds, specified in ISO 8601 format. The default is - 2 seconds (PT2S). + :param key_frame_interval: The distance between two key frames. The value + should be non-zero in the range [0.5, 20] seconds, specified in ISO 8601 + format. The default is 2 seconds(PT2S). Note that this setting is ignored + if VideoSyncMode.Passthrough is set, where the KeyFrameInterval value will + follow the input source setting. :type key_frame_interval: timedelta :param stretch_mode: The resizing mode - how the input video will be resized to fit the desired output resolution(s). Default is AutoSize. Possible values include: 'None', 'AutoSize', 'AutoFit' :type stretch_mode: str or ~azure.mgmt.media.models.StretchMode + :param sync_mode: The Video Sync Mode. Possible values include: 'Auto', + 'Passthrough', 'Cfr', 'Vfr' + :type sync_mode: str or ~azure.mgmt.media.models.VideoSyncMode :param start: Required. The position in the input video from where to - start generating thumbnails. The value can be in absolute timestamp (ISO - 8601, e.g: PT05S), or a frame count (For example, 10 for the 10th frame), - or a relative value (For example, 1%). Also supports a macro {Best}, which - tells the encoder to select the best thumbnail from the first few seconds - of the video. + start generating thumbnails. The value can be in ISO 8601 format (For + example, PT05S to start at 5 seconds), or a frame count (For example, 10 + to start at the 10th frame), or a relative value to stream duration (For + example, 10% to start at 10% of stream duration). Also supports a macro + {Best}, which tells the encoder to select the best thumbnail from the + first few seconds of the video and will only produce one thumbnail, no + matter what other settings are for Step and Range. The default value is + macro {Best}. :type start: str :param step: The intervals at which thumbnails are generated. The value - can be in absolute timestamp (ISO 8601, e.g: PT05S for one image every 5 - seconds), or a frame count (For example, 30 for every 30 frames), or a - relative value (For example, 1%). + can be in ISO 8601 format (For example, PT05S for one image every 5 + seconds), or a frame count (For example, 30 for one image every 30 + frames), or a relative value to stream duration (For example, 10% for one + image every 10% of stream duration). Note: Step value will affect the + first generated thumbnail, which may not be exactly the one specified at + transform preset start time. This is due to the encoder, which tries to + select the best thumbnail between start time and Step position from start + time as the first output. As the default value is 10%, it means if stream + has long duration, the first generated thumbnail might be far away from + the one specified at start time. Try to select reasonable value for Step + if the first thumbnail is expected close to start time, or set Range value + at 1 if only one thumbnail is needed at start time. :type step: str - :param range: The position in the input video at which to stop generating - thumbnails. The value can be in absolute timestamp (ISO 8601, e.g: PT5M30S - to stop at 5 minutes and 30 seconds), or a frame count (For example, 300 - to stop at the 300th frame), or a relative value (For example, 100%). + :param range: The position relative to transform preset start time in the + input video at which to stop generating thumbnails. The value can be in + ISO 8601 format (For example, PT5M30S to stop at 5 minutes and 30 seconds + from start time), or a frame count (For example, 300 to stop at the 300th + frame from the frame at start time. If this value is 1, it means only + producing one thumbnail at start time), or a relative value to the stream + duration (For example, 50% to stop at half of stream duration from start + time). The default value is 100%, which means to stop at the end of the + stream. :type range: str :param layers: A collection of output PNG image layers to be produced by the encoder. @@ -4527,6 +4989,7 @@ class PngImage(Image): 'odatatype': {'key': '@odata\\.type', 'type': 'str'}, 'key_frame_interval': {'key': 'keyFrameInterval', 'type': 'duration'}, 'stretch_mode': {'key': 'stretchMode', 'type': 'str'}, + 'sync_mode': {'key': 'syncMode', 'type': 'str'}, 'start': {'key': 'start', 'type': 'str'}, 'step': {'key': 'step', 'type': 'str'}, 'range': {'key': 'range', 'type': 'str'}, @@ -4614,6 +5077,215 @@ def __init__(self, **kwargs): self.force_end_timestamp = kwargs.get('force_end_timestamp', None) +class PrivateEndpoint(Model): + """The Private Endpoint resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: The ARM identifier for Private Endpoint + :vartype id: str + """ + + _validation = { + 'id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PrivateEndpoint, self).__init__(**kwargs) + self.id = None + + +class PrivateEndpointConnection(Resource): + """The Private Endpoint Connection resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :param private_endpoint: The resource of private end point. + :type private_endpoint: ~azure.mgmt.media.models.PrivateEndpoint + :param private_link_service_connection_state: Required. A collection of + information about the state of the connection between service consumer and + provider. + :type private_link_service_connection_state: + ~azure.mgmt.media.models.PrivateLinkServiceConnectionState + :param provisioning_state: The provisioning state of the private endpoint + connection resource. Possible values include: 'Succeeded', 'Creating', + 'Deleting', 'Failed' + :type provisioning_state: str or + ~azure.mgmt.media.models.PrivateEndpointConnectionProvisioningState + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'private_link_service_connection_state': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'private_endpoint': {'key': 'properties.privateEndpoint', 'type': 'PrivateEndpoint'}, + 'private_link_service_connection_state': {'key': 'properties.privateLinkServiceConnectionState', 'type': 'PrivateLinkServiceConnectionState'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PrivateEndpointConnection, self).__init__(**kwargs) + self.private_endpoint = kwargs.get('private_endpoint', None) + self.private_link_service_connection_state = kwargs.get('private_link_service_connection_state', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + + +class PrivateEndpointConnectionListResult(Model): + """List of private endpoint connection associated with the specified storage + account. + + :param value: Array of private endpoint connections + :type value: list[~azure.mgmt.media.models.PrivateEndpointConnection] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[PrivateEndpointConnection]'}, + } + + def __init__(self, **kwargs): + super(PrivateEndpointConnectionListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + + +class PrivateLinkResource(Resource): + """A private link resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :ivar group_id: The private link resource group id. + :vartype group_id: str + :ivar required_members: The private link resource required member names. + :vartype required_members: list[str] + :param required_zone_names: The private link resource Private link DNS + zone name. + :type required_zone_names: list[str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'group_id': {'readonly': True}, + 'required_members': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'group_id': {'key': 'properties.groupId', 'type': 'str'}, + 'required_members': {'key': 'properties.requiredMembers', 'type': '[str]'}, + 'required_zone_names': {'key': 'properties.requiredZoneNames', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(PrivateLinkResource, self).__init__(**kwargs) + self.group_id = None + self.required_members = None + self.required_zone_names = kwargs.get('required_zone_names', None) + + +class PrivateLinkResourceListResult(Model): + """A list of private link resources. + + :param value: Array of private link resources + :type value: list[~azure.mgmt.media.models.PrivateLinkResource] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[PrivateLinkResource]'}, + } + + def __init__(self, **kwargs): + super(PrivateLinkResourceListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + + +class PrivateLinkServiceConnectionState(Model): + """A collection of information about the state of the connection between + service consumer and provider. + + :param status: Indicates whether the connection has been + Approved/Rejected/Removed by the owner of the service. Possible values + include: 'Pending', 'Approved', 'Rejected' + :type status: str or + ~azure.mgmt.media.models.PrivateEndpointServiceConnectionStatus + :param description: The reason for approval/rejection of the connection. + :type description: str + :param actions_required: A message indicating if changes on the service + provider require any updates on the consumer. + :type actions_required: str + """ + + _attribute_map = { + 'status': {'key': 'status', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'actions_required': {'key': 'actionsRequired', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PrivateLinkServiceConnectionState, self).__init__(**kwargs) + self.status = kwargs.get('status', None) + self.description = kwargs.get('description', None) + self.actions_required = kwargs.get('actions_required', None) + + +class Properties(Model): + """The service specification property. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar service_specification: The service specifications. + :vartype service_specification: + ~azure.mgmt.media.models.ServiceSpecification + """ + + _validation = { + 'service_specification': {'readonly': True}, + } + + _attribute_map = { + 'service_specification': {'key': 'serviceSpecification', 'type': 'ServiceSpecification'}, + } + + def __init__(self, **kwargs): + super(Properties, self).__init__(**kwargs) + self.service_specification = None + + class Provider(Model): """A resource provider. @@ -4679,20 +5351,27 @@ class ServiceSpecification(Model): Variables are only populated by the server, and will be ignored when sending a request. + :ivar log_specifications: List of log specifications. + :vartype log_specifications: + list[~azure.mgmt.media.models.LogSpecification] :ivar metric_specifications: List of metric specifications. - :vartype metric_specifications: list[~azure.mgmt.media.models.Metric] + :vartype metric_specifications: + list[~azure.mgmt.media.models.MetricSpecification] """ _validation = { + 'log_specifications': {'readonly': True}, 'metric_specifications': {'readonly': True}, } _attribute_map = { - 'metric_specifications': {'key': 'metricSpecifications', 'type': '[Metric]'}, + 'log_specifications': {'key': 'logSpecifications', 'type': '[LogSpecification]'}, + 'metric_specifications': {'key': 'metricSpecifications', 'type': '[MetricSpecification]'}, } def __init__(self, **kwargs): super(ServiceSpecification, self).__init__(**kwargs) + self.log_specifications = None self.metric_specifications = None @@ -4790,41 +5469,42 @@ def __init__(self, **kwargs): class StreamingEndpoint(TrackedResource): - """The StreamingEndpoint. + """The streaming endpoint. Variables are only populated by the server, and will be ignored when sending a request. All required parameters must be populated in order to send to Azure. - :ivar id: Fully qualified resource ID for the resource. + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} :vartype id: str - :ivar name: The name of the resource. + :ivar name: The name of the resource :vartype name: str - :ivar type: The type of the resource. + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. :vartype type: str :param tags: Resource tags. :type tags: dict[str, str] - :param location: The Azure Region of the resource. + :param location: Required. The geo-location where the resource lives :type location: str - :param description: The StreamingEndpoint description. + :param description: The streaming endpoint description. :type description: str - :param scale_units: Required. The number of scale units. Use the Scale + :param scale_units: Required. The number of scale units. Use the Scale operation to adjust this value. :type scale_units: int - :param availability_set_name: The name of the AvailabilitySet used with - this StreamingEndpoint for high availability streaming. This value can - only be set at creation time. + :param availability_set_name: This feature is deprecated, do not set a + value for this property. :type availability_set_name: str - :param access_control: The access control definition of the - StreamingEndpoint. + :param access_control: The access control definition of the streaming + endpoint. :type access_control: ~azure.mgmt.media.models.StreamingEndpointAccessControl :param max_cache_age: Max cache age :type max_cache_age: long - :param custom_host_names: The custom host names of the StreamingEndpoint + :param custom_host_names: The custom host names of the streaming endpoint :type custom_host_names: list[str] - :ivar host_name: The StreamingEndpoint host name. + :ivar host_name: The streaming endpoint host name. :vartype host_name: str :param cdn_enabled: The CDN enabled flag. :type cdn_enabled: bool @@ -4832,21 +5512,22 @@ class StreamingEndpoint(TrackedResource): :type cdn_provider: str :param cdn_profile: The CDN profile name. :type cdn_profile: str - :ivar provisioning_state: The provisioning state of the StreamingEndpoint. + :ivar provisioning_state: The provisioning state of the streaming + endpoint. :vartype provisioning_state: str - :ivar resource_state: The resource state of the StreamingEndpoint. + :ivar resource_state: The resource state of the streaming endpoint. Possible values include: 'Stopped', 'Starting', 'Running', 'Stopping', 'Deleting', 'Scaling' :vartype resource_state: str or ~azure.mgmt.media.models.StreamingEndpointResourceState - :param cross_site_access_policies: The StreamingEndpoint access policies. + :param cross_site_access_policies: The streaming endpoint access policies. :type cross_site_access_policies: ~azure.mgmt.media.models.CrossSiteAccessPolicies :ivar free_trial_end_time: The free trial expiration time. :vartype free_trial_end_time: datetime - :ivar created: The exact time the StreamingEndpoint was created. + :ivar created: The exact time the streaming endpoint was created. :vartype created: datetime - :ivar last_modified: The exact time the StreamingEndpoint was last + :ivar last_modified: The exact time the streaming endpoint was last modified. :vartype last_modified: datetime """ @@ -4855,6 +5536,7 @@ class StreamingEndpoint(TrackedResource): 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, + 'location': {'required': True}, 'scale_units': {'required': True}, 'host_name': {'readonly': True}, 'provisioning_state': {'readonly': True}, @@ -4909,11 +5591,11 @@ def __init__(self, **kwargs): class StreamingEndpointAccessControl(Model): - """StreamingEndpoint access control definition. + """Streaming endpoint access control definition. :param akamai: The access control of Akamai :type akamai: ~azure.mgmt.media.models.AkamaiAccessControl - :param ip: The IP access control of the StreamingEndpoint. + :param ip: The IP access control of the streaming endpoint. :type ip: ~azure.mgmt.media.models.IPAccessControl """ @@ -4931,7 +5613,7 @@ def __init__(self, **kwargs): class StreamingEntityScaleUnit(Model): """scale units definition. - :param scale_unit: The scale unit number of the StreamingEndpoint. + :param scale_unit: The scale unit number of the streaming endpoint. :type scale_unit: int """ @@ -4952,11 +5634,13 @@ class StreamingLocator(ProxyResource): All required parameters must be populated in order to send to Azure. - :ivar id: Fully qualified resource ID for the resource. + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} :vartype id: str - :ivar name: The name of the resource. + :ivar name: The name of the resource :vartype name: str - :ivar type: The type of the resource. + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. :vartype type: str :param asset_name: Required. Asset Name :type asset_name: str @@ -5122,11 +5806,13 @@ class StreamingPolicy(ProxyResource): Variables are only populated by the server, and will be ignored when sending a request. - :ivar id: Fully qualified resource ID for the resource. + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} :vartype id: str - :ivar name: The name of the resource. + :ivar name: The name of the resource :vartype name: str - :ivar type: The type of the resource. + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. :vartype type: str :ivar created: Creation time of Streaming Policy :vartype created: datetime @@ -5305,51 +5991,6 @@ def __init__(self, **kwargs): self.custom_license_acquisition_url_template = kwargs.get('custom_license_acquisition_url_template', None) -class SubscriptionMediaService(TrackedResource): - """A Media Services account. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar id: Fully qualified resource ID for the resource. - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. - :vartype type: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param location: The Azure Region of the resource. - :type location: str - :ivar media_service_id: The Media Services account ID. - :vartype media_service_id: str - :param storage_accounts: The storage accounts for this resource. - :type storage_accounts: list[~azure.mgmt.media.models.StorageAccount] - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'media_service_id': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'location': {'key': 'location', 'type': 'str'}, - 'media_service_id': {'key': 'properties.mediaServiceId', 'type': 'str'}, - 'storage_accounts': {'key': 'properties.storageAccounts', 'type': '[StorageAccount]'}, - } - - def __init__(self, **kwargs): - super(SubscriptionMediaService, self).__init__(**kwargs) - self.media_service_id = None - self.storage_accounts = kwargs.get('storage_accounts', None) - - class SyncStorageKeysInput(Model): """The input to the sync storage keys request. @@ -5429,11 +6070,13 @@ class Transform(ProxyResource): All required parameters must be populated in order to send to Azure. - :ivar id: Fully qualified resource ID for the resource. + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} :vartype id: str - :ivar name: The name of the resource. + :ivar name: The name of the resource :vartype name: str - :ivar type: The type of the resource. + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. :vartype type: str :ivar created: The UTC date and time when the Transform was created, in 'YYYY-MM-DDThh:mm:ssZ' format. @@ -5524,12 +6167,17 @@ class TransportStreamFormat(MultiBitrateFormat): :param filename_pattern: Required. The pattern of the file names for the generated output files. The following macros are supported in the file - name: {Basename} - The base name of the input video {Extension} - The - appropriate extension for this format. {Label} - The label assigned to the - codec/layer. {Index} - A unique index for thumbnails. Only applicable to - thumbnails. {Bitrate} - The audio/video bitrate. Not applicable to - thumbnails. {Codec} - The type of the audio/video codec. Any unsubstituted - macros will be collapsed and removed from the filename. + name: {Basename} - An expansion macro that will use the name of the input + video file. If the base name(the file suffix is not included) of the input + video file is less than 32 characters long, the base name of input video + files will be used. If the length of base name of the input video file + exceeds 32 characters, the base name is truncated to the first 32 + characters in total length. {Extension} - The appropriate extension for + this format. {Label} - The label assigned to the codec/layer. {Index} - A + unique index for thumbnails. Only applicable to thumbnails. {Bitrate} - + The audio/video bitrate. Not applicable to thumbnails. {Codec} - The type + of the audio/video codec. Any unsubstituted macros will be collapsed and + removed from the filename. :type filename_pattern: str :param odatatype: Required. Constant filled by server. :type odatatype: str @@ -5554,6 +6202,36 @@ def __init__(self, **kwargs): self.odatatype = '#Microsoft.Media.TransportStreamFormat' +class UtcClipTime(ClipTime): + """Specifies the clip time as a Utc time position in the media file. The Utc + time can point to a different position depending on whether the media file + starts from a timestamp of zero or not. + + All required parameters must be populated in order to send to Azure. + + :param odatatype: Required. Constant filled by server. + :type odatatype: str + :param time: Required. The time position on the timeline of the input + media based on Utc time. + :type time: datetime + """ + + _validation = { + 'odatatype': {'required': True}, + 'time': {'required': True}, + } + + _attribute_map = { + 'odatatype': {'key': '@odata\\.type', 'type': 'str'}, + 'time': {'key': 'time', 'type': 'iso-8601'}, + } + + def __init__(self, **kwargs): + super(UtcClipTime, self).__init__(**kwargs) + self.time = kwargs.get('time', None) + self.odatatype = '#Microsoft.Media.UtcClipTime' + + class VideoAnalyzerPreset(AudioAnalyzerPreset): """A video analyzer preset that extracts insights (rich metadata) from both audio and video, and outputs a JSON format file. @@ -5565,16 +6243,21 @@ class VideoAnalyzerPreset(AudioAnalyzerPreset): :param audio_language: The language for the audio payload in the input using the BCP-47 format of 'language tag-region' (e.g: 'en-US'). If you know the language of your content, it is recommended that you specify it. - If the language isn't specified or set to null, automatic language - detection will choose the first language detected and process with the - selected language for the duration of the file. It does not currently - support dynamically switching between languages after the first language - is detected. The automatic detection works best with audio recordings with - clearly discernable speech. If automatic detection fails to find the - language, transcription would fallback to 'en-US'." The list of supported - languages is available here: - https://go.microsoft.com/fwlink/?linkid=2109463 + The language must be specified explicitly for AudioAnalysisMode::Basic, + since automatic language detection is not included in basic mode. If the + language isn't specified or set to null, automatic language detection will + choose the first language detected and process with the selected language + for the duration of the file. It does not currently support dynamically + switching between languages after the first language is detected. The + automatic detection works best with audio recordings with clearly + discernable speech. If automatic detection fails to find the language, + transcription would fallback to 'en-US'." The list of supported languages + is available here: https://go.microsoft.com/fwlink/?linkid=2109463 :type audio_language: str + :param mode: Determines the set of audio analysis operations to be + performed. If unspecified, the Standard AudioAnalysisMode would be chosen. + Possible values include: 'Standard', 'Basic' + :type mode: str or ~azure.mgmt.media.models.AudioAnalysisMode :param experimental_options: Dictionary containing key value pairs for parameters not exposed in the preset itself :type experimental_options: dict[str, str] @@ -5598,6 +6281,7 @@ class VideoAnalyzerPreset(AudioAnalyzerPreset): _attribute_map = { 'odatatype': {'key': '@odata\\.type', 'type': 'str'}, 'audio_language': {'key': 'audioLanguage', 'type': 'str'}, + 'mode': {'key': 'mode', 'type': 'str'}, 'experimental_options': {'key': 'experimentalOptions', 'type': '{str}'}, 'insights_to_extract': {'key': 'insightsToExtract', 'type': 'str'}, } @@ -5621,15 +6305,16 @@ class VideoOverlay(Overlay): :type input_label: str :param start: The start position, with reference to the input video, at which the overlay starts. The value should be in ISO 8601 format. For - example, PT05S to start the overlay at 5 seconds in to the input video. If + example, PT05S to start the overlay at 5 seconds into the input video. If not specified the overlay starts from the beginning of the input video. :type start: timedelta - :param end: The position in the input video at which the overlay ends. The - value should be in ISO 8601 duration format. For example, PT30S to end the - overlay at 30 seconds in to the input video. If not specified the overlay - will be applied until the end of the input video if inputLoop is true. - Else, if inputLoop is false, then overlay will last as long as the - duration of the overlay media. + :param end: The end position, with reference to the input video, at which + the overlay ends. The value should be in ISO 8601 format. For example, + PT30S to end the overlay at 30 seconds into the input video. If not + specified or the value is greater than the input video duration, the + overlay will be applied until the end of the input video if the overlay + media duration is greater than the input video duration, else the overlay + will last as long as the overlay media duration. :type end: timedelta :param fade_in_duration: The duration over which the overlay fades in onto the input video. The value should be in ISO 8601 duration format. If not diff --git a/sdk/media/azure-mgmt-media/azure/mgmt/media/models/_models_py3.py b/sdk/media/azure-mgmt-media/azure/mgmt/media/models/_models_py3.py index 09952f9fcd00..4f90b2f588a3 100644 --- a/sdk/media/azure-mgmt-media/azure/mgmt/media/models/_models_py3.py +++ b/sdk/media/azure-mgmt-media/azure/mgmt/media/models/_models_py3.py @@ -17,7 +17,7 @@ class Codec(Model): """Describes the basic properties of all codecs. You probably want to use the sub-classes and not this class directly. Known - sub-classes are: Audio, CopyVideo, Video, CopyAudio + sub-classes are: Audio, Video, CopyVideo, CopyAudio All required parameters must be populated in order to send to Azure. @@ -38,7 +38,7 @@ class Codec(Model): } _subtype_map = { - 'odatatype': {'#Microsoft.Media.Audio': 'Audio', '#Microsoft.Media.CopyVideo': 'CopyVideo', '#Microsoft.Media.Video': 'Video', '#Microsoft.Media.CopyAudio': 'CopyAudio'} + 'odatatype': {'#Microsoft.Media.Audio': 'Audio', '#Microsoft.Media.Video': 'Video', '#Microsoft.Media.CopyVideo': 'CopyVideo', '#Microsoft.Media.CopyAudio': 'CopyAudio'} } def __init__(self, *, label: str=None, **kwargs) -> None: @@ -139,7 +139,7 @@ class ClipTime(Model): specify the time position in the media. You probably want to use the sub-classes and not this class directly. Known - sub-classes are: AbsoluteClipTime + sub-classes are: AbsoluteClipTime, UtcClipTime All required parameters must be populated in order to send to Azure. @@ -156,7 +156,7 @@ class ClipTime(Model): } _subtype_map = { - 'odatatype': {'#Microsoft.Media.AbsoluteClipTime': 'AbsoluteClipTime'} + 'odatatype': {'#Microsoft.Media.AbsoluteClipTime': 'AbsoluteClipTime', '#Microsoft.Media.UtcClipTime': 'UtcClipTime'} } def __init__(self, **kwargs) -> None: @@ -195,17 +195,47 @@ def __init__(self, *, time, **kwargs) -> None: self.odatatype = '#Microsoft.Media.AbsoluteClipTime' +class AccountEncryption(Model): + """AccountEncryption. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. The type of key used to encrypt the Account Key. + Possible values include: 'SystemKey', 'CustomerKey' + :type type: str or ~azure.mgmt.media.models.AccountEncryptionKeyType + :param key_vault_properties: The properties of the key used to encrypt the + account. + :type key_vault_properties: ~azure.mgmt.media.models.KeyVaultProperties + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'key_vault_properties': {'key': 'keyVaultProperties', 'type': 'KeyVaultProperties'}, + } + + def __init__(self, *, type, key_vault_properties=None, **kwargs) -> None: + super(AccountEncryption, self).__init__(**kwargs) + self.type = type + self.key_vault_properties = key_vault_properties + + class Resource(Model): - """The core properties of ARM resources. + """Resource. Variables are only populated by the server, and will be ignored when sending a request. - :ivar id: Fully qualified resource ID for the resource. + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} :vartype id: str - :ivar name: The name of the resource. + :ivar name: The name of the resource :vartype name: str - :ivar type: The type of the resource. + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. :vartype type: str """ @@ -229,16 +259,19 @@ def __init__(self, **kwargs) -> None: class ProxyResource(Resource): - """The resource model definition for a ARM proxy resource. + """The resource model definition for a ARM proxy resource. It will have + everything other than required location and tags. Variables are only populated by the server, and will be ignored when sending a request. - :ivar id: Fully qualified resource ID for the resource. + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} :vartype id: str - :ivar name: The name of the resource. + :ivar name: The name of the resource :vartype name: str - :ivar type: The type of the resource. + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. :vartype type: str """ @@ -264,11 +297,13 @@ class AccountFilter(ProxyResource): Variables are only populated by the server, and will be ignored when sending a request. - :ivar id: Fully qualified resource ID for the resource. + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} :vartype id: str - :ivar name: The name of the resource. + :ivar name: The name of the resource :vartype name: str - :ivar type: The type of the resource. + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. :vartype type: str :param presentation_time_range: The presentation time range. :type presentation_time_range: @@ -346,7 +381,7 @@ def __init__(self, *, identifier: str=None, base64_key: str=None, expiration=Non class ApiError(Model): """The API error. - :param error: ApiError. The error properties. + :param error: The error properties. :type error: ~azure.mgmt.media.models.ODataError """ @@ -377,11 +412,13 @@ class Asset(ProxyResource): Variables are only populated by the server, and will be ignored when sending a request. - :ivar id: Fully qualified resource ID for the resource. + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} :vartype id: str - :ivar name: The name of the resource. + :ivar name: The name of the resource :vartype name: str - :ivar type: The type of the resource. + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. :vartype type: str :ivar asset_id: The Asset ID. :vartype asset_id: str @@ -492,11 +529,13 @@ class AssetFilter(ProxyResource): Variables are only populated by the server, and will be ignored when sending a request. - :ivar id: Fully qualified resource ID for the resource. + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} :vartype id: str - :ivar name: The name of the resource. + :ivar name: The name of the resource :vartype name: str - :ivar type: The type of the resource. + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. :vartype type: str :param presentation_time_range: The presentation time range. :type presentation_time_range: @@ -635,16 +674,21 @@ class AudioAnalyzerPreset(Preset): :param audio_language: The language for the audio payload in the input using the BCP-47 format of 'language tag-region' (e.g: 'en-US'). If you know the language of your content, it is recommended that you specify it. - If the language isn't specified or set to null, automatic language - detection will choose the first language detected and process with the - selected language for the duration of the file. It does not currently - support dynamically switching between languages after the first language - is detected. The automatic detection works best with audio recordings with - clearly discernable speech. If automatic detection fails to find the - language, transcription would fallback to 'en-US'." The list of supported - languages is available here: - https://go.microsoft.com/fwlink/?linkid=2109463 + The language must be specified explicitly for AudioAnalysisMode::Basic, + since automatic language detection is not included in basic mode. If the + language isn't specified or set to null, automatic language detection will + choose the first language detected and process with the selected language + for the duration of the file. It does not currently support dynamically + switching between languages after the first language is detected. The + automatic detection works best with audio recordings with clearly + discernable speech. If automatic detection fails to find the language, + transcription would fallback to 'en-US'." The list of supported languages + is available here: https://go.microsoft.com/fwlink/?linkid=2109463 :type audio_language: str + :param mode: Determines the set of audio analysis operations to be + performed. If unspecified, the Standard AudioAnalysisMode would be chosen. + Possible values include: 'Standard', 'Basic' + :type mode: str or ~azure.mgmt.media.models.AudioAnalysisMode :param experimental_options: Dictionary containing key value pairs for parameters not exposed in the preset itself :type experimental_options: dict[str, str] @@ -657,6 +701,7 @@ class AudioAnalyzerPreset(Preset): _attribute_map = { 'odatatype': {'key': '@odata\\.type', 'type': 'str'}, 'audio_language': {'key': 'audioLanguage', 'type': 'str'}, + 'mode': {'key': 'mode', 'type': 'str'}, 'experimental_options': {'key': 'experimentalOptions', 'type': '{str}'}, } @@ -664,9 +709,10 @@ class AudioAnalyzerPreset(Preset): 'odatatype': {'#Microsoft.Media.VideoAnalyzerPreset': 'VideoAnalyzerPreset'} } - def __init__(self, *, audio_language: str=None, experimental_options=None, **kwargs) -> None: + def __init__(self, *, audio_language: str=None, mode=None, experimental_options=None, **kwargs) -> None: super(AudioAnalyzerPreset, self).__init__(**kwargs) self.audio_language = audio_language + self.mode = mode self.experimental_options = experimental_options self.odatatype = '#Microsoft.Media.AudioAnalyzerPreset' @@ -687,15 +733,16 @@ class Overlay(Model): :type input_label: str :param start: The start position, with reference to the input video, at which the overlay starts. The value should be in ISO 8601 format. For - example, PT05S to start the overlay at 5 seconds in to the input video. If + example, PT05S to start the overlay at 5 seconds into the input video. If not specified the overlay starts from the beginning of the input video. :type start: timedelta - :param end: The position in the input video at which the overlay ends. The - value should be in ISO 8601 duration format. For example, PT30S to end the - overlay at 30 seconds in to the input video. If not specified the overlay - will be applied until the end of the input video if inputLoop is true. - Else, if inputLoop is false, then overlay will last as long as the - duration of the overlay media. + :param end: The end position, with reference to the input video, at which + the overlay ends. The value should be in ISO 8601 format. For example, + PT30S to end the overlay at 30 seconds into the input video. If not + specified or the value is greater than the input video duration, the + overlay will be applied until the end of the input video if the overlay + media duration is greater than the input video duration, else the overlay + will last as long as the overlay media duration. :type end: timedelta :param fade_in_duration: The duration over which the overlay fades in onto the input video. The value should be in ISO 8601 duration format. If not @@ -755,15 +802,16 @@ class AudioOverlay(Overlay): :type input_label: str :param start: The start position, with reference to the input video, at which the overlay starts. The value should be in ISO 8601 format. For - example, PT05S to start the overlay at 5 seconds in to the input video. If + example, PT05S to start the overlay at 5 seconds into the input video. If not specified the overlay starts from the beginning of the input video. :type start: timedelta - :param end: The position in the input video at which the overlay ends. The - value should be in ISO 8601 duration format. For example, PT30S to end the - overlay at 30 seconds in to the input video. If not specified the overlay - will be applied until the end of the input video if inputLoop is true. - Else, if inputLoop is false, then overlay will last as long as the - duration of the overlay media. + :param end: The end position, with reference to the input video, at which + the overlay ends. The value should be in ISO 8601 format. For example, + PT30S to end the overlay at 30 seconds into the input video. If not + specified or the value is greater than the input video duration, the + overlay will be applied until the end of the input video if the overlay + media duration is greater than the input video duration, else the overlay + will last as long as the overlay media duration. :type end: timedelta :param fade_in_duration: The duration over which the overlay fades in onto the input video. The value should be in ISO 8601 duration format. If not @@ -800,6 +848,44 @@ def __init__(self, *, input_label: str, start=None, end=None, fade_in_duration=N self.odatatype = '#Microsoft.Media.AudioOverlay' +class AzureEntityResource(Resource): + """The resource model definition for a Azure Resource Manager resource with an + etag. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :ivar etag: Resource Etag. + :vartype etag: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(AzureEntityResource, self).__init__(**kwargs) + self.etag = None + + class BuiltInStandardEncoderPreset(Preset): """Describes a built-in preset for encoding the input video with the Standard Encoder. @@ -812,8 +898,9 @@ class BuiltInStandardEncoderPreset(Preset): videos. Possible values include: 'H264SingleBitrateSD', 'H264SingleBitrate720p', 'H264SingleBitrate1080p', 'AdaptiveStreaming', 'AACGoodQualityAudio', 'ContentAwareEncodingExperimental', - 'ContentAwareEncoding', 'H264MultipleBitrate1080p', - 'H264MultipleBitrate720p', 'H264MultipleBitrateSD' + 'ContentAwareEncoding', 'CopyAllBitrateNonInterleaved', + 'H264MultipleBitrate1080p', 'H264MultipleBitrate720p', + 'H264MultipleBitrateSD' :type preset_name: str or ~azure.mgmt.media.models.EncoderNamedPreset """ @@ -980,11 +1067,13 @@ class ContentKeyPolicy(ProxyResource): All required parameters must be populated in order to send to Azure. - :ivar id: Fully qualified resource ID for the resource. + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} :vartype id: str - :ivar name: The name of the resource. + :ivar name: The name of the resource :vartype name: str - :ivar type: The type of the resource. + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. :vartype type: str :ivar policy_id: The legacy Policy ID. :vartype policy_id: str @@ -2351,12 +2440,17 @@ class Format(Model): :param filename_pattern: Required. The pattern of the file names for the generated output files. The following macros are supported in the file - name: {Basename} - The base name of the input video {Extension} - The - appropriate extension for this format. {Label} - The label assigned to the - codec/layer. {Index} - A unique index for thumbnails. Only applicable to - thumbnails. {Bitrate} - The audio/video bitrate. Not applicable to - thumbnails. {Codec} - The type of the audio/video codec. Any unsubstituted - macros will be collapsed and removed from the filename. + name: {Basename} - An expansion macro that will use the name of the input + video file. If the base name(the file suffix is not included) of the input + video file is less than 32 characters long, the base name of input video + files will be used. If the length of base name of the input video file + exceeds 32 characters, the base name is truncated to the first 32 + characters in total length. {Extension} - The appropriate extension for + this format. {Label} - The label assigned to the codec/layer. {Index} - A + unique index for thumbnails. Only applicable to thumbnails. {Bitrate} - + The audio/video bitrate. Not applicable to thumbnails. {Codec} - The type + of the audio/video codec. Any unsubstituted macros will be collapsed and + removed from the filename. :type filename_pattern: str :param odatatype: Required. Constant filled by server. :type odatatype: str @@ -2633,15 +2727,19 @@ class Video(Codec): :type label: str :param odatatype: Required. Constant filled by server. :type odatatype: str - :param key_frame_interval: The distance between two key frames, thereby - defining a group of pictures (GOP). The value should be a non-zero integer - in the range [1, 30] seconds, specified in ISO 8601 format. The default is - 2 seconds (PT2S). + :param key_frame_interval: The distance between two key frames. The value + should be non-zero in the range [0.5, 20] seconds, specified in ISO 8601 + format. The default is 2 seconds(PT2S). Note that this setting is ignored + if VideoSyncMode.Passthrough is set, where the KeyFrameInterval value will + follow the input source setting. :type key_frame_interval: timedelta :param stretch_mode: The resizing mode - how the input video will be resized to fit the desired output resolution(s). Default is AutoSize. Possible values include: 'None', 'AutoSize', 'AutoFit' :type stretch_mode: str or ~azure.mgmt.media.models.StretchMode + :param sync_mode: The Video Sync Mode. Possible values include: 'Auto', + 'Passthrough', 'Cfr', 'Vfr' + :type sync_mode: str or ~azure.mgmt.media.models.VideoSyncMode """ _validation = { @@ -2653,16 +2751,18 @@ class Video(Codec): 'odatatype': {'key': '@odata\\.type', 'type': 'str'}, 'key_frame_interval': {'key': 'keyFrameInterval', 'type': 'duration'}, 'stretch_mode': {'key': 'stretchMode', 'type': 'str'}, + 'sync_mode': {'key': 'syncMode', 'type': 'str'}, } _subtype_map = { 'odatatype': {'#Microsoft.Media.Image': 'Image', '#Microsoft.Media.H264Video': 'H264Video'} } - def __init__(self, *, label: str=None, key_frame_interval=None, stretch_mode=None, **kwargs) -> None: + def __init__(self, *, label: str=None, key_frame_interval=None, stretch_mode=None, sync_mode=None, **kwargs) -> None: super(Video, self).__init__(label=label, **kwargs) self.key_frame_interval = key_frame_interval self.stretch_mode = stretch_mode + self.sync_mode = sync_mode self.odatatype = '#Microsoft.Media.Video' @@ -2676,15 +2776,19 @@ class H264Video(Video): :type label: str :param odatatype: Required. Constant filled by server. :type odatatype: str - :param key_frame_interval: The distance between two key frames, thereby - defining a group of pictures (GOP). The value should be a non-zero integer - in the range [1, 30] seconds, specified in ISO 8601 format. The default is - 2 seconds (PT2S). + :param key_frame_interval: The distance between two key frames. The value + should be non-zero in the range [0.5, 20] seconds, specified in ISO 8601 + format. The default is 2 seconds(PT2S). Note that this setting is ignored + if VideoSyncMode.Passthrough is set, where the KeyFrameInterval value will + follow the input source setting. :type key_frame_interval: timedelta :param stretch_mode: The resizing mode - how the input video will be resized to fit the desired output resolution(s). Default is AutoSize. Possible values include: 'None', 'AutoSize', 'AutoFit' :type stretch_mode: str or ~azure.mgmt.media.models.StretchMode + :param sync_mode: The Video Sync Mode. Possible values include: 'Auto', + 'Passthrough', 'Cfr', 'Vfr' + :type sync_mode: str or ~azure.mgmt.media.models.VideoSyncMode :param scene_change_detection: Whether or not the encoder should insert key frames at scene changes. If not specified, the default is false. This flag should be set to true only when the encoder is being configured to @@ -2708,13 +2812,14 @@ class H264Video(Video): 'odatatype': {'key': '@odata\\.type', 'type': 'str'}, 'key_frame_interval': {'key': 'keyFrameInterval', 'type': 'duration'}, 'stretch_mode': {'key': 'stretchMode', 'type': 'str'}, + 'sync_mode': {'key': 'syncMode', 'type': 'str'}, 'scene_change_detection': {'key': 'sceneChangeDetection', 'type': 'bool'}, 'complexity': {'key': 'complexity', 'type': 'str'}, 'layers': {'key': 'layers', 'type': '[H264Layer]'}, } - def __init__(self, *, label: str=None, key_frame_interval=None, stretch_mode=None, scene_change_detection: bool=None, complexity=None, layers=None, **kwargs) -> None: - super(H264Video, self).__init__(label=label, key_frame_interval=key_frame_interval, stretch_mode=stretch_mode, **kwargs) + def __init__(self, *, label: str=None, key_frame_interval=None, stretch_mode=None, sync_mode=None, scene_change_detection: bool=None, complexity=None, layers=None, **kwargs) -> None: + super(H264Video, self).__init__(label=label, key_frame_interval=key_frame_interval, stretch_mode=stretch_mode, sync_mode=sync_mode, **kwargs) self.scene_change_detection = scene_change_detection self.complexity = complexity self.layers = layers @@ -2722,10 +2827,11 @@ def __init__(self, *, label: str=None, key_frame_interval=None, stretch_mode=Non class Hls(Model): - """The HLS configuration. + """HTTP Live Streaming (HLS) packing setting for the live output. - :param fragments_per_ts_segment: The amount of fragments per HTTP Live - Streaming (HLS) segment. + :param fragments_per_ts_segment: The number of fragments in an HTTP Live + Streaming (HLS) TS segment in the output of the live event. This value + does not affect the packing ratio for HLS CMAF output. :type fragments_per_ts_segment: int """ @@ -2752,31 +2858,52 @@ class Image(Video): :type label: str :param odatatype: Required. Constant filled by server. :type odatatype: str - :param key_frame_interval: The distance between two key frames, thereby - defining a group of pictures (GOP). The value should be a non-zero integer - in the range [1, 30] seconds, specified in ISO 8601 format. The default is - 2 seconds (PT2S). + :param key_frame_interval: The distance between two key frames. The value + should be non-zero in the range [0.5, 20] seconds, specified in ISO 8601 + format. The default is 2 seconds(PT2S). Note that this setting is ignored + if VideoSyncMode.Passthrough is set, where the KeyFrameInterval value will + follow the input source setting. :type key_frame_interval: timedelta :param stretch_mode: The resizing mode - how the input video will be resized to fit the desired output resolution(s). Default is AutoSize. Possible values include: 'None', 'AutoSize', 'AutoFit' :type stretch_mode: str or ~azure.mgmt.media.models.StretchMode + :param sync_mode: The Video Sync Mode. Possible values include: 'Auto', + 'Passthrough', 'Cfr', 'Vfr' + :type sync_mode: str or ~azure.mgmt.media.models.VideoSyncMode :param start: Required. The position in the input video from where to - start generating thumbnails. The value can be in absolute timestamp (ISO - 8601, e.g: PT05S), or a frame count (For example, 10 for the 10th frame), - or a relative value (For example, 1%). Also supports a macro {Best}, which - tells the encoder to select the best thumbnail from the first few seconds - of the video. + start generating thumbnails. The value can be in ISO 8601 format (For + example, PT05S to start at 5 seconds), or a frame count (For example, 10 + to start at the 10th frame), or a relative value to stream duration (For + example, 10% to start at 10% of stream duration). Also supports a macro + {Best}, which tells the encoder to select the best thumbnail from the + first few seconds of the video and will only produce one thumbnail, no + matter what other settings are for Step and Range. The default value is + macro {Best}. :type start: str :param step: The intervals at which thumbnails are generated. The value - can be in absolute timestamp (ISO 8601, e.g: PT05S for one image every 5 - seconds), or a frame count (For example, 30 for every 30 frames), or a - relative value (For example, 1%). + can be in ISO 8601 format (For example, PT05S for one image every 5 + seconds), or a frame count (For example, 30 for one image every 30 + frames), or a relative value to stream duration (For example, 10% for one + image every 10% of stream duration). Note: Step value will affect the + first generated thumbnail, which may not be exactly the one specified at + transform preset start time. This is due to the encoder, which tries to + select the best thumbnail between start time and Step position from start + time as the first output. As the default value is 10%, it means if stream + has long duration, the first generated thumbnail might be far away from + the one specified at start time. Try to select reasonable value for Step + if the first thumbnail is expected close to start time, or set Range value + at 1 if only one thumbnail is needed at start time. :type step: str - :param range: The position in the input video at which to stop generating - thumbnails. The value can be in absolute timestamp (ISO 8601, e.g: PT5M30S - to stop at 5 minutes and 30 seconds), or a frame count (For example, 300 - to stop at the 300th frame), or a relative value (For example, 100%). + :param range: The position relative to transform preset start time in the + input video at which to stop generating thumbnails. The value can be in + ISO 8601 format (For example, PT5M30S to stop at 5 minutes and 30 seconds + from start time), or a frame count (For example, 300 to stop at the 300th + frame from the frame at start time. If this value is 1, it means only + producing one thumbnail at start time), or a relative value to the stream + duration (For example, 50% to stop at half of stream duration from start + time). The default value is 100%, which means to stop at the end of the + stream. :type range: str """ @@ -2790,6 +2917,7 @@ class Image(Video): 'odatatype': {'key': '@odata\\.type', 'type': 'str'}, 'key_frame_interval': {'key': 'keyFrameInterval', 'type': 'duration'}, 'stretch_mode': {'key': 'stretchMode', 'type': 'str'}, + 'sync_mode': {'key': 'syncMode', 'type': 'str'}, 'start': {'key': 'start', 'type': 'str'}, 'step': {'key': 'step', 'type': 'str'}, 'range': {'key': 'range', 'type': 'str'}, @@ -2799,8 +2927,8 @@ class Image(Video): 'odatatype': {'#Microsoft.Media.JpgImage': 'JpgImage', '#Microsoft.Media.PngImage': 'PngImage'} } - def __init__(self, *, start: str, label: str=None, key_frame_interval=None, stretch_mode=None, step: str=None, range: str=None, **kwargs) -> None: - super(Image, self).__init__(label=label, key_frame_interval=key_frame_interval, stretch_mode=stretch_mode, **kwargs) + def __init__(self, *, start: str, label: str=None, key_frame_interval=None, stretch_mode=None, sync_mode=None, step: str=None, range: str=None, **kwargs) -> None: + super(Image, self).__init__(label=label, key_frame_interval=key_frame_interval, stretch_mode=stretch_mode, sync_mode=sync_mode, **kwargs) self.start = start self.step = step self.range = range @@ -2817,12 +2945,17 @@ class ImageFormat(Format): :param filename_pattern: Required. The pattern of the file names for the generated output files. The following macros are supported in the file - name: {Basename} - The base name of the input video {Extension} - The - appropriate extension for this format. {Label} - The label assigned to the - codec/layer. {Index} - A unique index for thumbnails. Only applicable to - thumbnails. {Bitrate} - The audio/video bitrate. Not applicable to - thumbnails. {Codec} - The type of the audio/video codec. Any unsubstituted - macros will be collapsed and removed from the filename. + name: {Basename} - An expansion macro that will use the name of the input + video file. If the base name(the file suffix is not included) of the input + video file is less than 32 characters long, the base name of input video + files will be used. If the length of base name of the input video file + exceeds 32 characters, the base name is truncated to the first 32 + characters in total length. {Extension} - The appropriate extension for + this format. {Label} - The label assigned to the codec/layer. {Index} - A + unique index for thumbnails. Only applicable to thumbnails. {Bitrate} - + The audio/video bitrate. Not applicable to thumbnails. {Codec} - The type + of the audio/video codec. Any unsubstituted macros will be collapsed and + removed from the filename. :type filename_pattern: str :param odatatype: Required. Constant filled by server. :type odatatype: str @@ -2897,14 +3030,16 @@ class Job(ProxyResource): All required parameters must be populated in order to send to Azure. - :ivar id: Fully qualified resource ID for the resource. + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} :vartype id: str - :ivar name: The name of the resource. + :ivar name: The name of the resource :vartype name: str - :ivar type: The type of the resource. + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. :vartype type: str - :ivar created: The UTC date and time when the Job was created, in - 'YYYY-MM-DDThh:mm:ssZ' format. + :ivar created: The UTC date and time when the customer has created the + Job, in 'YYYY-MM-DDThh:mm:ssZ' format. :vartype created: datetime :ivar state: The current state of the job. Possible values include: 'Canceled', 'Canceling', 'Error', 'Finished', 'Processing', 'Queued', @@ -2914,8 +3049,8 @@ class Job(ProxyResource): :type description: str :param input: Required. The inputs for the Job. :type input: ~azure.mgmt.media.models.JobInput - :ivar last_modified: The UTC date and time when the Job was last updated, - in 'YYYY-MM-DDThh:mm:ssZ' format. + :ivar last_modified: The UTC date and time when the customer has last + updated the Job, in 'YYYY-MM-DDThh:mm:ssZ' format. :vartype last_modified: datetime :param outputs: Required. The outputs for the Job. :type outputs: list[~azure.mgmt.media.models.JobOutput] @@ -3419,12 +3554,17 @@ class JpgFormat(ImageFormat): :param filename_pattern: Required. The pattern of the file names for the generated output files. The following macros are supported in the file - name: {Basename} - The base name of the input video {Extension} - The - appropriate extension for this format. {Label} - The label assigned to the - codec/layer. {Index} - A unique index for thumbnails. Only applicable to - thumbnails. {Bitrate} - The audio/video bitrate. Not applicable to - thumbnails. {Codec} - The type of the audio/video codec. Any unsubstituted - macros will be collapsed and removed from the filename. + name: {Basename} - An expansion macro that will use the name of the input + video file. If the base name(the file suffix is not included) of the input + video file is less than 32 characters long, the base name of input video + files will be used. If the length of base name of the input video file + exceeds 32 characters, the base name is truncated to the first 32 + characters in total length. {Extension} - The appropriate extension for + this format. {Label} - The label assigned to the codec/layer. {Index} - A + unique index for thumbnails. Only applicable to thumbnails. {Bitrate} - + The audio/video bitrate. Not applicable to thumbnails. {Codec} - The type + of the audio/video codec. Any unsubstituted macros will be collapsed and + removed from the filename. :type filename_pattern: str :param odatatype: Required. Constant filled by server. :type odatatype: str @@ -3456,35 +3596,63 @@ class JpgImage(Image): :type label: str :param odatatype: Required. Constant filled by server. :type odatatype: str - :param key_frame_interval: The distance between two key frames, thereby - defining a group of pictures (GOP). The value should be a non-zero integer - in the range [1, 30] seconds, specified in ISO 8601 format. The default is - 2 seconds (PT2S). + :param key_frame_interval: The distance between two key frames. The value + should be non-zero in the range [0.5, 20] seconds, specified in ISO 8601 + format. The default is 2 seconds(PT2S). Note that this setting is ignored + if VideoSyncMode.Passthrough is set, where the KeyFrameInterval value will + follow the input source setting. :type key_frame_interval: timedelta :param stretch_mode: The resizing mode - how the input video will be resized to fit the desired output resolution(s). Default is AutoSize. Possible values include: 'None', 'AutoSize', 'AutoFit' :type stretch_mode: str or ~azure.mgmt.media.models.StretchMode + :param sync_mode: The Video Sync Mode. Possible values include: 'Auto', + 'Passthrough', 'Cfr', 'Vfr' + :type sync_mode: str or ~azure.mgmt.media.models.VideoSyncMode :param start: Required. The position in the input video from where to - start generating thumbnails. The value can be in absolute timestamp (ISO - 8601, e.g: PT05S), or a frame count (For example, 10 for the 10th frame), - or a relative value (For example, 1%). Also supports a macro {Best}, which - tells the encoder to select the best thumbnail from the first few seconds - of the video. + start generating thumbnails. The value can be in ISO 8601 format (For + example, PT05S to start at 5 seconds), or a frame count (For example, 10 + to start at the 10th frame), or a relative value to stream duration (For + example, 10% to start at 10% of stream duration). Also supports a macro + {Best}, which tells the encoder to select the best thumbnail from the + first few seconds of the video and will only produce one thumbnail, no + matter what other settings are for Step and Range. The default value is + macro {Best}. :type start: str :param step: The intervals at which thumbnails are generated. The value - can be in absolute timestamp (ISO 8601, e.g: PT05S for one image every 5 - seconds), or a frame count (For example, 30 for every 30 frames), or a - relative value (For example, 1%). + can be in ISO 8601 format (For example, PT05S for one image every 5 + seconds), or a frame count (For example, 30 for one image every 30 + frames), or a relative value to stream duration (For example, 10% for one + image every 10% of stream duration). Note: Step value will affect the + first generated thumbnail, which may not be exactly the one specified at + transform preset start time. This is due to the encoder, which tries to + select the best thumbnail between start time and Step position from start + time as the first output. As the default value is 10%, it means if stream + has long duration, the first generated thumbnail might be far away from + the one specified at start time. Try to select reasonable value for Step + if the first thumbnail is expected close to start time, or set Range value + at 1 if only one thumbnail is needed at start time. :type step: str - :param range: The position in the input video at which to stop generating - thumbnails. The value can be in absolute timestamp (ISO 8601, e.g: PT5M30S - to stop at 5 minutes and 30 seconds), or a frame count (For example, 300 - to stop at the 300th frame), or a relative value (For example, 100%). + :param range: The position relative to transform preset start time in the + input video at which to stop generating thumbnails. The value can be in + ISO 8601 format (For example, PT5M30S to stop at 5 minutes and 30 seconds + from start time), or a frame count (For example, 300 to stop at the 300th + frame from the frame at start time. If this value is 1, it means only + producing one thumbnail at start time), or a relative value to the stream + duration (For example, 50% to stop at half of stream duration from start + time). The default value is 100%, which means to stop at the end of the + stream. :type range: str :param layers: A collection of output JPEG image layers to be produced by the encoder. :type layers: list[~azure.mgmt.media.models.JpgLayer] + :param sprite_column: Sets the number of columns used in thumbnail sprite + image. The number of rows are automatically calculated and a VTT file is + generated with the coordinate mappings for each thumbnail in the sprite. + Note: this value should be a positive integer and a proper value is + recommended so that the output image resolution will not go beyond JPEG + maximum pixel resolution limit 65535x65535. + :type sprite_column: int """ _validation = { @@ -3497,15 +3665,18 @@ class JpgImage(Image): 'odatatype': {'key': '@odata\\.type', 'type': 'str'}, 'key_frame_interval': {'key': 'keyFrameInterval', 'type': 'duration'}, 'stretch_mode': {'key': 'stretchMode', 'type': 'str'}, + 'sync_mode': {'key': 'syncMode', 'type': 'str'}, 'start': {'key': 'start', 'type': 'str'}, 'step': {'key': 'step', 'type': 'str'}, 'range': {'key': 'range', 'type': 'str'}, 'layers': {'key': 'layers', 'type': '[JpgLayer]'}, + 'sprite_column': {'key': 'spriteColumn', 'type': 'int'}, } - def __init__(self, *, start: str, label: str=None, key_frame_interval=None, stretch_mode=None, step: str=None, range: str=None, layers=None, **kwargs) -> None: - super(JpgImage, self).__init__(label=label, key_frame_interval=key_frame_interval, stretch_mode=stretch_mode, start=start, step=step, range=range, **kwargs) + def __init__(self, *, start: str, label: str=None, key_frame_interval=None, stretch_mode=None, sync_mode=None, step: str=None, range: str=None, layers=None, sprite_column: int=None, **kwargs) -> None: + super(JpgImage, self).__init__(label=label, key_frame_interval=key_frame_interval, stretch_mode=stretch_mode, sync_mode=sync_mode, start=start, step=step, range=range, **kwargs) self.layers = layers + self.sprite_column = sprite_column self.odatatype = '#Microsoft.Media.JpgImage' @@ -3551,6 +3722,37 @@ def __init__(self, *, width: str=None, height: str=None, label: str=None, qualit self.odatatype = '#Microsoft.Media.JpgLayer' +class KeyVaultProperties(Model): + """KeyVaultProperties. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param key_identifier: The URL of the Key Vault key used to encrypt the + account. The key may either be versioned (for example + https://vault/keys/mykey/version1) or reference a key without a version + (for example https://vault/keys/mykey). + :type key_identifier: str + :ivar current_key_identifier: The current key used to encrypt the Media + Services account, including the key version. + :vartype current_key_identifier: str + """ + + _validation = { + 'current_key_identifier': {'readonly': True}, + } + + _attribute_map = { + 'key_identifier': {'key': 'keyIdentifier', 'type': 'str'}, + 'current_key_identifier': {'key': 'currentKeyIdentifier', 'type': 'str'}, + } + + def __init__(self, *, key_identifier: str=None, **kwargs) -> None: + super(KeyVaultProperties, self).__init__(**kwargs) + self.key_identifier = key_identifier + self.current_key_identifier = None + + class ListContainerSasInput(Model): """The parameters to the list SAS request. @@ -3654,20 +3856,24 @@ def __init__(self, **kwargs) -> None: class TrackedResource(Resource): - """The resource model definition for a ARM tracked resource. + """The resource model definition for a ARM tracked top level resource. Variables are only populated by the server, and will be ignored when sending a request. - :ivar id: Fully qualified resource ID for the resource. + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} :vartype id: str - :ivar name: The name of the resource. + :ivar name: The name of the resource :vartype name: str - :ivar type: The type of the resource. + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. :vartype type: str :param tags: Resource tags. :type tags: dict[str, str] - :param location: The Azure Region of the resource. + :param location: Required. The geo-location where the resource lives :type location: str """ @@ -3675,6 +3881,7 @@ class TrackedResource(Resource): 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, + 'location': {'required': True}, } _attribute_map = { @@ -3685,57 +3892,79 @@ class TrackedResource(Resource): 'location': {'key': 'location', 'type': 'str'}, } - def __init__(self, *, tags=None, location: str=None, **kwargs) -> None: + def __init__(self, *, location: str, tags=None, **kwargs) -> None: super(TrackedResource, self).__init__(**kwargs) self.tags = tags self.location = location class LiveEvent(TrackedResource): - """The Live Event. + """The live event. Variables are only populated by the server, and will be ignored when sending a request. All required parameters must be populated in order to send to Azure. - :ivar id: Fully qualified resource ID for the resource. + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} :vartype id: str - :ivar name: The name of the resource. + :ivar name: The name of the resource :vartype name: str - :ivar type: The type of the resource. + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. :vartype type: str :param tags: Resource tags. :type tags: dict[str, str] - :param location: The Azure Region of the resource. + :param location: Required. The geo-location where the resource lives :type location: str - :param description: The Live Event description. + :param description: A description for the live event. :type description: str - :param input: Required. The Live Event input. + :param input: Required. Live event input settings. It defines how the live + event receives input from a contribution encoder. :type input: ~azure.mgmt.media.models.LiveEventInput - :param preview: The Live Event preview. + :param preview: Live event preview settings. Preview allows live event + producers to preview the live streaming content without creating any live + output. :type preview: ~azure.mgmt.media.models.LiveEventPreview - :param encoding: The Live Event encoding. + :param encoding: Encoding settings for the live event. It configures + whether a live encoder is used for the live event and settings for the + live encoder if it is used. :type encoding: ~azure.mgmt.media.models.LiveEventEncoding - :ivar provisioning_state: The provisioning state of the Live Event. + :param transcriptions: Live transcription settings for the live event. See + https://go.microsoft.com/fwlink/?linkid=2133742 for more information about + the live transcription feature. + :type transcriptions: + list[~azure.mgmt.media.models.LiveEventTranscription] + :ivar provisioning_state: The provisioning state of the live event. :vartype provisioning_state: str - :ivar resource_state: The resource state of the Live Event. Possible - values include: 'Stopped', 'Starting', 'Running', 'Stopping', 'Deleting' + :ivar resource_state: The resource state of the live event. See + https://go.microsoft.com/fwlink/?linkid=2139012 for more information. + Possible values include: 'Stopped', 'Allocating', 'StandBy', 'Starting', + 'Running', 'Stopping', 'Deleting' :vartype resource_state: str or ~azure.mgmt.media.models.LiveEventResourceState - :param cross_site_access_policies: The Live Event access policies. + :param cross_site_access_policies: Live event cross site access policies. :type cross_site_access_policies: ~azure.mgmt.media.models.CrossSiteAccessPolicies - :param vanity_url: Specifies whether to use a vanity url with the Live - Event. This value is specified at creation time and cannot be updated. - :type vanity_url: bool - :param stream_options: The options to use for the LiveEvent. This value - is specified at creation time and cannot be updated. + :param use_static_hostname: Specifies whether a static hostname would be + assigned to the live event preview and ingest endpoints. This value can + only be updated if the live event is in Standby state + :type use_static_hostname: bool + :param hostname_prefix: When useStaticHostname is set to true, the + hostnamePrefix specifies the first part of the hostname assigned to the + live event preview and ingest endpoints. The final hostname would be a + combination of this prefix, the media service account name and a short + code for the Azure Media Services data center. + :type hostname_prefix: str + :param stream_options: The options to use for the LiveEvent. This value is + specified at creation time and cannot be updated. The valid values for the + array entry values are 'Default' and 'LowLatency'. :type stream_options: list[str or ~azure.mgmt.media.models.StreamOptionsFlag] - :ivar created: The exact time the Live Event was created. + :ivar created: The creation time for the live event :vartype created: datetime - :ivar last_modified: The exact time the Live Event was last modified. + :ivar last_modified: The last modified time of the live event. :vartype last_modified: datetime """ @@ -3743,6 +3972,7 @@ class LiveEvent(TrackedResource): 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, + 'location': {'required': True}, 'input': {'required': True}, 'provisioning_state': {'readonly': True}, 'resource_state': {'readonly': True}, @@ -3760,25 +3990,29 @@ class LiveEvent(TrackedResource): 'input': {'key': 'properties.input', 'type': 'LiveEventInput'}, 'preview': {'key': 'properties.preview', 'type': 'LiveEventPreview'}, 'encoding': {'key': 'properties.encoding', 'type': 'LiveEventEncoding'}, + 'transcriptions': {'key': 'properties.transcriptions', 'type': '[LiveEventTranscription]'}, 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 'resource_state': {'key': 'properties.resourceState', 'type': 'str'}, 'cross_site_access_policies': {'key': 'properties.crossSiteAccessPolicies', 'type': 'CrossSiteAccessPolicies'}, - 'vanity_url': {'key': 'properties.vanityUrl', 'type': 'bool'}, + 'use_static_hostname': {'key': 'properties.useStaticHostname', 'type': 'bool'}, + 'hostname_prefix': {'key': 'properties.hostnamePrefix', 'type': 'str'}, 'stream_options': {'key': 'properties.streamOptions', 'type': '[str]'}, 'created': {'key': 'properties.created', 'type': 'iso-8601'}, 'last_modified': {'key': 'properties.lastModified', 'type': 'iso-8601'}, } - def __init__(self, *, input, tags=None, location: str=None, description: str=None, preview=None, encoding=None, cross_site_access_policies=None, vanity_url: bool=None, stream_options=None, **kwargs) -> None: + def __init__(self, *, location: str, input, tags=None, description: str=None, preview=None, encoding=None, transcriptions=None, cross_site_access_policies=None, use_static_hostname: bool=None, hostname_prefix: str=None, stream_options=None, **kwargs) -> None: super(LiveEvent, self).__init__(tags=tags, location=location, **kwargs) self.description = description self.input = input self.preview = preview self.encoding = encoding + self.transcriptions = transcriptions self.provisioning_state = None self.resource_state = None self.cross_site_access_policies = cross_site_access_policies - self.vanity_url = vanity_url + self.use_static_hostname = use_static_hostname + self.hostname_prefix = hostname_prefix self.stream_options = stream_options self.created = None self.last_modified = None @@ -3787,8 +4021,9 @@ def __init__(self, *, input, tags=None, location: str=None, description: str=Non class LiveEventActionInput(Model): """The LiveEvent action input parameter definition. - :param remove_outputs_on_stop: The flag indicates if remove LiveOutputs on - Stop. + :param remove_outputs_on_stop: The flag indicates whether live outputs are + automatically deleted when live event is being stopped. Deleting live + outputs do not delete the underlying assets. :type remove_outputs_on_stop: bool """ @@ -3802,30 +4037,54 @@ def __init__(self, *, remove_outputs_on_stop: bool=None, **kwargs) -> None: class LiveEventEncoding(Model): - """The Live Event encoding. - - :param encoding_type: The encoding type for Live Event. This value is - specified at creation time and cannot be updated. Possible values include: - 'None', 'Basic', 'Standard', 'Premium1080p' + """Specifies the live event type and optional encoding settings for encoding + live events. + + :param encoding_type: Live event type. When encodingType is set to None, + the service simply passes through the incoming video and audio layer(s) to + the output. When encodingType is set to Standard or Premium1080p, a live + encoder transcodes the incoming stream into multiple bitrates or layers. + See https://go.microsoft.com/fwlink/?linkid=2095101 for more information. + This property cannot be modified after the live event is created. Possible + values include: 'None', 'Standard', 'Premium1080p' :type encoding_type: str or ~azure.mgmt.media.models.LiveEventEncodingType - :param preset_name: The encoding preset name. This value is specified at - creation time and cannot be updated. + :param preset_name: The optional encoding preset name, used when + encodingType is not None. This value is specified at creation time and + cannot be updated. If the encodingType is set to Standard, then the + default preset name is ‘Default720p’. Else if the encodingType is set to + Premium1080p, the default preset is ‘Default1080p’. :type preset_name: str + :param stretch_mode: Specifies how the input video will be resized to fit + the desired output resolution(s). Default is None. Possible values + include: 'None', 'AutoSize', 'AutoFit' + :type stretch_mode: str or ~azure.mgmt.media.models.StretchMode + :param key_frame_interval: Use an ISO 8601 time value between 0.5 to 20 + seconds to specify the output fragment length for the video and audio + tracks of an encoding live event. For example, use PT2S to indicate 2 + seconds. For the video track it also defines the key frame interval, or + the length of a GoP (group of pictures). If this value is not set for an + encoding live event, the fragment duration defaults to 2 seconds. The + value cannot be set for pass-through live events. + :type key_frame_interval: timedelta """ _attribute_map = { 'encoding_type': {'key': 'encodingType', 'type': 'str'}, 'preset_name': {'key': 'presetName', 'type': 'str'}, + 'stretch_mode': {'key': 'stretchMode', 'type': 'str'}, + 'key_frame_interval': {'key': 'keyFrameInterval', 'type': 'duration'}, } - def __init__(self, *, encoding_type=None, preset_name: str=None, **kwargs) -> None: + def __init__(self, *, encoding_type=None, preset_name: str=None, stretch_mode=None, key_frame_interval=None, **kwargs) -> None: super(LiveEventEncoding, self).__init__(**kwargs) self.encoding_type = encoding_type self.preset_name = preset_name + self.stretch_mode = stretch_mode + self.key_frame_interval = key_frame_interval class LiveEventEndpoint(Model): - """The Live Event endpoint. + """The live event endpoint. :param protocol: The endpoint protocol. :type protocol: str @@ -3845,25 +4104,27 @@ def __init__(self, *, protocol: str=None, url: str=None, **kwargs) -> None: class LiveEventInput(Model): - """The Live Event input. + """The live event input. All required parameters must be populated in order to send to Azure. - :param streaming_protocol: Required. The streaming protocol for the Live - Event. This is specified at creation time and cannot be updated. Possible + :param streaming_protocol: Required. The input protocol for the live + event. This is specified at creation time and cannot be updated. Possible values include: 'FragmentedMP4', 'RTMP' :type streaming_protocol: str or ~azure.mgmt.media.models.LiveEventInputProtocol - :param access_control: The access control for LiveEvent Input. + :param access_control: Access control for live event input. :type access_control: ~azure.mgmt.media.models.LiveEventInputAccessControl - :param key_frame_interval_duration: ISO 8601 timespan duration of the key - frame interval duration. + :param key_frame_interval_duration: ISO 8601 time duration of the key + frame interval duration of the input. This value sets the + EXT-X-TARGETDURATION property in the HLS output. For example, use PT2S to + indicate 2 seconds. Leave the value empty for encoding live events. :type key_frame_interval_duration: str - :param access_token: A unique identifier for a stream. This can be - specified at creation time but cannot be updated. If omitted, the service - will generate a unique value. + :param access_token: A UUID in string form to uniquely identify the + stream. This can be specified at creation time but cannot be updated. If + omitted, the service will generate a unique value. :type access_token: str - :param endpoints: The input endpoints for the Live Event. + :param endpoints: The input endpoints for the live event. :type endpoints: list[~azure.mgmt.media.models.LiveEventEndpoint] """ @@ -3889,7 +4150,7 @@ def __init__(self, *, streaming_protocol, access_control=None, key_frame_interva class LiveEventInputAccessControl(Model): - """The IP access control for Live Event Input. + """The IP access control for live event input. :param ip: The IP access control properties. :type ip: ~azure.mgmt.media.models.IPAccessControl @@ -3904,27 +4165,81 @@ def __init__(self, *, ip=None, **kwargs) -> None: self.ip = ip +class LiveEventInputTrackSelection(Model): + """A track selection condition. This property is reserved for future use, any + value set on this property will be ignored. + + :param property: Property name to select. This property is reserved for + future use, any value set on this property will be ignored. + :type property: str + :param operation: Comparing operation. This property is reserved for + future use, any value set on this property will be ignored. + :type operation: str + :param value: Property value to select. This property is reserved for + future use, any value set on this property will be ignored. + :type value: str + """ + + _attribute_map = { + 'property': {'key': 'property', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, *, property: str=None, operation: str=None, value: str=None, **kwargs) -> None: + super(LiveEventInputTrackSelection, self).__init__(**kwargs) + self.property = property + self.operation = operation + self.value = value + + +class LiveEventOutputTranscriptionTrack(Model): + """Describes a transcription track in the output of a live event, generated + using speech-to-text transcription. This property is reserved for future + use, any value set on this property will be ignored. + + All required parameters must be populated in order to send to Azure. + + :param track_name: Required. The output track name. This property is + reserved for future use, any value set on this property will be ignored. + :type track_name: str + """ + + _validation = { + 'track_name': {'required': True}, + } + + _attribute_map = { + 'track_name': {'key': 'trackName', 'type': 'str'}, + } + + def __init__(self, *, track_name: str, **kwargs) -> None: + super(LiveEventOutputTranscriptionTrack, self).__init__(**kwargs) + self.track_name = track_name + + class LiveEventPreview(Model): - """The Live Event preview. + """Live event preview settings. - :param endpoints: The endpoints for preview. + :param endpoints: The endpoints for preview. Do not share the preview URL + with the live event audience. :type endpoints: list[~azure.mgmt.media.models.LiveEventEndpoint] - :param access_control: The access control for LiveEvent preview. + :param access_control: The access control for live event preview. :type access_control: ~azure.mgmt.media.models.LiveEventPreviewAccessControl :param preview_locator: The identifier of the preview locator in Guid - format. Specifying this at creation time allows the caller to know the - preview locator url before the event is created. If omitted, the service - will generate a random identifier. This value cannot be updated once the + format. Specifying this at creation time allows the caller to know the + preview locator url before the event is created. If omitted, the service + will generate a random identifier. This value cannot be updated once the live event is created. :type preview_locator: str :param streaming_policy_name: The name of streaming policy used for the - LiveEvent preview. This value is specified at creation time and cannot be + live event preview. This value is specified at creation time and cannot be updated. :type streaming_policy_name: str - :param alternative_media_id: An Alternative Media Identifier associated - with the StreamingLocator created for the preview. This value is - specified at creation time and cannot be updated. The identifier can be + :param alternative_media_id: An alternative media identifier associated + with the streaming locator created for the preview. This value is + specified at creation time and cannot be updated. The identifier can be used in the CustomLicenseAcquisitionUrlTemplate or the CustomKeyAcquisitionUrlTemplate of the StreamingPolicy specified in the StreamingPolicyName field. @@ -3949,7 +4264,7 @@ def __init__(self, *, endpoints=None, access_control=None, preview_locator: str= class LiveEventPreviewAccessControl(Model): - """The IP access control for Live Event preview. + """The IP access control for the live event preview endpoint. :param ip: The IP access control properties. :type ip: ~azure.mgmt.media.models.IPAccessControl @@ -3964,6 +4279,44 @@ def __init__(self, *, ip=None, **kwargs) -> None: self.ip = ip +class LiveEventTranscription(Model): + """Describes the transcription tracks in the output of a live event, generated + using speech-to-text transcription. This property is reserved for future + use, any value set on this property will be ignored. + + :param language: Specifies the language (locale) to be used for + speech-to-text transcription – it should match the spoken language in the + audio track. The value should be in BCP-47 format (e.g: 'en-US'). See + https://go.microsoft.com/fwlink/?linkid=2133742 for more information about + the live transcription feature and the list of supported languages. + :type language: str + :param input_track_selection: Provides a mechanism to select the audio + track in the input live feed, to which speech-to-text transcription is + applied. This property is reserved for future use, any value set on this + property will be ignored. + :type input_track_selection: + list[~azure.mgmt.media.models.LiveEventInputTrackSelection] + :param output_transcription_track: Describes a transcription track in the + output of a live event, generated using speech-to-text transcription. This + property is reserved for future use, any value set on this property will + be ignored. + :type output_transcription_track: + ~azure.mgmt.media.models.LiveEventOutputTranscriptionTrack + """ + + _attribute_map = { + 'language': {'key': 'language', 'type': 'str'}, + 'input_track_selection': {'key': 'inputTrackSelection', 'type': '[LiveEventInputTrackSelection]'}, + 'output_transcription_track': {'key': 'outputTranscriptionTrack', 'type': 'LiveEventOutputTranscriptionTrack'}, + } + + def __init__(self, *, language: str=None, input_track_selection=None, output_transcription_track=None, **kwargs) -> None: + super(LiveEventTranscription, self).__init__(**kwargs) + self.language = language + self.input_track_selection = input_track_selection + self.output_transcription_track = output_transcription_track + + class LiveOutput(ProxyResource): """The Live Output. @@ -3972,34 +4325,39 @@ class LiveOutput(ProxyResource): All required parameters must be populated in order to send to Azure. - :ivar id: Fully qualified resource ID for the resource. + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} :vartype id: str - :ivar name: The name of the resource. + :ivar name: The name of the resource :vartype name: str - :ivar type: The type of the resource. + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. :vartype type: str - :param description: The description of the Live Output. + :param description: The description of the live output. :type description: str - :param asset_name: Required. The asset name. + :param asset_name: Required. The asset that the live output will write to. :type asset_name: str - :param archive_window_length: Required. ISO 8601 timespan duration of the - archive window length. This is duration that customer want to retain the - recorded content. + :param archive_window_length: Required. ISO 8601 time between 1 minute to + 25 hours to indicate the maximum content length that can be archived in + the asset for this live output. This also sets the maximum content length + for the rewind window. For example, use PT1H30M to indicate 1 hour and 30 + minutes of archive window. :type archive_window_length: timedelta - :param manifest_name: The manifest file name. If not provided, the - service will generate one automatically. + :param manifest_name: The manifest file name. If not provided, the service + will generate one automatically. :type manifest_name: str - :param hls: The HLS configuration. + :param hls: HTTP Live Streaming (HLS) packing setting for the live output. :type hls: ~azure.mgmt.media.models.Hls - :param output_snap_time: The output snapshot time. + :param output_snap_time: The initial timestamp that the live output will + start at, any content before this value will not be archived. :type output_snap_time: long - :ivar created: The exact time the Live Output was created. + :ivar created: The creation time the live output. :vartype created: datetime - :ivar last_modified: The exact time the Live Output was last modified. + :ivar last_modified: The time the live output was last modified. :vartype last_modified: datetime - :ivar provisioning_state: The provisioning state of the Live Output. + :ivar provisioning_state: The provisioning state of the live output. :vartype provisioning_state: str - :ivar resource_state: The resource state of the Live Output. Possible + :ivar resource_state: The resource state of the live output. Possible values include: 'Creating', 'Running', 'Deleting' :vartype resource_state: str or ~azure.mgmt.media.models.LiveOutputResourceState @@ -4069,32 +4427,78 @@ def __init__(self, *, name: str, **kwargs) -> None: self.name = name +class LogSpecification(Model): + """A diagnostic log emitted by service. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: The diagnostic log category name. + :vartype name: str + :ivar display_name: The diagnostic log category display name. + :vartype display_name: str + :ivar blob_duration: The time range for requests in each blob. + :vartype blob_duration: str + """ + + _validation = { + 'name': {'readonly': True}, + 'display_name': {'readonly': True}, + 'blob_duration': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'blob_duration': {'key': 'blobDuration', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(LogSpecification, self).__init__(**kwargs) + self.name = None + self.display_name = None + self.blob_duration = None + + class MediaService(TrackedResource): """A Media Services account. Variables are only populated by the server, and will be ignored when sending a request. - :ivar id: Fully qualified resource ID for the resource. + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} :vartype id: str - :ivar name: The name of the resource. + :ivar name: The name of the resource :vartype name: str - :ivar type: The type of the resource. + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. :vartype type: str :param tags: Resource tags. :type tags: dict[str, str] - :param location: The Azure Region of the resource. + :param location: Required. The geo-location where the resource lives :type location: str :ivar media_service_id: The Media Services account ID. :vartype media_service_id: str :param storage_accounts: The storage accounts for this resource. :type storage_accounts: list[~azure.mgmt.media.models.StorageAccount] + :param storage_authentication: Possible values include: 'System', + 'ManagedIdentity' + :type storage_authentication: str or + ~azure.mgmt.media.models.StorageAuthentication + :param encryption: The account encryption properties. + :type encryption: ~azure.mgmt.media.models.AccountEncryption + :param identity: The Managed Identity for the Media Services account. + :type identity: ~azure.mgmt.media.models.MediaServiceIdentity """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, + 'location': {'required': True}, 'media_service_id': {'readonly': True}, } @@ -4106,63 +4510,54 @@ class MediaService(TrackedResource): 'location': {'key': 'location', 'type': 'str'}, 'media_service_id': {'key': 'properties.mediaServiceId', 'type': 'str'}, 'storage_accounts': {'key': 'properties.storageAccounts', 'type': '[StorageAccount]'}, + 'storage_authentication': {'key': 'properties.storageAuthentication', 'type': 'str'}, + 'encryption': {'key': 'properties.encryption', 'type': 'AccountEncryption'}, + 'identity': {'key': 'identity', 'type': 'MediaServiceIdentity'}, } - def __init__(self, *, tags=None, location: str=None, storage_accounts=None, **kwargs) -> None: + def __init__(self, *, location: str, tags=None, storage_accounts=None, storage_authentication=None, encryption=None, identity=None, **kwargs) -> None: super(MediaService, self).__init__(tags=tags, location=location, **kwargs) self.media_service_id = None self.storage_accounts = storage_accounts + self.storage_authentication = storage_authentication + self.encryption = encryption + self.identity = identity -class Metric(Model): - """A metric emitted by service. +class MediaServiceIdentity(Model): + """MediaServiceIdentity. Variables are only populated by the server, and will be ignored when sending a request. - :ivar name: The metric name. - :vartype name: str - :ivar display_name: The metric display name. - :vartype display_name: str - :ivar display_description: The metric display description. - :vartype display_description: str - :ivar unit: The metric unit. Possible values include: 'Bytes', 'Count', - 'Milliseconds' - :vartype unit: str or ~azure.mgmt.media.models.MetricUnit - :ivar aggregation_type: The metric aggregation type. Possible values - include: 'Average', 'Count', 'Total' - :vartype aggregation_type: str or - ~azure.mgmt.media.models.MetricAggregationType - :ivar dimensions: The metric dimensions. - :vartype dimensions: list[~azure.mgmt.media.models.MetricDimension] + All required parameters must be populated in order to send to Azure. + + :param type: Required. The identity type. Possible values include: + 'SystemAssigned', 'None' + :type type: str or ~azure.mgmt.media.models.ManagedIdentityType + :ivar principal_id: The Principal ID of the identity. + :vartype principal_id: str + :ivar tenant_id: The Tenant ID of the identity. + :vartype tenant_id: str """ _validation = { - 'name': {'readonly': True}, - 'display_name': {'readonly': True}, - 'display_description': {'readonly': True}, - 'unit': {'readonly': True}, - 'aggregation_type': {'readonly': True}, - 'dimensions': {'readonly': True}, + 'type': {'required': True}, + 'principal_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, } _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'display_name': {'key': 'displayName', 'type': 'str'}, - 'display_description': {'key': 'displayDescription', 'type': 'str'}, - 'unit': {'key': 'unit', 'type': 'str'}, - 'aggregation_type': {'key': 'aggregationType', 'type': 'str'}, - 'dimensions': {'key': 'dimensions', 'type': '[MetricDimension]'}, + 'type': {'key': 'type', 'type': 'str'}, + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, } - def __init__(self, **kwargs) -> None: - super(Metric, self).__init__(**kwargs) - self.name = None - self.display_name = None - self.display_description = None - self.unit = None - self.aggregation_type = None - self.dimensions = None + def __init__(self, *, type, **kwargs) -> None: + super(MediaServiceIdentity, self).__init__(**kwargs) + self.type = type + self.principal_id = None + self.tenant_id = None class MetricDimension(Model): @@ -4198,28 +4593,59 @@ def __init__(self, **kwargs) -> None: self.to_be_exported_for_shoebox = None -class MetricProperties(Model): - """Metric properties. +class MetricSpecification(Model): + """A metric emitted by service. Variables are only populated by the server, and will be ignored when sending a request. - :ivar service_specification: The service specifications. - :vartype service_specification: - ~azure.mgmt.media.models.ServiceSpecification + :ivar name: The metric name. + :vartype name: str + :ivar display_name: The metric display name. + :vartype display_name: str + :ivar display_description: The metric display description. + :vartype display_description: str + :ivar unit: The metric unit. Possible values include: 'Bytes', 'Count', + 'Milliseconds' + :vartype unit: str or ~azure.mgmt.media.models.MetricUnit + :ivar aggregation_type: The metric aggregation type. Possible values + include: 'Average', 'Count', 'Total' + :vartype aggregation_type: str or + ~azure.mgmt.media.models.MetricAggregationType + :param supported_aggregation_types: Supported aggregation types. + :type supported_aggregation_types: list[str] + :ivar dimensions: The metric dimensions. + :vartype dimensions: list[~azure.mgmt.media.models.MetricDimension] """ _validation = { - 'service_specification': {'readonly': True}, + 'name': {'readonly': True}, + 'display_name': {'readonly': True}, + 'display_description': {'readonly': True}, + 'unit': {'readonly': True}, + 'aggregation_type': {'readonly': True}, + 'dimensions': {'readonly': True}, } _attribute_map = { - 'service_specification': {'key': 'serviceSpecification', 'type': 'ServiceSpecification'}, + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'display_description': {'key': 'displayDescription', 'type': 'str'}, + 'unit': {'key': 'unit', 'type': 'str'}, + 'aggregation_type': {'key': 'aggregationType', 'type': 'str'}, + 'supported_aggregation_types': {'key': 'supportedAggregationTypes', 'type': '[str]'}, + 'dimensions': {'key': 'dimensions', 'type': '[MetricDimension]'}, } - def __init__(self, **kwargs) -> None: - super(MetricProperties, self).__init__(**kwargs) - self.service_specification = None + def __init__(self, *, supported_aggregation_types=None, **kwargs) -> None: + super(MetricSpecification, self).__init__(**kwargs) + self.name = None + self.display_name = None + self.display_description = None + self.unit = None + self.aggregation_type = None + self.supported_aggregation_types = supported_aggregation_types + self.dimensions = None class MultiBitrateFormat(Format): @@ -4236,12 +4662,17 @@ class MultiBitrateFormat(Format): :param filename_pattern: Required. The pattern of the file names for the generated output files. The following macros are supported in the file - name: {Basename} - The base name of the input video {Extension} - The - appropriate extension for this format. {Label} - The label assigned to the - codec/layer. {Index} - A unique index for thumbnails. Only applicable to - thumbnails. {Bitrate} - The audio/video bitrate. Not applicable to - thumbnails. {Codec} - The type of the audio/video codec. Any unsubstituted - macros will be collapsed and removed from the filename. + name: {Basename} - An expansion macro that will use the name of the input + video file. If the base name(the file suffix is not included) of the input + video file is less than 32 characters long, the base name of input video + files will be used. If the length of base name of the input video file + exceeds 32 characters, the base name is truncated to the first 32 + characters in total length. {Extension} - The appropriate extension for + this format. {Label} - The label assigned to the codec/layer. {Index} - A + unique index for thumbnails. Only applicable to thumbnails. {Bitrate} - + The audio/video bitrate. Not applicable to thumbnails. {Codec} - The type + of the audio/video codec. Any unsubstituted macros will be collapsed and + removed from the filename. :type filename_pattern: str :param odatatype: Required. Constant filled by server. :type odatatype: str @@ -4278,12 +4709,17 @@ class Mp4Format(MultiBitrateFormat): :param filename_pattern: Required. The pattern of the file names for the generated output files. The following macros are supported in the file - name: {Basename} - The base name of the input video {Extension} - The - appropriate extension for this format. {Label} - The label assigned to the - codec/layer. {Index} - A unique index for thumbnails. Only applicable to - thumbnails. {Bitrate} - The audio/video bitrate. Not applicable to - thumbnails. {Codec} - The type of the audio/video codec. Any unsubstituted - macros will be collapsed and removed from the filename. + name: {Basename} - An expansion macro that will use the name of the input + video file. If the base name(the file suffix is not included) of the input + video file is less than 32 characters long, the base name of input video + files will be used. If the length of base name of the input video file + exceeds 32 characters, the base name is truncated to the first 32 + characters in total length. {Extension} - The appropriate extension for + this format. {Label} - The label assigned to the codec/layer. {Index} - A + unique index for thumbnails. Only applicable to thumbnails. {Bitrate} - + The audio/video bitrate. Not applicable to thumbnails. {Codec} - The type + of the audio/video codec. Any unsubstituted macros will be collapsed and + removed from the filename. :type filename_pattern: str :param odatatype: Required. Constant filled by server. :type odatatype: str @@ -4365,7 +4801,7 @@ class Operation(Model): :param origin: Origin of the operation. :type origin: str :param properties: Operation properties format. - :type properties: ~azure.mgmt.media.models.MetricProperties + :type properties: ~azure.mgmt.media.models.Properties """ _validation = { @@ -4376,7 +4812,7 @@ class Operation(Model): 'name': {'key': 'name', 'type': 'str'}, 'display': {'key': 'display', 'type': 'OperationDisplay'}, 'origin': {'key': 'origin', 'type': 'str'}, - 'properties': {'key': 'properties', 'type': 'MetricProperties'}, + 'properties': {'key': 'properties', 'type': 'Properties'}, } def __init__(self, *, name: str, display=None, origin: str=None, properties=None, **kwargs) -> None: @@ -4449,12 +4885,17 @@ class PngFormat(ImageFormat): :param filename_pattern: Required. The pattern of the file names for the generated output files. The following macros are supported in the file - name: {Basename} - The base name of the input video {Extension} - The - appropriate extension for this format. {Label} - The label assigned to the - codec/layer. {Index} - A unique index for thumbnails. Only applicable to - thumbnails. {Bitrate} - The audio/video bitrate. Not applicable to - thumbnails. {Codec} - The type of the audio/video codec. Any unsubstituted - macros will be collapsed and removed from the filename. + name: {Basename} - An expansion macro that will use the name of the input + video file. If the base name(the file suffix is not included) of the input + video file is less than 32 characters long, the base name of input video + files will be used. If the length of base name of the input video file + exceeds 32 characters, the base name is truncated to the first 32 + characters in total length. {Extension} - The appropriate extension for + this format. {Label} - The label assigned to the codec/layer. {Index} - A + unique index for thumbnails. Only applicable to thumbnails. {Bitrate} - + The audio/video bitrate. Not applicable to thumbnails. {Codec} - The type + of the audio/video codec. Any unsubstituted macros will be collapsed and + removed from the filename. :type filename_pattern: str :param odatatype: Required. Constant filled by server. :type odatatype: str @@ -4486,31 +4927,52 @@ class PngImage(Image): :type label: str :param odatatype: Required. Constant filled by server. :type odatatype: str - :param key_frame_interval: The distance between two key frames, thereby - defining a group of pictures (GOP). The value should be a non-zero integer - in the range [1, 30] seconds, specified in ISO 8601 format. The default is - 2 seconds (PT2S). + :param key_frame_interval: The distance between two key frames. The value + should be non-zero in the range [0.5, 20] seconds, specified in ISO 8601 + format. The default is 2 seconds(PT2S). Note that this setting is ignored + if VideoSyncMode.Passthrough is set, where the KeyFrameInterval value will + follow the input source setting. :type key_frame_interval: timedelta :param stretch_mode: The resizing mode - how the input video will be resized to fit the desired output resolution(s). Default is AutoSize. Possible values include: 'None', 'AutoSize', 'AutoFit' :type stretch_mode: str or ~azure.mgmt.media.models.StretchMode + :param sync_mode: The Video Sync Mode. Possible values include: 'Auto', + 'Passthrough', 'Cfr', 'Vfr' + :type sync_mode: str or ~azure.mgmt.media.models.VideoSyncMode :param start: Required. The position in the input video from where to - start generating thumbnails. The value can be in absolute timestamp (ISO - 8601, e.g: PT05S), or a frame count (For example, 10 for the 10th frame), - or a relative value (For example, 1%). Also supports a macro {Best}, which - tells the encoder to select the best thumbnail from the first few seconds - of the video. + start generating thumbnails. The value can be in ISO 8601 format (For + example, PT05S to start at 5 seconds), or a frame count (For example, 10 + to start at the 10th frame), or a relative value to stream duration (For + example, 10% to start at 10% of stream duration). Also supports a macro + {Best}, which tells the encoder to select the best thumbnail from the + first few seconds of the video and will only produce one thumbnail, no + matter what other settings are for Step and Range. The default value is + macro {Best}. :type start: str :param step: The intervals at which thumbnails are generated. The value - can be in absolute timestamp (ISO 8601, e.g: PT05S for one image every 5 - seconds), or a frame count (For example, 30 for every 30 frames), or a - relative value (For example, 1%). + can be in ISO 8601 format (For example, PT05S for one image every 5 + seconds), or a frame count (For example, 30 for one image every 30 + frames), or a relative value to stream duration (For example, 10% for one + image every 10% of stream duration). Note: Step value will affect the + first generated thumbnail, which may not be exactly the one specified at + transform preset start time. This is due to the encoder, which tries to + select the best thumbnail between start time and Step position from start + time as the first output. As the default value is 10%, it means if stream + has long duration, the first generated thumbnail might be far away from + the one specified at start time. Try to select reasonable value for Step + if the first thumbnail is expected close to start time, or set Range value + at 1 if only one thumbnail is needed at start time. :type step: str - :param range: The position in the input video at which to stop generating - thumbnails. The value can be in absolute timestamp (ISO 8601, e.g: PT5M30S - to stop at 5 minutes and 30 seconds), or a frame count (For example, 300 - to stop at the 300th frame), or a relative value (For example, 100%). + :param range: The position relative to transform preset start time in the + input video at which to stop generating thumbnails. The value can be in + ISO 8601 format (For example, PT5M30S to stop at 5 minutes and 30 seconds + from start time), or a frame count (For example, 300 to stop at the 300th + frame from the frame at start time. If this value is 1, it means only + producing one thumbnail at start time), or a relative value to the stream + duration (For example, 50% to stop at half of stream duration from start + time). The default value is 100%, which means to stop at the end of the + stream. :type range: str :param layers: A collection of output PNG image layers to be produced by the encoder. @@ -4527,14 +4989,15 @@ class PngImage(Image): 'odatatype': {'key': '@odata\\.type', 'type': 'str'}, 'key_frame_interval': {'key': 'keyFrameInterval', 'type': 'duration'}, 'stretch_mode': {'key': 'stretchMode', 'type': 'str'}, + 'sync_mode': {'key': 'syncMode', 'type': 'str'}, 'start': {'key': 'start', 'type': 'str'}, 'step': {'key': 'step', 'type': 'str'}, 'range': {'key': 'range', 'type': 'str'}, 'layers': {'key': 'layers', 'type': '[PngLayer]'}, } - def __init__(self, *, start: str, label: str=None, key_frame_interval=None, stretch_mode=None, step: str=None, range: str=None, layers=None, **kwargs) -> None: - super(PngImage, self).__init__(label=label, key_frame_interval=key_frame_interval, stretch_mode=stretch_mode, start=start, step=step, range=range, **kwargs) + def __init__(self, *, start: str, label: str=None, key_frame_interval=None, stretch_mode=None, sync_mode=None, step: str=None, range: str=None, layers=None, **kwargs) -> None: + super(PngImage, self).__init__(label=label, key_frame_interval=key_frame_interval, stretch_mode=stretch_mode, sync_mode=sync_mode, start=start, step=step, range=range, **kwargs) self.layers = layers self.odatatype = '#Microsoft.Media.PngImage' @@ -4614,6 +5077,215 @@ def __init__(self, *, start_timestamp: int=None, end_timestamp: int=None, presen self.force_end_timestamp = force_end_timestamp +class PrivateEndpoint(Model): + """The Private Endpoint resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: The ARM identifier for Private Endpoint + :vartype id: str + """ + + _validation = { + 'id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(PrivateEndpoint, self).__init__(**kwargs) + self.id = None + + +class PrivateEndpointConnection(Resource): + """The Private Endpoint Connection resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :param private_endpoint: The resource of private end point. + :type private_endpoint: ~azure.mgmt.media.models.PrivateEndpoint + :param private_link_service_connection_state: Required. A collection of + information about the state of the connection between service consumer and + provider. + :type private_link_service_connection_state: + ~azure.mgmt.media.models.PrivateLinkServiceConnectionState + :param provisioning_state: The provisioning state of the private endpoint + connection resource. Possible values include: 'Succeeded', 'Creating', + 'Deleting', 'Failed' + :type provisioning_state: str or + ~azure.mgmt.media.models.PrivateEndpointConnectionProvisioningState + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'private_link_service_connection_state': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'private_endpoint': {'key': 'properties.privateEndpoint', 'type': 'PrivateEndpoint'}, + 'private_link_service_connection_state': {'key': 'properties.privateLinkServiceConnectionState', 'type': 'PrivateLinkServiceConnectionState'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__(self, *, private_link_service_connection_state, private_endpoint=None, provisioning_state=None, **kwargs) -> None: + super(PrivateEndpointConnection, self).__init__(**kwargs) + self.private_endpoint = private_endpoint + self.private_link_service_connection_state = private_link_service_connection_state + self.provisioning_state = provisioning_state + + +class PrivateEndpointConnectionListResult(Model): + """List of private endpoint connection associated with the specified storage + account. + + :param value: Array of private endpoint connections + :type value: list[~azure.mgmt.media.models.PrivateEndpointConnection] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[PrivateEndpointConnection]'}, + } + + def __init__(self, *, value=None, **kwargs) -> None: + super(PrivateEndpointConnectionListResult, self).__init__(**kwargs) + self.value = value + + +class PrivateLinkResource(Resource): + """A private link resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :ivar group_id: The private link resource group id. + :vartype group_id: str + :ivar required_members: The private link resource required member names. + :vartype required_members: list[str] + :param required_zone_names: The private link resource Private link DNS + zone name. + :type required_zone_names: list[str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'group_id': {'readonly': True}, + 'required_members': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'group_id': {'key': 'properties.groupId', 'type': 'str'}, + 'required_members': {'key': 'properties.requiredMembers', 'type': '[str]'}, + 'required_zone_names': {'key': 'properties.requiredZoneNames', 'type': '[str]'}, + } + + def __init__(self, *, required_zone_names=None, **kwargs) -> None: + super(PrivateLinkResource, self).__init__(**kwargs) + self.group_id = None + self.required_members = None + self.required_zone_names = required_zone_names + + +class PrivateLinkResourceListResult(Model): + """A list of private link resources. + + :param value: Array of private link resources + :type value: list[~azure.mgmt.media.models.PrivateLinkResource] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[PrivateLinkResource]'}, + } + + def __init__(self, *, value=None, **kwargs) -> None: + super(PrivateLinkResourceListResult, self).__init__(**kwargs) + self.value = value + + +class PrivateLinkServiceConnectionState(Model): + """A collection of information about the state of the connection between + service consumer and provider. + + :param status: Indicates whether the connection has been + Approved/Rejected/Removed by the owner of the service. Possible values + include: 'Pending', 'Approved', 'Rejected' + :type status: str or + ~azure.mgmt.media.models.PrivateEndpointServiceConnectionStatus + :param description: The reason for approval/rejection of the connection. + :type description: str + :param actions_required: A message indicating if changes on the service + provider require any updates on the consumer. + :type actions_required: str + """ + + _attribute_map = { + 'status': {'key': 'status', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'actions_required': {'key': 'actionsRequired', 'type': 'str'}, + } + + def __init__(self, *, status=None, description: str=None, actions_required: str=None, **kwargs) -> None: + super(PrivateLinkServiceConnectionState, self).__init__(**kwargs) + self.status = status + self.description = description + self.actions_required = actions_required + + +class Properties(Model): + """The service specification property. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar service_specification: The service specifications. + :vartype service_specification: + ~azure.mgmt.media.models.ServiceSpecification + """ + + _validation = { + 'service_specification': {'readonly': True}, + } + + _attribute_map = { + 'service_specification': {'key': 'serviceSpecification', 'type': 'ServiceSpecification'}, + } + + def __init__(self, **kwargs) -> None: + super(Properties, self).__init__(**kwargs) + self.service_specification = None + + class Provider(Model): """A resource provider. @@ -4679,20 +5351,27 @@ class ServiceSpecification(Model): Variables are only populated by the server, and will be ignored when sending a request. + :ivar log_specifications: List of log specifications. + :vartype log_specifications: + list[~azure.mgmt.media.models.LogSpecification] :ivar metric_specifications: List of metric specifications. - :vartype metric_specifications: list[~azure.mgmt.media.models.Metric] + :vartype metric_specifications: + list[~azure.mgmt.media.models.MetricSpecification] """ _validation = { + 'log_specifications': {'readonly': True}, 'metric_specifications': {'readonly': True}, } _attribute_map = { - 'metric_specifications': {'key': 'metricSpecifications', 'type': '[Metric]'}, + 'log_specifications': {'key': 'logSpecifications', 'type': '[LogSpecification]'}, + 'metric_specifications': {'key': 'metricSpecifications', 'type': '[MetricSpecification]'}, } def __init__(self, **kwargs) -> None: super(ServiceSpecification, self).__init__(**kwargs) + self.log_specifications = None self.metric_specifications = None @@ -4790,41 +5469,42 @@ def __init__(self, *, key: bytearray=None, asset_file_encryption_metadata=None, class StreamingEndpoint(TrackedResource): - """The StreamingEndpoint. + """The streaming endpoint. Variables are only populated by the server, and will be ignored when sending a request. All required parameters must be populated in order to send to Azure. - :ivar id: Fully qualified resource ID for the resource. + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} :vartype id: str - :ivar name: The name of the resource. + :ivar name: The name of the resource :vartype name: str - :ivar type: The type of the resource. + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. :vartype type: str :param tags: Resource tags. :type tags: dict[str, str] - :param location: The Azure Region of the resource. + :param location: Required. The geo-location where the resource lives :type location: str - :param description: The StreamingEndpoint description. + :param description: The streaming endpoint description. :type description: str - :param scale_units: Required. The number of scale units. Use the Scale + :param scale_units: Required. The number of scale units. Use the Scale operation to adjust this value. :type scale_units: int - :param availability_set_name: The name of the AvailabilitySet used with - this StreamingEndpoint for high availability streaming. This value can - only be set at creation time. + :param availability_set_name: This feature is deprecated, do not set a + value for this property. :type availability_set_name: str - :param access_control: The access control definition of the - StreamingEndpoint. + :param access_control: The access control definition of the streaming + endpoint. :type access_control: ~azure.mgmt.media.models.StreamingEndpointAccessControl :param max_cache_age: Max cache age :type max_cache_age: long - :param custom_host_names: The custom host names of the StreamingEndpoint + :param custom_host_names: The custom host names of the streaming endpoint :type custom_host_names: list[str] - :ivar host_name: The StreamingEndpoint host name. + :ivar host_name: The streaming endpoint host name. :vartype host_name: str :param cdn_enabled: The CDN enabled flag. :type cdn_enabled: bool @@ -4832,21 +5512,22 @@ class StreamingEndpoint(TrackedResource): :type cdn_provider: str :param cdn_profile: The CDN profile name. :type cdn_profile: str - :ivar provisioning_state: The provisioning state of the StreamingEndpoint. + :ivar provisioning_state: The provisioning state of the streaming + endpoint. :vartype provisioning_state: str - :ivar resource_state: The resource state of the StreamingEndpoint. + :ivar resource_state: The resource state of the streaming endpoint. Possible values include: 'Stopped', 'Starting', 'Running', 'Stopping', 'Deleting', 'Scaling' :vartype resource_state: str or ~azure.mgmt.media.models.StreamingEndpointResourceState - :param cross_site_access_policies: The StreamingEndpoint access policies. + :param cross_site_access_policies: The streaming endpoint access policies. :type cross_site_access_policies: ~azure.mgmt.media.models.CrossSiteAccessPolicies :ivar free_trial_end_time: The free trial expiration time. :vartype free_trial_end_time: datetime - :ivar created: The exact time the StreamingEndpoint was created. + :ivar created: The exact time the streaming endpoint was created. :vartype created: datetime - :ivar last_modified: The exact time the StreamingEndpoint was last + :ivar last_modified: The exact time the streaming endpoint was last modified. :vartype last_modified: datetime """ @@ -4855,6 +5536,7 @@ class StreamingEndpoint(TrackedResource): 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, + 'location': {'required': True}, 'scale_units': {'required': True}, 'host_name': {'readonly': True}, 'provisioning_state': {'readonly': True}, @@ -4888,7 +5570,7 @@ class StreamingEndpoint(TrackedResource): 'last_modified': {'key': 'properties.lastModified', 'type': 'iso-8601'}, } - def __init__(self, *, scale_units: int, tags=None, location: str=None, description: str=None, availability_set_name: str=None, access_control=None, max_cache_age: int=None, custom_host_names=None, cdn_enabled: bool=None, cdn_provider: str=None, cdn_profile: str=None, cross_site_access_policies=None, **kwargs) -> None: + def __init__(self, *, location: str, scale_units: int, tags=None, description: str=None, availability_set_name: str=None, access_control=None, max_cache_age: int=None, custom_host_names=None, cdn_enabled: bool=None, cdn_provider: str=None, cdn_profile: str=None, cross_site_access_policies=None, **kwargs) -> None: super(StreamingEndpoint, self).__init__(tags=tags, location=location, **kwargs) self.description = description self.scale_units = scale_units @@ -4909,11 +5591,11 @@ def __init__(self, *, scale_units: int, tags=None, location: str=None, descripti class StreamingEndpointAccessControl(Model): - """StreamingEndpoint access control definition. + """Streaming endpoint access control definition. :param akamai: The access control of Akamai :type akamai: ~azure.mgmt.media.models.AkamaiAccessControl - :param ip: The IP access control of the StreamingEndpoint. + :param ip: The IP access control of the streaming endpoint. :type ip: ~azure.mgmt.media.models.IPAccessControl """ @@ -4931,7 +5613,7 @@ def __init__(self, *, akamai=None, ip=None, **kwargs) -> None: class StreamingEntityScaleUnit(Model): """scale units definition. - :param scale_unit: The scale unit number of the StreamingEndpoint. + :param scale_unit: The scale unit number of the streaming endpoint. :type scale_unit: int """ @@ -4952,11 +5634,13 @@ class StreamingLocator(ProxyResource): All required parameters must be populated in order to send to Azure. - :ivar id: Fully qualified resource ID for the resource. + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} :vartype id: str - :ivar name: The name of the resource. + :ivar name: The name of the resource :vartype name: str - :ivar type: The type of the resource. + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. :vartype type: str :param asset_name: Required. Asset Name :type asset_name: str @@ -5122,11 +5806,13 @@ class StreamingPolicy(ProxyResource): Variables are only populated by the server, and will be ignored when sending a request. - :ivar id: Fully qualified resource ID for the resource. + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} :vartype id: str - :ivar name: The name of the resource. + :ivar name: The name of the resource :vartype name: str - :ivar type: The type of the resource. + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. :vartype type: str :ivar created: Creation time of Streaming Policy :vartype created: datetime @@ -5305,51 +5991,6 @@ def __init__(self, *, custom_license_acquisition_url_template: str=None, **kwarg self.custom_license_acquisition_url_template = custom_license_acquisition_url_template -class SubscriptionMediaService(TrackedResource): - """A Media Services account. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar id: Fully qualified resource ID for the resource. - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. - :vartype type: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param location: The Azure Region of the resource. - :type location: str - :ivar media_service_id: The Media Services account ID. - :vartype media_service_id: str - :param storage_accounts: The storage accounts for this resource. - :type storage_accounts: list[~azure.mgmt.media.models.StorageAccount] - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'media_service_id': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'location': {'key': 'location', 'type': 'str'}, - 'media_service_id': {'key': 'properties.mediaServiceId', 'type': 'str'}, - 'storage_accounts': {'key': 'properties.storageAccounts', 'type': '[StorageAccount]'}, - } - - def __init__(self, *, tags=None, location: str=None, storage_accounts=None, **kwargs) -> None: - super(SubscriptionMediaService, self).__init__(tags=tags, location=location, **kwargs) - self.media_service_id = None - self.storage_accounts = storage_accounts - - class SyncStorageKeysInput(Model): """The input to the sync storage keys request. @@ -5429,11 +6070,13 @@ class Transform(ProxyResource): All required parameters must be populated in order to send to Azure. - :ivar id: Fully qualified resource ID for the resource. + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} :vartype id: str - :ivar name: The name of the resource. + :ivar name: The name of the resource :vartype name: str - :ivar type: The type of the resource. + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. :vartype type: str :ivar created: The UTC date and time when the Transform was created, in 'YYYY-MM-DDThh:mm:ssZ' format. @@ -5524,12 +6167,17 @@ class TransportStreamFormat(MultiBitrateFormat): :param filename_pattern: Required. The pattern of the file names for the generated output files. The following macros are supported in the file - name: {Basename} - The base name of the input video {Extension} - The - appropriate extension for this format. {Label} - The label assigned to the - codec/layer. {Index} - A unique index for thumbnails. Only applicable to - thumbnails. {Bitrate} - The audio/video bitrate. Not applicable to - thumbnails. {Codec} - The type of the audio/video codec. Any unsubstituted - macros will be collapsed and removed from the filename. + name: {Basename} - An expansion macro that will use the name of the input + video file. If the base name(the file suffix is not included) of the input + video file is less than 32 characters long, the base name of input video + files will be used. If the length of base name of the input video file + exceeds 32 characters, the base name is truncated to the first 32 + characters in total length. {Extension} - The appropriate extension for + this format. {Label} - The label assigned to the codec/layer. {Index} - A + unique index for thumbnails. Only applicable to thumbnails. {Bitrate} - + The audio/video bitrate. Not applicable to thumbnails. {Codec} - The type + of the audio/video codec. Any unsubstituted macros will be collapsed and + removed from the filename. :type filename_pattern: str :param odatatype: Required. Constant filled by server. :type odatatype: str @@ -5554,6 +6202,36 @@ def __init__(self, *, filename_pattern: str, output_files=None, **kwargs) -> Non self.odatatype = '#Microsoft.Media.TransportStreamFormat' +class UtcClipTime(ClipTime): + """Specifies the clip time as a Utc time position in the media file. The Utc + time can point to a different position depending on whether the media file + starts from a timestamp of zero or not. + + All required parameters must be populated in order to send to Azure. + + :param odatatype: Required. Constant filled by server. + :type odatatype: str + :param time: Required. The time position on the timeline of the input + media based on Utc time. + :type time: datetime + """ + + _validation = { + 'odatatype': {'required': True}, + 'time': {'required': True}, + } + + _attribute_map = { + 'odatatype': {'key': '@odata\\.type', 'type': 'str'}, + 'time': {'key': 'time', 'type': 'iso-8601'}, + } + + def __init__(self, *, time, **kwargs) -> None: + super(UtcClipTime, self).__init__(**kwargs) + self.time = time + self.odatatype = '#Microsoft.Media.UtcClipTime' + + class VideoAnalyzerPreset(AudioAnalyzerPreset): """A video analyzer preset that extracts insights (rich metadata) from both audio and video, and outputs a JSON format file. @@ -5565,16 +6243,21 @@ class VideoAnalyzerPreset(AudioAnalyzerPreset): :param audio_language: The language for the audio payload in the input using the BCP-47 format of 'language tag-region' (e.g: 'en-US'). If you know the language of your content, it is recommended that you specify it. - If the language isn't specified or set to null, automatic language - detection will choose the first language detected and process with the - selected language for the duration of the file. It does not currently - support dynamically switching between languages after the first language - is detected. The automatic detection works best with audio recordings with - clearly discernable speech. If automatic detection fails to find the - language, transcription would fallback to 'en-US'." The list of supported - languages is available here: - https://go.microsoft.com/fwlink/?linkid=2109463 + The language must be specified explicitly for AudioAnalysisMode::Basic, + since automatic language detection is not included in basic mode. If the + language isn't specified or set to null, automatic language detection will + choose the first language detected and process with the selected language + for the duration of the file. It does not currently support dynamically + switching between languages after the first language is detected. The + automatic detection works best with audio recordings with clearly + discernable speech. If automatic detection fails to find the language, + transcription would fallback to 'en-US'." The list of supported languages + is available here: https://go.microsoft.com/fwlink/?linkid=2109463 :type audio_language: str + :param mode: Determines the set of audio analysis operations to be + performed. If unspecified, the Standard AudioAnalysisMode would be chosen. + Possible values include: 'Standard', 'Basic' + :type mode: str or ~azure.mgmt.media.models.AudioAnalysisMode :param experimental_options: Dictionary containing key value pairs for parameters not exposed in the preset itself :type experimental_options: dict[str, str] @@ -5598,12 +6281,13 @@ class VideoAnalyzerPreset(AudioAnalyzerPreset): _attribute_map = { 'odatatype': {'key': '@odata\\.type', 'type': 'str'}, 'audio_language': {'key': 'audioLanguage', 'type': 'str'}, + 'mode': {'key': 'mode', 'type': 'str'}, 'experimental_options': {'key': 'experimentalOptions', 'type': '{str}'}, 'insights_to_extract': {'key': 'insightsToExtract', 'type': 'str'}, } - def __init__(self, *, audio_language: str=None, experimental_options=None, insights_to_extract=None, **kwargs) -> None: - super(VideoAnalyzerPreset, self).__init__(audio_language=audio_language, experimental_options=experimental_options, **kwargs) + def __init__(self, *, audio_language: str=None, mode=None, experimental_options=None, insights_to_extract=None, **kwargs) -> None: + super(VideoAnalyzerPreset, self).__init__(audio_language=audio_language, mode=mode, experimental_options=experimental_options, **kwargs) self.insights_to_extract = insights_to_extract self.odatatype = '#Microsoft.Media.VideoAnalyzerPreset' @@ -5621,15 +6305,16 @@ class VideoOverlay(Overlay): :type input_label: str :param start: The start position, with reference to the input video, at which the overlay starts. The value should be in ISO 8601 format. For - example, PT05S to start the overlay at 5 seconds in to the input video. If + example, PT05S to start the overlay at 5 seconds into the input video. If not specified the overlay starts from the beginning of the input video. :type start: timedelta - :param end: The position in the input video at which the overlay ends. The - value should be in ISO 8601 duration format. For example, PT30S to end the - overlay at 30 seconds in to the input video. If not specified the overlay - will be applied until the end of the input video if inputLoop is true. - Else, if inputLoop is false, then overlay will last as long as the - duration of the overlay media. + :param end: The end position, with reference to the input video, at which + the overlay ends. The value should be in ISO 8601 format. For example, + PT30S to end the overlay at 30 seconds into the input video. If not + specified or the value is greater than the input video duration, the + overlay will be applied until the end of the input video if the overlay + media duration is greater than the input video duration, else the overlay + will last as long as the overlay media duration. :type end: timedelta :param fade_in_duration: The duration over which the overlay fades in onto the input video. The value should be in ISO 8601 duration format. If not diff --git a/sdk/media/azure-mgmt-media/azure/mgmt/media/models/_paged_models.py b/sdk/media/azure-mgmt-media/azure/mgmt/media/models/_paged_models.py index 0cda239e7ac6..5dc8138614d5 100644 --- a/sdk/media/azure-mgmt-media/azure/mgmt/media/models/_paged_models.py +++ b/sdk/media/azure-mgmt-media/azure/mgmt/media/models/_paged_models.py @@ -51,19 +51,6 @@ class MediaServicePaged(Paged): def __init__(self, *args, **kwargs): super(MediaServicePaged, self).__init__(*args, **kwargs) -class SubscriptionMediaServicePaged(Paged): - """ - A paging container for iterating over a list of :class:`SubscriptionMediaService ` object - """ - - _attribute_map = { - 'next_link': {'key': '@odata\\.nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[SubscriptionMediaService]'} - } - - def __init__(self, *args, **kwargs): - - super(SubscriptionMediaServicePaged, self).__init__(*args, **kwargs) class AssetPaged(Paged): """ A paging container for iterating over a list of :class:`Asset ` object diff --git a/sdk/media/azure-mgmt-media/azure/mgmt/media/operations/__init__.py b/sdk/media/azure-mgmt-media/azure/mgmt/media/operations/__init__.py index 3f95a0430d22..44e5a835708e 100644 --- a/sdk/media/azure-mgmt-media/azure/mgmt/media/operations/__init__.py +++ b/sdk/media/azure-mgmt-media/azure/mgmt/media/operations/__init__.py @@ -12,6 +12,8 @@ from ._account_filters_operations import AccountFiltersOperations from ._operations import Operations from ._mediaservices_operations import MediaservicesOperations +from ._private_link_resources_operations import PrivateLinkResourcesOperations +from ._private_endpoint_connections_operations import PrivateEndpointConnectionsOperations from ._locations_operations import LocationsOperations from ._assets_operations import AssetsOperations from ._asset_filters_operations import AssetFiltersOperations @@ -28,6 +30,8 @@ 'AccountFiltersOperations', 'Operations', 'MediaservicesOperations', + 'PrivateLinkResourcesOperations', + 'PrivateEndpointConnectionsOperations', 'LocationsOperations', 'AssetsOperations', 'AssetFiltersOperations', diff --git a/sdk/media/azure-mgmt-media/azure/mgmt/media/operations/_account_filters_operations.py b/sdk/media/azure-mgmt-media/azure/mgmt/media/operations/_account_filters_operations.py index d5314c312e92..83f402f99996 100644 --- a/sdk/media/azure-mgmt-media/azure/mgmt/media/operations/_account_filters_operations.py +++ b/sdk/media/azure-mgmt-media/azure/mgmt/media/operations/_account_filters_operations.py @@ -24,7 +24,7 @@ class AccountFiltersOperations(object): :param config: Configuration of service client. :param serializer: An object model serializer. :param deserializer: An object model deserializer. - :ivar api_version: The Version of the API to be used with the client request. Constant value: "2018-07-01". + :ivar api_version: The version of the API to be used with the client request. Constant value: "2020-05-01". """ models = models @@ -34,7 +34,7 @@ def __init__(self, client, config, serializer, deserializer): self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2018-07-01" + self.api_version = "2020-05-01" self.config = config diff --git a/sdk/media/azure-mgmt-media/azure/mgmt/media/operations/_asset_filters_operations.py b/sdk/media/azure-mgmt-media/azure/mgmt/media/operations/_asset_filters_operations.py index 685c716c231b..3d7f9b052af6 100644 --- a/sdk/media/azure-mgmt-media/azure/mgmt/media/operations/_asset_filters_operations.py +++ b/sdk/media/azure-mgmt-media/azure/mgmt/media/operations/_asset_filters_operations.py @@ -24,7 +24,7 @@ class AssetFiltersOperations(object): :param config: Configuration of service client. :param serializer: An object model serializer. :param deserializer: An object model deserializer. - :ivar api_version: The Version of the API to be used with the client request. Constant value: "2018-07-01". + :ivar api_version: The version of the API to be used with the client request. Constant value: "2020-05-01". """ models = models @@ -34,7 +34,7 @@ def __init__(self, client, config, serializer, deserializer): self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2018-07-01" + self.api_version = "2020-05-01" self.config = config diff --git a/sdk/media/azure-mgmt-media/azure/mgmt/media/operations/_assets_operations.py b/sdk/media/azure-mgmt-media/azure/mgmt/media/operations/_assets_operations.py index 0a111a31565c..567c5df52671 100644 --- a/sdk/media/azure-mgmt-media/azure/mgmt/media/operations/_assets_operations.py +++ b/sdk/media/azure-mgmt-media/azure/mgmt/media/operations/_assets_operations.py @@ -24,7 +24,7 @@ class AssetsOperations(object): :param config: Configuration of service client. :param serializer: An object model serializer. :param deserializer: An object model deserializer. - :ivar api_version: The Version of the API to be used with the client request. Constant value: "2018-07-01". + :ivar api_version: The version of the API to be used with the client request. Constant value: "2020-05-01". """ models = models @@ -34,7 +34,7 @@ def __init__(self, client, config, serializer, deserializer): self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2018-07-01" + self.api_version = "2020-05-01" self.config = config diff --git a/sdk/media/azure-mgmt-media/azure/mgmt/media/operations/_content_key_policies_operations.py b/sdk/media/azure-mgmt-media/azure/mgmt/media/operations/_content_key_policies_operations.py index a14aee227c22..8d842a870dd3 100644 --- a/sdk/media/azure-mgmt-media/azure/mgmt/media/operations/_content_key_policies_operations.py +++ b/sdk/media/azure-mgmt-media/azure/mgmt/media/operations/_content_key_policies_operations.py @@ -24,7 +24,7 @@ class ContentKeyPoliciesOperations(object): :param config: Configuration of service client. :param serializer: An object model serializer. :param deserializer: An object model deserializer. - :ivar api_version: The Version of the API to be used with the client request. Constant value: "2018-07-01". + :ivar api_version: The version of the API to be used with the client request. Constant value: "2020-05-01". """ models = models @@ -34,7 +34,7 @@ def __init__(self, client, config, serializer, deserializer): self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2018-07-01" + self.api_version = "2020-05-01" self.config = config diff --git a/sdk/media/azure-mgmt-media/azure/mgmt/media/operations/_jobs_operations.py b/sdk/media/azure-mgmt-media/azure/mgmt/media/operations/_jobs_operations.py index 23583c1a8569..d83a92f00c1e 100644 --- a/sdk/media/azure-mgmt-media/azure/mgmt/media/operations/_jobs_operations.py +++ b/sdk/media/azure-mgmt-media/azure/mgmt/media/operations/_jobs_operations.py @@ -24,7 +24,7 @@ class JobsOperations(object): :param config: Configuration of service client. :param serializer: An object model serializer. :param deserializer: An object model deserializer. - :ivar api_version: The Version of the API to be used with the client request. Constant value: "2018-07-01". + :ivar api_version: The version of the API to be used with the client request. Constant value: "2020-05-01". """ models = models @@ -34,7 +34,7 @@ def __init__(self, client, config, serializer, deserializer): self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2018-07-01" + self.api_version = "2020-05-01" self.config = config diff --git a/sdk/media/azure-mgmt-media/azure/mgmt/media/operations/_live_events_operations.py b/sdk/media/azure-mgmt-media/azure/mgmt/media/operations/_live_events_operations.py index 86967b51d56c..52939d530026 100644 --- a/sdk/media/azure-mgmt-media/azure/mgmt/media/operations/_live_events_operations.py +++ b/sdk/media/azure-mgmt-media/azure/mgmt/media/operations/_live_events_operations.py @@ -26,7 +26,7 @@ class LiveEventsOperations(object): :param config: Configuration of service client. :param serializer: An object model serializer. :param deserializer: An object model deserializer. - :ivar api_version: The Version of the API to be used with the client request. Constant value: "2018-07-01". + :ivar api_version: The version of the API to be used with the client request. Constant value: "2020-05-01". """ models = models @@ -36,15 +36,15 @@ def __init__(self, client, config, serializer, deserializer): self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2018-07-01" + self.api_version = "2020-05-01" self.config = config def list( self, resource_group_name, account_name, custom_headers=None, raw=False, **operation_config): - """List Live Events. + """List live events. - Lists the Live Events in the account. + Lists all the live events in the account. :param resource_group_name: The name of the resource group within the Azure subscription. @@ -118,14 +118,15 @@ def get( self, resource_group_name, account_name, live_event_name, custom_headers=None, raw=False, **operation_config): """Get Live Event. - Gets a Live Event. + Gets properties of a live event. :param resource_group_name: The name of the resource group within the Azure subscription. :type resource_group_name: str :param account_name: The Media Services account name. :type account_name: str - :param live_event_name: The name of the Live Event. + :param live_event_name: The name of the live event, maximum length is + 32. :type live_event_name: str :param dict custom_headers: headers that will be added to the request :param bool raw: returns the direct response alongside the @@ -217,14 +218,14 @@ def _create_initial( request = self._client.put(url, query_parameters, header_parameters, body_content) response = self._client.send(request, stream=False, **operation_config) - if response.status_code not in [200, 202]: + if response.status_code not in [200, 201]: raise models.ApiErrorException(self._deserialize, response) deserialized = None if response.status_code == 200: deserialized = self._deserialize('LiveEvent', response) - if response.status_code == 202: + if response.status_code == 201: deserialized = self._deserialize('LiveEvent', response) if raw: @@ -237,16 +238,17 @@ def create( self, resource_group_name, account_name, live_event_name, parameters, auto_start=None, custom_headers=None, raw=False, polling=True, **operation_config): """Create Live Event. - Creates a Live Event. + Creates a new live event. :param resource_group_name: The name of the resource group within the Azure subscription. :type resource_group_name: str :param account_name: The Media Services account name. :type account_name: str - :param live_event_name: The name of the Live Event. + :param live_event_name: The name of the live event, maximum length is + 32. :type live_event_name: str - :param parameters: Live Event properties needed for creation. + :param parameters: Live event properties needed for creation. :type parameters: ~azure.mgmt.media.models.LiveEvent :param auto_start: The flag indicates if the resource should be automatically started on creation. @@ -347,16 +349,17 @@ def _update_initial( def update( self, resource_group_name, account_name, live_event_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Updates a existing Live Event. + """Updates settings on an existing live event. :param resource_group_name: The name of the resource group within the Azure subscription. :type resource_group_name: str :param account_name: The Media Services account name. :type account_name: str - :param live_event_name: The name of the Live Event. + :param live_event_name: The name of the live event, maximum length is + 32. :type live_event_name: str - :param parameters: Live Event properties needed for creation. + :param parameters: Live event properties needed for patch. :type parameters: ~azure.mgmt.media.models.LiveEvent :param dict custom_headers: headers that will be added to the request :param bool raw: The poller return type is ClientRawResponse, the @@ -441,14 +444,15 @@ def delete( self, resource_group_name, account_name, live_event_name, custom_headers=None, raw=False, polling=True, **operation_config): """Delete Live Event. - Deletes a Live Event. + Deletes a live event. :param resource_group_name: The name of the resource group within the Azure subscription. :type resource_group_name: str :param account_name: The Media Services account name. :type account_name: str - :param live_event_name: The name of the Live Event. + :param live_event_name: The name of the live event, maximum length is + 32. :type live_event_name: str :param dict custom_headers: headers that will be added to the request :param bool raw: The poller return type is ClientRawResponse, the @@ -486,6 +490,93 @@ def get_long_running_output(response): delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/liveEvents/{liveEventName}'} + def _allocate_initial( + self, resource_group_name, account_name, live_event_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.allocate.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'liveEventName': self._serialize.url("live_event_name", live_event_name, 'str', max_length=32, min_length=1, pattern=r'^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + raise models.ApiErrorException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def allocate( + self, resource_group_name, account_name, live_event_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Allocate resources for a live event. + + A live event is in StandBy state after allocation completes, and is + ready to start. + + :param resource_group_name: The name of the resource group within the + Azure subscription. + :type resource_group_name: str + :param account_name: The Media Services account name. + :type account_name: str + :param live_event_name: The name of the live event, maximum length is + 32. + :type live_event_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: + :class:`ApiErrorException` + """ + raw_result = self._allocate_initial( + resource_group_name=resource_group_name, + account_name=account_name, + live_event_name=live_event_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + allocate.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/liveEvents/{liveEventName}/allocate'} + + def _start_initial( self, resource_group_name, account_name, live_event_name, custom_headers=None, raw=False, **operation_config): # Construct URL @@ -526,14 +617,16 @@ def start( self, resource_group_name, account_name, live_event_name, custom_headers=None, raw=False, polling=True, **operation_config): """Start Live Event. - Starts an existing Live Event. + A live event in Stopped or StandBy state will be in Running state after + the start operation completes. :param resource_group_name: The name of the resource group within the Azure subscription. :type resource_group_name: str :param account_name: The Media Services account name. :type account_name: str - :param live_event_name: The name of the Live Event. + :param live_event_name: The name of the live event, maximum length is + 32. :type live_event_name: str :param dict custom_headers: headers that will be added to the request :param bool raw: The poller return type is ClientRawResponse, the @@ -617,17 +710,19 @@ def stop( self, resource_group_name, account_name, live_event_name, remove_outputs_on_stop=None, custom_headers=None, raw=False, polling=True, **operation_config): """Stop Live Event. - Stops an existing Live Event. + Stops a running live event. :param resource_group_name: The name of the resource group within the Azure subscription. :type resource_group_name: str :param account_name: The Media Services account name. :type account_name: str - :param live_event_name: The name of the Live Event. + :param live_event_name: The name of the live event, maximum length is + 32. :type live_event_name: str - :param remove_outputs_on_stop: The flag indicates if remove - LiveOutputs on Stop. + :param remove_outputs_on_stop: The flag indicates whether live outputs + are automatically deleted when live event is being stopped. Deleting + live outputs do not delete the underlying assets. :type remove_outputs_on_stop: bool :param dict custom_headers: headers that will be added to the request :param bool raw: The poller return type is ClientRawResponse, the @@ -706,14 +801,18 @@ def reset( self, resource_group_name, account_name, live_event_name, custom_headers=None, raw=False, polling=True, **operation_config): """Reset Live Event. - Resets an existing Live Event. + Resets an existing live event. All live outputs for the live event are + deleted and the live event is stopped and will be started again. All + assets used by the live outputs and streaming locators created on these + assets are unaffected. . :param resource_group_name: The name of the resource group within the Azure subscription. :type resource_group_name: str :param account_name: The Media Services account name. :type account_name: str - :param live_event_name: The name of the Live Event. + :param live_event_name: The name of the live event, maximum length is + 32. :type live_event_name: str :param dict custom_headers: headers that will be added to the request :param bool raw: The poller return type is ClientRawResponse, the diff --git a/sdk/media/azure-mgmt-media/azure/mgmt/media/operations/_live_outputs_operations.py b/sdk/media/azure-mgmt-media/azure/mgmt/media/operations/_live_outputs_operations.py index 305682fa6c4e..ab3db379063e 100644 --- a/sdk/media/azure-mgmt-media/azure/mgmt/media/operations/_live_outputs_operations.py +++ b/sdk/media/azure-mgmt-media/azure/mgmt/media/operations/_live_outputs_operations.py @@ -26,7 +26,7 @@ class LiveOutputsOperations(object): :param config: Configuration of service client. :param serializer: An object model serializer. :param deserializer: An object model deserializer. - :ivar api_version: The Version of the API to be used with the client request. Constant value: "2018-07-01". + :ivar api_version: The version of the API to be used with the client request. Constant value: "2020-05-01". """ models = models @@ -36,7 +36,7 @@ def __init__(self, client, config, serializer, deserializer): self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2018-07-01" + self.api_version = "2020-05-01" self.config = config @@ -44,14 +44,15 @@ def list( self, resource_group_name, account_name, live_event_name, custom_headers=None, raw=False, **operation_config): """List Live Outputs. - Lists the Live Outputs in the Live Event. + Lists the live outputs of a live event. :param resource_group_name: The name of the resource group within the Azure subscription. :type resource_group_name: str :param account_name: The Media Services account name. :type account_name: str - :param live_event_name: The name of the Live Event. + :param live_event_name: The name of the live event, maximum length is + 32. :type live_event_name: str :param dict custom_headers: headers that will be added to the request :param bool raw: returns the direct response alongside the @@ -121,16 +122,17 @@ def get( self, resource_group_name, account_name, live_event_name, live_output_name, custom_headers=None, raw=False, **operation_config): """Get Live Output. - Gets a Live Output. + Gets a live output. :param resource_group_name: The name of the resource group within the Azure subscription. :type resource_group_name: str :param account_name: The Media Services account name. :type account_name: str - :param live_event_name: The name of the Live Event. + :param live_event_name: The name of the live event, maximum length is + 32. :type live_event_name: str - :param live_output_name: The name of the Live Output. + :param live_output_name: The name of the live output. :type live_output_name: str :param dict custom_headers: headers that will be added to the request :param bool raw: returns the direct response alongside the @@ -222,14 +224,14 @@ def _create_initial( request = self._client.put(url, query_parameters, header_parameters, body_content) response = self._client.send(request, stream=False, **operation_config) - if response.status_code not in [200, 202]: + if response.status_code not in [200, 201]: raise models.ApiErrorException(self._deserialize, response) deserialized = None if response.status_code == 200: deserialized = self._deserialize('LiveOutput', response) - if response.status_code == 202: + if response.status_code == 201: deserialized = self._deserialize('LiveOutput', response) if raw: @@ -242,16 +244,17 @@ def create( self, resource_group_name, account_name, live_event_name, live_output_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): """Create Live Output. - Creates a Live Output. + Creates a new live output. :param resource_group_name: The name of the resource group within the Azure subscription. :type resource_group_name: str :param account_name: The Media Services account name. :type account_name: str - :param live_event_name: The name of the Live Event. + :param live_event_name: The name of the live event, maximum length is + 32. :type live_event_name: str - :param live_output_name: The name of the Live Output. + :param live_output_name: The name of the live output. :type live_output_name: str :param parameters: Live Output properties needed for creation. :type parameters: ~azure.mgmt.media.models.LiveOutput @@ -340,16 +343,18 @@ def delete( self, resource_group_name, account_name, live_event_name, live_output_name, custom_headers=None, raw=False, polling=True, **operation_config): """Delete Live Output. - Deletes a Live Output. + Deletes a live output. Deleting a live output does not delete the asset + the live output is writing to. :param resource_group_name: The name of the resource group within the Azure subscription. :type resource_group_name: str :param account_name: The Media Services account name. :type account_name: str - :param live_event_name: The name of the Live Event. + :param live_event_name: The name of the live event, maximum length is + 32. :type live_event_name: str - :param live_output_name: The name of the Live Output. + :param live_output_name: The name of the live output. :type live_output_name: str :param dict custom_headers: headers that will be added to the request :param bool raw: The poller return type is ClientRawResponse, the diff --git a/sdk/media/azure-mgmt-media/azure/mgmt/media/operations/_locations_operations.py b/sdk/media/azure-mgmt-media/azure/mgmt/media/operations/_locations_operations.py index 1a1b1ed4b337..28a75741d8ad 100644 --- a/sdk/media/azure-mgmt-media/azure/mgmt/media/operations/_locations_operations.py +++ b/sdk/media/azure-mgmt-media/azure/mgmt/media/operations/_locations_operations.py @@ -24,7 +24,7 @@ class LocationsOperations(object): :param config: Configuration of service client. :param serializer: An object model serializer. :param deserializer: An object model deserializer. - :ivar api_version: The Version of the API to be used with the client request. Constant value: "2018-07-01". + :ivar api_version: The version of the API to be used with the client request. Constant value: "2020-05-01". """ models = models @@ -34,7 +34,7 @@ def __init__(self, client, config, serializer, deserializer): self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2018-07-01" + self.api_version = "2020-05-01" self.config = config diff --git a/sdk/media/azure-mgmt-media/azure/mgmt/media/operations/_mediaservices_operations.py b/sdk/media/azure-mgmt-media/azure/mgmt/media/operations/_mediaservices_operations.py index 6960e503a27d..03e3ea940326 100644 --- a/sdk/media/azure-mgmt-media/azure/mgmt/media/operations/_mediaservices_operations.py +++ b/sdk/media/azure-mgmt-media/azure/mgmt/media/operations/_mediaservices_operations.py @@ -24,7 +24,7 @@ class MediaservicesOperations(object): :param config: Configuration of service client. :param serializer: An object model serializer. :param deserializer: An object model deserializer. - :ivar api_version: The Version of the API to be used with the client request. Constant value: "2018-07-01". + :ivar api_version: The version of the API to be used with the client request. Constant value: "2020-05-01". """ models = models @@ -34,7 +34,7 @@ def __init__(self, client, config, serializer, deserializer): self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2018-07-01" + self.api_version = "2020-05-01" self.config = config @@ -290,7 +290,7 @@ def delete( request = self._client.delete(url, query_parameters, header_parameters) response = self._client.send(request, stream=False, **operation_config) - if response.status_code not in [200]: + if response.status_code not in [200, 204]: raise models.ApiErrorException(self._deserialize, response) if raw: @@ -515,9 +515,9 @@ def list_by_subscription( deserialized response :param operation_config: :ref:`Operation configuration overrides`. - :return: An iterator like instance of SubscriptionMediaService + :return: An iterator like instance of MediaService :rtype: - ~azure.mgmt.media.models.SubscriptionMediaServicePaged[~azure.mgmt.media.models.SubscriptionMediaService] + ~azure.mgmt.media.models.MediaServicePaged[~azure.mgmt.media.models.MediaService] :raises: :class:`ApiErrorException` """ @@ -566,7 +566,7 @@ def internal_paging(next_link=None): header_dict = None if raw: header_dict = {} - deserialized = models.SubscriptionMediaServicePaged(internal_paging, self._deserialize.dependencies, header_dict) + deserialized = models.MediaServicePaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Media/mediaservices'} @@ -584,8 +584,8 @@ def get_by_subscription( deserialized response :param operation_config: :ref:`Operation configuration overrides`. - :return: SubscriptionMediaService or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.media.models.SubscriptionMediaService or + :return: MediaService or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.media.models.MediaService or ~msrest.pipeline.ClientRawResponse :raises: :class:`ApiErrorException` @@ -621,7 +621,7 @@ def get_by_subscription( deserialized = None if response.status_code == 200: - deserialized = self._deserialize('SubscriptionMediaService', response) + deserialized = self._deserialize('MediaService', response) if raw: client_raw_response = ClientRawResponse(deserialized, response) diff --git a/sdk/media/azure-mgmt-media/azure/mgmt/media/operations/_operations.py b/sdk/media/azure-mgmt-media/azure/mgmt/media/operations/_operations.py index 59ca6d6cff7b..36822335dd47 100644 --- a/sdk/media/azure-mgmt-media/azure/mgmt/media/operations/_operations.py +++ b/sdk/media/azure-mgmt-media/azure/mgmt/media/operations/_operations.py @@ -24,7 +24,7 @@ class Operations(object): :param config: Configuration of service client. :param serializer: An object model serializer. :param deserializer: An object model deserializer. - :ivar api_version: The Version of the API to be used with the client request. Constant value: "2018-07-01". + :ivar api_version: The version of the API to be used with the client request. Constant value: "2020-05-01". """ models = models @@ -34,7 +34,7 @@ def __init__(self, client, config, serializer, deserializer): self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2018-07-01" + self.api_version = "2020-05-01" self.config = config diff --git a/sdk/media/azure-mgmt-media/azure/mgmt/media/operations/_private_endpoint_connections_operations.py b/sdk/media/azure-mgmt-media/azure/mgmt/media/operations/_private_endpoint_connections_operations.py new file mode 100644 index 000000000000..d6dc50ff2d7e --- /dev/null +++ b/sdk/media/azure-mgmt-media/azure/mgmt/media/operations/_private_endpoint_connections_operations.py @@ -0,0 +1,299 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse + +from .. import models + + +class PrivateEndpointConnectionsOperations(object): + """PrivateEndpointConnectionsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The version of the API to be used with the client request. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + def list( + self, resource_group_name, account_name, custom_headers=None, raw=False, **operation_config): + """Get all private endpoint connections. + + Get all private endpoint connections. + + :param resource_group_name: The name of the resource group within the + Azure subscription. + :type resource_group_name: str + :param account_name: The Media Services account name. + :type account_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PrivateEndpointConnectionListResult or ClientRawResponse if + raw=true + :rtype: ~azure.mgmt.media.models.PrivateEndpointConnectionListResult + or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ApiErrorException` + """ + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ApiErrorException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('PrivateEndpointConnectionListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/privateEndpointConnections'} + + def get( + self, resource_group_name, account_name, name, custom_headers=None, raw=False, **operation_config): + """Get private endpoint connection. + + Get private endpoint connection. + + :param resource_group_name: The name of the resource group within the + Azure subscription. + :type resource_group_name: str + :param account_name: The Media Services account name. + :type account_name: str + :param name: + :type name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PrivateEndpointConnection or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.media.models.PrivateEndpointConnection or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ApiErrorException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'name': self._serialize.url("name", name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ApiErrorException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('PrivateEndpointConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/privateEndpointConnections/{name}'} + + def create_or_update( + self, resource_group_name, account_name, name, parameters, custom_headers=None, raw=False, **operation_config): + """Update private endpoint connection. + + Update private endpoint connection. + + :param resource_group_name: The name of the resource group within the + Azure subscription. + :type resource_group_name: str + :param account_name: The Media Services account name. + :type account_name: str + :param name: + :type name: str + :param parameters: The request parameters + :type parameters: ~azure.mgmt.media.models.PrivateEndpointConnection + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PrivateEndpointConnection or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.media.models.PrivateEndpointConnection or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ApiErrorException` + """ + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'name': self._serialize.url("name", name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'PrivateEndpointConnection') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ApiErrorException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('PrivateEndpointConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/privateEndpointConnections/{name}'} + + def delete( + self, resource_group_name, account_name, name, custom_headers=None, raw=False, **operation_config): + """Delete private endpoint connection. + + Delete private endpoint connection. + + :param resource_group_name: The name of the resource group within the + Azure subscription. + :type resource_group_name: str + :param account_name: The Media Services account name. + :type account_name: str + :param name: + :type name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ApiErrorException` + """ + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'name': self._serialize.url("name", name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ApiErrorException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/privateEndpointConnections/{name}'} diff --git a/sdk/media/azure-mgmt-media/azure/mgmt/media/operations/_private_link_resources_operations.py b/sdk/media/azure-mgmt-media/azure/mgmt/media/operations/_private_link_resources_operations.py new file mode 100644 index 000000000000..e37e1ff60548 --- /dev/null +++ b/sdk/media/azure-mgmt-media/azure/mgmt/media/operations/_private_link_resources_operations.py @@ -0,0 +1,169 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse + +from .. import models + + +class PrivateLinkResourcesOperations(object): + """PrivateLinkResourcesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The version of the API to be used with the client request. Constant value: "2020-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-05-01" + + self.config = config + + def list( + self, resource_group_name, account_name, custom_headers=None, raw=False, **operation_config): + """Get list of group IDs. + + Get list of group IDs. + + :param resource_group_name: The name of the resource group within the + Azure subscription. + :type resource_group_name: str + :param account_name: The Media Services account name. + :type account_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PrivateLinkResourceListResult or ClientRawResponse if + raw=true + :rtype: ~azure.mgmt.media.models.PrivateLinkResourceListResult or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ApiErrorException` + """ + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ApiErrorException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('PrivateLinkResourceListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/privateLinkResources'} + + def get( + self, resource_group_name, account_name, name, custom_headers=None, raw=False, **operation_config): + """Get group ID. + + Get group ID. + + :param resource_group_name: The name of the resource group within the + Azure subscription. + :type resource_group_name: str + :param account_name: The Media Services account name. + :type account_name: str + :param name: + :type name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PrivateLinkResource or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.media.models.PrivateLinkResource or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ApiErrorException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'name': self._serialize.url("name", name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ApiErrorException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('PrivateLinkResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/privateLinkResources/{name}'} diff --git a/sdk/media/azure-mgmt-media/azure/mgmt/media/operations/_streaming_endpoints_operations.py b/sdk/media/azure-mgmt-media/azure/mgmt/media/operations/_streaming_endpoints_operations.py index 6147785d8d17..a8c0165c4c3a 100644 --- a/sdk/media/azure-mgmt-media/azure/mgmt/media/operations/_streaming_endpoints_operations.py +++ b/sdk/media/azure-mgmt-media/azure/mgmt/media/operations/_streaming_endpoints_operations.py @@ -26,7 +26,7 @@ class StreamingEndpointsOperations(object): :param config: Configuration of service client. :param serializer: An object model serializer. :param deserializer: An object model deserializer. - :ivar api_version: The Version of the API to be used with the client request. Constant value: "2018-07-01". + :ivar api_version: The version of the API to be used with the client request. Constant value: "2020-05-01". """ models = models @@ -36,7 +36,7 @@ def __init__(self, client, config, serializer, deserializer): self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2018-07-01" + self.api_version = "2020-05-01" self.config = config @@ -44,7 +44,7 @@ def list( self, resource_group_name, account_name, custom_headers=None, raw=False, **operation_config): """List StreamingEndpoints. - Lists the StreamingEndpoints in the account. + Lists the streaming endpoints in the account. :param resource_group_name: The name of the resource group within the Azure subscription. @@ -118,14 +118,15 @@ def get( self, resource_group_name, account_name, streaming_endpoint_name, custom_headers=None, raw=False, **operation_config): """Get StreamingEndpoint. - Gets a StreamingEndpoint. + Gets a streaming endpoint. :param resource_group_name: The name of the resource group within the Azure subscription. :type resource_group_name: str :param account_name: The Media Services account name. :type account_name: str - :param streaming_endpoint_name: The name of the StreamingEndpoint. + :param streaming_endpoint_name: The name of the streaming endpoint, + maximum length is 24. :type streaming_endpoint_name: str :param dict custom_headers: headers that will be added to the request :param bool raw: returns the direct response alongside the @@ -217,14 +218,14 @@ def _create_initial( request = self._client.put(url, query_parameters, header_parameters, body_content) response = self._client.send(request, stream=False, **operation_config) - if response.status_code not in [200, 202]: + if response.status_code not in [200, 201]: raise models.ApiErrorException(self._deserialize, response) deserialized = None if response.status_code == 200: deserialized = self._deserialize('StreamingEndpoint', response) - if response.status_code == 202: + if response.status_code == 201: deserialized = self._deserialize('StreamingEndpoint', response) if raw: @@ -237,16 +238,17 @@ def create( self, resource_group_name, account_name, streaming_endpoint_name, parameters, auto_start=None, custom_headers=None, raw=False, polling=True, **operation_config): """Create StreamingEndpoint. - Creates a StreamingEndpoint. + Creates a streaming endpoint. :param resource_group_name: The name of the resource group within the Azure subscription. :type resource_group_name: str :param account_name: The Media Services account name. :type account_name: str - :param streaming_endpoint_name: The name of the StreamingEndpoint. + :param streaming_endpoint_name: The name of the streaming endpoint, + maximum length is 24. :type streaming_endpoint_name: str - :param parameters: StreamingEndpoint properties needed for creation. + :param parameters: Streaming endpoint properties needed for creation. :type parameters: ~azure.mgmt.media.models.StreamingEndpoint :param auto_start: The flag indicates if the resource should be automatically started on creation. @@ -349,16 +351,17 @@ def update( self, resource_group_name, account_name, streaming_endpoint_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): """Update StreamingEndpoint. - Updates a existing StreamingEndpoint. + Updates a existing streaming endpoint. :param resource_group_name: The name of the resource group within the Azure subscription. :type resource_group_name: str :param account_name: The Media Services account name. :type account_name: str - :param streaming_endpoint_name: The name of the StreamingEndpoint. + :param streaming_endpoint_name: The name of the streaming endpoint, + maximum length is 24. :type streaming_endpoint_name: str - :param parameters: StreamingEndpoint properties needed for creation. + :param parameters: Streaming endpoint properties needed for creation. :type parameters: ~azure.mgmt.media.models.StreamingEndpoint :param dict custom_headers: headers that will be added to the request :param bool raw: The poller return type is ClientRawResponse, the @@ -443,14 +446,15 @@ def delete( self, resource_group_name, account_name, streaming_endpoint_name, custom_headers=None, raw=False, polling=True, **operation_config): """Delete StreamingEndpoint. - Deletes a StreamingEndpoint. + Deletes a streaming endpoint. :param resource_group_name: The name of the resource group within the Azure subscription. :type resource_group_name: str :param account_name: The Media Services account name. :type account_name: str - :param streaming_endpoint_name: The name of the StreamingEndpoint. + :param streaming_endpoint_name: The name of the streaming endpoint, + maximum length is 24. :type streaming_endpoint_name: str :param dict custom_headers: headers that will be added to the request :param bool raw: The poller return type is ClientRawResponse, the @@ -528,14 +532,15 @@ def start( self, resource_group_name, account_name, streaming_endpoint_name, custom_headers=None, raw=False, polling=True, **operation_config): """Start StreamingEndpoint. - Starts an existing StreamingEndpoint. + Starts an existing streaming endpoint. :param resource_group_name: The name of the resource group within the Azure subscription. :type resource_group_name: str :param account_name: The Media Services account name. :type account_name: str - :param streaming_endpoint_name: The name of the StreamingEndpoint. + :param streaming_endpoint_name: The name of the streaming endpoint, + maximum length is 24. :type streaming_endpoint_name: str :param dict custom_headers: headers that will be added to the request :param bool raw: The poller return type is ClientRawResponse, the @@ -613,14 +618,15 @@ def stop( self, resource_group_name, account_name, streaming_endpoint_name, custom_headers=None, raw=False, polling=True, **operation_config): """Stop StreamingEndpoint. - Stops an existing StreamingEndpoint. + Stops an existing streaming endpoint. :param resource_group_name: The name of the resource group within the Azure subscription. :type resource_group_name: str :param account_name: The Media Services account name. :type account_name: str - :param streaming_endpoint_name: The name of the StreamingEndpoint. + :param streaming_endpoint_name: The name of the streaming endpoint, + maximum length is 24. :type streaming_endpoint_name: str :param dict custom_headers: headers that will be added to the request :param bool raw: The poller return type is ClientRawResponse, the @@ -704,16 +710,17 @@ def scale( self, resource_group_name, account_name, streaming_endpoint_name, scale_unit=None, custom_headers=None, raw=False, polling=True, **operation_config): """Scale StreamingEndpoint. - Scales an existing StreamingEndpoint. + Scales an existing streaming endpoint. :param resource_group_name: The name of the resource group within the Azure subscription. :type resource_group_name: str :param account_name: The Media Services account name. :type account_name: str - :param streaming_endpoint_name: The name of the StreamingEndpoint. + :param streaming_endpoint_name: The name of the streaming endpoint, + maximum length is 24. :type streaming_endpoint_name: str - :param scale_unit: The scale unit number of the StreamingEndpoint. + :param scale_unit: The scale unit number of the streaming endpoint. :type scale_unit: int :param dict custom_headers: headers that will be added to the request :param bool raw: The poller return type is ClientRawResponse, the diff --git a/sdk/media/azure-mgmt-media/azure/mgmt/media/operations/_streaming_locators_operations.py b/sdk/media/azure-mgmt-media/azure/mgmt/media/operations/_streaming_locators_operations.py index 8d43fac2b18a..f90b5cbf4161 100644 --- a/sdk/media/azure-mgmt-media/azure/mgmt/media/operations/_streaming_locators_operations.py +++ b/sdk/media/azure-mgmt-media/azure/mgmt/media/operations/_streaming_locators_operations.py @@ -24,7 +24,7 @@ class StreamingLocatorsOperations(object): :param config: Configuration of service client. :param serializer: An object model serializer. :param deserializer: An object model deserializer. - :ivar api_version: The Version of the API to be used with the client request. Constant value: "2018-07-01". + :ivar api_version: The version of the API to be used with the client request. Constant value: "2020-05-01". """ models = models @@ -34,7 +34,7 @@ def __init__(self, client, config, serializer, deserializer): self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2018-07-01" + self.api_version = "2020-05-01" self.config = config diff --git a/sdk/media/azure-mgmt-media/azure/mgmt/media/operations/_streaming_policies_operations.py b/sdk/media/azure-mgmt-media/azure/mgmt/media/operations/_streaming_policies_operations.py index 74bbde4f4944..90272113dc28 100644 --- a/sdk/media/azure-mgmt-media/azure/mgmt/media/operations/_streaming_policies_operations.py +++ b/sdk/media/azure-mgmt-media/azure/mgmt/media/operations/_streaming_policies_operations.py @@ -24,7 +24,7 @@ class StreamingPoliciesOperations(object): :param config: Configuration of service client. :param serializer: An object model serializer. :param deserializer: An object model deserializer. - :ivar api_version: The Version of the API to be used with the client request. Constant value: "2018-07-01". + :ivar api_version: The version of the API to be used with the client request. Constant value: "2020-05-01". """ models = models @@ -34,7 +34,7 @@ def __init__(self, client, config, serializer, deserializer): self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2018-07-01" + self.api_version = "2020-05-01" self.config = config diff --git a/sdk/media/azure-mgmt-media/azure/mgmt/media/operations/_transforms_operations.py b/sdk/media/azure-mgmt-media/azure/mgmt/media/operations/_transforms_operations.py index c9912fa2a59b..e2bad8cb194f 100644 --- a/sdk/media/azure-mgmt-media/azure/mgmt/media/operations/_transforms_operations.py +++ b/sdk/media/azure-mgmt-media/azure/mgmt/media/operations/_transforms_operations.py @@ -24,7 +24,7 @@ class TransformsOperations(object): :param config: Configuration of service client. :param serializer: An object model serializer. :param deserializer: An object model deserializer. - :ivar api_version: The Version of the API to be used with the client request. Constant value: "2018-07-01". + :ivar api_version: The version of the API to be used with the client request. Constant value: "2020-05-01". """ models = models @@ -34,7 +34,7 @@ def __init__(self, client, config, serializer, deserializer): self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2018-07-01" + self.api_version = "2020-05-01" self.config = config