1# --------------------------------------------------------------------------------------------
2# Copyright (c) Microsoft Corporation. All rights reserved.
3# Licensed under the MIT License. See License.txt in the project root for license information.
4# --------------------------------------------------------------------------------------------
5
6from azure.cli.core.decorators import Completer
7
8from azure.cli.command_modules.ams.operations.sp import list_role_definitions
9from azure.cli.command_modules.ams._sdk_utils import (get_stand_alone_presets, get_cdn_providers,
10                                                      get_default_streaming_policies, get_token_types,
11                                                      get_rentalandlease_types, get_tokens,
12                                                      get_allowed_languages_for_preset,
13                                                      get_protocols, get_encoding_types,
14                                                      get_allowed_resolutions, get_transcription_langauges,
15                                                      get_analysis_modes, get_stretch_mode_types,
16                                                      get_storage_authentication_allowed_values)
17
18from azure.mgmt.media.models import EncoderNamedPreset
19
20
21@Completer
22def get_role_definition_name_completion_list(cmd):
23    definitions = list_role_definitions(cmd)
24    return [x.properties.role_name for x in list(definitions)]
25
26
27def get_presets_definition_name_completion_list():
28    encoder_name_presets_list = [e.value for e in EncoderNamedPreset]
29    encoder_name_presets_list.extend(get_stand_alone_presets())
30    return encoder_name_presets_list
31
32
33def get_cdn_provider_completion_list():
34    cdn_provider_list = get_cdn_providers()
35    return cdn_provider_list
36
37
38def get_default_streaming_policies_completion_list():
39    default_streaming_policies = get_default_streaming_policies()
40    return default_streaming_policies
41
42
43def get_protocols_completion_list():
44    protocols = get_protocols()
45    return protocols
46
47
48def get_token_type_completion_list():
49    token_types = get_token_types()
50    return token_types
51
52
53def get_fairplay_rentalandlease_completion_list():
54    rentalandlease_types = get_rentalandlease_types()
55    return rentalandlease_types
56
57
58def get_token_completion_list():
59    tokens = get_tokens()
60    return tokens
61
62
63def get_allowed_languages_for_preset_completion_list():
64    languages = get_allowed_languages_for_preset()
65    return languages
66
67
68def get_allowed_resolutions_completion_list():
69    resolutions = get_allowed_resolutions()
70    return resolutions
71
72
73def get_mru_type_completion_list():
74    return ['S1', 'S2', 'S3']
75
76
77def get_encoding_types_list():
78    encoding_types = get_encoding_types()
79    return encoding_types
80
81
82def get_allowed_transcription_languages():
83    languages = get_transcription_langauges()
84    return languages
85
86
87def get_allowed_analysis_modes():
88    modes = get_analysis_modes()
89    return modes
90
91
92def get_stretch_mode_types_list():
93    modes = get_stretch_mode_types()
94    return modes
95
96
97def get_storage_authentication_allowed_values_list():
98    values = get_storage_authentication_allowed_values()
99    return values
100