Given a valid config, update the versioning configuration for a bucket.

    Returns {updated: true} if versioning configuration was updated and returns
    {updated: False} if versioning configuration was not updated.

    CLI Example:

    .. code-block:: bash

        salt myminion boto_s3_bucket.put_versioning my_bucket Enabled

def put_versioning(Bucket, Status, MFADelete=None, MFA=None,
           region=None, key=None, keyid=None, profile=None):
    '''
    Given a valid config, update the versioning configuration for a bucket.

    Returns {updated: true} if versioning configuration was updated and returns
    {updated: False} if versioning configuration was not updated.

    CLI Example:

    .. code-block:: bash

        salt myminion boto_s3_bucket.put_versioning my_bucket Enabled

    '''

    try:
        conn = _get_conn(region=region, key=key, keyid=keyid, profile=profile)
        VersioningConfiguration = {'Status': Status}
        if MFADelete is not None:
            VersioningConfiguration['MFADelete'] = MFADelete
        kwargs = {}
        if MFA is not None:
            kwargs['MFA'] = MFA
        conn.put_bucket_versioning(Bucket=Bucket,
                VersioningConfiguration=VersioningConfiguration,
                **kwargs)
        return {'updated': True, 'name': Bucket}
    except ClientError as e:
        return {'updated': False, 'error': __utils__['boto3.get_error'](e)}