def multi_service_properties_factory(cli_ctx, kwargs): """Create multiple data services properties instance based on the services option""" from .services_wrapper import ServiceProperties t_base_blob_service, t_file_service, t_queue_service, = get_sdk( cli_ctx, ResourceType.DATA_STORAGE, 'blob.baseblobservice#BaseBlobService', 'file#FileService', 'queue#QueueService') t_table_service = get_table_data_type(cli_ctx, 'table', 'TableService') account_name = kwargs.pop('account_name', None) account_key = kwargs.pop('account_key', None) connection_string = kwargs.pop('connection_string', None) sas_token = kwargs.pop('sas_token', None) services = kwargs.pop('services', []) def get_creator(name, service_type): return lambda: ServiceProperties(cli_ctx, name, service_type, account_name, account_key, connection_string, sas_token) creators = { 'b': get_creator('blob', t_base_blob_service), 'f': get_creator('file', t_file_service), 'q': get_creator('queue', t_queue_service), 't': get_creator('table', t_table_service) } return [creators[s]() for s in services]
def table_data_service_factory(cli_ctx, kwargs): return generic_data_service_factory(cli_ctx, get_table_data_type(cli_ctx, 'table', 'TableService'), kwargs.pop('account_name', None), kwargs.pop('account_key', None), connection_string=kwargs.pop('connection_string', None), sas_token=kwargs.pop('sas_token', None))
def table_data_service_factory(cli_ctx, kwargs): return generic_data_service_factory(cli_ctx, get_table_data_type(cli_ctx, 'table', 'TableService'), kwargs.pop('account_name', None), kwargs.pop('account_key', None), connection_string=kwargs.pop('connection_string', None), sas_token=kwargs.pop('sas_token', None))
def table_permission_validator(cmd, namespace): """ A special case for table because the SDK associates the QUERY permission with 'r' """ t_table_permissions = get_table_data_type(cmd.cli_ctx, 'table', 'TablePermissions') if namespace.permission: if set(namespace.permission) - set('raud'): help_string = '(r)ead/query (a)dd (u)pdate (d)elete' raise ValueError('valid values are {} or a combination thereof.'.format(help_string)) namespace.permission = t_table_permissions(_str=namespace.permission)
def table_permission_validator(cmd, namespace): """ A special case for table because the SDK associates the QUERY permission with 'r' """ t_table_permissions = get_table_data_type(cmd.cli_ctx, 'table', 'TablePermissions') if namespace.permission: if set(namespace.permission) - set('raud'): help_string = '(r)ead/query (a)dd (u)pdate (d)elete' raise ValueError('valid values are {} or a combination thereof.'.format(help_string)) namespace.permission = t_table_permissions(_str=namespace.permission)
def validate_table_payload_format(cmd, namespace): t_table_payload = get_table_data_type(cmd.cli_ctx, 'table', 'TablePayloadFormat') if namespace.accept: formats = { 'none': t_table_payload.JSON_NO_METADATA, 'minimal': t_table_payload.JSON_MINIMAL_METADATA, 'full': t_table_payload.JSON_FULL_METADATA } namespace.accept = formats[namespace.accept.lower()]
def validate_table_payload_format(cmd, namespace): t_table_payload = get_table_data_type(cmd.cli_ctx, 'table', 'TablePayloadFormat') if namespace.accept: formats = { 'none': t_table_payload.JSON_NO_METADATA, 'minimal': t_table_payload.JSON_MINIMAL_METADATA, 'full': t_table_payload.JSON_FULL_METADATA } namespace.accept = formats[namespace.accept.lower()]
def multi_service_properties_factory(cli_ctx, kwargs): """Create multiple data services properties instance based on the services option""" from .services_wrapper import ServiceProperties t_base_blob_service, t_file_service, t_queue_service, = get_sdk(cli_ctx, ResourceType.DATA_STORAGE, 'blob.baseblobservice#BaseBlobService', 'file#FileService', 'queue#QueueService') t_table_service = get_table_data_type(cli_ctx, 'table', 'TableService') account_name = kwargs.pop('account_name', None) account_key = kwargs.pop('account_key', None) connection_string = kwargs.pop('connection_string', None) sas_token = kwargs.pop('sas_token', None) services = kwargs.pop('services', []) def get_creator(name, service_type): return lambda: ServiceProperties(cli_ctx, name, service_type, account_name, account_key, connection_string, sas_token) creators = {'b': get_creator('blob', t_base_blob_service), 'f': get_creator('file', t_file_service), 'q': get_creator('queue', t_queue_service), 't': get_creator('table', t_table_service)} return [creators[s]() for s in services]