docs: def create_storage(kwargs=None, conn=None, call=None):
      '''
      .. versionadded:: 2015.8.0
  
      Create a new storage account
  
      CLI Example:
  
      .. code-block:: bash
  
          salt-cloud -f create_storage my-azure name=my_storage label=my_storage location='West US'
      '''
      if call != 'function':
          raise SaltCloudSystemExit(
              'The show_storage function must be called with -f or --function.'
          )
  
      if kwargs is None:
          kwargs = {}
  
      if not conn:
          conn = get_conn()
  
      if 'name' not in kwargs:
          raise SaltCloudSystemExit('A name must be specified as "name"')
  
      if 'description' not in kwargs:
          raise SaltCloudSystemExit('A description must be specified as "description"')
  
      if 'label' not in kwargs:
          raise SaltCloudSystemExit('A label must be specified as "label"')
  
      if 'location' not in kwargs and 'affinity_group' not in kwargs:
          raise SaltCloudSystemExit('Either a location or an affinity_group '
                                    'must be specified (but not both)')
  
      try:
          data = conn.create_storage_account(
              service_name=kwargs['name'],
              label=kwargs['label'],
              description=kwargs.get('description', None),
              location=kwargs.get('location', None),
              affinity_group=kwargs.get('affinity_group', None),
              extended_properties=kwargs.get('extended_properties', None),
              geo_replication_enabled=kwargs.get('geo_replication_enabled', None),
              account_type=kwargs.get('account_type', 'Standard_GRS'),
          )
          return {'Success': 'The storage account was successfully created'}
      except AzureConflictHttpError:
          raise SaltCloudSystemExit('There was a conflict. This usually means that the storage account already exists.')