Call this to create a new snat on the BIG-IP®.

        Uses HTTP POST to 'containing' URI to create a service associated with
        a new URI on the device.

        Note this is the one of two fundamental Resource operations that
        returns a different uri (in the returned object) than the uri the
        operation was called on.  The returned uri can be accessed as
        Object.selfLink, the actual uri used by REST operations on the object
        is Object._meta_data['uri'].  The _meta_data['uri'] is the same as
        Object.selfLink with the substring 'localhost' replaced with the value
        of Object._meta_data['BIG-IP']._meta_data['hostname'], and without
        query args, or hash fragments.

        The following is done prior to the POST
        * Ensures that one of ``automap``, ``snatpool``, ``translation``
          parameter is passed in.

        :param kwargs: All the key-values needed to create the resource
        :returns: An instance of the Python object that represents the device's
        uri-published resource.  The uri of the resource is part of the
        object's _meta_data.

def create(self, **kwargs):
        """Call this to create a new snat on the BIG-IP®.

        Uses HTTP POST to 'containing' URI to create a service associated with
        a new URI on the device.

        Note this is the one of two fundamental Resource operations that
        returns a different uri (in the returned object) than the uri the
        operation was called on.  The returned uri can be accessed as
        Object.selfLink, the actual uri used by REST operations on the object
        is Object._meta_data['uri'].  The _meta_data['uri'] is the same as
        Object.selfLink with the substring 'localhost' replaced with the value
        of Object._meta_data['BIG-IP']._meta_data['hostname'], and without
        query args, or hash fragments.

        The following is done prior to the POST
        * Ensures that one of ``automap``, ``snatpool``, ``translation``
          parameter is passed in.

        :param kwargs: All the key-values needed to create the resource
        :returns: An instance of the Python object that represents the device's
        uri-published resource.  The uri of the resource is part of the
        object's _meta_data.
        """
        required_one_of = ['automap', 'snatpool', 'translation']
        has_any = [x for x in iterkeys(kwargs) if x in required_one_of]

        # The rules for SNAT is that you must provide one, and only one,
        # of the `required_one_of` values above.
        if len(has_any) == 1:
            return self._create(**kwargs)

        raise RequireOneOf(
            "Creation requires one of the provided {0}".format(
                ', '.join(required_one_of)
            )
        )