def update_live_event_setter(client, resource_group_name, account_name, live_event_name, parameters): ips = list(map(lambda x: create_ip_range(live_event_name, x) if isinstance(x, str) else x, parameters.input.access_control.ip.allow)) preview_ips = list(map(lambda x: create_ip_range(live_event_name, x) if isinstance(x, str) else x, parameters.preview.access_control.ip.allow)) parameters.input.access_control.ip.allow = ips parameters.preview.access_control.ip.allow = preview_ips return client.update(resource_group_name, account_name, live_event_name, parameters)
def update_live_event_setter(client, resource_group_name, account_name, live_event_name, parameters): ips = list(map(lambda x: create_ip_range(live_event_name, x) if isinstance(x, str) else x, parameters.input.access_control.ip.allow)) preview_ips = list(map(lambda x: create_ip_range(live_event_name, x) if isinstance(x, str) else x, parameters.preview.access_control.ip.allow)) parameters.input.access_control.ip.allow = ips parameters.preview.access_control.ip.allow = preview_ips return client.update(resource_group_name, account_name, live_event_name, parameters)
def update_live_event(instance, tags=None, description=None, key_frame_interval_duration=None, preview_ips=None, ips=None, client_access_policy=None, cross_domain_policy=None): if not instance: raise CLIError('The live event resource was not found.') if tags is not None: instance.tags = tags if description is not None: instance.description = description if key_frame_interval_duration is not None: instance.input.key_frame_interval_duration = key_frame_interval_duration if preview_ips is not None: instance.preview.access_control.ip.allow = [] if len(preview_ips) > 1 or preview_ips[0]: if preview_ips[0] == 'AllowAll': preview_ips = ['0.0.0.0/0'] for ip in preview_ips: instance.preview.access_control.ip.allow.append( create_ip_range(instance.name, ip)) if ips is not None: instance.input.access_control.ip.allow = [] if len(ips) > 1 or ips[0]: if ips[0] == 'AllowAll': ips = ['0.0.0.0/0'] for ip in ips: instance.input.access_control.ip.allow.append( create_ip_range(instance.name, ip)) if client_access_policy is not None: if not client_access_policy: instance.cross_site_access_policies.client_access_policy = None else: instance.cross_site_access_policies.client_access_policy = client_access_policy if cross_domain_policy is not None: if not cross_domain_policy: instance.cross_site_access_policies.cross_domain_policy = None else: instance.cross_site_access_policies.cross_domain_policy = cross_domain_policy return instance
def update_streaming_endpoint(instance, tags=None, cross_domain_policy=None, client_access_policy=None, description=None, max_cache_age=None, ips=None, disable_cdn=None, cdn_provider=None, cdn_profile=None, custom_host_names=None): if not instance: raise CLIError('The streaming endpoint resource was not found.') if ips is not None: is_ips_argument_empty = len(ips) == 1 and ips[0] == "" if is_ips_argument_empty: if instance.access_control is not None and instance.access_control.ip is not None: instance.access_control.ip = None else: if instance.access_control is None: instance.access_control = StreamingEndpointAccessControl() if instance.access_control.ip is None: instance.access_control.ip = IPAccessControl(allow=[]) for ip in ips: instance.access_control.ip.allow.append(create_ip_range(instance.name, ip)) if instance.cross_site_access_policies is None: instance.cross_site_access_policies = CrossSiteAccessPolicies() if client_access_policy is not None: if not client_access_policy: instance.cross_site_access_policies.client_access_policy = None else: instance.cross_site_access_policies.client_access_policy = client_access_policy if cross_domain_policy is not None: if not cross_domain_policy: instance.cross_site_access_policies.cross_domain_policy = None else: instance.cross_site_access_policies.cross_domain_policy = cross_domain_policy if max_cache_age is not None: instance.max_cache_age = max_cache_age if tags is not None: instance.tags = tags if description is not None: instance.description = description if custom_host_names is not None: is_custom_host_names_argument_empty = len(custom_host_names) == 1 and custom_host_names[0] == "" if is_custom_host_names_argument_empty: instance.custom_host_names = [] else: instance.custom_host_names = custom_host_names if cdn_provider is not None: instance.cdn_provider = cdn_provider if cdn_profile is not None: instance.cdn_profile = cdn_profile if cdn_provider is not None or cdn_profile is not None: if ips is None and instance.access_control is not None: instance.access_control = None instance.cdn_enabled = True if disable_cdn is not None: instance.cdn_enabled = not disable_cdn return instance
def create_streaming_endpoint(cmd, client, resource_group_name, account_name, streaming_endpoint_name, # pylint: disable=too-many-locals scale_units, auto_start=None, tags=None, cross_domain_policy=None, ips=None, description=None, availability_set_name=None, max_cache_age=None, cdn_provider=None, cdn_profile=None, custom_host_names=None, client_access_policy=None, no_wait=False): from azure.cli.command_modules.ams._client_factory import (get_mediaservices_client) allow_list = [] if ips is not None: for ip in ips: allow_list.append(create_ip_range(streaming_endpoint_name, ip)) ams_client = get_mediaservices_client(cmd.cli_ctx) ams = ams_client.get(resource_group_name, account_name) location = ams.location streaming_endpoint_access_control = StreamingEndpointAccessControl() if ips is not None: streaming_endpoint_access_control.ip = IPAccessControl(allow=allow_list) policies = create_cross_site_access_policies(client_access_policy, cross_domain_policy) cdn_enabled = cdn_profile is not None or cdn_provider is not None streaming_endpoint = StreamingEndpoint(max_cache_age=max_cache_age, tags=tags, location=location, description=description, custom_host_names=custom_host_names, scale_units=scale_units, cdn_profile=cdn_profile, availability_set_name=availability_set_name, cdn_enabled=cdn_enabled, cdn_provider=cdn_provider, cross_site_access_policies=policies, access_control=streaming_endpoint_access_control) return sdk_no_wait(no_wait, client.begin_create, resource_group_name=resource_group_name, account_name=account_name, auto_start=auto_start, streaming_endpoint_name=streaming_endpoint_name, parameters=streaming_endpoint)
def create_streaming_endpoint(cmd, client, resource_group_name, account_name, streaming_endpoint_name, # pylint: disable=too-many-locals scale_units, auto_start=None, tags=None, cross_domain_policy=None, ips=None, description=None, availability_set_name=None, max_cache_age=None, cdn_provider=None, cdn_profile=None, custom_host_names=None, client_access_policy=None, no_wait=False): from azure.mgmt.media.models import (StreamingEndpoint, IPAccessControl, StreamingEndpointAccessControl) from azure.cli.command_modules.ams._client_factory import (get_mediaservices_client) allow_list = [] if ips is not None: for ip in ips: allow_list.append(create_ip_range(streaming_endpoint_name, ip)) ams_client = get_mediaservices_client(cmd.cli_ctx) ams = ams_client.get(resource_group_name, account_name) location = ams.location streaming_endpoint_access_control = StreamingEndpointAccessControl() if ips is not None: streaming_endpoint_access_control.ip = IPAccessControl(allow=allow_list) policies = create_cross_site_access_policies(client_access_policy, cross_domain_policy) cdn_enabled = cdn_profile is not None or cdn_provider is not None streaming_endpoint = StreamingEndpoint(max_cache_age=max_cache_age, tags=tags, location=location, description=description, custom_host_names=custom_host_names, scale_units=scale_units, cdn_profile=cdn_profile, availability_set_name=availability_set_name, cdn_enabled=cdn_enabled, cdn_provider=cdn_provider, cross_site_access_policies=policies, access_control=streaming_endpoint_access_control) return sdk_no_wait(no_wait, client.create, resource_group_name=resource_group_name, account_name=account_name, auto_start=auto_start, streaming_endpoint_name=streaming_endpoint_name, parameters=streaming_endpoint)
def update_live_event(instance, tags=None, description=None, key_frame_interval_duration=None, preview_ips=None, ips=None, client_access_policy=None, cross_domain_policy=None): if not instance: raise CLIError('The live event resource was not found.') if tags is not None: instance.tags = tags if description is not None: instance.description = description if key_frame_interval_duration is not None: instance.input.key_frame_interval_duration = key_frame_interval_duration if preview_ips is not None: instance.preview.access_control.ip.allow = [] if len(preview_ips) > 1 or preview_ips[0]: if preview_ips[0] == 'AllowAll': preview_ips = ['0.0.0.0/0'] for ip in preview_ips: instance.preview.access_control.ip.allow.append(create_ip_range(instance.name, ip)) if ips is not None: instance.input.access_control.ip.allow = [] if len(ips) > 1 or ips[0]: if ips[0] == 'AllowAll': ips = ['0.0.0.0/0'] for ip in ips: instance.input.access_control.ip.allow.append(create_ip_range(instance.name, ip)) if client_access_policy is not None: if not client_access_policy: instance.cross_site_access_policies.client_access_policy = None else: instance.cross_site_access_policies.client_access_policy = client_access_policy if cross_domain_policy is not None: if not cross_domain_policy: instance.cross_site_access_policies.cross_domain_policy = None else: instance.cross_site_access_policies.cross_domain_policy = cross_domain_policy return instance
def update_streaming_endpoint_setter(client, resource_group_name, account_name, streaming_endpoint_name, parameters, no_wait): if (parameters.access_control is not None and parameters.access_control.ip is not None and parameters.access_control.ip.allow): ips = list(map(lambda x: create_ip_range(streaming_endpoint_name, x) if isinstance(x, str) else x, parameters.access_control.ip.allow)) parameters.access_control.ip.allow = ips return sdk_no_wait(no_wait, client.begin_update, resource_group_name=resource_group_name, account_name=account_name, streaming_endpoint_name=streaming_endpoint_name, parameters=parameters)
def update_streaming_endpoint_setter(client, resource_group_name, account_name, streaming_endpoint_name, parameters, no_wait): if (parameters.access_control is not None and parameters.access_control.ip is not None and parameters.access_control.ip.allow): ips = list(map(lambda x: create_ip_range(streaming_endpoint_name, x) if isinstance(x, str) else x, parameters.access_control.ip.allow)) parameters.access_control.ip.allow = ips return sdk_no_wait(no_wait, client.update, resource_group_name=resource_group_name, account_name=account_name, streaming_endpoint_name=streaming_endpoint_name, parameters=parameters)
def create_live_event_preview(preview_locator, streaming_policy_name, alternative_media_id, preview_ips, live_event_name): allow_list = [] if preview_ips is None: preview_ips = [] if preview_ips != [] and preview_ips[0] == 'AllowAll': preview_ips = ['0.0.0.0/0'] for ip in preview_ips: allow_list.append(create_ip_range(live_event_name, ip)) live_event_preview_access_control = LiveEventPreviewAccessControl(ip=IPAccessControl(allow=allow_list)) return LiveEventPreview(preview_locator=preview_locator, streaming_policy_name=streaming_policy_name, alternative_media_id=alternative_media_id, access_control=live_event_preview_access_control)
def create_live_event_preview(preview_locator, streaming_policy_name, alternative_media_id, preview_ips, live_event_name): from azure.mgmt.media.models import (IPAccessControl, LiveEventPreviewAccessControl, LiveEventPreview) allow_list = [] if preview_ips is None: preview_ips = [] if preview_ips != [] and preview_ips[0] == 'AllowAll': preview_ips = ['0.0.0.0/0'] for ip in preview_ips: allow_list.append(create_ip_range(live_event_name, ip)) live_event_preview_access_control = LiveEventPreviewAccessControl(ip=IPAccessControl(allow=allow_list)) return LiveEventPreview(preview_locator=preview_locator, streaming_policy_name=streaming_policy_name, alternative_media_id=alternative_media_id, access_control=live_event_preview_access_control)
def create(cmd, client, resource_group_name, account_name, live_event_name, streaming_protocol, ips, # pylint: disable=too-many-locals auto_start=False, encoding_type=None, preset_name=None, tags=None, description=None, key_frame_interval_duration=None, access_token=None, no_wait=False, preview_ips=None, preview_locator=None, streaming_policy_name=None, alternative_media_id=None, vanity_url=False, client_access_policy=None, cross_domain_policy=None, stream_options=None): from azure.mgmt.media.models import (LiveEventInputProtocol, LiveEventInput, LiveEvent, LiveEventEncoding, LiveEventInputAccessControl, IPAccessControl) from azure.cli.command_modules.ams._client_factory import (get_mediaservices_client) encoding_type = 'Basic' if encoding_type == 'Standard' else encoding_type allowed_ips = [] if ips[0] == 'AllowAll': ips = ['0.0.0.0/0'] for ip in ips: allowed_ips.append(create_ip_range(live_event_name, ip)) live_event_input_access_control = LiveEventInputAccessControl(ip=IPAccessControl(allow=allowed_ips)) live_event_input = LiveEventInput(streaming_protocol=LiveEventInputProtocol(streaming_protocol), access_token=access_token, key_frame_interval_duration=key_frame_interval_duration, access_control=live_event_input_access_control) ams_client = get_mediaservices_client(cmd.cli_ctx) ams = ams_client.get(resource_group_name, account_name) location = ams.location live_event_preview = create_live_event_preview(preview_locator, streaming_policy_name, alternative_media_id, preview_ips, live_event_name) policies = create_cross_site_access_policies(client_access_policy, cross_domain_policy) live_event = LiveEvent(input=live_event_input, location=location, preview=live_event_preview, encoding=LiveEventEncoding(encoding_type=encoding_type, preset_name=preset_name), tags=tags, vanity_url=vanity_url, stream_options=stream_options, cross_site_access_policies=policies, description=description) return sdk_no_wait(no_wait, client.create, resource_group_name=resource_group_name, account_name=account_name, live_event_name=live_event_name, parameters=live_event, auto_start=auto_start)
def create(cmd, client, resource_group_name, account_name, live_event_name, streaming_protocol, ips, # pylint: disable=too-many-locals auto_start=False, encoding_type=None, preset_name=None, tags=None, description=None, key_frame_interval_duration=None, access_token=None, no_wait=False, preview_ips=None, preview_locator=None, streaming_policy_name=None, alternative_media_id=None, vanity_url=False, client_access_policy=None, cross_domain_policy=None, stream_options=None): from azure.mgmt.media.models import (LiveEventInputProtocol, LiveEventInput, LiveEvent, LiveEventEncoding, LiveEventInputAccessControl, IPAccessControl) from azure.cli.command_modules.ams._client_factory import (get_mediaservices_client) allowed_ips = [] if ips[0] == 'AllowAll': ips = ['0.0.0.0/0'] for ip in ips: allowed_ips.append(create_ip_range(live_event_name, ip)) live_event_input_access_control = LiveEventInputAccessControl(ip=IPAccessControl(allow=allowed_ips)) live_event_input = LiveEventInput(streaming_protocol=LiveEventInputProtocol(streaming_protocol), access_token=access_token, key_frame_interval_duration=key_frame_interval_duration, access_control=live_event_input_access_control) ams_client = get_mediaservices_client(cmd.cli_ctx) ams = ams_client.get(resource_group_name, account_name) location = ams.location live_event_preview = create_live_event_preview(preview_locator, streaming_policy_name, alternative_media_id, preview_ips, live_event_name) policies = create_cross_site_access_policies(client_access_policy, cross_domain_policy) live_event = LiveEvent(input=live_event_input, location=location, preview=live_event_preview, encoding=LiveEventEncoding(encoding_type=encoding_type, preset_name=preset_name), tags=tags, vanity_url=vanity_url, stream_options=stream_options, cross_site_access_policies=policies, description=description) return sdk_no_wait(no_wait, client.create, resource_group_name=resource_group_name, account_name=account_name, live_event_name=live_event_name, parameters=live_event, auto_start=auto_start)
def update_streaming_endpoint(instance, tags=None, cross_domain_policy=None, client_access_policy=None, description=None, max_cache_age=None, ips=None, disable_cdn=None, cdn_provider=None, cdn_profile=None, custom_host_names=None): from azure.mgmt.media.models import (IPAccessControl, StreamingEndpointAccessControl, CrossSiteAccessPolicies) if not instance: raise CLIError('The streaming endpoint resource was not found.') if ips is not None: is_ips_argument_empty = len(ips) == 1 and ips[0] == "" if is_ips_argument_empty: if instance.access_control is not None and instance.access_control.ip is not None: instance.access_control.ip = None else: if instance.access_control is None: instance.access_control = StreamingEndpointAccessControl() if instance.access_control.ip is None: instance.access_control.ip = IPAccessControl(allow=[]) for ip in ips: instance.access_control.ip.allow.append(create_ip_range(instance.name, ip)) if instance.cross_site_access_policies is None: instance.cross_site_access_policies = CrossSiteAccessPolicies() if client_access_policy is not None: if not client_access_policy: instance.cross_site_access_policies.client_access_policy = None else: instance.cross_site_access_policies.client_access_policy = client_access_policy if cross_domain_policy is not None: if not cross_domain_policy: instance.cross_site_access_policies.cross_domain_policy = None else: instance.cross_site_access_policies.cross_domain_policy = cross_domain_policy if max_cache_age is not None: instance.max_cache_age = max_cache_age if tags is not None: instance.tags = tags if description is not None: instance.description = description if custom_host_names is not None: is_custom_host_names_argument_empty = len(custom_host_names) == 1 and custom_host_names[0] == "" if is_custom_host_names_argument_empty: instance.custom_host_names = [] else: instance.custom_host_names = custom_host_names if cdn_provider is not None: instance.cdn_provider = cdn_provider if cdn_profile is not None: instance.cdn_profile = cdn_profile if cdn_provider is not None or cdn_profile is not None: if ips is None and instance.access_control is not None: instance.access_control = None instance.cdn_enabled = True if disable_cdn is not None: instance.cdn_enabled = not disable_cdn return instance