'Validate and set a WMI provider. Default to `ProviderArchitecture.DEFAULT`'

@provider.setter
def provider(self, value):

    result = None
    defaulted_value = (value or ProviderArchitecture.DEFAULT)
    try:
        parsed_value = int(defaulted_value)
    except ValueError:
        pass
    else:
        if (parsed_value in ProviderArchitecture):
            result = parsed_value
    if (result is None):
        self.logger.error(u"Invalid    '%s'    WMI    Provider    Architecture.    The    parameter    is    ignored.", value)
    self._provider = (result or ProviderArchitecture.DEFAULT)
