func Create(client *gophercloud.ServiceClient, opts CreateOptsBuilder) CreateResult {
	return CreateResult{os.Create(client, opts)}
}
Create will create a new Snapshot based on the values in CreateOpts. To
extract the Snapshot object from the response, call the Extract method on the
CreateResult.
package snapshots
import (
	"errors"
	"github.com/rackspace/gophercloud"
	"github.com/rackspace/gophercloud/pagination"
	os "github.com/rackspace/gophercloud/openstack/blockstorage/v1/snapshots"
)
func updateURL(c *gophercloud.ServiceClient, id string) string {
	return c.ServiceURL("snapshots", id)
}
type CreateOptsBuilder interface {
	ToSnapshotCreateMap() (map[string]interface{}, error)
}
type CreateOpts struct {
	VolumeID string
	Description string
	Force bool
	Name string
}
func (opts CreateOpts) ToSnapshotCreateMap() (map[string]interface{}, error) {
	s := make(map[string]interface{})
	if opts.VolumeID == "" {
		return nil, errors.New("Required CreateOpts field 'VolumeID' not set.")
	}
	s["volume_id"] = opts.VolumeID
	if opts.Description != "" {
		s["display_description"] = opts.Description
	}
	if opts.Name != "" {
		s["display_name"] = opts.Name
	}
	if opts.Force {
		s["force"] = opts.Force
	}
	return map[string]interface{}{"snapshot": s}, nil
}