func (m *MachinesClient) Create(ctx context.Context, machine *envelope.Machine,
	memberships []envelope.Membership, token *MachineTokenCreationSegment) (*apitypes.MachineSegment, error) {
	segment := MachineCreationSegment{
		MachineSegment: apitypes.MachineSegment{
			Machine:     machine,
			Memberships: memberships,
		},
		Tokens: []MachineTokenCreationSegment{*token},
	}
	resp := &apitypes.MachineSegment{}
	err := m.client.RoundTrip(ctx, "POST", "/machines", nil, &segment, &resp)
	return resp, err
}
Create requests the registry to create a MachineSegment.

The MachineSegment includes the Machine, it's Memberships, and authorization
tokens.
package registry
import (
	"context"
	"net/url"
	"github.com/manifoldco/torus-cli/apitypes"
	"github.com/manifoldco/torus-cli/envelope"
	"github.com/manifoldco/torus-cli/identity"
)
type MachinesClient struct {
	client RoundTripper
}
type MachineCreationSegment struct {
	apitypes.MachineSegment
	Tokens []MachineTokenCreationSegment `json:"tokens"`
}
type MachineTokenCreationSegment struct {
	Token    *envelope.MachineToken `json:"token"`
	Keypairs []*ClaimedKeyPair      `json:"keypairs"`
}