oxide

package
v0.0.23 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 18, 2023 License: MPL-2.0 Imports: 14 Imported by: 2

Documentation

Index

Constants

View Source
const HostEnvVar = "OXIDE_HOST"

HostEnvVar is the environment variable that contains the host.

View Source
const TokenEnvVar = "OXIDE_TOKEN"

TokenEnvVar is the environment variable that contains the token.

Variables

AddressLotKinds is the collection of all AddressLotKind values.

BgpPeerStates is the collection of all BgpPeerState values.

BinRangedoubleTypes is the collection of all BinRangedoubleType values.

BinRangefloatTypes is the collection of all BinRangefloatType values.

BinRangeint16Types is the collection of all BinRangeint16Type values.

BinRangeint32Types is the collection of all BinRangeint32Type values.

BinRangeint64Types is the collection of all BinRangeint64Type values.

BinRangeint8Types is the collection of all BinRangeint8Type values.

BinRangeuint16Types is the collection of all BinRangeuint16Type values.

BinRangeuint32Types is the collection of all BinRangeuint32Type values.

BinRangeuint64Types is the collection of all BinRangeuint64Type values.

BinRangeuint8Types is the collection of all BinRangeuint8Type values.

DatumTypes is the collection of all DatumType values.

View Source
var DigestTypes = []DigestType{
	DigestTypeSha256,
}

DigestTypes is the collection of all DigestType values.

DiskMetricNames is the collection of all DiskMetricName values.

DiskSourceTypes is the collection of all DiskSourceType values.

DiskStateStates is the collection of all DiskStateState values.

ExternalIpCreateTypes is the collection of all ExternalIpCreateType values.

FleetRoles is the collection of all FleetRole values.

View Source
var IdSortModes = []IdSortMode{
	IdSortModeIdAscending,
}

IdSortModes is the collection of all IdSortMode values.

View Source
var IdentityProviderTypes = []IdentityProviderType{
	IdentityProviderTypeSaml,
}

IdentityProviderTypes is the collection of all IdentityProviderType values.

IdentityTypes is the collection of all IdentityType values.

IdpMetadataSourceTypes is the collection of all IdpMetadataSourceType values.

ImageSourceTypes is the collection of all ImageSourceType values.

InstanceDiskAttachmentTypes is the collection of all InstanceDiskAttachmentType values.

InstanceNetworkInterfaceAttachmentTypes is the collection of all InstanceNetworkInterfaceAttachmentType values.

InstanceStates is the collection of all InstanceState values.

IpKinds is the collection of all IpKind values.

LinkFecs is the collection of all LinkFec values.

LinkSpeeds is the collection of all LinkSpeed values.

NameOrIdSortModes is the collection of all NameOrIdSortMode values.

NameSortModes is the collection of all NameSortMode values.

PaginationOrders is the collection of all PaginationOrder values.

PhysicalDiskKinds is the collection of all PhysicalDiskKind values.

View Source
var PingStatuses = []PingStatus{
	PingStatusOk,
}

PingStatuses is the collection of all PingStatus values.

ProjectRoles is the collection of all ProjectRole values.

ServiceUsingCertificates is the collection of all ServiceUsingCertificate values.

SiloIdentityModes is the collection of all SiloIdentityMode values.

SiloRoles is the collection of all SiloRole values.

SledProvisionStates is the collection of all SledProvisionState values.

SnapshotStates is the collection of all SnapshotState values.

SwitchInterfaceKindTypes is the collection of all SwitchInterfaceKindType values.

SwitchLocations is the collection of all SwitchLocation values.

SwitchPortGeometrys is the collection of all SwitchPortGeometry values.

SystemMetricNames is the collection of all SystemMetricName values.

UserPasswordModes is the collection of all UserPasswordMode values.

VpcFirewallRuleActions is the collection of all VpcFirewallRuleAction values.

VpcFirewallRuleDirections is the collection of all VpcFirewallRuleDirection values.

VpcFirewallRuleHostFilterTypes is the collection of all VpcFirewallRuleHostFilterType values.

VpcFirewallRuleProtocols is the collection of all VpcFirewallRuleProtocol values.

VpcFirewallRuleStatuses is the collection of all VpcFirewallRuleStatus values.

VpcFirewallRuleTargetTypes is the collection of all VpcFirewallRuleTargetType values.

Functions

func NewHTTPError added in v0.0.23

func NewHTTPError(res *http.Response) error

NewHTTPError returns an error of type *HTTPError if the response status code is 3xx or greater.

Types

type AddSledToInitializedRackParams added in v0.0.23

type AddSledToInitializedRackParams struct {
	Body *UninitializedSled `json:"body,omitempty" yaml:"body,omitempty"`
}

AddSledToInitializedRackParams is the request parameters for AddSledToInitializedRack

func (*AddSledToInitializedRackParams) Validate added in v0.0.23

func (p *AddSledToInitializedRackParams) Validate() error

Validate verifies all required fields for AddSledToInitializedRackParams are set

type Address added in v0.0.23

type Address struct {
	// Address is the address and prefix length of this address.
	Address IpNet `json:"address,omitempty" yaml:"address,omitempty"`
	// AddressLot is the address lot this address is drawn from.
	AddressLot NameOrId `json:"address_lot,omitempty" yaml:"address_lot,omitempty"`
}

Address is an address tied to an address lot.

type AddressConfig added in v0.0.23

type AddressConfig struct {
	// Addresses is the set of addresses assigned to the port configuration.
	Addresses []Address `json:"addresses,omitempty" yaml:"addresses,omitempty"`
}

AddressConfig is a set of addresses associated with a port configuration.

type AddressLot added in v0.0.23

type AddressLot struct {
	// Description is human-readable free-form text about a resource
	Description string `json:"description,omitempty" yaml:"description,omitempty"`
	// Id is unique, immutable, system-controlled identifier for each resource
	Id string `json:"id,omitempty" yaml:"id,omitempty"`
	// Kind is desired use of `AddressLot`
	Kind AddressLotKind `json:"kind,omitempty" yaml:"kind,omitempty"`
	// Name is unique, mutable, user-controlled identifier for each resource
	Name Name `json:"name,omitempty" yaml:"name,omitempty"`
	// TimeCreated is timestamp when this resource was created
	TimeCreated *time.Time `json:"time_created,omitempty" yaml:"time_created,omitempty"`
	// TimeModified is timestamp when this resource was last modified
	TimeModified *time.Time `json:"time_modified,omitempty" yaml:"time_modified,omitempty"`
}

AddressLot is represents an address lot object, containing the id of the lot that can be used in other API calls.

type AddressLotBlock added in v0.0.23

type AddressLotBlock struct {
	// FirstAddress is the first address of the block (inclusive).
	FirstAddress string `json:"first_address,omitempty" yaml:"first_address,omitempty"`
	// Id is the id of the address lot block.
	Id string `json:"id,omitempty" yaml:"id,omitempty"`
	// LastAddress is the last address of the block (inclusive).
	LastAddress string `json:"last_address,omitempty" yaml:"last_address,omitempty"`
}

AddressLotBlock is an address lot block is a part of an address lot and contains a range of addresses. The range is inclusive.

type AddressLotBlockCreate added in v0.0.23

type AddressLotBlockCreate struct {
	// FirstAddress is the first address in the lot (inclusive).
	FirstAddress string `json:"first_address,omitempty" yaml:"first_address,omitempty"`
	// LastAddress is the last address in the lot (inclusive).
	LastAddress string `json:"last_address,omitempty" yaml:"last_address,omitempty"`
}

AddressLotBlockCreate is parameters for creating an address lot block. Fist and last addresses are inclusive.

type AddressLotBlockResultsPage added in v0.0.23

type AddressLotBlockResultsPage struct {
	// Items is list of items on this page of results
	Items []AddressLotBlock `json:"items,omitempty" yaml:"items,omitempty"`
	// NextPage is token used to fetch the next page of results (if any)
	NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty"`
}

AddressLotBlockResultsPage is a single page of results

type AddressLotCreate added in v0.0.23

type AddressLotCreate struct {
	// Blocks is the blocks to add along with the new address lot.
	Blocks      []AddressLotBlockCreate `json:"blocks,omitempty" yaml:"blocks,omitempty"`
	Description string                  `json:"description,omitempty" yaml:"description,omitempty"`
	// Kind is the kind of address lot to create.
	Kind AddressLotKind `json:"kind,omitempty" yaml:"kind,omitempty"`
	// Name is names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.
	Name Name `json:"name,omitempty" yaml:"name,omitempty"`
}

AddressLotCreate is parameters for creating an address lot.

type AddressLotCreateResponse added in v0.0.23

type AddressLotCreateResponse struct {
	// Blocks is the address lot blocks that were created.
	Blocks []AddressLotBlock `json:"blocks,omitempty" yaml:"blocks,omitempty"`
	// Lot is the address lot that was created.
	Lot AddressLot `json:"lot,omitempty" yaml:"lot,omitempty"`
}

AddressLotCreateResponse is an address lot and associated blocks resulting from creating an address lot.

type AddressLotKind added in v0.0.23

type AddressLotKind string

AddressLotKind is infrastructure address lots are used for network infrastructure like addresses assigned to rack switches.

const AddressLotKindInfra AddressLotKind = "infra"

AddressLotKindInfra represents the AddressLotKind `"infra"`.

const AddressLotKindPool AddressLotKind = "pool"

AddressLotKindPool represents the AddressLotKind `"pool"`.

type AddressLotResultsPage added in v0.0.23

type AddressLotResultsPage struct {
	// Items is list of items on this page of results
	Items []AddressLot `json:"items,omitempty" yaml:"items,omitempty"`
	// NextPage is token used to fetch the next page of results (if any)
	NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty"`
}

AddressLotResultsPage is a single page of results

type Baseboard added in v0.0.23

type Baseboard struct {
	Part     string `json:"part,omitempty" yaml:"part,omitempty"`
	Revision int    `json:"revision,omitempty" yaml:"revision,omitempty"`
	Serial   string `json:"serial,omitempty" yaml:"serial,omitempty"`
}

Baseboard is properties that uniquely identify an Oxide hardware component

type BgpAnnounceSet added in v0.0.23

type BgpAnnounceSet struct {
	// Description is human-readable free-form text about a resource
	Description string `json:"description,omitempty" yaml:"description,omitempty"`
	// Id is unique, immutable, system-controlled identifier for each resource
	Id string `json:"id,omitempty" yaml:"id,omitempty"`
	// Name is unique, mutable, user-controlled identifier for each resource
	Name Name `json:"name,omitempty" yaml:"name,omitempty"`
	// TimeCreated is timestamp when this resource was created
	TimeCreated *time.Time `json:"time_created,omitempty" yaml:"time_created,omitempty"`
	// TimeModified is timestamp when this resource was last modified
	TimeModified *time.Time `json:"time_modified,omitempty" yaml:"time_modified,omitempty"`
}

BgpAnnounceSet is represents a BGP announce set by id. The id can be used with other API calls to view and manage the announce set.

type BgpAnnounceSetCreate added in v0.0.23

type BgpAnnounceSetCreate struct {
	// Announcement is the announcements in this set.
	Announcement []BgpAnnouncementCreate `json:"announcement,omitempty" yaml:"announcement,omitempty"`
	Description  string                  `json:"description,omitempty" yaml:"description,omitempty"`
	// Name is names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.
	Name Name `json:"name,omitempty" yaml:"name,omitempty"`
}

BgpAnnounceSetCreate is parameters for creating a named set of BGP announcements.

type BgpAnnouncement added in v0.0.23

type BgpAnnouncement struct {
	// AddressLotBlockId is the address block the IP network being announced is drawn from.
	AddressLotBlockId string `json:"address_lot_block_id,omitempty" yaml:"address_lot_block_id,omitempty"`
	// AnnounceSetId is the id of the set this announcement is a part of.
	AnnounceSetId string `json:"announce_set_id,omitempty" yaml:"announce_set_id,omitempty"`
	// Network is the IP network being announced.
	Network IpNet `json:"network,omitempty" yaml:"network,omitempty"`
}

BgpAnnouncement is a BGP announcement tied to an address lot block.

type BgpAnnouncementCreate added in v0.0.23

type BgpAnnouncementCreate struct {
	// AddressLotBlock is address lot this announcement is drawn from.
	AddressLotBlock NameOrId `json:"address_lot_block,omitempty" yaml:"address_lot_block,omitempty"`
	// Network is the network being announced.
	Network IpNet `json:"network,omitempty" yaml:"network,omitempty"`
}

BgpAnnouncementCreate is a BGP announcement tied to a particular address lot block.

type BgpConfig added in v0.0.23

type BgpConfig struct {
	// Asn is the autonomous system number of this BGP configuration.
	Asn int `json:"asn,omitempty" yaml:"asn,omitempty"`
	// Description is human-readable free-form text about a resource
	Description string `json:"description,omitempty" yaml:"description,omitempty"`
	// Id is unique, immutable, system-controlled identifier for each resource
	Id string `json:"id,omitempty" yaml:"id,omitempty"`
	// Name is unique, mutable, user-controlled identifier for each resource
	Name Name `json:"name,omitempty" yaml:"name,omitempty"`
	// TimeCreated is timestamp when this resource was created
	TimeCreated *time.Time `json:"time_created,omitempty" yaml:"time_created,omitempty"`
	// TimeModified is timestamp when this resource was last modified
	TimeModified *time.Time `json:"time_modified,omitempty" yaml:"time_modified,omitempty"`
	// Vrf is optional virtual routing and forwarding identifier for this BGP configuration.
	Vrf string `json:"vrf,omitempty" yaml:"vrf,omitempty"`
}

BgpConfig is a base BGP configuration.

type BgpConfigCreate added in v0.0.23

type BgpConfigCreate struct {
	// Asn is the autonomous system number of this BGP configuration.
	Asn              int      `json:"asn,omitempty" yaml:"asn,omitempty"`
	BgpAnnounceSetId NameOrId `json:"bgp_announce_set_id,omitempty" yaml:"bgp_announce_set_id,omitempty"`
	Description      string   `json:"description,omitempty" yaml:"description,omitempty"`
	// Name is names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.
	Name Name `json:"name,omitempty" yaml:"name,omitempty"`
	// Vrf is optional virtual routing and forwarding identifier for this BGP configuration.
	Vrf Name `json:"vrf,omitempty" yaml:"vrf,omitempty"`
}

BgpConfigCreate is parameters for creating a BGP configuration. This includes and autonomous system number (ASN) and a virtual routing and forwarding (VRF) identifier.

type BgpConfigResultsPage added in v0.0.23

type BgpConfigResultsPage struct {
	// Items is list of items on this page of results
	Items []BgpConfig `json:"items,omitempty" yaml:"items,omitempty"`
	// NextPage is token used to fetch the next page of results (if any)
	NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty"`
}

BgpConfigResultsPage is a single page of results

type BgpImportedRouteIpv4 added in v0.0.23

type BgpImportedRouteIpv4 struct {
	// Id is bGP identifier of the originating router.
	Id int `json:"id,omitempty" yaml:"id,omitempty"`
	// Nexthop is the nexthop the prefix is reachable through.
	Nexthop string `json:"nexthop,omitempty" yaml:"nexthop,omitempty"`
	// Prefix is the destination network prefix.
	Prefix Ipv4Net `json:"prefix,omitempty" yaml:"prefix,omitempty"`
	// Switch is switch the route is imported into.
	Switch SwitchLocation `json:"switch,omitempty" yaml:"switch,omitempty"`
}

BgpImportedRouteIpv4 is a route imported from a BGP peer.

type BgpPeer added in v0.0.23

type BgpPeer struct {
	// Addr is the address of the host to peer with.
	Addr string `json:"addr,omitempty" yaml:"addr,omitempty"`
	// BgpAnnounceSet is the set of announcements advertised by the peer.
	BgpAnnounceSet NameOrId `json:"bgp_announce_set,omitempty" yaml:"bgp_announce_set,omitempty"`
	// BgpConfig is the global BGP configuration used for establishing a session with this peer.
	BgpConfig NameOrId `json:"bgp_config,omitempty" yaml:"bgp_config,omitempty"`
	// ConnectRetry is how long to to wait between TCP connection retries (seconds).
	ConnectRetry int `json:"connect_retry,omitempty" yaml:"connect_retry,omitempty"`
	// DelayOpen is how long to delay sending an open request after establishing a TCP session (seconds).
	DelayOpen int `json:"delay_open,omitempty" yaml:"delay_open,omitempty"`
	// HoldTime is how long to hold peer connections between keppalives (seconds).
	HoldTime int `json:"hold_time,omitempty" yaml:"hold_time,omitempty"`
	// IdleHoldTime is how long to hold a peer in idle before attempting a new session (seconds).
	IdleHoldTime int `json:"idle_hold_time,omitempty" yaml:"idle_hold_time,omitempty"`
	// InterfaceName is the name of interface to peer on. This is relative to the port configuration this BGP peer configuration is a part of. For example this value could be phy0 to refer to a primary physical interface. Or it could be vlan47 to refer to a VLAN interface.
	InterfaceName string `json:"interface_name,omitempty" yaml:"interface_name,omitempty"`
	// Keepalive is how often to send keepalive requests (seconds).
	Keepalive int `json:"keepalive,omitempty" yaml:"keepalive,omitempty"`
}

BgpPeer is a BGP peer configuration for an interface. Includes the set of announcements that will be advertised to the peer identified by `addr`. The `bgp_config` parameter is a reference to global BGP parameters. The `interface_name` indicates what interface the peer should be contacted on.

type BgpPeerConfig added in v0.0.23

type BgpPeerConfig struct {
	Peers []BgpPeer `json:"peers,omitempty" yaml:"peers,omitempty"`
}

BgpPeerConfig is the type definition for a BgpPeerConfig.

type BgpPeerState added in v0.0.23

type BgpPeerState string

BgpPeerState is initial state. Refuse all incomming BGP connections. No resources allocated to peer.

const BgpPeerStateActive BgpPeerState = "active"

BgpPeerStateActive represents the BgpPeerState `"active"`.

const BgpPeerStateConnect BgpPeerState = "connect"

BgpPeerStateConnect represents the BgpPeerState `"connect"`.

const BgpPeerStateEstablished BgpPeerState = "established"

BgpPeerStateEstablished represents the BgpPeerState `"established"`.

const BgpPeerStateIdle BgpPeerState = "idle"

BgpPeerStateIdle represents the BgpPeerState `"idle"`.

const BgpPeerStateOpenConfirm BgpPeerState = "open_confirm"

BgpPeerStateOpenConfirm represents the BgpPeerState `"open_confirm"`.

const BgpPeerStateOpenSent BgpPeerState = "open_sent"

BgpPeerStateOpenSent represents the BgpPeerState `"open_sent"`.

const BgpPeerStateSessionSetup BgpPeerState = "session_setup"

BgpPeerStateSessionSetup represents the BgpPeerState `"session_setup"`.

type BgpPeerStatus added in v0.0.23

type BgpPeerStatus struct {
	// Addr is iP address of the peer.
	Addr string `json:"addr,omitempty" yaml:"addr,omitempty"`
	// LocalAsn is local autonomous system number.
	LocalAsn int `json:"local_asn,omitempty" yaml:"local_asn,omitempty"`
	// RemoteAsn is remote autonomous system number.
	RemoteAsn int `json:"remote_asn,omitempty" yaml:"remote_asn,omitempty"`
	// State is state of the peer.
	State BgpPeerState `json:"state,omitempty" yaml:"state,omitempty"`
	// StateDurationMillis is time of last state change.
	StateDurationMillis int `json:"state_duration_millis,omitempty" yaml:"state_duration_millis,omitempty"`
	// Switch is switch with the peer session.
	Switch SwitchLocation `json:"switch,omitempty" yaml:"switch,omitempty"`
}

BgpPeerStatus is the current status of a BGP peer.

type BinRangedouble

type BinRangedouble struct {
	// End is the type definition for a End.
	End float64 `json:"end,omitempty" yaml:"end,omitempty"`
	// Type is the type definition for a Type.
	Type BinRangedoubleType `json:"type,omitempty" yaml:"type,omitempty"`
	// Start is the type definition for a Start.
	Start float64 `json:"start,omitempty" yaml:"start,omitempty"`
}

BinRangedouble is a type storing a range over `T`.

This type supports ranges similar to the `RangeTo`, `Range` and `RangeFrom` types in the standard library. Those cover `(..end)`, `(start..end)`, and `(start..)` respectively.

type BinRangedoubleRange

type BinRangedoubleRange struct {
	End   float64            `json:"end,omitempty" yaml:"end,omitempty"`
	Start float64            `json:"start,omitempty" yaml:"start,omitempty"`
	Type  BinRangedoubleType `json:"type,omitempty" yaml:"type,omitempty"`
}

BinRangedoubleRange is a range bounded inclusively below and exclusively above, `start..end`.

type BinRangedoubleRangeFrom

type BinRangedoubleRangeFrom struct {
	Start float64            `json:"start,omitempty" yaml:"start,omitempty"`
	Type  BinRangedoubleType `json:"type,omitempty" yaml:"type,omitempty"`
}

BinRangedoubleRangeFrom is a range bounded inclusively below and unbounded above, `start..`.

type BinRangedoubleRangeTo

type BinRangedoubleRangeTo struct {
	End  float64            `json:"end,omitempty" yaml:"end,omitempty"`
	Type BinRangedoubleType `json:"type,omitempty" yaml:"type,omitempty"`
}

BinRangedoubleRangeTo is a range unbounded below and exclusively above, `..end`.

type BinRangedoubleType

type BinRangedoubleType string

BinRangedoubleType is the type definition for a BinRangedoubleType.

const BinRangedoubleTypeRange BinRangedoubleType = "range"

BinRangedoubleTypeRange represents the BinRangedoubleType `"range"`.

const BinRangedoubleTypeRangeFrom BinRangedoubleType = "range_from"

BinRangedoubleTypeRangeFrom represents the BinRangedoubleType `"range_from"`.

const BinRangedoubleTypeRangeTo BinRangedoubleType = "range_to"

BinRangedoubleTypeRangeTo represents the BinRangedoubleType `"range_to"`.

type BinRangefloat added in v0.0.23

type BinRangefloat struct {
	// End is the type definition for a End.
	End float64 `json:"end,omitempty" yaml:"end,omitempty"`
	// Type is the type definition for a Type.
	Type BinRangefloatType `json:"type,omitempty" yaml:"type,omitempty"`
	// Start is the type definition for a Start.
	Start float64 `json:"start,omitempty" yaml:"start,omitempty"`
}

BinRangefloat is a type storing a range over `T`.

This type supports ranges similar to the `RangeTo`, `Range` and `RangeFrom` types in the standard library. Those cover `(..end)`, `(start..end)`, and `(start..)` respectively.

type BinRangefloatRange added in v0.0.23

type BinRangefloatRange struct {
	End   float64           `json:"end,omitempty" yaml:"end,omitempty"`
	Start float64           `json:"start,omitempty" yaml:"start,omitempty"`
	Type  BinRangefloatType `json:"type,omitempty" yaml:"type,omitempty"`
}

BinRangefloatRange is a range bounded inclusively below and exclusively above, `start..end`.

type BinRangefloatRangeFrom added in v0.0.23

type BinRangefloatRangeFrom struct {
	Start float64           `json:"start,omitempty" yaml:"start,omitempty"`
	Type  BinRangefloatType `json:"type,omitempty" yaml:"type,omitempty"`
}

BinRangefloatRangeFrom is a range bounded inclusively below and unbounded above, `start..`.

type BinRangefloatRangeTo added in v0.0.23

type BinRangefloatRangeTo struct {
	End  float64           `json:"end,omitempty" yaml:"end,omitempty"`
	Type BinRangefloatType `json:"type,omitempty" yaml:"type,omitempty"`
}

BinRangefloatRangeTo is a range unbounded below and exclusively above, `..end`.

type BinRangefloatType added in v0.0.23

type BinRangefloatType string

BinRangefloatType is the type definition for a BinRangefloatType.

const BinRangefloatTypeRange BinRangefloatType = "range"

BinRangefloatTypeRange represents the BinRangefloatType `"range"`.

const BinRangefloatTypeRangeFrom BinRangefloatType = "range_from"

BinRangefloatTypeRangeFrom represents the BinRangefloatType `"range_from"`.

const BinRangefloatTypeRangeTo BinRangefloatType = "range_to"

BinRangefloatTypeRangeTo represents the BinRangefloatType `"range_to"`.

type BinRangeint8 added in v0.0.23

type BinRangeint8 struct {
	// End is the type definition for a End.
	End int `json:"end,omitempty" yaml:"end,omitempty"`
	// Type is the type definition for a Type.
	Type BinRangeint8Type `json:"type,omitempty" yaml:"type,omitempty"`
	// Start is the type definition for a Start.
	Start int `json:"start,omitempty" yaml:"start,omitempty"`
}

BinRangeint8 is a type storing a range over `T`.

This type supports ranges similar to the `RangeTo`, `Range` and `RangeFrom` types in the standard library. Those cover `(..end)`, `(start..end)`, and `(start..)` respectively.

type BinRangeint8Range added in v0.0.23

type BinRangeint8Range struct {
	End   int              `json:"end,omitempty" yaml:"end,omitempty"`
	Start int              `json:"start,omitempty" yaml:"start,omitempty"`
	Type  BinRangeint8Type `json:"type,omitempty" yaml:"type,omitempty"`
}

BinRangeint8Range is a range bounded inclusively below and exclusively above, `start..end`.

type BinRangeint8RangeFrom added in v0.0.23

type BinRangeint8RangeFrom struct {
	Start int              `json:"start,omitempty" yaml:"start,omitempty"`
	Type  BinRangeint8Type `json:"type,omitempty" yaml:"type,omitempty"`
}

BinRangeint8RangeFrom is a range bounded inclusively below and unbounded above, `start..`.

type BinRangeint8RangeTo added in v0.0.23

type BinRangeint8RangeTo struct {
	End  int              `json:"end,omitempty" yaml:"end,omitempty"`
	Type BinRangeint8Type `json:"type,omitempty" yaml:"type,omitempty"`
}

BinRangeint8RangeTo is a range unbounded below and exclusively above, `..end`.

type BinRangeint8Type added in v0.0.23

type BinRangeint8Type string

BinRangeint8Type is the type definition for a BinRangeint8Type.

const BinRangeint8TypeRange BinRangeint8Type = "range"

BinRangeint8TypeRange represents the BinRangeint8Type `"range"`.

const BinRangeint8TypeRangeFrom BinRangeint8Type = "range_from"

BinRangeint8TypeRangeFrom represents the BinRangeint8Type `"range_from"`.

const BinRangeint8TypeRangeTo BinRangeint8Type = "range_to"

BinRangeint8TypeRangeTo represents the BinRangeint8Type `"range_to"`.

type BinRangeint16 added in v0.0.23

type BinRangeint16 struct {
	// End is the type definition for a End.
	End int `json:"end,omitempty" yaml:"end,omitempty"`
	// Type is the type definition for a Type.
	Type BinRangeint16Type `json:"type,omitempty" yaml:"type,omitempty"`
	// Start is the type definition for a Start.
	Start int `json:"start,omitempty" yaml:"start,omitempty"`
}

BinRangeint16 is a type storing a range over `T`.

This type supports ranges similar to the `RangeTo`, `Range` and `RangeFrom` types in the standard library. Those cover `(..end)`, `(start..end)`, and `(start..)` respectively.

type BinRangeint16Range added in v0.0.23

type BinRangeint16Range struct {
	End   int               `json:"end,omitempty" yaml:"end,omitempty"`
	Start int               `json:"start,omitempty" yaml:"start,omitempty"`
	Type  BinRangeint16Type `json:"type,omitempty" yaml:"type,omitempty"`
}

BinRangeint16Range is a range bounded inclusively below and exclusively above, `start..end`.

type BinRangeint16RangeFrom added in v0.0.23

type BinRangeint16RangeFrom struct {
	Start int               `json:"start,omitempty" yaml:"start,omitempty"`
	Type  BinRangeint16Type `json:"type,omitempty" yaml:"type,omitempty"`
}

BinRangeint16RangeFrom is a range bounded inclusively below and unbounded above, `start..`.

type BinRangeint16RangeTo added in v0.0.23

type BinRangeint16RangeTo struct {
	End  int               `json:"end,omitempty" yaml:"end,omitempty"`
	Type BinRangeint16Type `json:"type,omitempty" yaml:"type,omitempty"`
}

BinRangeint16RangeTo is a range unbounded below and exclusively above, `..end`.

type BinRangeint16Type added in v0.0.23

type BinRangeint16Type string

BinRangeint16Type is the type definition for a BinRangeint16Type.

const BinRangeint16TypeRange BinRangeint16Type = "range"

BinRangeint16TypeRange represents the BinRangeint16Type `"range"`.

const BinRangeint16TypeRangeFrom BinRangeint16Type = "range_from"

BinRangeint16TypeRangeFrom represents the BinRangeint16Type `"range_from"`.

const BinRangeint16TypeRangeTo BinRangeint16Type = "range_to"

BinRangeint16TypeRangeTo represents the BinRangeint16Type `"range_to"`.

type BinRangeint32 added in v0.0.23

type BinRangeint32 struct {
	// End is the type definition for a End.
	End int `json:"end,omitempty" yaml:"end,omitempty"`
	// Type is the type definition for a Type.
	Type BinRangeint32Type `json:"type,omitempty" yaml:"type,omitempty"`
	// Start is the type definition for a Start.
	Start int `json:"start,omitempty" yaml:"start,omitempty"`
}

BinRangeint32 is a type storing a range over `T`.

This type supports ranges similar to the `RangeTo`, `Range` and `RangeFrom` types in the standard library. Those cover `(..end)`, `(start..end)`, and `(start..)` respectively.

type BinRangeint32Range added in v0.0.23

type BinRangeint32Range struct {
	End   int               `json:"end,omitempty" yaml:"end,omitempty"`
	Start int               `json:"start,omitempty" yaml:"start,omitempty"`
	Type  BinRangeint32Type `json:"type,omitempty" yaml:"type,omitempty"`
}

BinRangeint32Range is a range bounded inclusively below and exclusively above, `start..end`.

type BinRangeint32RangeFrom added in v0.0.23

type BinRangeint32RangeFrom struct {
	Start int               `json:"start,omitempty" yaml:"start,omitempty"`
	Type  BinRangeint32Type `json:"type,omitempty" yaml:"type,omitempty"`
}

BinRangeint32RangeFrom is a range bounded inclusively below and unbounded above, `start..`.

type BinRangeint32RangeTo added in v0.0.23

type BinRangeint32RangeTo struct {
	End  int               `json:"end,omitempty" yaml:"end,omitempty"`
	Type BinRangeint32Type `json:"type,omitempty" yaml:"type,omitempty"`
}

BinRangeint32RangeTo is a range unbounded below and exclusively above, `..end`.

type BinRangeint32Type added in v0.0.23

type BinRangeint32Type string

BinRangeint32Type is the type definition for a BinRangeint32Type.

const BinRangeint32TypeRange BinRangeint32Type = "range"

BinRangeint32TypeRange represents the BinRangeint32Type `"range"`.

const BinRangeint32TypeRangeFrom BinRangeint32Type = "range_from"

BinRangeint32TypeRangeFrom represents the BinRangeint32Type `"range_from"`.

const BinRangeint32TypeRangeTo BinRangeint32Type = "range_to"

BinRangeint32TypeRangeTo represents the BinRangeint32Type `"range_to"`.

type BinRangeint64

type BinRangeint64 struct {
	// End is the type definition for a End.
	End int `json:"end,omitempty" yaml:"end,omitempty"`
	// Type is the type definition for a Type.
	Type BinRangeint64Type `json:"type,omitempty" yaml:"type,omitempty"`
	// Start is the type definition for a Start.
	Start int `json:"start,omitempty" yaml:"start,omitempty"`
}

BinRangeint64 is a type storing a range over `T`.

This type supports ranges similar to the `RangeTo`, `Range` and `RangeFrom` types in the standard library. Those cover `(..end)`, `(start..end)`, and `(start..)` respectively.

type BinRangeint64Range

type BinRangeint64Range struct {
	End   int               `json:"end,omitempty" yaml:"end,omitempty"`
	Start int               `json:"start,omitempty" yaml:"start,omitempty"`
	Type  BinRangeint64Type `json:"type,omitempty" yaml:"type,omitempty"`
}

BinRangeint64Range is a range bounded inclusively below and exclusively above, `start..end`.

type BinRangeint64RangeFrom

type BinRangeint64RangeFrom struct {
	Start int               `json:"start,omitempty" yaml:"start,omitempty"`
	Type  BinRangeint64Type `json:"type,omitempty" yaml:"type,omitempty"`
}

BinRangeint64RangeFrom is a range bounded inclusively below and unbounded above, `start..`.

type BinRangeint64RangeTo

type BinRangeint64RangeTo struct {
	End  int               `json:"end,omitempty" yaml:"end,omitempty"`
	Type BinRangeint64Type `json:"type,omitempty" yaml:"type,omitempty"`
}

BinRangeint64RangeTo is a range unbounded below and exclusively above, `..end`.

type BinRangeint64Type

type BinRangeint64Type string

BinRangeint64Type is the type definition for a BinRangeint64Type.

const BinRangeint64TypeRange BinRangeint64Type = "range"

BinRangeint64TypeRange represents the BinRangeint64Type `"range"`.

const BinRangeint64TypeRangeFrom BinRangeint64Type = "range_from"

BinRangeint64TypeRangeFrom represents the BinRangeint64Type `"range_from"`.

const BinRangeint64TypeRangeTo BinRangeint64Type = "range_to"

BinRangeint64TypeRangeTo represents the BinRangeint64Type `"range_to"`.

type BinRangeuint8 added in v0.0.23

type BinRangeuint8 struct {
	// End is the type definition for a End.
	End int `json:"end,omitempty" yaml:"end,omitempty"`
	// Type is the type definition for a Type.
	Type BinRangeuint8Type `json:"type,omitempty" yaml:"type,omitempty"`
	// Start is the type definition for a Start.
	Start int `json:"start,omitempty" yaml:"start,omitempty"`
}

BinRangeuint8 is a type storing a range over `T`.

This type supports ranges similar to the `RangeTo`, `Range` and `RangeFrom` types in the standard library. Those cover `(..end)`, `(start..end)`, and `(start..)` respectively.

type BinRangeuint8Range added in v0.0.23

type BinRangeuint8Range struct {
	End   int               `json:"end,omitempty" yaml:"end,omitempty"`
	Start int               `json:"start,omitempty" yaml:"start,omitempty"`
	Type  BinRangeuint8Type `json:"type,omitempty" yaml:"type,omitempty"`
}

BinRangeuint8Range is a range bounded inclusively below and exclusively above, `start..end`.

type BinRangeuint8RangeFrom added in v0.0.23

type BinRangeuint8RangeFrom struct {
	Start int               `json:"start,omitempty" yaml:"start,omitempty"`
	Type  BinRangeuint8Type `json:"type,omitempty" yaml:"type,omitempty"`
}

BinRangeuint8RangeFrom is a range bounded inclusively below and unbounded above, `start..`.

type BinRangeuint8RangeTo added in v0.0.23

type BinRangeuint8RangeTo struct {
	End  int               `json:"end,omitempty" yaml:"end,omitempty"`
	Type BinRangeuint8Type `json:"type,omitempty" yaml:"type,omitempty"`
}

BinRangeuint8RangeTo is a range unbounded below and exclusively above, `..end`.

type BinRangeuint8Type added in v0.0.23

type BinRangeuint8Type string

BinRangeuint8Type is the type definition for a BinRangeuint8Type.

const BinRangeuint8TypeRange BinRangeuint8Type = "range"

BinRangeuint8TypeRange represents the BinRangeuint8Type `"range"`.

const BinRangeuint8TypeRangeFrom BinRangeuint8Type = "range_from"

BinRangeuint8TypeRangeFrom represents the BinRangeuint8Type `"range_from"`.

const BinRangeuint8TypeRangeTo BinRangeuint8Type = "range_to"

BinRangeuint8TypeRangeTo represents the BinRangeuint8Type `"range_to"`.

type BinRangeuint16 added in v0.0.23

type BinRangeuint16 struct {
	// End is the type definition for a End.
	End int `json:"end,omitempty" yaml:"end,omitempty"`
	// Type is the type definition for a Type.
	Type BinRangeuint16Type `json:"type,omitempty" yaml:"type,omitempty"`
	// Start is the type definition for a Start.
	Start int `json:"start,omitempty" yaml:"start,omitempty"`
}

BinRangeuint16 is a type storing a range over `T`.

This type supports ranges similar to the `RangeTo`, `Range` and `RangeFrom` types in the standard library. Those cover `(..end)`, `(start..end)`, and `(start..)` respectively.

type BinRangeuint16Range added in v0.0.23

type BinRangeuint16Range struct {
	End   int                `json:"end,omitempty" yaml:"end,omitempty"`
	Start int                `json:"start,omitempty" yaml:"start,omitempty"`
	Type  BinRangeuint16Type `json:"type,omitempty" yaml:"type,omitempty"`
}

BinRangeuint16Range is a range bounded inclusively below and exclusively above, `start..end`.

type BinRangeuint16RangeFrom added in v0.0.23

type BinRangeuint16RangeFrom struct {
	Start int                `json:"start,omitempty" yaml:"start,omitempty"`
	Type  BinRangeuint16Type `json:"type,omitempty" yaml:"type,omitempty"`
}

BinRangeuint16RangeFrom is a range bounded inclusively below and unbounded above, `start..`.

type BinRangeuint16RangeTo added in v0.0.23

type BinRangeuint16RangeTo struct {
	End  int                `json:"end,omitempty" yaml:"end,omitempty"`
	Type BinRangeuint16Type `json:"type,omitempty" yaml:"type,omitempty"`
}

BinRangeuint16RangeTo is a range unbounded below and exclusively above, `..end`.

type BinRangeuint16Type added in v0.0.23

type BinRangeuint16Type string

BinRangeuint16Type is the type definition for a BinRangeuint16Type.

const BinRangeuint16TypeRange BinRangeuint16Type = "range"

BinRangeuint16TypeRange represents the BinRangeuint16Type `"range"`.

const BinRangeuint16TypeRangeFrom BinRangeuint16Type = "range_from"

BinRangeuint16TypeRangeFrom represents the BinRangeuint16Type `"range_from"`.

const BinRangeuint16TypeRangeTo BinRangeuint16Type = "range_to"

BinRangeuint16TypeRangeTo represents the BinRangeuint16Type `"range_to"`.

type BinRangeuint32 added in v0.0.23

type BinRangeuint32 struct {
	// End is the type definition for a End.
	End int `json:"end,omitempty" yaml:"end,omitempty"`
	// Type is the type definition for a Type.
	Type BinRangeuint32Type `json:"type,omitempty" yaml:"type,omitempty"`
	// Start is the type definition for a Start.
	Start int `json:"start,omitempty" yaml:"start,omitempty"`
}

BinRangeuint32 is a type storing a range over `T`.

This type supports ranges similar to the `RangeTo`, `Range` and `RangeFrom` types in the standard library. Those cover `(..end)`, `(start..end)`, and `(start..)` respectively.

type BinRangeuint32Range added in v0.0.23

type BinRangeuint32Range struct {
	End   int                `json:"end,omitempty" yaml:"end,omitempty"`
	Start int                `json:"start,omitempty" yaml:"start,omitempty"`
	Type  BinRangeuint32Type `json:"type,omitempty" yaml:"type,omitempty"`
}

BinRangeuint32Range is a range bounded inclusively below and exclusively above, `start..end`.

type BinRangeuint32RangeFrom added in v0.0.23

type BinRangeuint32RangeFrom struct {
	Start int                `json:"start,omitempty" yaml:"start,omitempty"`
	Type  BinRangeuint32Type `json:"type,omitempty" yaml:"type,omitempty"`
}

BinRangeuint32RangeFrom is a range bounded inclusively below and unbounded above, `start..`.

type BinRangeuint32RangeTo added in v0.0.23

type BinRangeuint32RangeTo struct {
	End  int                `json:"end,omitempty" yaml:"end,omitempty"`
	Type BinRangeuint32Type `json:"type,omitempty" yaml:"type,omitempty"`
}

BinRangeuint32RangeTo is a range unbounded below and exclusively above, `..end`.

type BinRangeuint32Type added in v0.0.23

type BinRangeuint32Type string

BinRangeuint32Type is the type definition for a BinRangeuint32Type.

const BinRangeuint32TypeRange BinRangeuint32Type = "range"

BinRangeuint32TypeRange represents the BinRangeuint32Type `"range"`.

const BinRangeuint32TypeRangeFrom BinRangeuint32Type = "range_from"

BinRangeuint32TypeRangeFrom represents the BinRangeuint32Type `"range_from"`.

const BinRangeuint32TypeRangeTo BinRangeuint32Type = "range_to"

BinRangeuint32TypeRangeTo represents the BinRangeuint32Type `"range_to"`.

type BinRangeuint64 added in v0.0.23

type BinRangeuint64 struct {
	// End is the type definition for a End.
	End int `json:"end,omitempty" yaml:"end,omitempty"`
	// Type is the type definition for a Type.
	Type BinRangeuint64Type `json:"type,omitempty" yaml:"type,omitempty"`
	// Start is the type definition for a Start.
	Start int `json:"start,omitempty" yaml:"start,omitempty"`
}

BinRangeuint64 is a type storing a range over `T`.

This type supports ranges similar to the `RangeTo`, `Range` and `RangeFrom` types in the standard library. Those cover `(..end)`, `(start..end)`, and `(start..)` respectively.

type BinRangeuint64Range added in v0.0.23

type BinRangeuint64Range struct {
	End   int                `json:"end,omitempty" yaml:"end,omitempty"`
	Start int                `json:"start,omitempty" yaml:"start,omitempty"`
	Type  BinRangeuint64Type `json:"type,omitempty" yaml:"type,omitempty"`
}

BinRangeuint64Range is a range bounded inclusively below and exclusively above, `start..end`.

type BinRangeuint64RangeFrom added in v0.0.23

type BinRangeuint64RangeFrom struct {
	Start int                `json:"start,omitempty" yaml:"start,omitempty"`
	Type  BinRangeuint64Type `json:"type,omitempty" yaml:"type,omitempty"`
}

BinRangeuint64RangeFrom is a range bounded inclusively below and unbounded above, `start..`.

type BinRangeuint64RangeTo added in v0.0.23

type BinRangeuint64RangeTo struct {
	End  int                `json:"end,omitempty" yaml:"end,omitempty"`
	Type BinRangeuint64Type `json:"type,omitempty" yaml:"type,omitempty"`
}

BinRangeuint64RangeTo is a range unbounded below and exclusively above, `..end`.

type BinRangeuint64Type added in v0.0.23

type BinRangeuint64Type string

BinRangeuint64Type is the type definition for a BinRangeuint64Type.

const BinRangeuint64TypeRange BinRangeuint64Type = "range"

BinRangeuint64TypeRange represents the BinRangeuint64Type `"range"`.

const BinRangeuint64TypeRangeFrom BinRangeuint64Type = "range_from"

BinRangeuint64TypeRangeFrom represents the BinRangeuint64Type `"range_from"`.

const BinRangeuint64TypeRangeTo BinRangeuint64Type = "range_to"

BinRangeuint64TypeRangeTo represents the BinRangeuint64Type `"range_to"`.

type Bindouble

type Bindouble struct {
	// Count is the total count of samples in this bin.
	Count int `json:"count,omitempty" yaml:"count,omitempty"`
	// Range is the range of the support covered by this bin.
	Range BinRangedouble `json:"range,omitempty" yaml:"range,omitempty"`
}

Bindouble is type storing bin edges and a count of samples within it.

type Binfloat added in v0.0.23

type Binfloat struct {
	// Count is the total count of samples in this bin.
	Count int `json:"count,omitempty" yaml:"count,omitempty"`
	// Range is the range of the support covered by this bin.
	Range BinRangefloat `json:"range,omitempty" yaml:"range,omitempty"`
}

Binfloat is type storing bin edges and a count of samples within it.

type Binint8 added in v0.0.23

type Binint8 struct {
	// Count is the total count of samples in this bin.
	Count int `json:"count,omitempty" yaml:"count,omitempty"`
	// Range is the range of the support covered by this bin.
	Range BinRangeint8 `json:"range,omitempty" yaml:"range,omitempty"`
}

Binint8 is type storing bin edges and a count of samples within it.

type Binint16 added in v0.0.23

type Binint16 struct {
	// Count is the total count of samples in this bin.
	Count int `json:"count,omitempty" yaml:"count,omitempty"`
	// Range is the range of the support covered by this bin.
	Range BinRangeint16 `json:"range,omitempty" yaml:"range,omitempty"`
}

Binint16 is type storing bin edges and a count of samples within it.

type Binint32 added in v0.0.23

type Binint32 struct {
	// Count is the total count of samples in this bin.
	Count int `json:"count,omitempty" yaml:"count,omitempty"`
	// Range is the range of the support covered by this bin.
	Range BinRangeint32 `json:"range,omitempty" yaml:"range,omitempty"`
}

Binint32 is type storing bin edges and a count of samples within it.

type Binint64

type Binint64 struct {
	// Count is the total count of samples in this bin.
	Count int `json:"count,omitempty" yaml:"count,omitempty"`
	// Range is the range of the support covered by this bin.
	Range BinRangeint64 `json:"range,omitempty" yaml:"range,omitempty"`
}

Binint64 is type storing bin edges and a count of samples within it.

type Binuint8 added in v0.0.23

type Binuint8 struct {
	// Count is the total count of samples in this bin.
	Count int `json:"count,omitempty" yaml:"count,omitempty"`
	// Range is the range of the support covered by this bin.
	Range BinRangeuint8 `json:"range,omitempty" yaml:"range,omitempty"`
}

Binuint8 is type storing bin edges and a count of samples within it.

type Binuint16 added in v0.0.23

type Binuint16 struct {
	// Count is the total count of samples in this bin.
	Count int `json:"count,omitempty" yaml:"count,omitempty"`
	// Range is the range of the support covered by this bin.
	Range BinRangeuint16 `json:"range,omitempty" yaml:"range,omitempty"`
}

Binuint16 is type storing bin edges and a count of samples within it.

type Binuint32 added in v0.0.23

type Binuint32 struct {
	// Count is the total count of samples in this bin.
	Count int `json:"count,omitempty" yaml:"count,omitempty"`
	// Range is the range of the support covered by this bin.
	Range BinRangeuint32 `json:"range,omitempty" yaml:"range,omitempty"`
}

Binuint32 is type storing bin edges and a count of samples within it.

type Binuint64 added in v0.0.23

type Binuint64 struct {
	// Count is the total count of samples in this bin.
	Count int `json:"count,omitempty" yaml:"count,omitempty"`
	// Range is the range of the support covered by this bin.
	Range BinRangeuint64 `json:"range,omitempty" yaml:"range,omitempty"`
}

Binuint64 is type storing bin edges and a count of samples within it.

type BlockSize

type BlockSize int

BlockSize is the type definition for a BlockSize.

type ByteCount

type ByteCount uint64

ByteCount is byte count to express memory or storage capacity.

type Certificate added in v0.0.23

type Certificate struct {
	// Description is human-readable free-form text about a resource
	Description string `json:"description,omitempty" yaml:"description,omitempty"`
	// Id is unique, immutable, system-controlled identifier for each resource
	Id string `json:"id,omitempty" yaml:"id,omitempty"`
	// Name is unique, mutable, user-controlled identifier for each resource
	Name Name `json:"name,omitempty" yaml:"name,omitempty"`
	// Service is the service intended to use this certificate.
	Service ServiceUsingCertificate `json:"service,omitempty" yaml:"service,omitempty"`
	// TimeCreated is timestamp when this resource was created
	TimeCreated *time.Time `json:"time_created,omitempty" yaml:"time_created,omitempty"`
	// TimeModified is timestamp when this resource was last modified
	TimeModified *time.Time `json:"time_modified,omitempty" yaml:"time_modified,omitempty"`
}

Certificate is view of a Certificate

type CertificateCreate added in v0.0.23

type CertificateCreate struct {
	// Cert is pEM-formatted string containing public certificate chain
	Cert        string `json:"cert,omitempty" yaml:"cert,omitempty"`
	Description string `json:"description,omitempty" yaml:"description,omitempty"`
	// Key is pEM-formatted string containing private key
	Key string `json:"key,omitempty" yaml:"key,omitempty"`
	// Name is names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.
	Name Name `json:"name,omitempty" yaml:"name,omitempty"`
	// Service is the service using this certificate
	Service ServiceUsingCertificate `json:"service,omitempty" yaml:"service,omitempty"`
}

CertificateCreate is create-time parameters for a `Certificate`

type CertificateCreateParams added in v0.0.23

type CertificateCreateParams struct {
	Body *CertificateCreate `json:"body,omitempty" yaml:"body,omitempty"`
}

CertificateCreateParams is the request parameters for CertificateCreate

func (*CertificateCreateParams) Validate added in v0.0.23

func (p *CertificateCreateParams) Validate() error

Validate verifies all required fields for CertificateCreateParams are set

type CertificateDeleteParams added in v0.0.23

type CertificateDeleteParams struct {
	Certificate NameOrId `json:"certificate,omitempty" yaml:"certificate,omitempty"`
}

CertificateDeleteParams is the request parameters for CertificateDelete

func (*CertificateDeleteParams) Validate added in v0.0.23

func (p *CertificateDeleteParams) Validate() error

Validate verifies all required fields for CertificateDeleteParams are set

type CertificateListParams added in v0.0.23

type CertificateListParams struct {
	Limit     int              `json:"limit,omitempty" yaml:"limit,omitempty"`
	PageToken string           `json:"page_token,omitempty" yaml:"page_token,omitempty"`
	SortBy    NameOrIdSortMode `json:"sort_by,omitempty" yaml:"sort_by,omitempty"`
}

CertificateListParams is the request parameters for CertificateList

func (*CertificateListParams) Validate added in v0.0.23

func (p *CertificateListParams) Validate() error

Validate verifies all required fields for CertificateListParams are set

type CertificateResultsPage added in v0.0.23

type CertificateResultsPage struct {
	// Items is list of items on this page of results
	Items []Certificate `json:"items,omitempty" yaml:"items,omitempty"`
	// NextPage is token used to fetch the next page of results (if any)
	NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty"`
}

CertificateResultsPage is a single page of results

type CertificateViewParams added in v0.0.23

type CertificateViewParams struct {
	Certificate NameOrId `json:"certificate,omitempty" yaml:"certificate,omitempty"`
}

CertificateViewParams is the request parameters for CertificateView

func (*CertificateViewParams) Validate added in v0.0.23

func (p *CertificateViewParams) Validate() error

Validate verifies all required fields for CertificateViewParams are set

type Client

type Client struct {
	// contains filtered or unexported fields
}

Client which conforms to the OpenAPI3 specification for this service.

func NewClient

func NewClient(token, userAgent, host string) (*Client, error)

NewClient creates a new client for the Oxide API. You need to pass in your API token to create the client.

func NewClientFromEnv

func NewClientFromEnv(userAgent string) (*Client, error)

NewClientFromEnv creates a new client for the Oxide API, using the token stored in the environment variable `OXIDE_TOKEN` and the host stored in the environment variable `OXIDE_HOST`.

func (*Client) AddSledToInitializedRack added in v0.0.23

func (c *Client) AddSledToInitializedRack(ctx context.Context, params AddSledToInitializedRackParams) error

AddSledToInitializedRack: Add a sled to an initialized rack

func (*Client) CertificateCreate added in v0.0.23

func (c *Client) CertificateCreate(ctx context.Context, params CertificateCreateParams) (*Certificate, error)

CertificateCreate: Create a new system-wide x.509 certificate This certificate is automatically used by the Oxide Control plane to serve external connections.

func (*Client) CertificateDelete added in v0.0.23

func (c *Client) CertificateDelete(ctx context.Context, params CertificateDeleteParams) error

CertificateDelete: Delete a certificate Permanently delete a certificate. This operation cannot be undone.

func (*Client) CertificateList added in v0.0.23

func (c *Client) CertificateList(ctx context.Context, params CertificateListParams) (*CertificateResultsPage, error)

CertificateList: List certificates for external endpoints Returns a list of TLS certificates used for the external API (for the current Silo). These are sorted by creation date, with the most recent certificates appearing first.

To iterate over all pages, use the `CertificateListAllPages` method, instead.

func (*Client) CertificateListAllPages added in v0.0.23

func (c *Client) CertificateListAllPages(ctx context.Context, params CertificateListParams) ([]Certificate, error)

CertificateListAllPages: List certificates for external endpoints Returns a list of TLS certificates used for the external API (for the current Silo). These are sorted by creation date, with the most recent certificates appearing first.

This method is a wrapper around the `CertificateList` method. This method returns all the pages at once.

func (*Client) CertificateView added in v0.0.23

func (c *Client) CertificateView(ctx context.Context, params CertificateViewParams) (*Certificate, error)

CertificateView: Fetch a certificate Returns the details of a specific certificate

func (*Client) CurrentUserGroups added in v0.0.23

func (c *Client) CurrentUserGroups(ctx context.Context, params CurrentUserGroupsParams) (*GroupResultsPage, error)

CurrentUserGroups: Fetch the silo groups the current user belongs to

To iterate over all pages, use the `CurrentUserGroupsAllPages` method, instead.

func (*Client) CurrentUserGroupsAllPages added in v0.0.23

func (c *Client) CurrentUserGroupsAllPages(ctx context.Context, params CurrentUserGroupsParams) ([]Group, error)

CurrentUserGroupsAllPages: Fetch the silo groups the current user belongs to

This method is a wrapper around the `CurrentUserGroups` method. This method returns all the pages at once.

func (*Client) CurrentUserSshKeyCreate added in v0.0.23

func (c *Client) CurrentUserSshKeyCreate(ctx context.Context, params CurrentUserSshKeyCreateParams) (*SshKey, error)

CurrentUserSshKeyCreate: Create an SSH public key Create an SSH public key for the currently authenticated user.

func (*Client) CurrentUserSshKeyDelete added in v0.0.23

func (c *Client) CurrentUserSshKeyDelete(ctx context.Context, params CurrentUserSshKeyDeleteParams) error

CurrentUserSshKeyDelete: Delete an SSH public key Delete an SSH public key associated with the currently authenticated user.

func (*Client) CurrentUserSshKeyList added in v0.0.23

func (c *Client) CurrentUserSshKeyList(ctx context.Context, params CurrentUserSshKeyListParams) (*SshKeyResultsPage, error)

CurrentUserSshKeyList: List SSH public keys Lists SSH public keys for the currently authenticated user.

To iterate over all pages, use the `CurrentUserSshKeyListAllPages` method, instead.

func (*Client) CurrentUserSshKeyListAllPages added in v0.0.23

func (c *Client) CurrentUserSshKeyListAllPages(ctx context.Context, params CurrentUserSshKeyListParams) ([]SshKey, error)

CurrentUserSshKeyListAllPages: List SSH public keys Lists SSH public keys for the currently authenticated user.

This method is a wrapper around the `CurrentUserSshKeyList` method. This method returns all the pages at once.

func (*Client) CurrentUserSshKeyView added in v0.0.23

func (c *Client) CurrentUserSshKeyView(ctx context.Context, params CurrentUserSshKeyViewParams) (*SshKey, error)

CurrentUserSshKeyView: Fetch an SSH public key Fetch an SSH public key associated with the currently authenticated user.

func (*Client) CurrentUserView added in v0.0.23

func (c *Client) CurrentUserView(ctx context.Context) (*CurrentUser, error)

CurrentUserView: Fetch the user associated with the current session

func (*Client) DiskBulkWriteImport added in v0.0.23

func (c *Client) DiskBulkWriteImport(ctx context.Context, params DiskBulkWriteImportParams) error

DiskBulkWriteImport: Import blocks into a disk

func (*Client) DiskBulkWriteImportStart added in v0.0.23

func (c *Client) DiskBulkWriteImportStart(ctx context.Context, params DiskBulkWriteImportStartParams) error

DiskBulkWriteImportStart: Start importing blocks into a disk Start the process of importing blocks into a disk

func (*Client) DiskBulkWriteImportStop added in v0.0.23

func (c *Client) DiskBulkWriteImportStop(ctx context.Context, params DiskBulkWriteImportStopParams) error

DiskBulkWriteImportStop: Stop importing blocks into a disk Stop the process of importing blocks into a disk

func (*Client) DiskCreate

func (c *Client) DiskCreate(ctx context.Context, params DiskCreateParams) (*Disk, error)

DiskCreate: Create a disk

func (*Client) DiskDelete

func (c *Client) DiskDelete(ctx context.Context, params DiskDeleteParams) error

DiskDelete: Delete a disk

func (*Client) DiskFinalizeImport added in v0.0.23

func (c *Client) DiskFinalizeImport(ctx context.Context, params DiskFinalizeImportParams) error

DiskFinalizeImport: Confirm disk block import completion

func (*Client) DiskList

func (c *Client) DiskList(ctx context.Context, params DiskListParams) (*DiskResultsPage, error)

DiskList: List disks

To iterate over all pages, use the `DiskListAllPages` method, instead.

func (*Client) DiskListAllPages

func (c *Client) DiskListAllPages(ctx context.Context, params DiskListParams) ([]Disk, error)

DiskListAllPages: List disks

This method is a wrapper around the `DiskList` method. This method returns all the pages at once.

func (*Client) DiskMetricsList

func (c *Client) DiskMetricsList(ctx context.Context, params DiskMetricsListParams) (*MeasurementResultsPage, error)

DiskMetricsList: Fetch disk metrics

To iterate over all pages, use the `DiskMetricsListAllPages` method, instead.

func (*Client) DiskMetricsListAllPages

func (c *Client) DiskMetricsListAllPages(ctx context.Context, params DiskMetricsListParams) ([]Measurement, error)

DiskMetricsListAllPages: Fetch disk metrics

This method is a wrapper around the `DiskMetricsList` method. This method returns all the pages at once.

func (*Client) DiskView

func (c *Client) DiskView(ctx context.Context, params DiskViewParams) (*Disk, error)

DiskView: Fetch a disk

func (*Client) FloatingIpCreate added in v0.0.23

func (c *Client) FloatingIpCreate(ctx context.Context, params FloatingIpCreateParams) (*FloatingIp, error)

FloatingIpCreate: Create a Floating IP

func (*Client) FloatingIpDelete added in v0.0.23

func (c *Client) FloatingIpDelete(ctx context.Context, params FloatingIpDeleteParams) error

FloatingIpDelete: Delete a Floating IP

func (*Client) FloatingIpList added in v0.0.23

func (c *Client) FloatingIpList(ctx context.Context, params FloatingIpListParams) (*FloatingIpResultsPage, error)

FloatingIpList: List all Floating IPs

To iterate over all pages, use the `FloatingIpListAllPages` method, instead.

func (*Client) FloatingIpListAllPages added in v0.0.23

func (c *Client) FloatingIpListAllPages(ctx context.Context, params FloatingIpListParams) ([]FloatingIp, error)

FloatingIpListAllPages: List all Floating IPs

This method is a wrapper around the `FloatingIpList` method. This method returns all the pages at once.

func (*Client) FloatingIpView added in v0.0.23

func (c *Client) FloatingIpView(ctx context.Context, params FloatingIpViewParams) (*FloatingIp, error)

FloatingIpView: Fetch a floating IP

func (*Client) GroupList added in v0.0.23

func (c *Client) GroupList(ctx context.Context, params GroupListParams) (*GroupResultsPage, error)

GroupList: List groups

To iterate over all pages, use the `GroupListAllPages` method, instead.

func (*Client) GroupListAllPages added in v0.0.23

func (c *Client) GroupListAllPages(ctx context.Context, params GroupListParams) ([]Group, error)

GroupListAllPages: List groups

This method is a wrapper around the `GroupList` method. This method returns all the pages at once.

func (*Client) GroupView added in v0.0.23

func (c *Client) GroupView(ctx context.Context, params GroupViewParams) (*Group, error)

GroupView: Fetch group

func (*Client) ImageCreate

func (c *Client) ImageCreate(ctx context.Context, params ImageCreateParams) (*Image, error)

ImageCreate: Create an image Create a new image in a project.

func (*Client) ImageDelete

func (c *Client) ImageDelete(ctx context.Context, params ImageDeleteParams) error

ImageDelete: Delete an image Permanently delete an image from a project. This operation cannot be undone. Any instances in the project using the image will continue to run, however new instances can not be created with this image.

func (*Client) ImageDemote added in v0.0.23

func (c *Client) ImageDemote(ctx context.Context, params ImageDemoteParams) (*Image, error)

ImageDemote: Demote a silo image Demote a silo image to be visible only to a specified project

func (*Client) ImageList

func (c *Client) ImageList(ctx context.Context, params ImageListParams) (*ImageResultsPage, error)

ImageList: List images List images which are global or scoped to the specified project. The images are returned sorted by creation date, with the most recent images appearing first.

To iterate over all pages, use the `ImageListAllPages` method, instead.

func (*Client) ImageListAllPages

func (c *Client) ImageListAllPages(ctx context.Context, params ImageListParams) ([]Image, error)

ImageListAllPages: List images List images which are global or scoped to the specified project. The images are returned sorted by creation date, with the most recent images appearing first.

This method is a wrapper around the `ImageList` method. This method returns all the pages at once.

func (*Client) ImagePromote added in v0.0.23

func (c *Client) ImagePromote(ctx context.Context, params ImagePromoteParams) (*Image, error)

ImagePromote: Promote a project image Promote a project image to be visible to all projects in the silo

func (*Client) ImageView

func (c *Client) ImageView(ctx context.Context, params ImageViewParams) (*Image, error)

ImageView: Fetch an image Fetch the details for a specific image in a project.

func (*Client) InstanceCreate

func (c *Client) InstanceCreate(ctx context.Context, params InstanceCreateParams) (*Instance, error)

InstanceCreate: Create an instance

func (*Client) InstanceDelete

func (c *Client) InstanceDelete(ctx context.Context, params InstanceDeleteParams) error

InstanceDelete: Delete an instance

func (*Client) InstanceDiskAttach

func (c *Client) InstanceDiskAttach(ctx context.Context, params InstanceDiskAttachParams) (*Disk, error)

InstanceDiskAttach: Attach a disk to an instance

func (*Client) InstanceDiskDetach

func (c *Client) InstanceDiskDetach(ctx context.Context, params InstanceDiskDetachParams) (*Disk, error)

InstanceDiskDetach: Detach a disk from an instance

func (*Client) InstanceDiskList

func (c *Client) InstanceDiskList(ctx context.Context, params InstanceDiskListParams) (*DiskResultsPage, error)

InstanceDiskList: List an instance's disks

To iterate over all pages, use the `InstanceDiskListAllPages` method, instead.

func (*Client) InstanceDiskListAllPages

func (c *Client) InstanceDiskListAllPages(ctx context.Context, params InstanceDiskListParams) ([]Disk, error)

InstanceDiskListAllPages: List an instance's disks

This method is a wrapper around the `InstanceDiskList` method. This method returns all the pages at once.

func (*Client) InstanceExternalIpList

func (c *Client) InstanceExternalIpList(ctx context.Context, params InstanceExternalIpListParams) (*ExternalIpResultsPage, error)

InstanceExternalIpList: List external IP addresses

func (*Client) InstanceList

func (c *Client) InstanceList(ctx context.Context, params InstanceListParams) (*InstanceResultsPage, error)

InstanceList: List instances

To iterate over all pages, use the `InstanceListAllPages` method, instead.

func (*Client) InstanceListAllPages

func (c *Client) InstanceListAllPages(ctx context.Context, params InstanceListParams) ([]Instance, error)

InstanceListAllPages: List instances

This method is a wrapper around the `InstanceList` method. This method returns all the pages at once.

func (*Client) InstanceMigrate

func (c *Client) InstanceMigrate(ctx context.Context, params InstanceMigrateParams) (*Instance, error)

InstanceMigrate: Migrate an instance

func (*Client) InstanceNetworkInterfaceCreate

func (c *Client) InstanceNetworkInterfaceCreate(ctx context.Context, params InstanceNetworkInterfaceCreateParams) (*InstanceNetworkInterface, error)

InstanceNetworkInterfaceCreate: Create a network interface

func (*Client) InstanceNetworkInterfaceDelete

func (c *Client) InstanceNetworkInterfaceDelete(ctx context.Context, params InstanceNetworkInterfaceDeleteParams) error

InstanceNetworkInterfaceDelete: Delete a network interface Note that the primary interface for an instance cannot be deleted if there are any secondary interfaces. A new primary interface must be designated first. The primary interface can be deleted if there are no secondary interfaces.

func (*Client) InstanceNetworkInterfaceList

func (c *Client) InstanceNetworkInterfaceList(ctx context.Context, params InstanceNetworkInterfaceListParams) (*InstanceNetworkInterfaceResultsPage, error)

InstanceNetworkInterfaceList: List network interfaces

To iterate over all pages, use the `InstanceNetworkInterfaceListAllPages` method, instead.

func (*Client) InstanceNetworkInterfaceListAllPages

func (c *Client) InstanceNetworkInterfaceListAllPages(ctx context.Context, params InstanceNetworkInterfaceListParams) ([]InstanceNetworkInterface, error)

InstanceNetworkInterfaceListAllPages: List network interfaces

This method is a wrapper around the `InstanceNetworkInterfaceList` method. This method returns all the pages at once.

func (*Client) InstanceNetworkInterfaceUpdate

func (c *Client) InstanceNetworkInterfaceUpdate(ctx context.Context, params InstanceNetworkInterfaceUpdateParams) (*InstanceNetworkInterface, error)

InstanceNetworkInterfaceUpdate: Update a network interface

func (*Client) InstanceNetworkInterfaceView

func (c *Client) InstanceNetworkInterfaceView(ctx context.Context, params InstanceNetworkInterfaceViewParams) (*InstanceNetworkInterface, error)

InstanceNetworkInterfaceView: Fetch a network interface

func (*Client) InstanceReboot

func (c *Client) InstanceReboot(ctx context.Context, params InstanceRebootParams) (*Instance, error)

InstanceReboot: Reboot an instance

func (*Client) InstanceSerialConsole

func (c *Client) InstanceSerialConsole(ctx context.Context, params InstanceSerialConsoleParams) (*InstanceSerialConsoleData, error)

InstanceSerialConsole: Fetch an instance's serial console

func (*Client) InstanceSerialConsoleStream added in v0.0.23

func (c *Client) InstanceSerialConsoleStream(ctx context.Context, params InstanceSerialConsoleStreamParams) error

InstanceSerialConsoleStream: Stream an instance's serial console

func (*Client) InstanceStart

func (c *Client) InstanceStart(ctx context.Context, params InstanceStartParams) (*Instance, error)

InstanceStart: Boot an instance

func (*Client) InstanceStop

func (c *Client) InstanceStop(ctx context.Context, params InstanceStopParams) (*Instance, error)

InstanceStop: Stop an instance

func (*Client) InstanceView

func (c *Client) InstanceView(ctx context.Context, params InstanceViewParams) (*Instance, error)

InstanceView: Fetch an instance

func (*Client) IpPoolCreate

func (c *Client) IpPoolCreate(ctx context.Context, params IpPoolCreateParams) (*IpPool, error)

IpPoolCreate: Create an IP pool

func (*Client) IpPoolDelete

func (c *Client) IpPoolDelete(ctx context.Context, params IpPoolDeleteParams) error

IpPoolDelete: Delete an IP Pool

func (*Client) IpPoolList

func (c *Client) IpPoolList(ctx context.Context, params IpPoolListParams) (*IpPoolResultsPage, error)

IpPoolList: List IP pools

To iterate over all pages, use the `IpPoolListAllPages` method, instead.

func (*Client) IpPoolListAllPages

func (c *Client) IpPoolListAllPages(ctx context.Context, params IpPoolListParams) ([]IpPool, error)

IpPoolListAllPages: List IP pools

This method is a wrapper around the `IpPoolList` method. This method returns all the pages at once.

func (*Client) IpPoolRangeAdd

func (c *Client) IpPoolRangeAdd(ctx context.Context, params IpPoolRangeAddParams) (*IpPoolRange, error)

IpPoolRangeAdd: Add a range to an IP pool

func (*Client) IpPoolRangeList

func (c *Client) IpPoolRangeList(ctx context.Context, params IpPoolRangeListParams) (*IpPoolRangeResultsPage, error)

IpPoolRangeList: List ranges for an IP pool List ranges for an IP pool. Ranges are ordered by their first address.

To iterate over all pages, use the `IpPoolRangeListAllPages` method, instead.

func (*Client) IpPoolRangeListAllPages

func (c *Client) IpPoolRangeListAllPages(ctx context.Context, params IpPoolRangeListParams) ([]IpPoolRange, error)

IpPoolRangeListAllPages: List ranges for an IP pool List ranges for an IP pool. Ranges are ordered by their first address.

This method is a wrapper around the `IpPoolRangeList` method. This method returns all the pages at once.

func (*Client) IpPoolRangeRemove

func (c *Client) IpPoolRangeRemove(ctx context.Context, params IpPoolRangeRemoveParams) error

IpPoolRangeRemove: Remove a range from an IP pool

func (*Client) IpPoolServiceRangeAdd

func (c *Client) IpPoolServiceRangeAdd(ctx context.Context, params IpPoolServiceRangeAddParams) (*IpPoolRange, error)

IpPoolServiceRangeAdd: Add a range to an IP pool used for Oxide services

func (*Client) IpPoolServiceRangeList

func (c *Client) IpPoolServiceRangeList(ctx context.Context, params IpPoolServiceRangeListParams) (*IpPoolRangeResultsPage, error)

IpPoolServiceRangeList: List ranges for the IP pool used for Oxide services List ranges for the IP pool used for Oxide services. Ranges are ordered by their first address.

To iterate over all pages, use the `IpPoolServiceRangeListAllPages` method, instead.

func (*Client) IpPoolServiceRangeListAllPages

func (c *Client) IpPoolServiceRangeListAllPages(ctx context.Context, params IpPoolServiceRangeListParams) ([]IpPoolRange, error)

IpPoolServiceRangeListAllPages: List ranges for the IP pool used for Oxide services List ranges for the IP pool used for Oxide services. Ranges are ordered by their first address.

This method is a wrapper around the `IpPoolServiceRangeList` method. This method returns all the pages at once.

func (*Client) IpPoolServiceRangeRemove

func (c *Client) IpPoolServiceRangeRemove(ctx context.Context, params IpPoolServiceRangeRemoveParams) error

IpPoolServiceRangeRemove: Remove a range from an IP pool used for Oxide services

func (*Client) IpPoolServiceView

func (c *Client) IpPoolServiceView(ctx context.Context) (*IpPool, error)

IpPoolServiceView: Fetch the IP pool used for Oxide services

func (*Client) IpPoolUpdate

func (c *Client) IpPoolUpdate(ctx context.Context, params IpPoolUpdateParams) (*IpPool, error)

IpPoolUpdate: Update an IP Pool

func (*Client) IpPoolView

func (c *Client) IpPoolView(ctx context.Context, params IpPoolViewParams) (*IpPool, error)

IpPoolView: Fetch an IP pool

func (*Client) LocalIdpUserCreate added in v0.0.23

func (c *Client) LocalIdpUserCreate(ctx context.Context, params LocalIdpUserCreateParams) (*User, error)

LocalIdpUserCreate: Create a user Users can only be created in Silos with `provision_type` == `Fixed`. Otherwise, Silo users are just-in-time (JIT) provisioned when a user first logs in using an external Identity Provider.

func (*Client) LocalIdpUserDelete added in v0.0.23

func (c *Client) LocalIdpUserDelete(ctx context.Context, params LocalIdpUserDeleteParams) error

LocalIdpUserDelete: Delete a user

func (*Client) LocalIdpUserSetPassword added in v0.0.23

func (c *Client) LocalIdpUserSetPassword(ctx context.Context, params LocalIdpUserSetPasswordParams) error

LocalIdpUserSetPassword: Set or invalidate a user's password Passwords can only be updated for users in Silos with identity mode `LocalOnly`.

func (*Client) LoginLocal added in v0.0.23

func (c *Client) LoginLocal(ctx context.Context, params LoginLocalParams) error

LoginLocal: Authenticate a user via username and password

func (*Client) LoginSaml added in v0.0.23

func (c *Client) LoginSaml(ctx context.Context, params LoginSamlParams) error

LoginSaml: Authenticate a user via SAML

func (*Client) NetworkingAddressLotBlockList added in v0.0.23

func (c *Client) NetworkingAddressLotBlockList(ctx context.Context, params NetworkingAddressLotBlockListParams) (*AddressLotBlockResultsPage, error)

NetworkingAddressLotBlockList: List the blocks in an address lot

To iterate over all pages, use the `NetworkingAddressLotBlockListAllPages` method, instead.

func (*Client) NetworkingAddressLotBlockListAllPages added in v0.0.23

func (c *Client) NetworkingAddressLotBlockListAllPages(ctx context.Context, params NetworkingAddressLotBlockListParams) ([]AddressLotBlock, error)

NetworkingAddressLotBlockListAllPages: List the blocks in an address lot

This method is a wrapper around the `NetworkingAddressLotBlockList` method. This method returns all the pages at once.

func (*Client) NetworkingAddressLotCreate added in v0.0.23

func (c *Client) NetworkingAddressLotCreate(ctx context.Context, params NetworkingAddressLotCreateParams) (*AddressLotCreateResponse, error)

NetworkingAddressLotCreate: Create an address lot

func (*Client) NetworkingAddressLotDelete added in v0.0.23

func (c *Client) NetworkingAddressLotDelete(ctx context.Context, params NetworkingAddressLotDeleteParams) error

NetworkingAddressLotDelete: Delete an address lot

func (*Client) NetworkingAddressLotList added in v0.0.23

func (c *Client) NetworkingAddressLotList(ctx context.Context, params NetworkingAddressLotListParams) (*AddressLotResultsPage, error)

NetworkingAddressLotList: List address lots

To iterate over all pages, use the `NetworkingAddressLotListAllPages` method, instead.

func (*Client) NetworkingAddressLotListAllPages added in v0.0.23

func (c *Client) NetworkingAddressLotListAllPages(ctx context.Context, params NetworkingAddressLotListParams) ([]AddressLot, error)

NetworkingAddressLotListAllPages: List address lots

This method is a wrapper around the `NetworkingAddressLotList` method. This method returns all the pages at once.

func (*Client) NetworkingBgpAnnounceSetCreate added in v0.0.23

func (c *Client) NetworkingBgpAnnounceSetCreate(ctx context.Context, params NetworkingBgpAnnounceSetCreateParams) (*BgpAnnounceSet, error)

NetworkingBgpAnnounceSetCreate: Create a new BGP announce set

func (*Client) NetworkingBgpAnnounceSetDelete added in v0.0.23

func (c *Client) NetworkingBgpAnnounceSetDelete(ctx context.Context, params NetworkingBgpAnnounceSetDeleteParams) error

NetworkingBgpAnnounceSetDelete: Delete a BGP announce set

func (*Client) NetworkingBgpAnnounceSetList added in v0.0.23

func (c *Client) NetworkingBgpAnnounceSetList(ctx context.Context, params NetworkingBgpAnnounceSetListParams) (*[]BgpAnnouncement, error)

NetworkingBgpAnnounceSetList: Get originated routes for a BGP configuration

func (*Client) NetworkingBgpConfigCreate added in v0.0.23

func (c *Client) NetworkingBgpConfigCreate(ctx context.Context, params NetworkingBgpConfigCreateParams) (*BgpConfig, error)

NetworkingBgpConfigCreate: Create a new BGP configuration

func (*Client) NetworkingBgpConfigDelete added in v0.0.23

func (c *Client) NetworkingBgpConfigDelete(ctx context.Context, params NetworkingBgpConfigDeleteParams) error

NetworkingBgpConfigDelete: Delete a BGP configuration

func (*Client) NetworkingBgpConfigList added in v0.0.23

func (c *Client) NetworkingBgpConfigList(ctx context.Context, params NetworkingBgpConfigListParams) (*BgpConfigResultsPage, error)

NetworkingBgpConfigList: List BGP configurations

To iterate over all pages, use the `NetworkingBgpConfigListAllPages` method, instead.

func (*Client) NetworkingBgpConfigListAllPages added in v0.0.23

func (c *Client) NetworkingBgpConfigListAllPages(ctx context.Context, params NetworkingBgpConfigListParams) ([]BgpConfig, error)

NetworkingBgpConfigListAllPages: List BGP configurations

This method is a wrapper around the `NetworkingBgpConfigList` method. This method returns all the pages at once.

func (*Client) NetworkingBgpImportedRoutesIpv4 added in v0.0.23

func (c *Client) NetworkingBgpImportedRoutesIpv4(ctx context.Context, params NetworkingBgpImportedRoutesIpv4Params) (*[]BgpImportedRouteIpv4, error)

NetworkingBgpImportedRoutesIpv4: Get imported IPv4 BGP routes

func (*Client) NetworkingBgpStatus added in v0.0.23

func (c *Client) NetworkingBgpStatus(ctx context.Context) (*[]BgpPeerStatus, error)

NetworkingBgpStatus: Get BGP peer status

func (*Client) NetworkingLoopbackAddressCreate added in v0.0.23

func (c *Client) NetworkingLoopbackAddressCreate(ctx context.Context, params NetworkingLoopbackAddressCreateParams) (*LoopbackAddress, error)

NetworkingLoopbackAddressCreate: Create a loopback address

func (*Client) NetworkingLoopbackAddressDelete added in v0.0.23

func (c *Client) NetworkingLoopbackAddressDelete(ctx context.Context, params NetworkingLoopbackAddressDeleteParams) error

NetworkingLoopbackAddressDelete: Delete a loopback address

func (*Client) NetworkingLoopbackAddressList added in v0.0.23

func (c *Client) NetworkingLoopbackAddressList(ctx context.Context, params NetworkingLoopbackAddressListParams) (*LoopbackAddressResultsPage, error)

NetworkingLoopbackAddressList: List loopback addresses

To iterate over all pages, use the `NetworkingLoopbackAddressListAllPages` method, instead.

func (*Client) NetworkingLoopbackAddressListAllPages added in v0.0.23

func (c *Client) NetworkingLoopbackAddressListAllPages(ctx context.Context, params NetworkingLoopbackAddressListParams) ([]LoopbackAddress, error)

NetworkingLoopbackAddressListAllPages: List loopback addresses

This method is a wrapper around the `NetworkingLoopbackAddressList` method. This method returns all the pages at once.

func (*Client) NetworkingSwitchPortApplySettings added in v0.0.23

func (c *Client) NetworkingSwitchPortApplySettings(ctx context.Context, params NetworkingSwitchPortApplySettingsParams) error

NetworkingSwitchPortApplySettings: Apply switch port settings

func (*Client) NetworkingSwitchPortClearSettings added in v0.0.23

func (c *Client) NetworkingSwitchPortClearSettings(ctx context.Context, params NetworkingSwitchPortClearSettingsParams) error

NetworkingSwitchPortClearSettings: Clear switch port settings

func (*Client) NetworkingSwitchPortList added in v0.0.23

func (c *Client) NetworkingSwitchPortList(ctx context.Context, params NetworkingSwitchPortListParams) (*SwitchPortResultsPage, error)

NetworkingSwitchPortList: List switch ports

To iterate over all pages, use the `NetworkingSwitchPortListAllPages` method, instead.

func (*Client) NetworkingSwitchPortListAllPages added in v0.0.23

func (c *Client) NetworkingSwitchPortListAllPages(ctx context.Context, params NetworkingSwitchPortListParams) ([]SwitchPort, error)

NetworkingSwitchPortListAllPages: List switch ports

This method is a wrapper around the `NetworkingSwitchPortList` method. This method returns all the pages at once.

func (*Client) NetworkingSwitchPortSettingsCreate added in v0.0.23

func (c *Client) NetworkingSwitchPortSettingsCreate(ctx context.Context, params NetworkingSwitchPortSettingsCreateParams) (*SwitchPortSettingsView, error)

NetworkingSwitchPortSettingsCreate: Create switch port settings

func (*Client) NetworkingSwitchPortSettingsDelete added in v0.0.23

func (c *Client) NetworkingSwitchPortSettingsDelete(ctx context.Context, params NetworkingSwitchPortSettingsDeleteParams) error

NetworkingSwitchPortSettingsDelete: Delete switch port settings

func (*Client) NetworkingSwitchPortSettingsList added in v0.0.23

func (c *Client) NetworkingSwitchPortSettingsList(ctx context.Context, params NetworkingSwitchPortSettingsListParams) (*SwitchPortSettingsResultsPage, error)

NetworkingSwitchPortSettingsList: List switch port settings

To iterate over all pages, use the `NetworkingSwitchPortSettingsListAllPages` method, instead.

func (*Client) NetworkingSwitchPortSettingsListAllPages added in v0.0.23

func (c *Client) NetworkingSwitchPortSettingsListAllPages(ctx context.Context, params NetworkingSwitchPortSettingsListParams) ([]SwitchPortSettings, error)

NetworkingSwitchPortSettingsListAllPages: List switch port settings

This method is a wrapper around the `NetworkingSwitchPortSettingsList` method. This method returns all the pages at once.

func (*Client) NetworkingSwitchPortSettingsView added in v0.0.23

func (c *Client) NetworkingSwitchPortSettingsView(ctx context.Context, params NetworkingSwitchPortSettingsViewParams) (*SwitchPortSettingsView, error)

NetworkingSwitchPortSettingsView: Get information about a switch port

func (*Client) PhysicalDiskList added in v0.0.23

func (c *Client) PhysicalDiskList(ctx context.Context, params PhysicalDiskListParams) (*PhysicalDiskResultsPage, error)

PhysicalDiskList: List physical disks

To iterate over all pages, use the `PhysicalDiskListAllPages` method, instead.

func (*Client) PhysicalDiskListAllPages added in v0.0.23

func (c *Client) PhysicalDiskListAllPages(ctx context.Context, params PhysicalDiskListParams) ([]PhysicalDisk, error)

PhysicalDiskListAllPages: List physical disks

This method is a wrapper around the `PhysicalDiskList` method. This method returns all the pages at once.

func (*Client) Ping added in v0.0.23

func (c *Client) Ping(ctx context.Context) (*Ping, error)

Ping: Ping API Always responds with Ok if it responds at all.

func (*Client) PolicyUpdate

func (c *Client) PolicyUpdate(ctx context.Context, params PolicyUpdateParams) (*SiloRolePolicy, error)

PolicyUpdate: Update the current silo's IAM policy

func (*Client) PolicyView

func (c *Client) PolicyView(ctx context.Context) (*SiloRolePolicy, error)

PolicyView: Fetch the current silo's IAM policy

func (*Client) ProjectCreate

func (c *Client) ProjectCreate(ctx context.Context, params ProjectCreateParams) (*Project, error)

ProjectCreate: Create a project

func (*Client) ProjectDelete

func (c *Client) ProjectDelete(ctx context.Context, params ProjectDeleteParams) error

ProjectDelete: Delete a project

func (*Client) ProjectIpPoolList added in v0.0.23

func (c *Client) ProjectIpPoolList(ctx context.Context, params ProjectIpPoolListParams) (*IpPoolResultsPage, error)

ProjectIpPoolList: List all IP Pools that can be used by a given project.

To iterate over all pages, use the `ProjectIpPoolListAllPages` method, instead.

func (*Client) ProjectIpPoolListAllPages added in v0.0.23

func (c *Client) ProjectIpPoolListAllPages(ctx context.Context, params ProjectIpPoolListParams) ([]IpPool, error)

ProjectIpPoolListAllPages: List all IP Pools that can be used by a given project.

This method is a wrapper around the `ProjectIpPoolList` method. This method returns all the pages at once.

func (*Client) ProjectIpPoolView added in v0.0.23

func (c *Client) ProjectIpPoolView(ctx context.Context, params ProjectIpPoolViewParams) (*IpPool, error)

ProjectIpPoolView: Fetch an IP pool

func (*Client) ProjectList

func (c *Client) ProjectList(ctx context.Context, params ProjectListParams) (*ProjectResultsPage, error)

ProjectList: List projects

To iterate over all pages, use the `ProjectListAllPages` method, instead.

func (*Client) ProjectListAllPages

func (c *Client) ProjectListAllPages(ctx context.Context, params ProjectListParams) ([]Project, error)

ProjectListAllPages: List projects

This method is a wrapper around the `ProjectList` method. This method returns all the pages at once.

func (*Client) ProjectPolicyUpdate

func (c *Client) ProjectPolicyUpdate(ctx context.Context, params ProjectPolicyUpdateParams) (*ProjectRolePolicy, error)

ProjectPolicyUpdate: Update a project's IAM policy

func (*Client) ProjectPolicyView

func (c *Client) ProjectPolicyView(ctx context.Context, params ProjectPolicyViewParams) (*ProjectRolePolicy, error)

ProjectPolicyView: Fetch a project's IAM policy

func (*Client) ProjectUpdate

func (c *Client) ProjectUpdate(ctx context.Context, params ProjectUpdateParams) (*Project, error)

ProjectUpdate: Update a project

func (*Client) ProjectView

func (c *Client) ProjectView(ctx context.Context, params ProjectViewParams) (*Project, error)

ProjectView: Fetch a project

func (*Client) RackList

func (c *Client) RackList(ctx context.Context, params RackListParams) (*RackResultsPage, error)

RackList: List racks

To iterate over all pages, use the `RackListAllPages` method, instead.

func (*Client) RackListAllPages

func (c *Client) RackListAllPages(ctx context.Context, params RackListParams) ([]Rack, error)

RackListAllPages: List racks

This method is a wrapper around the `RackList` method. This method returns all the pages at once.

func (*Client) RackView

func (c *Client) RackView(ctx context.Context, params RackViewParams) (*Rack, error)

RackView: Fetch a rack

func (*Client) RoleList

func (c *Client) RoleList(ctx context.Context, params RoleListParams) (*RoleResultsPage, error)

RoleList: List built-in roles

To iterate over all pages, use the `RoleListAllPages` method, instead.

func (*Client) RoleListAllPages

func (c *Client) RoleListAllPages(ctx context.Context, params RoleListParams) ([]Role, error)

RoleListAllPages: List built-in roles

This method is a wrapper around the `RoleList` method. This method returns all the pages at once.

func (*Client) RoleView

func (c *Client) RoleView(ctx context.Context, params RoleViewParams) (*Role, error)

RoleView: Fetch a built-in role

func (*Client) SamlIdentityProviderCreate added in v0.0.23

func (c *Client) SamlIdentityProviderCreate(ctx context.Context, params SamlIdentityProviderCreateParams) (*SamlIdentityProvider, error)

SamlIdentityProviderCreate: Create a SAML IdP

func (*Client) SamlIdentityProviderView added in v0.0.23

func (c *Client) SamlIdentityProviderView(ctx context.Context, params SamlIdentityProviderViewParams) (*SamlIdentityProvider, error)

SamlIdentityProviderView: Fetch a SAML IdP

func (*Client) SiloCreate

func (c *Client) SiloCreate(ctx context.Context, params SiloCreateParams) (*Silo, error)

SiloCreate: Create a silo

func (*Client) SiloDelete

func (c *Client) SiloDelete(ctx context.Context, params SiloDeleteParams) error

SiloDelete: Delete a silo Delete a silo by name.

func (*Client) SiloIdentityProviderList

func (c *Client) SiloIdentityProviderList(ctx context.Context, params SiloIdentityProviderListParams) (*IdentityProviderResultsPage, error)

SiloIdentityProviderList: List a silo's IdP's name

To iterate over all pages, use the `SiloIdentityProviderListAllPages` method, instead.

func (*Client) SiloIdentityProviderListAllPages

func (c *Client) SiloIdentityProviderListAllPages(ctx context.Context, params SiloIdentityProviderListParams) ([]IdentityProvider, error)

SiloIdentityProviderListAllPages: List a silo's IdP's name

This method is a wrapper around the `SiloIdentityProviderList` method. This method returns all the pages at once.

func (*Client) SiloList

func (c *Client) SiloList(ctx context.Context, params SiloListParams) (*SiloResultsPage, error)

SiloList: List silos Lists silos that are discoverable based on the current permissions.

To iterate over all pages, use the `SiloListAllPages` method, instead.

func (*Client) SiloListAllPages

func (c *Client) SiloListAllPages(ctx context.Context, params SiloListParams) ([]Silo, error)

SiloListAllPages: List silos Lists silos that are discoverable based on the current permissions.

This method is a wrapper around the `SiloList` method. This method returns all the pages at once.

func (*Client) SiloMetric added in v0.0.23

func (c *Client) SiloMetric(ctx context.Context, params SiloMetricParams) (*MeasurementResultsPage, error)

SiloMetric: Access metrics data

To iterate over all pages, use the `SiloMetricAllPages` method, instead.

func (*Client) SiloMetricAllPages added in v0.0.23

func (c *Client) SiloMetricAllPages(ctx context.Context, params SiloMetricParams) ([]Measurement, error)

SiloMetricAllPages: Access metrics data

This method is a wrapper around the `SiloMetric` method. This method returns all the pages at once.

func (*Client) SiloPolicyUpdate

func (c *Client) SiloPolicyUpdate(ctx context.Context, params SiloPolicyUpdateParams) (*SiloRolePolicy, error)

SiloPolicyUpdate: Update a silo's IAM policy

func (*Client) SiloPolicyView

func (c *Client) SiloPolicyView(ctx context.Context, params SiloPolicyViewParams) (*SiloRolePolicy, error)

SiloPolicyView: Fetch a silo's IAM policy

func (*Client) SiloQuotasUpdate added in v0.0.23

func (c *Client) SiloQuotasUpdate(ctx context.Context, params SiloQuotasUpdateParams) (*SiloQuotas, error)

SiloQuotasUpdate: Update the resource quotas of a given silo If a quota value is not specified, it will remain unchanged.

func (*Client) SiloQuotasView added in v0.0.23

func (c *Client) SiloQuotasView(ctx context.Context, params SiloQuotasViewParams) (*SiloQuotas, error)

SiloQuotasView: View the resource quotas of a given silo

func (*Client) SiloUserList added in v0.0.23

func (c *Client) SiloUserList(ctx context.Context, params SiloUserListParams) (*UserResultsPage, error)

SiloUserList: List built-in (system) users in a silo

To iterate over all pages, use the `SiloUserListAllPages` method, instead.

func (*Client) SiloUserListAllPages added in v0.0.23

func (c *Client) SiloUserListAllPages(ctx context.Context, params SiloUserListParams) ([]User, error)

SiloUserListAllPages: List built-in (system) users in a silo

This method is a wrapper around the `SiloUserList` method. This method returns all the pages at once.

func (*Client) SiloUserView added in v0.0.23

func (c *Client) SiloUserView(ctx context.Context, params SiloUserViewParams) (*User, error)

SiloUserView: Fetch a built-in (system) user

func (*Client) SiloUtilizationList added in v0.0.23

func (c *Client) SiloUtilizationList(ctx context.Context, params SiloUtilizationListParams) (*SiloUtilizationResultsPage, error)

SiloUtilizationList: List current utilization state for all silos

To iterate over all pages, use the `SiloUtilizationListAllPages` method, instead.

func (*Client) SiloUtilizationListAllPages added in v0.0.23

func (c *Client) SiloUtilizationListAllPages(ctx context.Context, params SiloUtilizationListParams) ([]SiloUtilization, error)

SiloUtilizationListAllPages: List current utilization state for all silos

This method is a wrapper around the `SiloUtilizationList` method. This method returns all the pages at once.

func (*Client) SiloUtilizationView added in v0.0.23

func (c *Client) SiloUtilizationView(ctx context.Context, params SiloUtilizationViewParams) (*SiloUtilization, error)

SiloUtilizationView: View the current utilization of a given silo

func (*Client) SiloView

func (c *Client) SiloView(ctx context.Context, params SiloViewParams) (*Silo, error)

SiloView: Fetch a silo Fetch a silo by name.

func (*Client) SledInstanceList added in v0.0.23

func (c *Client) SledInstanceList(ctx context.Context, params SledInstanceListParams) (*SledInstanceResultsPage, error)

SledInstanceList: List instances running on a given sled

To iterate over all pages, use the `SledInstanceListAllPages` method, instead.

func (*Client) SledInstanceListAllPages added in v0.0.23

func (c *Client) SledInstanceListAllPages(ctx context.Context, params SledInstanceListParams) ([]SledInstance, error)

SledInstanceListAllPages: List instances running on a given sled

This method is a wrapper around the `SledInstanceList` method. This method returns all the pages at once.

func (*Client) SledList

func (c *Client) SledList(ctx context.Context, params SledListParams) (*SledResultsPage, error)

SledList: List sleds

To iterate over all pages, use the `SledListAllPages` method, instead.

func (*Client) SledListAllPages

func (c *Client) SledListAllPages(ctx context.Context, params SledListParams) ([]Sled, error)

SledListAllPages: List sleds

This method is a wrapper around the `SledList` method. This method returns all the pages at once.

func (*Client) SledPhysicalDiskList added in v0.0.23

func (c *Client) SledPhysicalDiskList(ctx context.Context, params SledPhysicalDiskListParams) (*PhysicalDiskResultsPage, error)

SledPhysicalDiskList: List physical disks attached to sleds

To iterate over all pages, use the `SledPhysicalDiskListAllPages` method, instead.

func (*Client) SledPhysicalDiskListAllPages added in v0.0.23

func (c *Client) SledPhysicalDiskListAllPages(ctx context.Context, params SledPhysicalDiskListParams) ([]PhysicalDisk, error)

SledPhysicalDiskListAllPages: List physical disks attached to sleds

This method is a wrapper around the `SledPhysicalDiskList` method. This method returns all the pages at once.

func (*Client) SledSetProvisionState added in v0.0.23

func (c *Client) SledSetProvisionState(ctx context.Context, params SledSetProvisionStateParams) (*SledProvisionStateResponse, error)

SledSetProvisionState: Set the sled's provision state.

func (*Client) SledView

func (c *Client) SledView(ctx context.Context, params SledViewParams) (*Sled, error)

SledView: Fetch a sled

func (*Client) SnapshotCreate

func (c *Client) SnapshotCreate(ctx context.Context, params SnapshotCreateParams) (*Snapshot, error)

SnapshotCreate: Create a snapshot Creates a point-in-time snapshot from a disk.

func (*Client) SnapshotDelete

func (c *Client) SnapshotDelete(ctx context.Context, params SnapshotDeleteParams) error

SnapshotDelete: Delete a snapshot

func (*Client) SnapshotList

func (c *Client) SnapshotList(ctx context.Context, params SnapshotListParams) (*SnapshotResultsPage, error)

SnapshotList: List snapshots

To iterate over all pages, use the `SnapshotListAllPages` method, instead.

func (*Client) SnapshotListAllPages

func (c *Client) SnapshotListAllPages(ctx context.Context, params SnapshotListParams) ([]Snapshot, error)

SnapshotListAllPages: List snapshots

This method is a wrapper around the `SnapshotList` method. This method returns all the pages at once.

func (*Client) SnapshotView

func (c *Client) SnapshotView(ctx context.Context, params SnapshotViewParams) (*Snapshot, error)

SnapshotView: Fetch a snapshot

func (*Client) SwitchList added in v0.0.23

func (c *Client) SwitchList(ctx context.Context, params SwitchListParams) (*SwitchResultsPage, error)

SwitchList: List switches

To iterate over all pages, use the `SwitchListAllPages` method, instead.

func (*Client) SwitchListAllPages added in v0.0.23

func (c *Client) SwitchListAllPages(ctx context.Context, params SwitchListParams) ([]Switch, error)

SwitchListAllPages: List switches

This method is a wrapper around the `SwitchList` method. This method returns all the pages at once.

func (*Client) SwitchView added in v0.0.23

func (c *Client) SwitchView(ctx context.Context, params SwitchViewParams) (*Switch, error)

SwitchView: Fetch a switch

func (*Client) SystemMetric added in v0.0.23

func (c *Client) SystemMetric(ctx context.Context, params SystemMetricParams) (*MeasurementResultsPage, error)

SystemMetric: Access metrics data

To iterate over all pages, use the `SystemMetricAllPages` method, instead.

func (*Client) SystemMetricAllPages added in v0.0.23

func (c *Client) SystemMetricAllPages(ctx context.Context, params SystemMetricParams) ([]Measurement, error)

SystemMetricAllPages: Access metrics data

This method is a wrapper around the `SystemMetric` method. This method returns all the pages at once.

func (*Client) SystemPolicyUpdate

func (c *Client) SystemPolicyUpdate(ctx context.Context, params SystemPolicyUpdateParams) (*FleetRolePolicy, error)

SystemPolicyUpdate: Update the top-level IAM policy

func (*Client) SystemPolicyView

func (c *Client) SystemPolicyView(ctx context.Context) (*FleetRolePolicy, error)

SystemPolicyView: Fetch the top-level IAM policy

func (*Client) SystemQuotasList added in v0.0.23

func (c *Client) SystemQuotasList(ctx context.Context, params SystemQuotasListParams) (*SiloQuotasResultsPage, error)

SystemQuotasList: Lists resource quotas for all silos

To iterate over all pages, use the `SystemQuotasListAllPages` method, instead.

func (*Client) SystemQuotasListAllPages added in v0.0.23

func (c *Client) SystemQuotasListAllPages(ctx context.Context, params SystemQuotasListParams) ([]SiloQuotas, error)

SystemQuotasListAllPages: Lists resource quotas for all silos

This method is a wrapper around the `SystemQuotasList` method. This method returns all the pages at once.

func (*Client) UninitializedSledList added in v0.0.23

func (c *Client) UninitializedSledList(ctx context.Context) (*[]UninitializedSled, error)

UninitializedSledList: List uninitialized sleds in a given rack

func (*Client) UserBuiltinList added in v0.0.23

func (c *Client) UserBuiltinList(ctx context.Context, params UserBuiltinListParams) (*UserBuiltinResultsPage, error)

UserBuiltinList: List built-in users

To iterate over all pages, use the `UserBuiltinListAllPages` method, instead.

func (*Client) UserBuiltinListAllPages added in v0.0.23

func (c *Client) UserBuiltinListAllPages(ctx context.Context, params UserBuiltinListParams) ([]UserBuiltin, error)

UserBuiltinListAllPages: List built-in users

This method is a wrapper around the `UserBuiltinList` method. This method returns all the pages at once.

func (*Client) UserBuiltinView added in v0.0.23

func (c *Client) UserBuiltinView(ctx context.Context, params UserBuiltinViewParams) (*UserBuiltin, error)

UserBuiltinView: Fetch a built-in user

func (*Client) UserList

func (c *Client) UserList(ctx context.Context, params UserListParams) (*UserResultsPage, error)

UserList: List users

To iterate over all pages, use the `UserListAllPages` method, instead.

func (*Client) UserListAllPages

func (c *Client) UserListAllPages(ctx context.Context, params UserListParams) ([]User, error)

UserListAllPages: List users

This method is a wrapper around the `UserList` method. This method returns all the pages at once.

func (*Client) UtilizationView added in v0.0.23

func (c *Client) UtilizationView(ctx context.Context) (*Utilization, error)

UtilizationView: View the resource utilization of the user's current silo

func (*Client) VpcCreate

func (c *Client) VpcCreate(ctx context.Context, params VpcCreateParams) (*Vpc, error)

VpcCreate: Create a VPC

func (*Client) VpcDelete

func (c *Client) VpcDelete(ctx context.Context, params VpcDeleteParams) error

VpcDelete: Delete a VPC

func (*Client) VpcFirewallRulesUpdate

func (c *Client) VpcFirewallRulesUpdate(ctx context.Context, params VpcFirewallRulesUpdateParams) (*VpcFirewallRules, error)

VpcFirewallRulesUpdate: Replace firewall rules

func (*Client) VpcFirewallRulesView

func (c *Client) VpcFirewallRulesView(ctx context.Context, params VpcFirewallRulesViewParams) (*VpcFirewallRules, error)

VpcFirewallRulesView: List firewall rules

func (*Client) VpcList

func (c *Client) VpcList(ctx context.Context, params VpcListParams) (*VpcResultsPage, error)

VpcList: List VPCs

To iterate over all pages, use the `VpcListAllPages` method, instead.

func (*Client) VpcListAllPages

func (c *Client) VpcListAllPages(ctx context.Context, params VpcListParams) ([]Vpc, error)

VpcListAllPages: List VPCs

This method is a wrapper around the `VpcList` method. This method returns all the pages at once.

func (*Client) VpcSubnetCreate

func (c *Client) VpcSubnetCreate(ctx context.Context, params VpcSubnetCreateParams) (*VpcSubnet, error)

VpcSubnetCreate: Create a subnet

func (*Client) VpcSubnetDelete

func (c *Client) VpcSubnetDelete(ctx context.Context, params VpcSubnetDeleteParams) error

VpcSubnetDelete: Delete a subnet

func (*Client) VpcSubnetList

func (c *Client) VpcSubnetList(ctx context.Context, params VpcSubnetListParams) (*VpcSubnetResultsPage, error)

VpcSubnetList: List subnets

To iterate over all pages, use the `VpcSubnetListAllPages` method, instead.

func (*Client) VpcSubnetListAllPages

func (c *Client) VpcSubnetListAllPages(ctx context.Context, params VpcSubnetListParams) ([]VpcSubnet, error)

VpcSubnetListAllPages: List subnets

This method is a wrapper around the `VpcSubnetList` method. This method returns all the pages at once.

func (*Client) VpcSubnetListNetworkInterfaces

func (c *Client) VpcSubnetListNetworkInterfaces(ctx context.Context, params VpcSubnetListNetworkInterfacesParams) (*InstanceNetworkInterfaceResultsPage, error)

VpcSubnetListNetworkInterfaces: List network interfaces

To iterate over all pages, use the `VpcSubnetListNetworkInterfacesAllPages` method, instead.

func (*Client) VpcSubnetListNetworkInterfacesAllPages

func (c *Client) VpcSubnetListNetworkInterfacesAllPages(ctx context.Context, params VpcSubnetListNetworkInterfacesParams) ([]InstanceNetworkInterface, error)

VpcSubnetListNetworkInterfacesAllPages: List network interfaces

This method is a wrapper around the `VpcSubnetListNetworkInterfaces` method. This method returns all the pages at once.

func (*Client) VpcSubnetUpdate

func (c *Client) VpcSubnetUpdate(ctx context.Context, params VpcSubnetUpdateParams) (*VpcSubnet, error)

VpcSubnetUpdate: Update a subnet

func (*Client) VpcSubnetView

func (c *Client) VpcSubnetView(ctx context.Context, params VpcSubnetViewParams) (*VpcSubnet, error)

VpcSubnetView: Fetch a subnet

func (*Client) VpcUpdate

func (c *Client) VpcUpdate(ctx context.Context, params VpcUpdateParams) (*Vpc, error)

VpcUpdate: Update a VPC

func (*Client) VpcView

func (c *Client) VpcView(ctx context.Context, params VpcViewParams) (*Vpc, error)

VpcView: Fetch a VPC

func (*Client) WithToken

func (c *Client) WithToken(token string)

WithToken overrides the token used for authentication.

type Cumulativedouble

type Cumulativedouble struct {
	StartTime *time.Time `json:"start_time,omitempty" yaml:"start_time,omitempty"`
	Value     float64    `json:"value,omitempty" yaml:"value,omitempty"`
}

Cumulativedouble is a cumulative or counter data type.

type Cumulativefloat added in v0.0.23

type Cumulativefloat struct {
	StartTime *time.Time `json:"start_time,omitempty" yaml:"start_time,omitempty"`
	Value     float64    `json:"value,omitempty" yaml:"value,omitempty"`
}

Cumulativefloat is a cumulative or counter data type.

type Cumulativeint64

type Cumulativeint64 struct {
	StartTime *time.Time `json:"start_time,omitempty" yaml:"start_time,omitempty"`
	Value     int        `json:"value,omitempty" yaml:"value,omitempty"`
}

Cumulativeint64 is a cumulative or counter data type.

type Cumulativeuint64 added in v0.0.23

type Cumulativeuint64 struct {
	StartTime *time.Time `json:"start_time,omitempty" yaml:"start_time,omitempty"`
	Value     int        `json:"value,omitempty" yaml:"value,omitempty"`
}

Cumulativeuint64 is a cumulative or counter data type.

type CurrentUser added in v0.0.23

type CurrentUser struct {
	// DisplayName is human-readable name that can identify the user
	DisplayName string `json:"display_name,omitempty" yaml:"display_name,omitempty"`
	Id          string `json:"id,omitempty" yaml:"id,omitempty"`
	// SiloId is uuid of the silo to which this user belongs
	SiloId string `json:"silo_id,omitempty" yaml:"silo_id,omitempty"`
	// SiloName is name of the silo to which this user belongs.
	SiloName Name `json:"silo_name,omitempty" yaml:"silo_name,omitempty"`
}

CurrentUser is info about the current user

type CurrentUserGroupsParams added in v0.0.23

type CurrentUserGroupsParams struct {
	Limit     int        `json:"limit,omitempty" yaml:"limit,omitempty"`
	PageToken string     `json:"page_token,omitempty" yaml:"page_token,omitempty"`
	SortBy    IdSortMode `json:"sort_by,omitempty" yaml:"sort_by,omitempty"`
}

CurrentUserGroupsParams is the request parameters for CurrentUserGroups

func (*CurrentUserGroupsParams) Validate added in v0.0.23

func (p *CurrentUserGroupsParams) Validate() error

Validate verifies all required fields for CurrentUserGroupsParams are set

type CurrentUserSshKeyCreateParams added in v0.0.23

type CurrentUserSshKeyCreateParams struct {
	Body *SshKeyCreate `json:"body,omitempty" yaml:"body,omitempty"`
}

CurrentUserSshKeyCreateParams is the request parameters for CurrentUserSshKeyCreate

func (*CurrentUserSshKeyCreateParams) Validate added in v0.0.23

func (p *CurrentUserSshKeyCreateParams) Validate() error

Validate verifies all required fields for CurrentUserSshKeyCreateParams are set

type CurrentUserSshKeyDeleteParams added in v0.0.23

type CurrentUserSshKeyDeleteParams struct {
	SshKey NameOrId `json:"ssh_key,omitempty" yaml:"ssh_key,omitempty"`
}

CurrentUserSshKeyDeleteParams is the request parameters for CurrentUserSshKeyDelete

func (*CurrentUserSshKeyDeleteParams) Validate added in v0.0.23

func (p *CurrentUserSshKeyDeleteParams) Validate() error

Validate verifies all required fields for CurrentUserSshKeyDeleteParams are set

type CurrentUserSshKeyListParams added in v0.0.23

type CurrentUserSshKeyListParams struct {
	Limit     int              `json:"limit,omitempty" yaml:"limit,omitempty"`
	PageToken string           `json:"page_token,omitempty" yaml:"page_token,omitempty"`
	SortBy    NameOrIdSortMode `json:"sort_by,omitempty" yaml:"sort_by,omitempty"`
}

CurrentUserSshKeyListParams is the request parameters for CurrentUserSshKeyList

func (*CurrentUserSshKeyListParams) Validate added in v0.0.23

func (p *CurrentUserSshKeyListParams) Validate() error

Validate verifies all required fields for CurrentUserSshKeyListParams are set

type CurrentUserSshKeyViewParams added in v0.0.23

type CurrentUserSshKeyViewParams struct {
	SshKey NameOrId `json:"ssh_key,omitempty" yaml:"ssh_key,omitempty"`
}

CurrentUserSshKeyViewParams is the request parameters for CurrentUserSshKeyView

func (*CurrentUserSshKeyViewParams) Validate added in v0.0.23

func (p *CurrentUserSshKeyViewParams) Validate() error

Validate verifies all required fields for CurrentUserSshKeyViewParams are set

type Datum

type Datum struct {
	// Datum is the type definition for a Datum.
	Datum *bool `json:"datum,omitempty" yaml:"datum,omitempty"`
	// Type is the type definition for a Type.
	Type DatumType `json:"type,omitempty" yaml:"type,omitempty"`
}

Datum is a `Datum` is a single sampled data point from a metric.

type DatumBool

type DatumBool struct {
	Datum *bool     `json:"datum,omitempty" yaml:"datum,omitempty"`
	Type  DatumType `json:"type,omitempty" yaml:"type,omitempty"`
}

DatumBool is the type definition for a DatumBool.

type DatumBytes

type DatumBytes struct {
	Datum []string  `json:"datum,omitempty" yaml:"datum,omitempty"`
	Type  DatumType `json:"type,omitempty" yaml:"type,omitempty"`
}

DatumBytes is the type definition for a DatumBytes.

type DatumCumulativeF32 added in v0.0.23

type DatumCumulativeF32 struct {
	// Datum is a cumulative or counter data type.
	Datum Cumulativefloat `json:"datum,omitempty" yaml:"datum,omitempty"`
	Type  DatumType       `json:"type,omitempty" yaml:"type,omitempty"`
}

DatumCumulativeF32 is the type definition for a DatumCumulativeF32.

type DatumCumulativeF64

type DatumCumulativeF64 struct {
	// Datum is a cumulative or counter data type.
	Datum Cumulativedouble `json:"datum,omitempty" yaml:"datum,omitempty"`
	Type  DatumType        `json:"type,omitempty" yaml:"type,omitempty"`
}

DatumCumulativeF64 is the type definition for a DatumCumulativeF64.

type DatumCumulativeI64

type DatumCumulativeI64 struct {
	// Datum is a cumulative or counter data type.
	Datum Cumulativeint64 `json:"datum,omitempty" yaml:"datum,omitempty"`
	Type  DatumType       `json:"type,omitempty" yaml:"type,omitempty"`
}

DatumCumulativeI64 is the type definition for a DatumCumulativeI64.

type DatumCumulativeU64 added in v0.0.23

type DatumCumulativeU64 struct {
	// Datum is a cumulative or counter data type.
	Datum Cumulativeuint64 `json:"datum,omitempty" yaml:"datum,omitempty"`
	Type  DatumType        `json:"type,omitempty" yaml:"type,omitempty"`
}

DatumCumulativeU64 is the type definition for a DatumCumulativeU64.

type DatumF32 added in v0.0.23

type DatumF32 struct {
	Datum float64   `json:"datum,omitempty" yaml:"datum,omitempty"`
	Type  DatumType `json:"type,omitempty" yaml:"type,omitempty"`
}

DatumF32 is the type definition for a DatumF32.

type DatumF64

type DatumF64 struct {
	Datum float64   `json:"datum,omitempty" yaml:"datum,omitempty"`
	Type  DatumType `json:"type,omitempty" yaml:"type,omitempty"`
}

DatumF64 is the type definition for a DatumF64.

type DatumHistogramF32 added in v0.0.23

type DatumHistogramF32 struct {
	// Datum is histogram metric
	//
	// A histogram maintains the count of any number of samples, over a set of bins. Bins are specified on construction via their _left_ edges, inclusive. There can't be any "gaps" in the bins, and an additional bin may be added to the left, right, or both so that the bins extend to the entire range of the support.
	//
	// Note that any gaps, unsorted bins, or non-finite values will result in an error.
	Datum Histogramfloat `json:"datum,omitempty" yaml:"datum,omitempty"`
	Type  DatumType      `json:"type,omitempty" yaml:"type,omitempty"`
}

DatumHistogramF32 is the type definition for a DatumHistogramF32.

type DatumHistogramF64

type DatumHistogramF64 struct {
	// Datum is histogram metric
	//
	// A histogram maintains the count of any number of samples, over a set of bins. Bins are specified on construction via their _left_ edges, inclusive. There can't be any "gaps" in the bins, and an additional bin may be added to the left, right, or both so that the bins extend to the entire range of the support.
	//
	// Note that any gaps, unsorted bins, or non-finite values will result in an error.
	Datum Histogramdouble `json:"datum,omitempty" yaml:"datum,omitempty"`
	Type  DatumType       `json:"type,omitempty" yaml:"type,omitempty"`
}

DatumHistogramF64 is the type definition for a DatumHistogramF64.

type DatumHistogramI8 added in v0.0.23

type DatumHistogramI8 struct {
	// Datum is histogram metric
	//
	// A histogram maintains the count of any number of samples, over a set of bins. Bins are specified on construction via their _left_ edges, inclusive. There can't be any "gaps" in the bins, and an additional bin may be added to the left, right, or both so that the bins extend to the entire range of the support.
	//
	// Note that any gaps, unsorted bins, or non-finite values will result in an error.
	Datum Histogramint8 `json:"datum,omitempty" yaml:"datum,omitempty"`
	Type  DatumType     `json:"type,omitempty" yaml:"type,omitempty"`
}

DatumHistogramI8 is the type definition for a DatumHistogramI8.

type DatumHistogramI16 added in v0.0.23

type DatumHistogramI16 struct {
	// Datum is histogram metric
	//
	// A histogram maintains the count of any number of samples, over a set of bins. Bins are specified on construction via their _left_ edges, inclusive. There can't be any "gaps" in the bins, and an additional bin may be added to the left, right, or both so that the bins extend to the entire range of the support.
	//
	// Note that any gaps, unsorted bins, or non-finite values will result in an error.
	Datum Histogramint16 `json:"datum,omitempty" yaml:"datum,omitempty"`
	Type  DatumType      `json:"type,omitempty" yaml:"type,omitempty"`
}

DatumHistogramI16 is the type definition for a DatumHistogramI16.

type DatumHistogramI32 added in v0.0.23

type DatumHistogramI32 struct {
	// Datum is histogram metric
	//
	// A histogram maintains the count of any number of samples, over a set of bins. Bins are specified on construction via their _left_ edges, inclusive. There can't be any "gaps" in the bins, and an additional bin may be added to the left, right, or both so that the bins extend to the entire range of the support.
	//
	// Note that any gaps, unsorted bins, or non-finite values will result in an error.
	Datum Histogramint32 `json:"datum,omitempty" yaml:"datum,omitempty"`
	Type  DatumType      `json:"type,omitempty" yaml:"type,omitempty"`
}

DatumHistogramI32 is the type definition for a DatumHistogramI32.

type DatumHistogramI64

type DatumHistogramI64 struct {
	// Datum is histogram metric
	//
	// A histogram maintains the count of any number of samples, over a set of bins. Bins are specified on construction via their _left_ edges, inclusive. There can't be any "gaps" in the bins, and an additional bin may be added to the left, right, or both so that the bins extend to the entire range of the support.
	//
	// Note that any gaps, unsorted bins, or non-finite values will result in an error.
	Datum Histogramint64 `json:"datum,omitempty" yaml:"datum,omitempty"`
	Type  DatumType      `json:"type,omitempty" yaml:"type,omitempty"`
}

DatumHistogramI64 is the type definition for a DatumHistogramI64.

type DatumHistogramU8 added in v0.0.23

type DatumHistogramU8 struct {
	// Datum is histogram metric
	//
	// A histogram maintains the count of any number of samples, over a set of bins. Bins are specified on construction via their _left_ edges, inclusive. There can't be any "gaps" in the bins, and an additional bin may be added to the left, right, or both so that the bins extend to the entire range of the support.
	//
	// Note that any gaps, unsorted bins, or non-finite values will result in an error.
	Datum Histogramuint8 `json:"datum,omitempty" yaml:"datum,omitempty"`
	Type  DatumType      `json:"type,omitempty" yaml:"type,omitempty"`
}

DatumHistogramU8 is the type definition for a DatumHistogramU8.

type DatumHistogramU16 added in v0.0.23

type DatumHistogramU16 struct {
	// Datum is histogram metric
	//
	// A histogram maintains the count of any number of samples, over a set of bins. Bins are specified on construction via their _left_ edges, inclusive. There can't be any "gaps" in the bins, and an additional bin may be added to the left, right, or both so that the bins extend to the entire range of the support.
	//
	// Note that any gaps, unsorted bins, or non-finite values will result in an error.
	Datum Histogramuint16 `json:"datum,omitempty" yaml:"datum,omitempty"`
	Type  DatumType       `json:"type,omitempty" yaml:"type,omitempty"`
}

DatumHistogramU16 is the type definition for a DatumHistogramU16.

type DatumHistogramU32 added in v0.0.23

type DatumHistogramU32 struct {
	// Datum is histogram metric
	//
	// A histogram maintains the count of any number of samples, over a set of bins. Bins are specified on construction via their _left_ edges, inclusive. There can't be any "gaps" in the bins, and an additional bin may be added to the left, right, or both so that the bins extend to the entire range of the support.
	//
	// Note that any gaps, unsorted bins, or non-finite values will result in an error.
	Datum Histogramuint32 `json:"datum,omitempty" yaml:"datum,omitempty"`
	Type  DatumType       `json:"type,omitempty" yaml:"type,omitempty"`
}

DatumHistogramU32 is the type definition for a DatumHistogramU32.

type DatumHistogramU64 added in v0.0.23

type DatumHistogramU64 struct {
	// Datum is histogram metric
	//
	// A histogram maintains the count of any number of samples, over a set of bins. Bins are specified on construction via their _left_ edges, inclusive. There can't be any "gaps" in the bins, and an additional bin may be added to the left, right, or both so that the bins extend to the entire range of the support.
	//
	// Note that any gaps, unsorted bins, or non-finite values will result in an error.
	Datum Histogramuint64 `json:"datum,omitempty" yaml:"datum,omitempty"`
	Type  DatumType       `json:"type,omitempty" yaml:"type,omitempty"`
}

DatumHistogramU64 is the type definition for a DatumHistogramU64.

type DatumI8 added in v0.0.23

type DatumI8 struct {
	Datum int       `json:"datum,omitempty" yaml:"datum,omitempty"`
	Type  DatumType `json:"type,omitempty" yaml:"type,omitempty"`
}

DatumI8 is the type definition for a DatumI8.

type DatumI16 added in v0.0.23

type DatumI16 struct {
	Datum int       `json:"datum,omitempty" yaml:"datum,omitempty"`
	Type  DatumType `json:"type,omitempty" yaml:"type,omitempty"`
}

DatumI16 is the type definition for a DatumI16.

type DatumI32 added in v0.0.23

type DatumI32 struct {
	Datum int       `json:"datum,omitempty" yaml:"datum,omitempty"`
	Type  DatumType `json:"type,omitempty" yaml:"type,omitempty"`
}

DatumI32 is the type definition for a DatumI32.

type DatumI64

type DatumI64 struct {
	Datum int       `json:"datum,omitempty" yaml:"datum,omitempty"`
	Type  DatumType `json:"type,omitempty" yaml:"type,omitempty"`
}

DatumI64 is the type definition for a DatumI64.

type DatumMissing added in v0.0.23

type DatumMissing struct {
	Datum MissingDatum `json:"datum,omitempty" yaml:"datum,omitempty"`
	Type  DatumType    `json:"type,omitempty" yaml:"type,omitempty"`
}

DatumMissing is the type definition for a DatumMissing.

type DatumString

type DatumString struct {
	Datum string    `json:"datum,omitempty" yaml:"datum,omitempty"`
	Type  DatumType `json:"type,omitempty" yaml:"type,omitempty"`
}

DatumString is the type definition for a DatumString.

type DatumType

type DatumType string

DatumType is the type definition for a DatumType.

const DatumTypeBool DatumType = "bool"

DatumTypeBool represents the DatumType `"bool"`.

const DatumTypeBytes DatumType = "bytes"

DatumTypeBytes represents the DatumType `"bytes"`.

const DatumTypeCumulativeF32 DatumType = "cumulative_f32"

DatumTypeCumulativeF32 represents the DatumType `"cumulative_f32"`.

const DatumTypeCumulativeF64 DatumType = "cumulative_f64"

DatumTypeCumulativeF64 represents the DatumType `"cumulative_f64"`.

const DatumTypeCumulativeI64 DatumType = "cumulative_i64"

DatumTypeCumulativeI64 represents the DatumType `"cumulative_i64"`.

const DatumTypeCumulativeU64 DatumType = "cumulative_u64"

DatumTypeCumulativeU64 represents the DatumType `"cumulative_u64"`.

const DatumTypeF32 DatumType = "f32"

DatumTypeF32 represents the DatumType `"f32"`.

const DatumTypeF64 DatumType = "f64"

DatumTypeF64 represents the DatumType `"f64"`.

const DatumTypeHistogramF32 DatumType = "histogram_f32"

DatumTypeHistogramF32 represents the DatumType `"histogram_f32"`.

const DatumTypeHistogramF64 DatumType = "histogram_f64"

DatumTypeHistogramF64 represents the DatumType `"histogram_f64"`.

const DatumTypeHistogramI16 DatumType = "histogram_i16"

DatumTypeHistogramI16 represents the DatumType `"histogram_i16"`.

const DatumTypeHistogramI32 DatumType = "histogram_i32"

DatumTypeHistogramI32 represents the DatumType `"histogram_i32"`.

const DatumTypeHistogramI64 DatumType = "histogram_i64"

DatumTypeHistogramI64 represents the DatumType `"histogram_i64"`.

const DatumTypeHistogramI8 DatumType = "histogram_i8"

DatumTypeHistogramI8 represents the DatumType `"histogram_i8"`.

const DatumTypeHistogramU16 DatumType = "histogram_u16"

DatumTypeHistogramU16 represents the DatumType `"histogram_u16"`.

const DatumTypeHistogramU32 DatumType = "histogram_u32"

DatumTypeHistogramU32 represents the DatumType `"histogram_u32"`.

const DatumTypeHistogramU64 DatumType = "histogram_u64"

DatumTypeHistogramU64 represents the DatumType `"histogram_u64"`.

const DatumTypeHistogramU8 DatumType = "histogram_u8"

DatumTypeHistogramU8 represents the DatumType `"histogram_u8"`.

const DatumTypeI16 DatumType = "i16"

DatumTypeI16 represents the DatumType `"i16"`.

const DatumTypeI32 DatumType = "i32"

DatumTypeI32 represents the DatumType `"i32"`.

const DatumTypeI64 DatumType = "i64"

DatumTypeI64 represents the DatumType `"i64"`.

const DatumTypeI8 DatumType = "i8"

DatumTypeI8 represents the DatumType `"i8"`.

const DatumTypeMissing DatumType = "missing"

DatumTypeMissing represents the DatumType `"missing"`.

const DatumTypeString DatumType = "string"

DatumTypeString represents the DatumType `"string"`.

const DatumTypeU16 DatumType = "u16"

DatumTypeU16 represents the DatumType `"u16"`.

const DatumTypeU32 DatumType = "u32"

DatumTypeU32 represents the DatumType `"u32"`.

const DatumTypeU64 DatumType = "u64"

DatumTypeU64 represents the DatumType `"u64"`.

const DatumTypeU8 DatumType = "u8"

DatumTypeU8 represents the DatumType `"u8"`.

type DatumU8 added in v0.0.23

type DatumU8 struct {
	Datum int       `json:"datum,omitempty" yaml:"datum,omitempty"`
	Type  DatumType `json:"type,omitempty" yaml:"type,omitempty"`
}

DatumU8 is the type definition for a DatumU8.

type DatumU16 added in v0.0.23

type DatumU16 struct {
	Datum int       `json:"datum,omitempty" yaml:"datum,omitempty"`
	Type  DatumType `json:"type,omitempty" yaml:"type,omitempty"`
}

DatumU16 is the type definition for a DatumU16.

type DatumU32 added in v0.0.23

type DatumU32 struct {
	Datum int       `json:"datum,omitempty" yaml:"datum,omitempty"`
	Type  DatumType `json:"type,omitempty" yaml:"type,omitempty"`
}

DatumU32 is the type definition for a DatumU32.

type DatumU64 added in v0.0.23

type DatumU64 struct {
	Datum int       `json:"datum,omitempty" yaml:"datum,omitempty"`
	Type  DatumType `json:"type,omitempty" yaml:"type,omitempty"`
}

DatumU64 is the type definition for a DatumU64.

type DerEncodedKeyPair

type DerEncodedKeyPair struct {
	// PrivateKey is request signing private key (base64 encoded der file)
	PrivateKey string `json:"private_key,omitempty" yaml:"private_key,omitempty"`
	// PublicCert is request signing public certificate (base64 encoded der file)
	PublicCert string `json:"public_cert,omitempty" yaml:"public_cert,omitempty"`
}

DerEncodedKeyPair is the type definition for a DerEncodedKeyPair.

type DeviceAccessTokenParams added in v0.0.23

type DeviceAccessTokenParams struct {
	Body io.Reader `json:"body,omitempty" yaml:"body,omitempty"`
}

DeviceAccessTokenParams is the request parameters for DeviceAccessToken

func (*DeviceAccessTokenParams) Validate added in v0.0.23

func (p *DeviceAccessTokenParams) Validate() error

Validate verifies all required fields for DeviceAccessTokenParams are set

type DeviceAccessTokenRequest

type DeviceAccessTokenRequest struct {
	ClientId   string `json:"client_id,omitempty" yaml:"client_id,omitempty"`
	DeviceCode string `json:"device_code,omitempty" yaml:"device_code,omitempty"`
	GrantType  string `json:"grant_type,omitempty" yaml:"grant_type,omitempty"`
}

DeviceAccessTokenRequest is the type definition for a DeviceAccessTokenRequest.

type DeviceAuthConfirmParams added in v0.0.23

type DeviceAuthConfirmParams struct {
	Body *DeviceAuthVerify `json:"body,omitempty" yaml:"body,omitempty"`
}

DeviceAuthConfirmParams is the request parameters for DeviceAuthConfirm

func (*DeviceAuthConfirmParams) Validate added in v0.0.23

func (p *DeviceAuthConfirmParams) Validate() error

Validate verifies all required fields for DeviceAuthConfirmParams are set

type DeviceAuthRequest

type DeviceAuthRequest struct {
	ClientId string `json:"client_id,omitempty" yaml:"client_id,omitempty"`
}

DeviceAuthRequest is the type definition for a DeviceAuthRequest.

type DeviceAuthRequestParams added in v0.0.23

type DeviceAuthRequestParams struct {
	Body io.Reader `json:"body,omitempty" yaml:"body,omitempty"`
}

DeviceAuthRequestParams is the request parameters for DeviceAuthRequest

func (*DeviceAuthRequestParams) Validate added in v0.0.23

func (p *DeviceAuthRequestParams) Validate() error

Validate verifies all required fields for DeviceAuthRequestParams are set

type DeviceAuthVerify

type DeviceAuthVerify struct {
	UserCode string `json:"user_code,omitempty" yaml:"user_code,omitempty"`
}

DeviceAuthVerify is the type definition for a DeviceAuthVerify.

type Digest

type Digest struct {
	// Type is the type definition for a Type.
	Type DigestType `json:"type,omitempty" yaml:"type,omitempty"`
	// Value is the type definition for a Value.
	Value string `json:"value,omitempty" yaml:"value,omitempty"`
}

Digest is the type definition for a Digest.

type DigestSha256

type DigestSha256 struct {
	Type  DigestType `json:"type,omitempty" yaml:"type,omitempty"`
	Value string     `json:"value,omitempty" yaml:"value,omitempty"`
}

DigestSha256 is the type definition for a DigestSha256.

type DigestType

type DigestType string

DigestType is the type definition for a DigestType.

const DigestTypeSha256 DigestType = "sha256"

DigestTypeSha256 represents the DigestType `"sha256"`.

type Disk

type Disk struct {
	// BlockSize is byte count to express memory or storage capacity.
	BlockSize ByteCount `json:"block_size,omitempty" yaml:"block_size,omitempty"`
	// Description is human-readable free-form text about a resource
	Description string `json:"description,omitempty" yaml:"description,omitempty"`
	DevicePath  string `json:"device_path,omitempty" yaml:"device_path,omitempty"`
	// Id is unique, immutable, system-controlled identifier for each resource
	Id string `json:"id,omitempty" yaml:"id,omitempty"`
	// ImageId is iD of image from which disk was created, if any
	ImageId string `json:"image_id,omitempty" yaml:"image_id,omitempty"`
	// Name is unique, mutable, user-controlled identifier for each resource
	Name      Name   `json:"name,omitempty" yaml:"name,omitempty"`
	ProjectId string `json:"project_id,omitempty" yaml:"project_id,omitempty"`
	// Size is byte count to express memory or storage capacity.
	Size ByteCount `json:"size,omitempty" yaml:"size,omitempty"`
	// SnapshotId is iD of snapshot from which disk was created, if any
	SnapshotId string `json:"snapshot_id,omitempty" yaml:"snapshot_id,omitempty"`
	// State is state of a Disk
	State DiskState `json:"state,omitempty" yaml:"state,omitempty"`
	// TimeCreated is timestamp when this resource was created
	TimeCreated *time.Time `json:"time_created,omitempty" yaml:"time_created,omitempty"`
	// TimeModified is timestamp when this resource was last modified
	TimeModified *time.Time `json:"time_modified,omitempty" yaml:"time_modified,omitempty"`
}

Disk is view of a Disk

type DiskBulkWriteImportParams added in v0.0.23

type DiskBulkWriteImportParams struct {
	Disk    NameOrId               `json:"disk,omitempty" yaml:"disk,omitempty"`
	Project NameOrId               `json:"project,omitempty" yaml:"project,omitempty"`
	Body    *ImportBlocksBulkWrite `json:"body,omitempty" yaml:"body,omitempty"`
}

DiskBulkWriteImportParams is the request parameters for DiskBulkWriteImport

func (*DiskBulkWriteImportParams) Validate added in v0.0.23

func (p *DiskBulkWriteImportParams) Validate() error

Validate verifies all required fields for DiskBulkWriteImportParams are set

type DiskBulkWriteImportStartParams added in v0.0.23

type DiskBulkWriteImportStartParams struct {
	Disk    NameOrId `json:"disk,omitempty" yaml:"disk,omitempty"`
	Project NameOrId `json:"project,omitempty" yaml:"project,omitempty"`
}

DiskBulkWriteImportStartParams is the request parameters for DiskBulkWriteImportStart

func (*DiskBulkWriteImportStartParams) Validate added in v0.0.23

func (p *DiskBulkWriteImportStartParams) Validate() error

Validate verifies all required fields for DiskBulkWriteImportStartParams are set

type DiskBulkWriteImportStopParams added in v0.0.23

type DiskBulkWriteImportStopParams struct {
	Disk    NameOrId `json:"disk,omitempty" yaml:"disk,omitempty"`
	Project NameOrId `json:"project,omitempty" yaml:"project,omitempty"`
}

DiskBulkWriteImportStopParams is the request parameters for DiskBulkWriteImportStop

func (*DiskBulkWriteImportStopParams) Validate added in v0.0.23

func (p *DiskBulkWriteImportStopParams) Validate() error

Validate verifies all required fields for DiskBulkWriteImportStopParams are set

type DiskCreate

type DiskCreate struct {
	Description string `json:"description,omitempty" yaml:"description,omitempty"`
	// DiskSource is initial source for this disk
	DiskSource DiskSource `json:"disk_source,omitempty" yaml:"disk_source,omitempty"`
	// Name is names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.
	Name Name `json:"name,omitempty" yaml:"name,omitempty"`
	// Size is total size of the Disk in bytes
	Size ByteCount `json:"size,omitempty" yaml:"size,omitempty"`
}

DiskCreate is create-time parameters for a `Disk`

type DiskCreateParams added in v0.0.23

type DiskCreateParams struct {
	Project NameOrId    `json:"project,omitempty" yaml:"project,omitempty"`
	Body    *DiskCreate `json:"body,omitempty" yaml:"body,omitempty"`
}

DiskCreateParams is the request parameters for DiskCreate

func (*DiskCreateParams) Validate added in v0.0.23

func (p *DiskCreateParams) Validate() error

Validate verifies all required fields for DiskCreateParams are set

type DiskDeleteParams added in v0.0.23

type DiskDeleteParams struct {
	Disk    NameOrId `json:"disk,omitempty" yaml:"disk,omitempty"`
	Project NameOrId `json:"project,omitempty" yaml:"project,omitempty"`
}

DiskDeleteParams is the request parameters for DiskDelete

func (*DiskDeleteParams) Validate added in v0.0.23

func (p *DiskDeleteParams) Validate() error

Validate verifies all required fields for DiskDeleteParams are set

type DiskFinalizeImportParams added in v0.0.23

type DiskFinalizeImportParams struct {
	Disk    NameOrId      `json:"disk,omitempty" yaml:"disk,omitempty"`
	Project NameOrId      `json:"project,omitempty" yaml:"project,omitempty"`
	Body    *FinalizeDisk `json:"body,omitempty" yaml:"body,omitempty"`
}

DiskFinalizeImportParams is the request parameters for DiskFinalizeImport

func (*DiskFinalizeImportParams) Validate added in v0.0.23

func (p *DiskFinalizeImportParams) Validate() error

Validate verifies all required fields for DiskFinalizeImportParams are set

type DiskListParams added in v0.0.23

type DiskListParams struct {
	Limit     int              `json:"limit,omitempty" yaml:"limit,omitempty"`
	PageToken string           `json:"page_token,omitempty" yaml:"page_token,omitempty"`
	Project   NameOrId         `json:"project,omitempty" yaml:"project,omitempty"`
	SortBy    NameOrIdSortMode `json:"sort_by,omitempty" yaml:"sort_by,omitempty"`
}

DiskListParams is the request parameters for DiskList

func (*DiskListParams) Validate added in v0.0.23

func (p *DiskListParams) Validate() error

Validate verifies all required fields for DiskListParams are set

type DiskMetricName

type DiskMetricName string

DiskMetricName is the type definition for a DiskMetricName.

const DiskMetricNameActivated DiskMetricName = "activated"

DiskMetricNameActivated represents the DiskMetricName `"activated"`.

const DiskMetricNameFlush DiskMetricName = "flush"

DiskMetricNameFlush represents the DiskMetricName `"flush"`.

const DiskMetricNameRead DiskMetricName = "read"

DiskMetricNameRead represents the DiskMetricName `"read"`.

const DiskMetricNameReadBytes DiskMetricName = "read_bytes"

DiskMetricNameReadBytes represents the DiskMetricName `"read_bytes"`.

const DiskMetricNameWrite DiskMetricName = "write"

DiskMetricNameWrite represents the DiskMetricName `"write"`.

const DiskMetricNameWriteBytes DiskMetricName = "write_bytes"

DiskMetricNameWriteBytes represents the DiskMetricName `"write_bytes"`.

type DiskMetricsListParams added in v0.0.23

type DiskMetricsListParams struct {
	Disk      NameOrId        `json:"disk,omitempty" yaml:"disk,omitempty"`
	Metric    DiskMetricName  `json:"metric,omitempty" yaml:"metric,omitempty"`
	EndTime   *time.Time      `json:"end_time,omitempty" yaml:"end_time,omitempty"`
	Limit     int             `json:"limit,omitempty" yaml:"limit,omitempty"`
	Order     PaginationOrder `json:"order,omitempty" yaml:"order,omitempty"`
	PageToken string          `json:"page_token,omitempty" yaml:"page_token,omitempty"`
	StartTime *time.Time      `json:"start_time,omitempty" yaml:"start_time,omitempty"`
	Project   NameOrId        `json:"project,omitempty" yaml:"project,omitempty"`
}

DiskMetricsListParams is the request parameters for DiskMetricsList

func (*DiskMetricsListParams) Validate added in v0.0.23

func (p *DiskMetricsListParams) Validate() error

Validate verifies all required fields for DiskMetricsListParams are set

type DiskPath added in v0.0.23

type DiskPath struct {
	// Disk is name or ID of the disk
	Disk NameOrId `json:"disk,omitempty" yaml:"disk,omitempty"`
}

DiskPath is the type definition for a DiskPath.

type DiskResultsPage

type DiskResultsPage struct {
	// Items is list of items on this page of results
	Items []Disk `json:"items,omitempty" yaml:"items,omitempty"`
	// NextPage is token used to fetch the next page of results (if any)
	NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty"`
}

DiskResultsPage is a single page of results

type DiskSource

type DiskSource struct {
	// BlockSize is size of blocks for this Disk. valid values are: 512, 2048, or 4096
	BlockSize BlockSize `json:"block_size,omitempty" yaml:"block_size,omitempty"`
	// Type is the type definition for a Type.
	Type DiskSourceType `json:"type,omitempty" yaml:"type,omitempty"`
	// SnapshotId is the type definition for a SnapshotId.
	SnapshotId string `json:"snapshot_id,omitempty" yaml:"snapshot_id,omitempty"`
	// ImageId is the type definition for a ImageId.
	ImageId string `json:"image_id,omitempty" yaml:"image_id,omitempty"`
}

DiskSource is different sources for a disk

type DiskSourceBlank

type DiskSourceBlank struct {
	// BlockSize is size of blocks for this Disk. valid values are: 512, 2048, or 4096
	BlockSize BlockSize      `json:"block_size,omitempty" yaml:"block_size,omitempty"`
	Type      DiskSourceType `json:"type,omitempty" yaml:"type,omitempty"`
}

DiskSourceBlank is create a blank disk

type DiskSourceImage

type DiskSourceImage struct {
	ImageId string         `json:"image_id,omitempty" yaml:"image_id,omitempty"`
	Type    DiskSourceType `json:"type,omitempty" yaml:"type,omitempty"`
}

DiskSourceImage is create a disk from an image

type DiskSourceImportingBlocks added in v0.0.23

type DiskSourceImportingBlocks struct {
	BlockSize BlockSize      `json:"block_size,omitempty" yaml:"block_size,omitempty"`
	Type      DiskSourceType `json:"type,omitempty" yaml:"type,omitempty"`
}

DiskSourceImportingBlocks is create a blank disk that will accept bulk writes or pull blocks from an external source.

type DiskSourceSnapshot

type DiskSourceSnapshot struct {
	SnapshotId string         `json:"snapshot_id,omitempty" yaml:"snapshot_id,omitempty"`
	Type       DiskSourceType `json:"type,omitempty" yaml:"type,omitempty"`
}

DiskSourceSnapshot is create a disk from a disk snapshot

type DiskSourceType

type DiskSourceType string

DiskSourceType is the type definition for a DiskSourceType.

const DiskSourceTypeBlank DiskSourceType = "blank"

DiskSourceTypeBlank represents the DiskSourceType `"blank"`.

const DiskSourceTypeImage DiskSourceType = "image"

DiskSourceTypeImage represents the DiskSourceType `"image"`.

const DiskSourceTypeImportingBlocks DiskSourceType = "importing_blocks"

DiskSourceTypeImportingBlocks represents the DiskSourceType `"importing_blocks"`.

const DiskSourceTypeSnapshot DiskSourceType = "snapshot"

DiskSourceTypeSnapshot represents the DiskSourceType `"snapshot"`.

type DiskState

type DiskState struct {
	// State is the type definition for a State.
	State DiskStateState `json:"state,omitempty" yaml:"state,omitempty"`
	// Instance is the type definition for a Instance.
	Instance string `json:"instance,omitempty" yaml:"instance,omitempty"`
}

DiskState is state of a Disk

type DiskStateAttached

type DiskStateAttached struct {
	Instance string         `json:"instance,omitempty" yaml:"instance,omitempty"`
	State    DiskStateState `json:"state,omitempty" yaml:"state,omitempty"`
}

DiskStateAttached is disk is attached to the given Instance

type DiskStateAttaching

type DiskStateAttaching struct {
	Instance string         `json:"instance,omitempty" yaml:"instance,omitempty"`
	State    DiskStateState `json:"state,omitempty" yaml:"state,omitempty"`
}

DiskStateAttaching is disk is being attached to the given Instance

type DiskStateCreating

type DiskStateCreating struct {
	State DiskStateState `json:"state,omitempty" yaml:"state,omitempty"`
}

DiskStateCreating is disk is being initialized

type DiskStateDestroyed

type DiskStateDestroyed struct {
	State DiskStateState `json:"state,omitempty" yaml:"state,omitempty"`
}

DiskStateDestroyed is disk has been destroyed

type DiskStateDetached

type DiskStateDetached struct {
	State DiskStateState `json:"state,omitempty" yaml:"state,omitempty"`
}

DiskStateDetached is disk is ready but detached from any Instance

type DiskStateDetaching

type DiskStateDetaching struct {
	Instance string         `json:"instance,omitempty" yaml:"instance,omitempty"`
	State    DiskStateState `json:"state,omitempty" yaml:"state,omitempty"`
}

DiskStateDetaching is disk is being detached from the given Instance

type DiskStateFaulted

type DiskStateFaulted struct {
	State DiskStateState `json:"state,omitempty" yaml:"state,omitempty"`
}

DiskStateFaulted is disk is unavailable

type DiskStateFinalizing added in v0.0.23

type DiskStateFinalizing struct {
	State DiskStateState `json:"state,omitempty" yaml:"state,omitempty"`
}

DiskStateFinalizing is disk is being finalized to state Detached

type DiskStateImportReady added in v0.0.23

type DiskStateImportReady struct {
	State DiskStateState `json:"state,omitempty" yaml:"state,omitempty"`
}

DiskStateImportReady is disk is ready to receive blocks from an external source

type DiskStateImportingFromBulkWrites added in v0.0.23

type DiskStateImportingFromBulkWrites struct {
	State DiskStateState `json:"state,omitempty" yaml:"state,omitempty"`
}

DiskStateImportingFromBulkWrites is disk is importing blocks from bulk writes

type DiskStateImportingFromUrl added in v0.0.23

type DiskStateImportingFromUrl struct {
	State DiskStateState `json:"state,omitempty" yaml:"state,omitempty"`
}

DiskStateImportingFromUrl is disk is importing blocks from a URL

type DiskStateMaintenance added in v0.0.23

type DiskStateMaintenance struct {
	State DiskStateState `json:"state,omitempty" yaml:"state,omitempty"`
}

DiskStateMaintenance is disk is undergoing maintenance

type DiskStateState

type DiskStateState string

DiskStateState is the type definition for a DiskStateState.

const DiskStateStateAttached DiskStateState = "attached"

DiskStateStateAttached represents the DiskStateState `"attached"`.

const DiskStateStateAttaching DiskStateState = "attaching"

DiskStateStateAttaching represents the DiskStateState `"attaching"`.

const DiskStateStateCreating DiskStateState = "creating"

DiskStateStateCreating represents the DiskStateState `"creating"`.

const DiskStateStateDestroyed DiskStateState = "destroyed"

DiskStateStateDestroyed represents the DiskStateState `"destroyed"`.

const DiskStateStateDetached DiskStateState = "detached"

DiskStateStateDetached represents the DiskStateState `"detached"`.

const DiskStateStateDetaching DiskStateState = "detaching"

DiskStateStateDetaching represents the DiskStateState `"detaching"`.

const DiskStateStateFaulted DiskStateState = "faulted"

DiskStateStateFaulted represents the DiskStateState `"faulted"`.

const DiskStateStateFinalizing DiskStateState = "finalizing"

DiskStateStateFinalizing represents the DiskStateState `"finalizing"`.

const DiskStateStateImportReady DiskStateState = "import_ready"

DiskStateStateImportReady represents the DiskStateState `"import_ready"`.

const DiskStateStateImportingFromBulkWrites DiskStateState = "importing_from_bulk_writes"

DiskStateStateImportingFromBulkWrites represents the DiskStateState `"importing_from_bulk_writes"`.

const DiskStateStateImportingFromUrl DiskStateState = "importing_from_url"

DiskStateStateImportingFromUrl represents the DiskStateState `"importing_from_url"`.

const DiskStateStateMaintenance DiskStateState = "maintenance"

DiskStateStateMaintenance represents the DiskStateState `"maintenance"`.

type DiskViewParams added in v0.0.23

type DiskViewParams struct {
	Disk    NameOrId `json:"disk,omitempty" yaml:"disk,omitempty"`
	Project NameOrId `json:"project,omitempty" yaml:"project,omitempty"`
}

DiskViewParams is the request parameters for DiskView

func (*DiskViewParams) Validate added in v0.0.23

func (p *DiskViewParams) Validate() error

Validate verifies all required fields for DiskViewParams are set

type Error

type Error struct {
	ErrorCode string `json:"error_code,omitempty" yaml:"error_code,omitempty"`
	Message   string `json:"message,omitempty" yaml:"message,omitempty"`
	RequestId string `json:"request_id,omitempty" yaml:"request_id,omitempty"`
}

Error is error information from a response.

type ErrorResponse

type ErrorResponse Error

ErrorResponse is the response given when error

type ExternalIp

type ExternalIp struct {
	Ip string `json:"ip,omitempty" yaml:"ip,omitempty"`
	// Kind is the kind of an external IP address for an instance
	Kind IpKind `json:"kind,omitempty" yaml:"kind,omitempty"`
}

ExternalIp is the type definition for a ExternalIp.

type ExternalIpCreate

type ExternalIpCreate struct {
	// PoolName is the type definition for a PoolName.
	PoolName Name `json:"pool_name,omitempty" yaml:"pool_name,omitempty"`
	// Type is the type definition for a Type.
	Type ExternalIpCreateType `json:"type,omitempty" yaml:"type,omitempty"`
	// FloatingIpName is names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.
	FloatingIpName Name `json:"floating_ip_name,omitempty" yaml:"floating_ip_name,omitempty"`
}

ExternalIpCreate is parameters for creating an external IP address for instances.

type ExternalIpCreateEphemeral

type ExternalIpCreateEphemeral struct {
	PoolName Name                 `json:"pool_name,omitempty" yaml:"pool_name,omitempty"`
	Type     ExternalIpCreateType `json:"type,omitempty" yaml:"type,omitempty"`
}

ExternalIpCreateEphemeral is an IP address providing both inbound and outbound access. The address is automatically-assigned from the provided IP Pool, or all available pools if not specified.

type ExternalIpCreateFloating added in v0.0.23

type ExternalIpCreateFloating struct {
	// FloatingIpName is names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.
	FloatingIpName Name                 `json:"floating_ip_name,omitempty" yaml:"floating_ip_name,omitempty"`
	Type           ExternalIpCreateType `json:"type,omitempty" yaml:"type,omitempty"`
}

ExternalIpCreateFloating is an IP address providing both inbound and outbound access. The address is an existing Floating IP object assigned to the current project.

The floating IP must not be in use by another instance or service.

type ExternalIpCreateType

type ExternalIpCreateType string

ExternalIpCreateType is the type definition for a ExternalIpCreateType.

const ExternalIpCreateTypeEphemeral ExternalIpCreateType = "ephemeral"

ExternalIpCreateTypeEphemeral represents the ExternalIpCreateType `"ephemeral"`.

const ExternalIpCreateTypeFloating ExternalIpCreateType = "floating"

ExternalIpCreateTypeFloating represents the ExternalIpCreateType `"floating"`.

type ExternalIpResultsPage

type ExternalIpResultsPage struct {
	// Items is list of items on this page of results
	Items []ExternalIp `json:"items,omitempty" yaml:"items,omitempty"`
	// NextPage is token used to fetch the next page of results (if any)
	NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty"`
}

ExternalIpResultsPage is a single page of results

type FinalizeDisk added in v0.0.23

type FinalizeDisk struct {
	// SnapshotName is if specified a snapshot of the disk will be created with the given name during finalization. If not specified, a snapshot for the disk will _not_ be created. A snapshot can be manually created once the disk transitions into the `Detached` state.
	SnapshotName Name `json:"snapshot_name,omitempty" yaml:"snapshot_name,omitempty"`
}

FinalizeDisk is parameters for finalizing a disk

type FleetRole

type FleetRole string

FleetRole is the type definition for a FleetRole.

const FleetRoleAdmin FleetRole = "admin"

FleetRoleAdmin represents the FleetRole `"admin"`.

const FleetRoleCollaborator FleetRole = "collaborator"

FleetRoleCollaborator represents the FleetRole `"collaborator"`.

const FleetRoleViewer FleetRole = "viewer"

FleetRoleViewer represents the FleetRole `"viewer"`.

type FleetRolePolicy

type FleetRolePolicy struct {
	// RoleAssignments is roles directly assigned on this resource
	RoleAssignments []FleetRoleRoleAssignment `json:"role_assignments,omitempty" yaml:"role_assignments,omitempty"`
}

FleetRolePolicy is policy for a particular resource

Note that the Policy only describes access granted explicitly for this resource. The policies of parent resources can also cause a user to have access to this resource.

type FleetRoleRoleAssignment

type FleetRoleRoleAssignment struct {
	IdentityId string `json:"identity_id,omitempty" yaml:"identity_id,omitempty"`
	// IdentityType is describes what kind of identity is described by an id
	IdentityType IdentityType `json:"identity_type,omitempty" yaml:"identity_type,omitempty"`
	RoleName     FleetRole    `json:"role_name,omitempty" yaml:"role_name,omitempty"`
}

FleetRoleRoleAssignment is describes the assignment of a particular role on a particular resource to a particular identity (user, group, etc.)

The resource is not part of this structure. Rather, `RoleAssignment`s are put into a `Policy` and that Policy is applied to a particular resource.

type FloatingIp added in v0.0.23

type FloatingIp struct {
	// Description is human-readable free-form text about a resource
	Description string `json:"description,omitempty" yaml:"description,omitempty"`
	// Id is unique, immutable, system-controlled identifier for each resource
	Id string `json:"id,omitempty" yaml:"id,omitempty"`
	// InstanceId is the ID of the instance that this Floating IP is attached to, if it is presently in use.
	InstanceId string `json:"instance_id,omitempty" yaml:"instance_id,omitempty"`
	// Ip is the IP address held by this resource.
	Ip string `json:"ip,omitempty" yaml:"ip,omitempty"`
	// Name is unique, mutable, user-controlled identifier for each resource
	Name Name `json:"name,omitempty" yaml:"name,omitempty"`
	// ProjectId is the project this resource exists within.
	ProjectId string `json:"project_id,omitempty" yaml:"project_id,omitempty"`
	// TimeCreated is timestamp when this resource was created
	TimeCreated *time.Time `json:"time_created,omitempty" yaml:"time_created,omitempty"`
	// TimeModified is timestamp when this resource was last modified
	TimeModified *time.Time `json:"time_modified,omitempty" yaml:"time_modified,omitempty"`
}

FloatingIp is a Floating IP is a well-known IP address which can be attached and detached from instances.

type FloatingIpCreate added in v0.0.23

type FloatingIpCreate struct {
	// Address is an IP address to reserve for use as a floating IP. This field is optional: when not set, an address will be automatically chosen from `pool`. If set, then the IP must be available in the resolved `pool`.
	Address     string `json:"address,omitempty" yaml:"address,omitempty"`
	Description string `json:"description,omitempty" yaml:"description,omitempty"`
	// Name is names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.
	Name Name `json:"name,omitempty" yaml:"name,omitempty"`
	// Pool is the parent IP pool that a floating IP is pulled from. If unset, the default pool is selected.
	Pool NameOrId `json:"pool,omitempty" yaml:"pool,omitempty"`
}

FloatingIpCreate is parameters for creating a new floating IP address for instances.

type FloatingIpCreateParams added in v0.0.23

type FloatingIpCreateParams struct {
	Project NameOrId          `json:"project,omitempty" yaml:"project,omitempty"`
	Body    *FloatingIpCreate `json:"body,omitempty" yaml:"body,omitempty"`
}

FloatingIpCreateParams is the request parameters for FloatingIpCreate

func (*FloatingIpCreateParams) Validate added in v0.0.23

func (p *FloatingIpCreateParams) Validate() error

Validate verifies all required fields for FloatingIpCreateParams are set

type FloatingIpDeleteParams added in v0.0.23

type FloatingIpDeleteParams struct {
	FloatingIp NameOrId `json:"floating_ip,omitempty" yaml:"floating_ip,omitempty"`
	Project    NameOrId `json:"project,omitempty" yaml:"project,omitempty"`
}

FloatingIpDeleteParams is the request parameters for FloatingIpDelete

func (*FloatingIpDeleteParams) Validate added in v0.0.23

func (p *FloatingIpDeleteParams) Validate() error

Validate verifies all required fields for FloatingIpDeleteParams are set

type FloatingIpListParams added in v0.0.23

type FloatingIpListParams struct {
	Limit     int              `json:"limit,omitempty" yaml:"limit,omitempty"`
	PageToken string           `json:"page_token,omitempty" yaml:"page_token,omitempty"`
	Project   NameOrId         `json:"project,omitempty" yaml:"project,omitempty"`
	SortBy    NameOrIdSortMode `json:"sort_by,omitempty" yaml:"sort_by,omitempty"`
}

FloatingIpListParams is the request parameters for FloatingIpList

func (*FloatingIpListParams) Validate added in v0.0.23

func (p *FloatingIpListParams) Validate() error

Validate verifies all required fields for FloatingIpListParams are set

type FloatingIpResultsPage added in v0.0.23

type FloatingIpResultsPage struct {
	// Items is list of items on this page of results
	Items []FloatingIp `json:"items,omitempty" yaml:"items,omitempty"`
	// NextPage is token used to fetch the next page of results (if any)
	NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty"`
}

FloatingIpResultsPage is a single page of results

type FloatingIpViewParams added in v0.0.23

type FloatingIpViewParams struct {
	FloatingIp NameOrId `json:"floating_ip,omitempty" yaml:"floating_ip,omitempty"`
	Project    NameOrId `json:"project,omitempty" yaml:"project,omitempty"`
}

FloatingIpViewParams is the request parameters for FloatingIpView

func (*FloatingIpViewParams) Validate added in v0.0.23

func (p *FloatingIpViewParams) Validate() error

Validate verifies all required fields for FloatingIpViewParams are set

type Group added in v0.0.23

type Group struct {
	// DisplayName is human-readable name that can identify the group
	DisplayName string `json:"display_name,omitempty" yaml:"display_name,omitempty"`
	Id          string `json:"id,omitempty" yaml:"id,omitempty"`
	// SiloId is uuid of the silo to which this group belongs
	SiloId string `json:"silo_id,omitempty" yaml:"silo_id,omitempty"`
}

Group is view of a Group

type GroupListParams added in v0.0.23

type GroupListParams struct {
	Limit     int        `json:"limit,omitempty" yaml:"limit,omitempty"`
	PageToken string     `json:"page_token,omitempty" yaml:"page_token,omitempty"`
	SortBy    IdSortMode `json:"sort_by,omitempty" yaml:"sort_by,omitempty"`
}

GroupListParams is the request parameters for GroupList

func (*GroupListParams) Validate added in v0.0.23

func (p *GroupListParams) Validate() error

Validate verifies all required fields for GroupListParams are set

type GroupResultsPage added in v0.0.23

type GroupResultsPage struct {
	// Items is list of items on this page of results
	Items []Group `json:"items,omitempty" yaml:"items,omitempty"`
	// NextPage is token used to fetch the next page of results (if any)
	NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty"`
}

GroupResultsPage is a single page of results

type GroupViewParams added in v0.0.23

type GroupViewParams struct {
	GroupId string `json:"group_id,omitempty" yaml:"group_id,omitempty"`
}

GroupViewParams is the request parameters for GroupView

func (*GroupViewParams) Validate added in v0.0.23

func (p *GroupViewParams) Validate() error

Validate verifies all required fields for GroupViewParams are set

type HTTPError

type HTTPError struct {
	// ErrorResponse is the API's Error response type.
	ErrorResponse *ErrorResponse

	// HTTPResponse is the raw HTTP response returned by the server.
	HTTPResponse *http.Response

	// RawBody is the raw response body returned by the server.
	RawBody string
}

HTTPError is an error returned by a failed API call.

func (HTTPError) Error

func (err HTTPError) Error() string

Error converts the HTTPError type to a readable string.

type Histogramdouble

type Histogramdouble struct {
	Bins      []Bindouble `json:"bins,omitempty" yaml:"bins,omitempty"`
	NSamples  int         `json:"n_samples,omitempty" yaml:"n_samples,omitempty"`
	StartTime *time.Time  `json:"start_time,omitempty" yaml:"start_time,omitempty"`
}

Histogramdouble is histogram metric

A histogram maintains the count of any number of samples, over a set of bins. Bins are specified on construction via their _left_ edges, inclusive. There can't be any "gaps" in the bins, and an additional bin may be added to the left, right, or both so that the bins extend to the entire range of the support.

Note that any gaps, unsorted bins, or non-finite values will result in an error.

type Histogramfloat added in v0.0.23

type Histogramfloat struct {
	Bins      []Binfloat `json:"bins,omitempty" yaml:"bins,omitempty"`
	NSamples  int        `json:"n_samples,omitempty" yaml:"n_samples,omitempty"`
	StartTime *time.Time `json:"start_time,omitempty" yaml:"start_time,omitempty"`
}

Histogramfloat is histogram metric

A histogram maintains the count of any number of samples, over a set of bins. Bins are specified on construction via their _left_ edges, inclusive. There can't be any "gaps" in the bins, and an additional bin may be added to the left, right, or both so that the bins extend to the entire range of the support.

Note that any gaps, unsorted bins, or non-finite values will result in an error.

type Histogramint8 added in v0.0.23

type Histogramint8 struct {
	Bins      []Binint8  `json:"bins,omitempty" yaml:"bins,omitempty"`
	NSamples  int        `json:"n_samples,omitempty" yaml:"n_samples,omitempty"`
	StartTime *time.Time `json:"start_time,omitempty" yaml:"start_time,omitempty"`
}

Histogramint8 is histogram metric

A histogram maintains the count of any number of samples, over a set of bins. Bins are specified on construction via their _left_ edges, inclusive. There can't be any "gaps" in the bins, and an additional bin may be added to the left, right, or both so that the bins extend to the entire range of the support.

Note that any gaps, unsorted bins, or non-finite values will result in an error.

type Histogramint16 added in v0.0.23

type Histogramint16 struct {
	Bins      []Binint16 `json:"bins,omitempty" yaml:"bins,omitempty"`
	NSamples  int        `json:"n_samples,omitempty" yaml:"n_samples,omitempty"`
	StartTime *time.Time `json:"start_time,omitempty" yaml:"start_time,omitempty"`
}

Histogramint16 is histogram metric

A histogram maintains the count of any number of samples, over a set of bins. Bins are specified on construction via their _left_ edges, inclusive. There can't be any "gaps" in the bins, and an additional bin may be added to the left, right, or both so that the bins extend to the entire range of the support.

Note that any gaps, unsorted bins, or non-finite values will result in an error.

type Histogramint32 added in v0.0.23

type Histogramint32 struct {
	Bins      []Binint32 `json:"bins,omitempty" yaml:"bins,omitempty"`
	NSamples  int        `json:"n_samples,omitempty" yaml:"n_samples,omitempty"`
	StartTime *time.Time `json:"start_time,omitempty" yaml:"start_time,omitempty"`
}

Histogramint32 is histogram metric

A histogram maintains the count of any number of samples, over a set of bins. Bins are specified on construction via their _left_ edges, inclusive. There can't be any "gaps" in the bins, and an additional bin may be added to the left, right, or both so that the bins extend to the entire range of the support.

Note that any gaps, unsorted bins, or non-finite values will result in an error.

type Histogramint64

type Histogramint64 struct {
	Bins      []Binint64 `json:"bins,omitempty" yaml:"bins,omitempty"`
	NSamples  int        `json:"n_samples,omitempty" yaml:"n_samples,omitempty"`
	StartTime *time.Time `json:"start_time,omitempty" yaml:"start_time,omitempty"`
}

Histogramint64 is histogram metric

A histogram maintains the count of any number of samples, over a set of bins. Bins are specified on construction via their _left_ edges, inclusive. There can't be any "gaps" in the bins, and an additional bin may be added to the left, right, or both so that the bins extend to the entire range of the support.

Note that any gaps, unsorted bins, or non-finite values will result in an error.

type Histogramuint8 added in v0.0.23

type Histogramuint8 struct {
	Bins      []Binuint8 `json:"bins,omitempty" yaml:"bins,omitempty"`
	NSamples  int        `json:"n_samples,omitempty" yaml:"n_samples,omitempty"`
	StartTime *time.Time `json:"start_time,omitempty" yaml:"start_time,omitempty"`
}

Histogramuint8 is histogram metric

A histogram maintains the count of any number of samples, over a set of bins. Bins are specified on construction via their _left_ edges, inclusive. There can't be any "gaps" in the bins, and an additional bin may be added to the left, right, or both so that the bins extend to the entire range of the support.

Note that any gaps, unsorted bins, or non-finite values will result in an error.

type Histogramuint16 added in v0.0.23

type Histogramuint16 struct {
	Bins      []Binuint16 `json:"bins,omitempty" yaml:"bins,omitempty"`
	NSamples  int         `json:"n_samples,omitempty" yaml:"n_samples,omitempty"`
	StartTime *time.Time  `json:"start_time,omitempty" yaml:"start_time,omitempty"`
}

Histogramuint16 is histogram metric

A histogram maintains the count of any number of samples, over a set of bins. Bins are specified on construction via their _left_ edges, inclusive. There can't be any "gaps" in the bins, and an additional bin may be added to the left, right, or both so that the bins extend to the entire range of the support.

Note that any gaps, unsorted bins, or non-finite values will result in an error.

type Histogramuint32 added in v0.0.23

type Histogramuint32 struct {
	Bins      []Binuint32 `json:"bins,omitempty" yaml:"bins,omitempty"`
	NSamples  int         `json:"n_samples,omitempty" yaml:"n_samples,omitempty"`
	StartTime *time.Time  `json:"start_time,omitempty" yaml:"start_time,omitempty"`
}

Histogramuint32 is histogram metric

A histogram maintains the count of any number of samples, over a set of bins. Bins are specified on construction via their _left_ edges, inclusive. There can't be any "gaps" in the bins, and an additional bin may be added to the left, right, or both so that the bins extend to the entire range of the support.

Note that any gaps, unsorted bins, or non-finite values will result in an error.

type Histogramuint64 added in v0.0.23

type Histogramuint64 struct {
	Bins      []Binuint64 `json:"bins,omitempty" yaml:"bins,omitempty"`
	NSamples  int         `json:"n_samples,omitempty" yaml:"n_samples,omitempty"`
	StartTime *time.Time  `json:"start_time,omitempty" yaml:"start_time,omitempty"`
}

Histogramuint64 is histogram metric

A histogram maintains the count of any number of samples, over a set of bins. Bins are specified on construction via their _left_ edges, inclusive. There can't be any "gaps" in the bins, and an additional bin may be added to the left, right, or both so that the bins extend to the entire range of the support.

Note that any gaps, unsorted bins, or non-finite values will result in an error.

type IdSortMode

type IdSortMode string

IdSortMode is sort in increasing order of "id"

const IdSortModeIdAscending IdSortMode = "id_ascending"

IdSortModeIdAscending represents the IdSortMode `"id_ascending"`.

type IdentityProvider

type IdentityProvider struct {
	// Description is human-readable free-form text about a resource
	Description string `json:"description,omitempty" yaml:"description,omitempty"`
	// Id is unique, immutable, system-controlled identifier for each resource
	Id string `json:"id,omitempty" yaml:"id,omitempty"`
	// Name is unique, mutable, user-controlled identifier for each resource
	Name Name `json:"name,omitempty" yaml:"name,omitempty"`
	// ProviderType is identity provider type
	ProviderType IdentityProviderType `json:"provider_type,omitempty" yaml:"provider_type,omitempty"`
	// TimeCreated is timestamp when this resource was created
	TimeCreated *time.Time `json:"time_created,omitempty" yaml:"time_created,omitempty"`
	// TimeModified is timestamp when this resource was last modified
	TimeModified *time.Time `json:"time_modified,omitempty" yaml:"time_modified,omitempty"`
}

IdentityProvider is view of an Identity Provider

type IdentityProviderResultsPage

type IdentityProviderResultsPage struct {
	// Items is list of items on this page of results
	Items []IdentityProvider `json:"items,omitempty" yaml:"items,omitempty"`
	// NextPage is token used to fetch the next page of results (if any)
	NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty"`
}

IdentityProviderResultsPage is a single page of results

type IdentityProviderType

type IdentityProviderType string

IdentityProviderType is sAML identity provider

const IdentityProviderTypeSaml IdentityProviderType = "saml"

IdentityProviderTypeSaml represents the IdentityProviderType `"saml"`.

type IdentityType

type IdentityType string

IdentityType is describes what kind of identity is described by an id

const IdentityTypeSiloGroup IdentityType = "silo_group"

IdentityTypeSiloGroup represents the IdentityType `"silo_group"`.

const IdentityTypeSiloUser IdentityType = "silo_user"

IdentityTypeSiloUser represents the IdentityType `"silo_user"`.

type IdpMetadataSource

type IdpMetadataSource struct {
	// Type is the type definition for a Type.
	Type IdpMetadataSourceType `json:"type,omitempty" yaml:"type,omitempty"`
	// Url is the type definition for a Url.
	Url string `json:"url,omitempty" yaml:"url,omitempty"`
	// Data is the type definition for a Data.
	Data string `json:"data,omitempty" yaml:"data,omitempty"`
}

IdpMetadataSource is the type definition for a IdpMetadataSource.

type IdpMetadataSourceBase64EncodedXml

type IdpMetadataSourceBase64EncodedXml struct {
	Data string                `json:"data,omitempty" yaml:"data,omitempty"`
	Type IdpMetadataSourceType `json:"type,omitempty" yaml:"type,omitempty"`
}

IdpMetadataSourceBase64EncodedXml is the type definition for a IdpMetadataSourceBase64EncodedXml.

type IdpMetadataSourceType

type IdpMetadataSourceType string

IdpMetadataSourceType is the type definition for a IdpMetadataSourceType.

const IdpMetadataSourceTypeBase64EncodedXml IdpMetadataSourceType = "base64_encoded_xml"

IdpMetadataSourceTypeBase64EncodedXml represents the IdpMetadataSourceType `"base64_encoded_xml"`.

const IdpMetadataSourceTypeUrl IdpMetadataSourceType = "url"

IdpMetadataSourceTypeUrl represents the IdpMetadataSourceType `"url"`.

type IdpMetadataSourceUrl

type IdpMetadataSourceUrl struct {
	Type IdpMetadataSourceType `json:"type,omitempty" yaml:"type,omitempty"`
	Url  string                `json:"url,omitempty" yaml:"url,omitempty"`
}

IdpMetadataSourceUrl is the type definition for a IdpMetadataSourceUrl.

type Image

type Image struct {
	// BlockSize is size of blocks in bytes
	BlockSize ByteCount `json:"block_size,omitempty" yaml:"block_size,omitempty"`
	// Description is human-readable free-form text about a resource
	Description string `json:"description,omitempty" yaml:"description,omitempty"`
	// Digest is hash of the image contents, if applicable
	Digest Digest `json:"digest,omitempty" yaml:"digest,omitempty"`
	// Id is unique, immutable, system-controlled identifier for each resource
	Id string `json:"id,omitempty" yaml:"id,omitempty"`
	// Name is unique, mutable, user-controlled identifier for each resource
	Name Name `json:"name,omitempty" yaml:"name,omitempty"`
	// Os is the family of the operating system like Debian, Ubuntu, etc.
	Os string `json:"os,omitempty" yaml:"os,omitempty"`
	// ProjectId is iD of the parent project if the image is a project image
	ProjectId string `json:"project_id,omitempty" yaml:"project_id,omitempty"`
	// Size is total size in bytes
	Size ByteCount `json:"size,omitempty" yaml:"size,omitempty"`
	// TimeCreated is timestamp when this resource was created
	TimeCreated *time.Time `json:"time_created,omitempty" yaml:"time_created,omitempty"`
	// TimeModified is timestamp when this resource was last modified
	TimeModified *time.Time `json:"time_modified,omitempty" yaml:"time_modified,omitempty"`
	// Version is version of the operating system
	Version string `json:"version,omitempty" yaml:"version,omitempty"`
}

Image is view of an image

If `project_id` is present then the image is only visible inside that project. If it's not present then the image is visible to all projects in the silo.

type ImageCreate

type ImageCreate struct {
	Description string `json:"description,omitempty" yaml:"description,omitempty"`
	// Name is names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.
	Name Name `json:"name,omitempty" yaml:"name,omitempty"`
	// Os is the family of the operating system (e.g. Debian, Ubuntu, etc.)
	Os string `json:"os,omitempty" yaml:"os,omitempty"`
	// Source is the source of the image's contents.
	Source ImageSource `json:"source,omitempty" yaml:"source,omitempty"`
	// Version is the version of the operating system (e.g. 18.04, 20.04, etc.)
	Version string `json:"version,omitempty" yaml:"version,omitempty"`
}

ImageCreate is create-time parameters for an `Image`

type ImageCreateParams added in v0.0.23

type ImageCreateParams struct {
	Project NameOrId     `json:"project,omitempty" yaml:"project,omitempty"`
	Body    *ImageCreate `json:"body,omitempty" yaml:"body,omitempty"`
}

ImageCreateParams is the request parameters for ImageCreate

func (*ImageCreateParams) Validate added in v0.0.23

func (p *ImageCreateParams) Validate() error

Validate verifies all required fields for ImageCreateParams are set

type ImageDeleteParams added in v0.0.23

type ImageDeleteParams struct {
	Image   NameOrId `json:"image,omitempty" yaml:"image,omitempty"`
	Project NameOrId `json:"project,omitempty" yaml:"project,omitempty"`
}

ImageDeleteParams is the request parameters for ImageDelete

func (*ImageDeleteParams) Validate added in v0.0.23

func (p *ImageDeleteParams) Validate() error

Validate verifies all required fields for ImageDeleteParams are set

type ImageDemoteParams added in v0.0.23

type ImageDemoteParams struct {
	Image   NameOrId `json:"image,omitempty" yaml:"image,omitempty"`
	Project NameOrId `json:"project,omitempty" yaml:"project,omitempty"`
}

ImageDemoteParams is the request parameters for ImageDemote

func (*ImageDemoteParams) Validate added in v0.0.23

func (p *ImageDemoteParams) Validate() error

Validate verifies all required fields for ImageDemoteParams are set

type ImageListParams added in v0.0.23

type ImageListParams struct {
	Limit     int              `json:"limit,omitempty" yaml:"limit,omitempty"`
	PageToken string           `json:"page_token,omitempty" yaml:"page_token,omitempty"`
	Project   NameOrId         `json:"project,omitempty" yaml:"project,omitempty"`
	SortBy    NameOrIdSortMode `json:"sort_by,omitempty" yaml:"sort_by,omitempty"`
}

ImageListParams is the request parameters for ImageList

func (*ImageListParams) Validate added in v0.0.23

func (p *ImageListParams) Validate() error

Validate verifies all required fields for ImageListParams are set

type ImagePromoteParams added in v0.0.23

type ImagePromoteParams struct {
	Image   NameOrId `json:"image,omitempty" yaml:"image,omitempty"`
	Project NameOrId `json:"project,omitempty" yaml:"project,omitempty"`
}

ImagePromoteParams is the request parameters for ImagePromote

func (*ImagePromoteParams) Validate added in v0.0.23

func (p *ImagePromoteParams) Validate() error

Validate verifies all required fields for ImagePromoteParams are set

type ImageResultsPage

type ImageResultsPage struct {
	// Items is list of items on this page of results
	Items []Image `json:"items,omitempty" yaml:"items,omitempty"`
	// NextPage is token used to fetch the next page of results (if any)
	NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty"`
}

ImageResultsPage is a single page of results

type ImageSource

type ImageSource struct {
	// Id is the type definition for a Id.
	Id string `json:"id,omitempty" yaml:"id,omitempty"`
	// Type is the type definition for a Type.
	Type ImageSourceType `json:"type,omitempty" yaml:"type,omitempty"`
}

ImageSource is the source of the underlying image.

type ImageSourceSnapshot

type ImageSourceSnapshot struct {
	Id   string          `json:"id,omitempty" yaml:"id,omitempty"`
	Type ImageSourceType `json:"type,omitempty" yaml:"type,omitempty"`
}

ImageSourceSnapshot is the type definition for a ImageSourceSnapshot.

type ImageSourceType

type ImageSourceType string

ImageSourceType is the type definition for a ImageSourceType.

const ImageSourceTypeSnapshot ImageSourceType = "snapshot"

ImageSourceTypeSnapshot represents the ImageSourceType `"snapshot"`.

const ImageSourceTypeYouCanBootAnythingAsLongAsItsAlpine ImageSourceType = "you_can_boot_anything_as_long_as_its_alpine"

ImageSourceTypeYouCanBootAnythingAsLongAsItsAlpine represents the ImageSourceType `"you_can_boot_anything_as_long_as_its_alpine"`.

type ImageSourceYouCanBootAnythingAsLongAsItsAlpine

type ImageSourceYouCanBootAnythingAsLongAsItsAlpine struct {
	Type ImageSourceType `json:"type,omitempty" yaml:"type,omitempty"`
}

ImageSourceYouCanBootAnythingAsLongAsItsAlpine is boot the Alpine ISO that ships with the Propolis zone. Intended for development purposes only.

type ImageViewParams added in v0.0.23

type ImageViewParams struct {
	Image   NameOrId `json:"image,omitempty" yaml:"image,omitempty"`
	Project NameOrId `json:"project,omitempty" yaml:"project,omitempty"`
}

ImageViewParams is the request parameters for ImageView

func (*ImageViewParams) Validate added in v0.0.23

func (p *ImageViewParams) Validate() error

Validate verifies all required fields for ImageViewParams are set

type ImportBlocksBulkWrite added in v0.0.23

type ImportBlocksBulkWrite struct {
	Base64EncodedData string `json:"base64_encoded_data,omitempty" yaml:"base64_encoded_data,omitempty"`
	Offset            int    `json:"offset,omitempty" yaml:"offset,omitempty"`
}

ImportBlocksBulkWrite is parameters for importing blocks with a bulk write

type Instance

type Instance struct {
	// Description is human-readable free-form text about a resource
	Description string `json:"description,omitempty" yaml:"description,omitempty"`
	// Hostname is rFC1035-compliant hostname for the Instance.
	Hostname string `json:"hostname,omitempty" yaml:"hostname,omitempty"`
	// Id is unique, immutable, system-controlled identifier for each resource
	Id string `json:"id,omitempty" yaml:"id,omitempty"`
	// Memory is memory allocated for this Instance
	Memory ByteCount `json:"memory,omitempty" yaml:"memory,omitempty"`
	// Name is unique, mutable, user-controlled identifier for each resource
	Name Name `json:"name,omitempty" yaml:"name,omitempty"`
	// Ncpus is number of CPUs allocated for this Instance
	Ncpus InstanceCpuCount `json:"ncpus,omitempty" yaml:"ncpus,omitempty"`
	// ProjectId is id for the project containing this Instance
	ProjectId string `json:"project_id,omitempty" yaml:"project_id,omitempty"`
	// RunState is running state of an Instance (primarily: booted or stopped)
	//
	// This typically reflects whether it's starting, running, stopping, or stopped, but also includes states related to the Instance's lifecycle
	RunState InstanceState `json:"run_state,omitempty" yaml:"run_state,omitempty"`
	// TimeCreated is timestamp when this resource was created
	TimeCreated *time.Time `json:"time_created,omitempty" yaml:"time_created,omitempty"`
	// TimeModified is timestamp when this resource was last modified
	TimeModified        *time.Time `json:"time_modified,omitempty" yaml:"time_modified,omitempty"`
	TimeRunStateUpdated *time.Time `json:"time_run_state_updated,omitempty" yaml:"time_run_state_updated,omitempty"`
}

Instance is view of an Instance

type InstanceCpuCount

type InstanceCpuCount uint16

InstanceCpuCount is the number of CPUs in an Instance

type InstanceCreate

type InstanceCreate struct {
	Description string `json:"description,omitempty" yaml:"description,omitempty"`
	// Disks is the disks to be created or attached for this instance.
	Disks []InstanceDiskAttachment `json:"disks,omitempty" yaml:"disks,omitempty"`
	// ExternalIps is the external IP addresses provided to this instance.
	//
	// By default, all instances have outbound connectivity, but no inbound connectivity. These external addresses can be used to provide a fixed, known IP address for making inbound connections to the instance.
	ExternalIps []ExternalIpCreate `json:"external_ips,omitempty" yaml:"external_ips,omitempty"`
	Hostname    string             `json:"hostname,omitempty" yaml:"hostname,omitempty"`
	// Memory is byte count to express memory or storage capacity.
	Memory ByteCount `json:"memory,omitempty" yaml:"memory,omitempty"`
	// Name is names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.
	Name Name `json:"name,omitempty" yaml:"name,omitempty"`
	// Ncpus is the number of CPUs in an Instance
	Ncpus InstanceCpuCount `json:"ncpus,omitempty" yaml:"ncpus,omitempty"`
	// NetworkInterfaces is the network interfaces to be created for this instance.
	NetworkInterfaces InstanceNetworkInterfaceAttachment `json:"network_interfaces,omitempty" yaml:"network_interfaces,omitempty"`
	// Start is should this instance be started upon creation; true by default.
	Start *bool `json:"start,omitempty" yaml:"start,omitempty"`
	// UserData is user data for instance initialization systems (such as cloud-init). Must be a Base64-encoded string, as specified in RFC 4648 § 4 (+ and / characters with padding). Maximum 32 KiB unencoded data.
	UserData string `json:"user_data,omitempty" yaml:"user_data,omitempty"`
}

InstanceCreate is create-time parameters for an `Instance`

type InstanceCreateParams added in v0.0.23

type InstanceCreateParams struct {
	Project NameOrId        `json:"project,omitempty" yaml:"project,omitempty"`
	Body    *InstanceCreate `json:"body,omitempty" yaml:"body,omitempty"`
}

InstanceCreateParams is the request parameters for InstanceCreate

func (*InstanceCreateParams) Validate added in v0.0.23

func (p *InstanceCreateParams) Validate() error

Validate verifies all required fields for InstanceCreateParams are set

type InstanceDeleteParams added in v0.0.23

type InstanceDeleteParams struct {
	Project  NameOrId `json:"project,omitempty" yaml:"project,omitempty"`
	Instance NameOrId `json:"instance,omitempty" yaml:"instance,omitempty"`
}

InstanceDeleteParams is the request parameters for InstanceDelete

func (*InstanceDeleteParams) Validate added in v0.0.23

func (p *InstanceDeleteParams) Validate() error

Validate verifies all required fields for InstanceDeleteParams are set

type InstanceDiskAttachParams added in v0.0.23

type InstanceDiskAttachParams struct {
	Instance NameOrId  `json:"instance,omitempty" yaml:"instance,omitempty"`
	Project  NameOrId  `json:"project,omitempty" yaml:"project,omitempty"`
	Body     *DiskPath `json:"body,omitempty" yaml:"body,omitempty"`
}

InstanceDiskAttachParams is the request parameters for InstanceDiskAttach

func (*InstanceDiskAttachParams) Validate added in v0.0.23

func (p *InstanceDiskAttachParams) Validate() error

Validate verifies all required fields for InstanceDiskAttachParams are set

type InstanceDiskAttachment

type InstanceDiskAttachment struct {
	// Description is the type definition for a Description.
	Description string `json:"description,omitempty" yaml:"description,omitempty"`
	// DiskSource is initial source for this disk
	DiskSource DiskSource `json:"disk_source,omitempty" yaml:"disk_source,omitempty"`
	// Name is names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.
	Name Name `json:"name,omitempty" yaml:"name,omitempty"`
	// Size is total size of the Disk in bytes
	Size ByteCount `json:"size,omitempty" yaml:"size,omitempty"`
	// Type is the type definition for a Type.
	Type InstanceDiskAttachmentType `json:"type,omitempty" yaml:"type,omitempty"`
}

InstanceDiskAttachment is describe the instance's disks at creation time

type InstanceDiskAttachmentAttach

type InstanceDiskAttachmentAttach struct {
	// Name is a disk name to attach
	Name Name                       `json:"name,omitempty" yaml:"name,omitempty"`
	Type InstanceDiskAttachmentType `json:"type,omitempty" yaml:"type,omitempty"`
}

InstanceDiskAttachmentAttach is during instance creation, attach this disk

type InstanceDiskAttachmentCreate

type InstanceDiskAttachmentCreate struct {
	Description string `json:"description,omitempty" yaml:"description,omitempty"`
	// DiskSource is initial source for this disk
	DiskSource DiskSource `json:"disk_source,omitempty" yaml:"disk_source,omitempty"`
	// Name is names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.
	Name Name `json:"name,omitempty" yaml:"name,omitempty"`
	// Size is total size of the Disk in bytes
	Size ByteCount                  `json:"size,omitempty" yaml:"size,omitempty"`
	Type InstanceDiskAttachmentType `json:"type,omitempty" yaml:"type,omitempty"`
}

InstanceDiskAttachmentCreate is during instance creation, create and attach disks

type InstanceDiskAttachmentType

type InstanceDiskAttachmentType string

InstanceDiskAttachmentType is the type definition for a InstanceDiskAttachmentType.

const InstanceDiskAttachmentTypeAttach InstanceDiskAttachmentType = "attach"

InstanceDiskAttachmentTypeAttach represents the InstanceDiskAttachmentType `"attach"`.

const InstanceDiskAttachmentTypeCreate InstanceDiskAttachmentType = "create"

InstanceDiskAttachmentTypeCreate represents the InstanceDiskAttachmentType `"create"`.

type InstanceDiskDetachParams added in v0.0.23

type InstanceDiskDetachParams struct {
	Instance NameOrId  `json:"instance,omitempty" yaml:"instance,omitempty"`
	Project  NameOrId  `json:"project,omitempty" yaml:"project,omitempty"`
	Body     *DiskPath `json:"body,omitempty" yaml:"body,omitempty"`
}

InstanceDiskDetachParams is the request parameters for InstanceDiskDetach

func (*InstanceDiskDetachParams) Validate added in v0.0.23

func (p *InstanceDiskDetachParams) Validate() error

Validate verifies all required fields for InstanceDiskDetachParams are set

type InstanceDiskListParams added in v0.0.23

type InstanceDiskListParams struct {
	Limit     int              `json:"limit,omitempty" yaml:"limit,omitempty"`
	PageToken string           `json:"page_token,omitempty" yaml:"page_token,omitempty"`
	Project   NameOrId         `json:"project,omitempty" yaml:"project,omitempty"`
	SortBy    NameOrIdSortMode `json:"sort_by,omitempty" yaml:"sort_by,omitempty"`
	Instance  NameOrId         `json:"instance,omitempty" yaml:"instance,omitempty"`
}

InstanceDiskListParams is the request parameters for InstanceDiskList

func (*InstanceDiskListParams) Validate added in v0.0.23

func (p *InstanceDiskListParams) Validate() error

Validate verifies all required fields for InstanceDiskListParams are set

type InstanceExternalIpListParams added in v0.0.23

type InstanceExternalIpListParams struct {
	Project  NameOrId `json:"project,omitempty" yaml:"project,omitempty"`
	Instance NameOrId `json:"instance,omitempty" yaml:"instance,omitempty"`
}

InstanceExternalIpListParams is the request parameters for InstanceExternalIpList

func (*InstanceExternalIpListParams) Validate added in v0.0.23

func (p *InstanceExternalIpListParams) Validate() error

Validate verifies all required fields for InstanceExternalIpListParams are set

type InstanceListParams added in v0.0.23

type InstanceListParams struct {
	Limit     int              `json:"limit,omitempty" yaml:"limit,omitempty"`
	PageToken string           `json:"page_token,omitempty" yaml:"page_token,omitempty"`
	Project   NameOrId         `json:"project,omitempty" yaml:"project,omitempty"`
	SortBy    NameOrIdSortMode `json:"sort_by,omitempty" yaml:"sort_by,omitempty"`
}

InstanceListParams is the request parameters for InstanceList

func (*InstanceListParams) Validate added in v0.0.23

func (p *InstanceListParams) Validate() error

Validate verifies all required fields for InstanceListParams are set

type InstanceMigrate

type InstanceMigrate struct {
	DstSledId string `json:"dst_sled_id,omitempty" yaml:"dst_sled_id,omitempty"`
}

InstanceMigrate is migration parameters for an `Instance`

type InstanceMigrateParams added in v0.0.23

type InstanceMigrateParams struct {
	Project  NameOrId         `json:"project,omitempty" yaml:"project,omitempty"`
	Instance NameOrId         `json:"instance,omitempty" yaml:"instance,omitempty"`
	Body     *InstanceMigrate `json:"body,omitempty" yaml:"body,omitempty"`
}

InstanceMigrateParams is the request parameters for InstanceMigrate

func (*InstanceMigrateParams) Validate added in v0.0.23

func (p *InstanceMigrateParams) Validate() error

Validate verifies all required fields for InstanceMigrateParams are set

type InstanceNetworkInterface added in v0.0.23

type InstanceNetworkInterface struct {
	// Description is human-readable free-form text about a resource
	Description string `json:"description,omitempty" yaml:"description,omitempty"`
	// Id is unique, immutable, system-controlled identifier for each resource
	Id string `json:"id,omitempty" yaml:"id,omitempty"`
	// InstanceId is the Instance to which the interface belongs.
	InstanceId string `json:"instance_id,omitempty" yaml:"instance_id,omitempty"`
	// Ip is the IP address assigned to this interface.
	Ip string `json:"ip,omitempty" yaml:"ip,omitempty"`
	// Mac is the MAC address assigned to this interface.
	Mac MacAddr `json:"mac,omitempty" yaml:"mac,omitempty"`
	// Name is unique, mutable, user-controlled identifier for each resource
	Name Name `json:"name,omitempty" yaml:"name,omitempty"`
	// Primary is true if this interface is the primary for the instance to which it's attached.
	Primary *bool `json:"primary,omitempty" yaml:"primary,omitempty"`
	// SubnetId is the subnet to which the interface belongs.
	SubnetId string `json:"subnet_id,omitempty" yaml:"subnet_id,omitempty"`
	// TimeCreated is timestamp when this resource was created
	TimeCreated *time.Time `json:"time_created,omitempty" yaml:"time_created,omitempty"`
	// TimeModified is timestamp when this resource was last modified
	TimeModified *time.Time `json:"time_modified,omitempty" yaml:"time_modified,omitempty"`
	// VpcId is the VPC to which the interface belongs.
	VpcId string `json:"vpc_id,omitempty" yaml:"vpc_id,omitempty"`
}

InstanceNetworkInterface is an `InstanceNetworkInterface` represents a virtual network interface device attached to an instance.

type InstanceNetworkInterfaceAttachment

type InstanceNetworkInterfaceAttachment struct {
	// Params is the type definition for a Params.
	Params []InstanceNetworkInterfaceCreate `json:"params,omitempty" yaml:"params,omitempty"`
	// Type is the type definition for a Type.
	Type InstanceNetworkInterfaceAttachmentType `json:"type,omitempty" yaml:"type,omitempty"`
}

InstanceNetworkInterfaceAttachment is describes an attachment of an `InstanceNetworkInterface` to an `Instance`, at the time the instance is created.

type InstanceNetworkInterfaceAttachmentCreate

type InstanceNetworkInterfaceAttachmentCreate struct {
	Params []InstanceNetworkInterfaceCreate       `json:"params,omitempty" yaml:"params,omitempty"`
	Type   InstanceNetworkInterfaceAttachmentType `json:"type,omitempty" yaml:"type,omitempty"`
}

InstanceNetworkInterfaceAttachmentCreate is create one or more `InstanceNetworkInterface`s for the `Instance`.

If more than one interface is provided, then the first will be designated the primary interface for the instance.

type InstanceNetworkInterfaceAttachmentDefault

type InstanceNetworkInterfaceAttachmentDefault struct {
	Type InstanceNetworkInterfaceAttachmentType `json:"type,omitempty" yaml:"type,omitempty"`
}

InstanceNetworkInterfaceAttachmentDefault is the default networking configuration for an instance is to create a single primary interface with an automatically-assigned IP address. The IP will be pulled from the Project's default VPC / VPC Subnet.

type InstanceNetworkInterfaceAttachmentNone

type InstanceNetworkInterfaceAttachmentNone struct {
	Type InstanceNetworkInterfaceAttachmentType `json:"type,omitempty" yaml:"type,omitempty"`
}

InstanceNetworkInterfaceAttachmentNone is no network interfaces at all will be created for the instance.

type InstanceNetworkInterfaceAttachmentType

type InstanceNetworkInterfaceAttachmentType string

InstanceNetworkInterfaceAttachmentType is the type definition for a InstanceNetworkInterfaceAttachmentType.

const InstanceNetworkInterfaceAttachmentTypeCreate InstanceNetworkInterfaceAttachmentType = "create"

InstanceNetworkInterfaceAttachmentTypeCreate represents the InstanceNetworkInterfaceAttachmentType `"create"`.

const InstanceNetworkInterfaceAttachmentTypeDefault InstanceNetworkInterfaceAttachmentType = "default"

InstanceNetworkInterfaceAttachmentTypeDefault represents the InstanceNetworkInterfaceAttachmentType `"default"`.

const InstanceNetworkInterfaceAttachmentTypeNone InstanceNetworkInterfaceAttachmentType = "none"

InstanceNetworkInterfaceAttachmentTypeNone represents the InstanceNetworkInterfaceAttachmentType `"none"`.

type InstanceNetworkInterfaceCreate added in v0.0.23

type InstanceNetworkInterfaceCreate struct {
	Description string `json:"description,omitempty" yaml:"description,omitempty"`
	// Ip is the IP address for the interface. One will be auto-assigned if not provided.
	Ip string `json:"ip,omitempty" yaml:"ip,omitempty"`
	// Name is names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.
	Name Name `json:"name,omitempty" yaml:"name,omitempty"`
	// SubnetName is the VPC Subnet in which to create the interface.
	SubnetName Name `json:"subnet_name,omitempty" yaml:"subnet_name,omitempty"`
	// VpcName is the VPC in which to create the interface.
	VpcName Name `json:"vpc_name,omitempty" yaml:"vpc_name,omitempty"`
}

InstanceNetworkInterfaceCreate is create-time parameters for an `InstanceNetworkInterface`

type InstanceNetworkInterfaceCreateParams added in v0.0.23

type InstanceNetworkInterfaceCreateParams struct {
	Instance NameOrId                        `json:"instance,omitempty" yaml:"instance,omitempty"`
	Project  NameOrId                        `json:"project,omitempty" yaml:"project,omitempty"`
	Body     *InstanceNetworkInterfaceCreate `json:"body,omitempty" yaml:"body,omitempty"`
}

InstanceNetworkInterfaceCreateParams is the request parameters for InstanceNetworkInterfaceCreate

func (*InstanceNetworkInterfaceCreateParams) Validate added in v0.0.23

Validate verifies all required fields for InstanceNetworkInterfaceCreateParams are set

type InstanceNetworkInterfaceDeleteParams added in v0.0.23

type InstanceNetworkInterfaceDeleteParams struct {
	Interface NameOrId `json:"interface,omitempty" yaml:"interface,omitempty"`
	Instance  NameOrId `json:"instance,omitempty" yaml:"instance,omitempty"`
	Project   NameOrId `json:"project,omitempty" yaml:"project,omitempty"`
}

InstanceNetworkInterfaceDeleteParams is the request parameters for InstanceNetworkInterfaceDelete

func (*InstanceNetworkInterfaceDeleteParams) Validate added in v0.0.23

Validate verifies all required fields for InstanceNetworkInterfaceDeleteParams are set

type InstanceNetworkInterfaceListParams added in v0.0.23

type InstanceNetworkInterfaceListParams struct {
	Instance  NameOrId         `json:"instance,omitempty" yaml:"instance,omitempty"`
	Limit     int              `json:"limit,omitempty" yaml:"limit,omitempty"`
	PageToken string           `json:"page_token,omitempty" yaml:"page_token,omitempty"`
	Project   NameOrId         `json:"project,omitempty" yaml:"project,omitempty"`
	SortBy    NameOrIdSortMode `json:"sort_by,omitempty" yaml:"sort_by,omitempty"`
}

InstanceNetworkInterfaceListParams is the request parameters for InstanceNetworkInterfaceList

func (*InstanceNetworkInterfaceListParams) Validate added in v0.0.23

Validate verifies all required fields for InstanceNetworkInterfaceListParams are set

type InstanceNetworkInterfaceResultsPage added in v0.0.23

type InstanceNetworkInterfaceResultsPage struct {
	// Items is list of items on this page of results
	Items []InstanceNetworkInterface `json:"items,omitempty" yaml:"items,omitempty"`
	// NextPage is token used to fetch the next page of results (if any)
	NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty"`
}

InstanceNetworkInterfaceResultsPage is a single page of results

type InstanceNetworkInterfaceUpdate added in v0.0.23

type InstanceNetworkInterfaceUpdate struct {
	Description string `json:"description,omitempty" yaml:"description,omitempty"`
	Name        Name   `json:"name,omitempty" yaml:"name,omitempty"`
	// Primary is make a secondary interface the instance's primary interface.
	//
	// If applied to a secondary interface, that interface will become the primary on the next reboot of the instance. Note that this may have implications for routing between instances, as the new primary interface will be on a distinct subnet from the previous primary interface.
	//
	// Note that this can only be used to select a new primary interface for an instance. Requests to change the primary interface into a secondary will return an error.
	Primary *bool `json:"primary,omitempty" yaml:"primary,omitempty"`
}

InstanceNetworkInterfaceUpdate is parameters for updating an `InstanceNetworkInterface`

Note that modifying IP addresses for an interface is not yet supported, a new interface must be created instead.

type InstanceNetworkInterfaceUpdateParams added in v0.0.23

type InstanceNetworkInterfaceUpdateParams struct {
	Interface NameOrId                        `json:"interface,omitempty" yaml:"interface,omitempty"`
	Instance  NameOrId                        `json:"instance,omitempty" yaml:"instance,omitempty"`
	Project   NameOrId                        `json:"project,omitempty" yaml:"project,omitempty"`
	Body      *InstanceNetworkInterfaceUpdate `json:"body,omitempty" yaml:"body,omitempty"`
}

InstanceNetworkInterfaceUpdateParams is the request parameters for InstanceNetworkInterfaceUpdate

func (*InstanceNetworkInterfaceUpdateParams) Validate added in v0.0.23

Validate verifies all required fields for InstanceNetworkInterfaceUpdateParams are set

type InstanceNetworkInterfaceViewParams added in v0.0.23

type InstanceNetworkInterfaceViewParams struct {
	Interface NameOrId `json:"interface,omitempty" yaml:"interface,omitempty"`
	Instance  NameOrId `json:"instance,omitempty" yaml:"instance,omitempty"`
	Project   NameOrId `json:"project,omitempty" yaml:"project,omitempty"`
}

InstanceNetworkInterfaceViewParams is the request parameters for InstanceNetworkInterfaceView

func (*InstanceNetworkInterfaceViewParams) Validate added in v0.0.23

Validate verifies all required fields for InstanceNetworkInterfaceViewParams are set

type InstanceRebootParams added in v0.0.23

type InstanceRebootParams struct {
	Project  NameOrId `json:"project,omitempty" yaml:"project,omitempty"`
	Instance NameOrId `json:"instance,omitempty" yaml:"instance,omitempty"`
}

InstanceRebootParams is the request parameters for InstanceReboot

func (*InstanceRebootParams) Validate added in v0.0.23

func (p *InstanceRebootParams) Validate() error

Validate verifies all required fields for InstanceRebootParams are set

type InstanceResultsPage

type InstanceResultsPage struct {
	// Items is list of items on this page of results
	Items []Instance `json:"items,omitempty" yaml:"items,omitempty"`
	// NextPage is token used to fetch the next page of results (if any)
	NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty"`
}

InstanceResultsPage is a single page of results

type InstanceSerialConsoleData

type InstanceSerialConsoleData struct {
	// Data is the bytes starting from the requested offset up to either the end of the buffer or the request's `max_bytes`. Provided as a u8 array rather than a string, as it may not be UTF-8.
	Data []string `json:"data,omitempty" yaml:"data,omitempty"`
	// LastByteOffset is the absolute offset since boot (suitable for use as `byte_offset` in a subsequent request) of the last byte returned in `data`.
	LastByteOffset int `json:"last_byte_offset,omitempty" yaml:"last_byte_offset,omitempty"`
}

InstanceSerialConsoleData is contents of an Instance's serial console buffer.

type InstanceSerialConsoleParams added in v0.0.23

type InstanceSerialConsoleParams struct {
	Instance   NameOrId `json:"instance,omitempty" yaml:"instance,omitempty"`
	FromStart  int      `json:"from_start,omitempty" yaml:"from_start,omitempty"`
	MaxBytes   int      `json:"max_bytes,omitempty" yaml:"max_bytes,omitempty"`
	MostRecent int      `json:"most_recent,omitempty" yaml:"most_recent,omitempty"`
	Project    NameOrId `json:"project,omitempty" yaml:"project,omitempty"`
}

InstanceSerialConsoleParams is the request parameters for InstanceSerialConsole

func (*InstanceSerialConsoleParams) Validate added in v0.0.23

func (p *InstanceSerialConsoleParams) Validate() error

Validate verifies all required fields for InstanceSerialConsoleParams are set

type InstanceSerialConsoleStreamParams added in v0.0.23

type InstanceSerialConsoleStreamParams struct {
	Instance   NameOrId `json:"instance,omitempty" yaml:"instance,omitempty"`
	MostRecent int      `json:"most_recent,omitempty" yaml:"most_recent,omitempty"`
	Project    NameOrId `json:"project,omitempty" yaml:"project,omitempty"`
}

InstanceSerialConsoleStreamParams is the request parameters for InstanceSerialConsoleStream

func (*InstanceSerialConsoleStreamParams) Validate added in v0.0.23

Validate verifies all required fields for InstanceSerialConsoleStreamParams are set

type InstanceStartParams added in v0.0.23

type InstanceStartParams struct {
	Project  NameOrId `json:"project,omitempty" yaml:"project,omitempty"`
	Instance NameOrId `json:"instance,omitempty" yaml:"instance,omitempty"`
}

InstanceStartParams is the request parameters for InstanceStart

func (*InstanceStartParams) Validate added in v0.0.23

func (p *InstanceStartParams) Validate() error

Validate verifies all required fields for InstanceStartParams are set

type InstanceState

type InstanceState string

InstanceState is the instance is being created.

const InstanceStateCreating InstanceState = "creating"

InstanceStateCreating represents the InstanceState `"creating"`.

const InstanceStateDestroyed InstanceState = "destroyed"

InstanceStateDestroyed represents the InstanceState `"destroyed"`.

const InstanceStateFailed InstanceState = "failed"

InstanceStateFailed represents the InstanceState `"failed"`.

const InstanceStateMigrating InstanceState = "migrating"

InstanceStateMigrating represents the InstanceState `"migrating"`.

const InstanceStateRebooting InstanceState = "rebooting"

InstanceStateRebooting represents the InstanceState `"rebooting"`.

const InstanceStateRepairing InstanceState = "repairing"

InstanceStateRepairing represents the InstanceState `"repairing"`.

const InstanceStateRunning InstanceState = "running"

InstanceStateRunning represents the InstanceState `"running"`.

const InstanceStateStarting InstanceState = "starting"

InstanceStateStarting represents the InstanceState `"starting"`.

const InstanceStateStopped InstanceState = "stopped"

InstanceStateStopped represents the InstanceState `"stopped"`.

const InstanceStateStopping InstanceState = "stopping"

InstanceStateStopping represents the InstanceState `"stopping"`.

type InstanceStopParams added in v0.0.23

type InstanceStopParams struct {
	Project  NameOrId `json:"project,omitempty" yaml:"project,omitempty"`
	Instance NameOrId `json:"instance,omitempty" yaml:"instance,omitempty"`
}

InstanceStopParams is the request parameters for InstanceStop

func (*InstanceStopParams) Validate added in v0.0.23

func (p *InstanceStopParams) Validate() error

Validate verifies all required fields for InstanceStopParams are set

type InstanceViewParams added in v0.0.23

type InstanceViewParams struct {
	Project  NameOrId `json:"project,omitempty" yaml:"project,omitempty"`
	Instance NameOrId `json:"instance,omitempty" yaml:"instance,omitempty"`
}

InstanceViewParams is the request parameters for InstanceView

func (*InstanceViewParams) Validate added in v0.0.23

func (p *InstanceViewParams) Validate() error

Validate verifies all required fields for InstanceViewParams are set

type IpKind

type IpKind string

IpKind is the kind of an external IP address for an instance

const IpKindEphemeral IpKind = "ephemeral"

IpKindEphemeral represents the IpKind `"ephemeral"`.

const IpKindFloating IpKind = "floating"

IpKindFloating represents the IpKind `"floating"`.

type IpNet

type IpNet interface{}

IpNet is the type definition for a IpNet.

type IpPool

type IpPool struct {
	// Description is human-readable free-form text about a resource
	Description string `json:"description,omitempty" yaml:"description,omitempty"`
	// Id is unique, immutable, system-controlled identifier for each resource
	Id        string `json:"id,omitempty" yaml:"id,omitempty"`
	IsDefault *bool  `json:"is_default,omitempty" yaml:"is_default,omitempty"`
	// Name is unique, mutable, user-controlled identifier for each resource
	Name   Name   `json:"name,omitempty" yaml:"name,omitempty"`
	SiloId string `json:"silo_id,omitempty" yaml:"silo_id,omitempty"`
	// TimeCreated is timestamp when this resource was created
	TimeCreated *time.Time `json:"time_created,omitempty" yaml:"time_created,omitempty"`
	// TimeModified is timestamp when this resource was last modified
	TimeModified *time.Time `json:"time_modified,omitempty" yaml:"time_modified,omitempty"`
}

IpPool is identity-related metadata that's included in nearly all public API objects

type IpPoolCreate

type IpPoolCreate struct {
	Description string `json:"description,omitempty" yaml:"description,omitempty"`
	// IsDefault is whether the IP pool is considered a default pool for its scope (fleet or silo). If a pool is marked default and is associated with a silo, instances created in that silo will draw IPs from that pool unless another pool is specified at instance create time.
	IsDefault *bool `json:"is_default,omitempty" yaml:"is_default,omitempty"`
	// Name is names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.
	Name Name `json:"name,omitempty" yaml:"name,omitempty"`
	// Silo is if an IP pool is associated with a silo, instance IP allocations in that silo can draw from that pool.
	Silo NameOrId `json:"silo,omitempty" yaml:"silo,omitempty"`
}

IpPoolCreate is create-time parameters for an `IpPool`

type IpPoolCreateParams added in v0.0.23

type IpPoolCreateParams struct {
	Body *IpPoolCreate `json:"body,omitempty" yaml:"body,omitempty"`
}

IpPoolCreateParams is the request parameters for IpPoolCreate

func (*IpPoolCreateParams) Validate added in v0.0.23

func (p *IpPoolCreateParams) Validate() error

Validate verifies all required fields for IpPoolCreateParams are set

type IpPoolDeleteParams added in v0.0.23

type IpPoolDeleteParams struct {
	Pool NameOrId `json:"pool,omitempty" yaml:"pool,omitempty"`
}

IpPoolDeleteParams is the request parameters for IpPoolDelete

func (*IpPoolDeleteParams) Validate added in v0.0.23

func (p *IpPoolDeleteParams) Validate() error

Validate verifies all required fields for IpPoolDeleteParams are set

type IpPoolListParams added in v0.0.23

type IpPoolListParams struct {
	Limit     int              `json:"limit,omitempty" yaml:"limit,omitempty"`
	PageToken string           `json:"page_token,omitempty" yaml:"page_token,omitempty"`
	SortBy    NameOrIdSortMode `json:"sort_by,omitempty" yaml:"sort_by,omitempty"`
}

IpPoolListParams is the request parameters for IpPoolList

func (*IpPoolListParams) Validate added in v0.0.23

func (p *IpPoolListParams) Validate() error

Validate verifies all required fields for IpPoolListParams are set

type IpPoolRange

type IpPoolRange struct {
	Id          string     `json:"id,omitempty" yaml:"id,omitempty"`
	IpPoolId    string     `json:"ip_pool_id,omitempty" yaml:"ip_pool_id,omitempty"`
	Range       IpRange    `json:"range,omitempty" yaml:"range,omitempty"`
	TimeCreated *time.Time `json:"time_created,omitempty" yaml:"time_created,omitempty"`
}

IpPoolRange is the type definition for a IpPoolRange.

type IpPoolRangeAddParams added in v0.0.23

type IpPoolRangeAddParams struct {
	Pool NameOrId `json:"pool,omitempty" yaml:"pool,omitempty"`
	Body *IpRange `json:"body,omitempty" yaml:"body,omitempty"`
}

IpPoolRangeAddParams is the request parameters for IpPoolRangeAdd

func (*IpPoolRangeAddParams) Validate added in v0.0.23

func (p *IpPoolRangeAddParams) Validate() error

Validate verifies all required fields for IpPoolRangeAddParams are set

type IpPoolRangeListParams added in v0.0.23

type IpPoolRangeListParams struct {
	Pool      NameOrId `json:"pool,omitempty" yaml:"pool,omitempty"`
	Limit     int      `json:"limit,omitempty" yaml:"limit,omitempty"`
	PageToken string   `json:"page_token,omitempty" yaml:"page_token,omitempty"`
}

IpPoolRangeListParams is the request parameters for IpPoolRangeList

func (*IpPoolRangeListParams) Validate added in v0.0.23

func (p *IpPoolRangeListParams) Validate() error

Validate verifies all required fields for IpPoolRangeListParams are set

type IpPoolRangeRemoveParams added in v0.0.23

type IpPoolRangeRemoveParams struct {
	Pool NameOrId `json:"pool,omitempty" yaml:"pool,omitempty"`
	Body *IpRange `json:"body,omitempty" yaml:"body,omitempty"`
}

IpPoolRangeRemoveParams is the request parameters for IpPoolRangeRemove

func (*IpPoolRangeRemoveParams) Validate added in v0.0.23

func (p *IpPoolRangeRemoveParams) Validate() error

Validate verifies all required fields for IpPoolRangeRemoveParams are set

type IpPoolRangeResultsPage

type IpPoolRangeResultsPage struct {
	// Items is list of items on this page of results
	Items []IpPoolRange `json:"items,omitempty" yaml:"items,omitempty"`
	// NextPage is token used to fetch the next page of results (if any)
	NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty"`
}

IpPoolRangeResultsPage is a single page of results

type IpPoolResultsPage

type IpPoolResultsPage struct {
	// Items is list of items on this page of results
	Items []IpPool `json:"items,omitempty" yaml:"items,omitempty"`
	// NextPage is token used to fetch the next page of results (if any)
	NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty"`
}

IpPoolResultsPage is a single page of results

type IpPoolServiceRangeAddParams added in v0.0.23

type IpPoolServiceRangeAddParams struct {
	Body *IpRange `json:"body,omitempty" yaml:"body,omitempty"`
}

IpPoolServiceRangeAddParams is the request parameters for IpPoolServiceRangeAdd

func (*IpPoolServiceRangeAddParams) Validate added in v0.0.23

func (p *IpPoolServiceRangeAddParams) Validate() error

Validate verifies all required fields for IpPoolServiceRangeAddParams are set

type IpPoolServiceRangeListParams added in v0.0.23

type IpPoolServiceRangeListParams struct {
	Limit     int    `json:"limit,omitempty" yaml:"limit,omitempty"`
	PageToken string `json:"page_token,omitempty" yaml:"page_token,omitempty"`
}

IpPoolServiceRangeListParams is the request parameters for IpPoolServiceRangeList

func (*IpPoolServiceRangeListParams) Validate added in v0.0.23

func (p *IpPoolServiceRangeListParams) Validate() error

Validate verifies all required fields for IpPoolServiceRangeListParams are set

type IpPoolServiceRangeRemoveParams added in v0.0.23

type IpPoolServiceRangeRemoveParams struct {
	Body *IpRange `json:"body,omitempty" yaml:"body,omitempty"`
}

IpPoolServiceRangeRemoveParams is the request parameters for IpPoolServiceRangeRemove

func (*IpPoolServiceRangeRemoveParams) Validate added in v0.0.23

func (p *IpPoolServiceRangeRemoveParams) Validate() error

Validate verifies all required fields for IpPoolServiceRangeRemoveParams are set

type IpPoolUpdate

type IpPoolUpdate struct {
	Description string `json:"description,omitempty" yaml:"description,omitempty"`
	Name        Name   `json:"name,omitempty" yaml:"name,omitempty"`
}

IpPoolUpdate is parameters for updating an IP Pool

type IpPoolUpdateParams added in v0.0.23

type IpPoolUpdateParams struct {
	Pool NameOrId      `json:"pool,omitempty" yaml:"pool,omitempty"`
	Body *IpPoolUpdate `json:"body,omitempty" yaml:"body,omitempty"`
}

IpPoolUpdateParams is the request parameters for IpPoolUpdate

func (*IpPoolUpdateParams) Validate added in v0.0.23

func (p *IpPoolUpdateParams) Validate() error

Validate verifies all required fields for IpPoolUpdateParams are set

type IpPoolViewParams added in v0.0.23

type IpPoolViewParams struct {
	Pool NameOrId `json:"pool,omitempty" yaml:"pool,omitempty"`
}

IpPoolViewParams is the request parameters for IpPoolView

func (*IpPoolViewParams) Validate added in v0.0.23

func (p *IpPoolViewParams) Validate() error

Validate verifies all required fields for IpPoolViewParams are set

type IpRange

type IpRange interface{}

IpRange is the type definition for a IpRange.

type Ipv4Net

type Ipv4Net string

Ipv4Net is an IPv4 subnet, including prefix and subnet mask

type Ipv4Range

type Ipv4Range struct {
	First string `json:"first,omitempty" yaml:"first,omitempty"`
	Last  string `json:"last,omitempty" yaml:"last,omitempty"`
}

Ipv4Range is a non-decreasing IPv4 address range, inclusive of both ends.

The first address must be less than or equal to the last address.

type Ipv6Net

type Ipv6Net string

Ipv6Net is an IPv6 subnet, including prefix and subnet mask

type Ipv6Range

type Ipv6Range struct {
	First string `json:"first,omitempty" yaml:"first,omitempty"`
	Last  string `json:"last,omitempty" yaml:"last,omitempty"`
}

Ipv6Range is a non-decreasing IPv6 address range, inclusive of both ends.

The first address must be less than or equal to the last address.

type L4PortRange

type L4PortRange string

L4PortRange is an inclusive-inclusive range of IP ports. The second port may be omitted to represent a single port

type LinkConfig added in v0.0.23

type LinkConfig struct {
	// Autoneg is whether or not to set autonegotiation
	Autoneg *bool `json:"autoneg,omitempty" yaml:"autoneg,omitempty"`
	// Fec is the forward error correction mode of the link.
	Fec LinkFec `json:"fec,omitempty" yaml:"fec,omitempty"`
	// Lldp is the link-layer discovery protocol (LLDP) configuration for the link.
	Lldp LldpServiceConfig `json:"lldp,omitempty" yaml:"lldp,omitempty"`
	// Mtu is maximum transmission unit for the link.
	Mtu int `json:"mtu,omitempty" yaml:"mtu,omitempty"`
	// Speed is the speed of the link.
	Speed LinkSpeed `json:"speed,omitempty" yaml:"speed,omitempty"`
}

LinkConfig is switch link configuration.

type LinkFec added in v0.0.23

type LinkFec string

LinkFec is firecode foward error correction.

const LinkFecFirecode LinkFec = "firecode"

LinkFecFirecode represents the LinkFec `"firecode"`.

const LinkFecNone LinkFec = "none"

LinkFecNone represents the LinkFec `"none"`.

const LinkFecRs LinkFec = "rs"

LinkFecRs represents the LinkFec `"rs"`.

type LinkSpeed added in v0.0.23

type LinkSpeed string

LinkSpeed is zero gigabits per second.

const LinkSpeedSpeed0G LinkSpeed = "speed0_g"

LinkSpeedSpeed0G represents the LinkSpeed `"speed0_g"`.

const LinkSpeedSpeed100G LinkSpeed = "speed100_g"

LinkSpeedSpeed100G represents the LinkSpeed `"speed100_g"`.

const LinkSpeedSpeed10G LinkSpeed = "speed10_g"

LinkSpeedSpeed10G represents the LinkSpeed `"speed10_g"`.

const LinkSpeedSpeed1G LinkSpeed = "speed1_g"

LinkSpeedSpeed1G represents the LinkSpeed `"speed1_g"`.

const LinkSpeedSpeed200G LinkSpeed = "speed200_g"

LinkSpeedSpeed200G represents the LinkSpeed `"speed200_g"`.

const LinkSpeedSpeed25G LinkSpeed = "speed25_g"

LinkSpeedSpeed25G represents the LinkSpeed `"speed25_g"`.

const LinkSpeedSpeed400G LinkSpeed = "speed400_g"

LinkSpeedSpeed400G represents the LinkSpeed `"speed400_g"`.

const LinkSpeedSpeed40G LinkSpeed = "speed40_g"

LinkSpeedSpeed40G represents the LinkSpeed `"speed40_g"`.

const LinkSpeedSpeed50G LinkSpeed = "speed50_g"

LinkSpeedSpeed50G represents the LinkSpeed `"speed50_g"`.

type LldpServiceConfig added in v0.0.23

type LldpServiceConfig struct {
	// Enabled is whether or not LLDP is enabled.
	Enabled *bool `json:"enabled,omitempty" yaml:"enabled,omitempty"`
	// LldpConfig is a reference to the LLDP configuration used. Must not be `None` when `enabled` is `true`.
	LldpConfig NameOrId `json:"lldp_config,omitempty" yaml:"lldp_config,omitempty"`
}

LldpServiceConfig is the LLDP configuration associated with a port. LLDP may be either enabled or disabled, if enabled, an LLDP configuration must be provided by name or id.

type LocalIdpUserCreateParams added in v0.0.23

type LocalIdpUserCreateParams struct {
	Silo NameOrId    `json:"silo,omitempty" yaml:"silo,omitempty"`
	Body *UserCreate `json:"body,omitempty" yaml:"body,omitempty"`
}

LocalIdpUserCreateParams is the request parameters for LocalIdpUserCreate

func (*LocalIdpUserCreateParams) Validate added in v0.0.23

func (p *LocalIdpUserCreateParams) Validate() error

Validate verifies all required fields for LocalIdpUserCreateParams are set

type LocalIdpUserDeleteParams added in v0.0.23

type LocalIdpUserDeleteParams struct {
	UserId string   `json:"user_id,omitempty" yaml:"user_id,omitempty"`
	Silo   NameOrId `json:"silo,omitempty" yaml:"silo,omitempty"`
}

LocalIdpUserDeleteParams is the request parameters for LocalIdpUserDelete

func (*LocalIdpUserDeleteParams) Validate added in v0.0.23

func (p *LocalIdpUserDeleteParams) Validate() error

Validate verifies all required fields for LocalIdpUserDeleteParams are set

type LocalIdpUserSetPasswordParams added in v0.0.23

type LocalIdpUserSetPasswordParams struct {
	UserId string        `json:"user_id,omitempty" yaml:"user_id,omitempty"`
	Silo   NameOrId      `json:"silo,omitempty" yaml:"silo,omitempty"`
	Body   *UserPassword `json:"body,omitempty" yaml:"body,omitempty"`
}

LocalIdpUserSetPasswordParams is the request parameters for LocalIdpUserSetPassword

func (*LocalIdpUserSetPasswordParams) Validate added in v0.0.23

func (p *LocalIdpUserSetPasswordParams) Validate() error

Validate verifies all required fields for LocalIdpUserSetPasswordParams are set

type LoginLocalParams added in v0.0.23

type LoginLocalParams struct {
	SiloName Name                         `json:"silo_name,omitempty" yaml:"silo_name,omitempty"`
	Body     *UsernamePasswordCredentials `json:"body,omitempty" yaml:"body,omitempty"`
}

LoginLocalParams is the request parameters for LoginLocal

func (*LoginLocalParams) Validate added in v0.0.23

func (p *LoginLocalParams) Validate() error

Validate verifies all required fields for LoginLocalParams are set

type LoginSamlParams added in v0.0.23

type LoginSamlParams struct {
	ProviderName Name      `json:"provider_name,omitempty" yaml:"provider_name,omitempty"`
	SiloName     Name      `json:"silo_name,omitempty" yaml:"silo_name,omitempty"`
	Body         io.Reader `json:"body,omitempty" yaml:"body,omitempty"`
}

LoginSamlParams is the request parameters for LoginSaml

func (*LoginSamlParams) Validate added in v0.0.23

func (p *LoginSamlParams) Validate() error

Validate verifies all required fields for LoginSamlParams are set

type LoopbackAddress added in v0.0.23

type LoopbackAddress struct {
	// Address is the loopback IP address and prefix length.
	Address IpNet `json:"address,omitempty" yaml:"address,omitempty"`
	// AddressLotBlockId is the address lot block this address came from.
	AddressLotBlockId string `json:"address_lot_block_id,omitempty" yaml:"address_lot_block_id,omitempty"`
	// Id is the id of the loopback address.
	Id string `json:"id,omitempty" yaml:"id,omitempty"`
	// RackId is the id of the rack where this loopback address is assigned.
	RackId string `json:"rack_id,omitempty" yaml:"rack_id,omitempty"`
	// SwitchLocation is switch location where this loopback address is assigned.
	SwitchLocation string `json:"switch_location,omitempty" yaml:"switch_location,omitempty"`
}

LoopbackAddress is a loopback address is an address that is assigned to a rack switch but is not associated with any particular port.

type LoopbackAddressCreate added in v0.0.23

type LoopbackAddressCreate struct {
	// Address is the address to create.
	Address string `json:"address,omitempty" yaml:"address,omitempty"`
	// AddressLot is the name or id of the address lot this loopback address will pull an address from.
	AddressLot NameOrId `json:"address_lot,omitempty" yaml:"address_lot,omitempty"`
	// Anycast is address is an anycast address. This allows the address to be assigned to multiple locations simultaneously.
	Anycast *bool `json:"anycast,omitempty" yaml:"anycast,omitempty"`
	// Mask is the subnet mask to use for the address.
	Mask int `json:"mask,omitempty" yaml:"mask,omitempty"`
	// RackId is the containing the switch this loopback address will be configured on.
	RackId string `json:"rack_id,omitempty" yaml:"rack_id,omitempty"`
	// SwitchLocation is the location of the switch within the rack this loopback address will be configured on.
	SwitchLocation Name `json:"switch_location,omitempty" yaml:"switch_location,omitempty"`
}

LoopbackAddressCreate is parameters for creating a loopback address on a particular rack switch.

type LoopbackAddressResultsPage added in v0.0.23

type LoopbackAddressResultsPage struct {
	// Items is list of items on this page of results
	Items []LoopbackAddress `json:"items,omitempty" yaml:"items,omitempty"`
	// NextPage is token used to fetch the next page of results (if any)
	NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty"`
}

LoopbackAddressResultsPage is a single page of results

type MacAddr

type MacAddr string

MacAddr is a Media Access Control address, in EUI-48 format

type Measurement

type Measurement struct {
	// Datum is a `Datum` is a single sampled data point from a metric.
	Datum     Datum      `json:"datum,omitempty" yaml:"datum,omitempty"`
	Timestamp *time.Time `json:"timestamp,omitempty" yaml:"timestamp,omitempty"`
}

Measurement is a `Measurement` is a timestamped datum from a single metric

type MeasurementResultsPage

type MeasurementResultsPage struct {
	// Items is list of items on this page of results
	Items []Measurement `json:"items,omitempty" yaml:"items,omitempty"`
	// NextPage is token used to fetch the next page of results (if any)
	NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty"`
}

MeasurementResultsPage is a single page of results

type MissingDatum added in v0.0.23

type MissingDatum struct {
	// DatumType is the type of an individual datum of a metric.
	DatumType DatumType  `json:"datum_type,omitempty" yaml:"datum_type,omitempty"`
	StartTime *time.Time `json:"start_time,omitempty" yaml:"start_time,omitempty"`
}

MissingDatum is the type definition for a MissingDatum.

type Name

type Name string

Name is names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.

type NameOrId added in v0.0.23

type NameOrId string

NameOrId is the type definition for a NameOrId.

type NameOrIdSortMode

type NameOrIdSortMode string

NameOrIdSortMode is sort in increasing order of "name"

const NameOrIdSortModeIdAscending NameOrIdSortMode = "id_ascending"

NameOrIdSortModeIdAscending represents the NameOrIdSortMode `"id_ascending"`.

const NameOrIdSortModeNameAscending NameOrIdSortMode = "name_ascending"

NameOrIdSortModeNameAscending represents the NameOrIdSortMode `"name_ascending"`.

const NameOrIdSortModeNameDescending NameOrIdSortMode = "name_descending"

NameOrIdSortModeNameDescending represents the NameOrIdSortMode `"name_descending"`.

type NameSortMode

type NameSortMode string

NameSortMode is sort in increasing order of "name"

const NameSortModeNameAscending NameSortMode = "name_ascending"

NameSortModeNameAscending represents the NameSortMode `"name_ascending"`.

type NetworkingAddressLotBlockListParams added in v0.0.23

type NetworkingAddressLotBlockListParams struct {
	AddressLot NameOrId   `json:"address_lot,omitempty" yaml:"address_lot,omitempty"`
	Limit      int        `json:"limit,omitempty" yaml:"limit,omitempty"`
	PageToken  string     `json:"page_token,omitempty" yaml:"page_token,omitempty"`
	SortBy     IdSortMode `json:"sort_by,omitempty" yaml:"sort_by,omitempty"`
}

NetworkingAddressLotBlockListParams is the request parameters for NetworkingAddressLotBlockList

func (*NetworkingAddressLotBlockListParams) Validate added in v0.0.23

Validate verifies all required fields for NetworkingAddressLotBlockListParams are set

type NetworkingAddressLotCreateParams added in v0.0.23

type NetworkingAddressLotCreateParams struct {
	Body *AddressLotCreate `json:"body,omitempty" yaml:"body,omitempty"`
}

NetworkingAddressLotCreateParams is the request parameters for NetworkingAddressLotCreate

func (*NetworkingAddressLotCreateParams) Validate added in v0.0.23

Validate verifies all required fields for NetworkingAddressLotCreateParams are set

type NetworkingAddressLotDeleteParams added in v0.0.23

type NetworkingAddressLotDeleteParams struct {
	AddressLot NameOrId `json:"address_lot,omitempty" yaml:"address_lot,omitempty"`
}

NetworkingAddressLotDeleteParams is the request parameters for NetworkingAddressLotDelete

func (*NetworkingAddressLotDeleteParams) Validate added in v0.0.23

Validate verifies all required fields for NetworkingAddressLotDeleteParams are set

type NetworkingAddressLotListParams added in v0.0.23

type NetworkingAddressLotListParams struct {
	Limit     int              `json:"limit,omitempty" yaml:"limit,omitempty"`
	PageToken string           `json:"page_token,omitempty" yaml:"page_token,omitempty"`
	SortBy    NameOrIdSortMode `json:"sort_by,omitempty" yaml:"sort_by,omitempty"`
}

NetworkingAddressLotListParams is the request parameters for NetworkingAddressLotList

func (*NetworkingAddressLotListParams) Validate added in v0.0.23

func (p *NetworkingAddressLotListParams) Validate() error

Validate verifies all required fields for NetworkingAddressLotListParams are set

type NetworkingBgpAnnounceSetCreateParams added in v0.0.23

type NetworkingBgpAnnounceSetCreateParams struct {
	Body *BgpAnnounceSetCreate `json:"body,omitempty" yaml:"body,omitempty"`
}

NetworkingBgpAnnounceSetCreateParams is the request parameters for NetworkingBgpAnnounceSetCreate

func (*NetworkingBgpAnnounceSetCreateParams) Validate added in v0.0.23

Validate verifies all required fields for NetworkingBgpAnnounceSetCreateParams are set

type NetworkingBgpAnnounceSetDeleteParams added in v0.0.23

type NetworkingBgpAnnounceSetDeleteParams struct {
	NameOrId NameOrId `json:"name_or_id,omitempty" yaml:"name_or_id,omitempty"`
}

NetworkingBgpAnnounceSetDeleteParams is the request parameters for NetworkingBgpAnnounceSetDelete

func (*NetworkingBgpAnnounceSetDeleteParams) Validate added in v0.0.23

Validate verifies all required fields for NetworkingBgpAnnounceSetDeleteParams are set

type NetworkingBgpAnnounceSetListParams added in v0.0.23

type NetworkingBgpAnnounceSetListParams struct {
	NameOrId NameOrId `json:"name_or_id,omitempty" yaml:"name_or_id,omitempty"`
}

NetworkingBgpAnnounceSetListParams is the request parameters for NetworkingBgpAnnounceSetList

func (*NetworkingBgpAnnounceSetListParams) Validate added in v0.0.23

Validate verifies all required fields for NetworkingBgpAnnounceSetListParams are set

type NetworkingBgpConfigCreateParams added in v0.0.23

type NetworkingBgpConfigCreateParams struct {
	Body *BgpConfigCreate `json:"body,omitempty" yaml:"body,omitempty"`
}

NetworkingBgpConfigCreateParams is the request parameters for NetworkingBgpConfigCreate

func (*NetworkingBgpConfigCreateParams) Validate added in v0.0.23

func (p *NetworkingBgpConfigCreateParams) Validate() error

Validate verifies all required fields for NetworkingBgpConfigCreateParams are set

type NetworkingBgpConfigDeleteParams added in v0.0.23

type NetworkingBgpConfigDeleteParams struct {
	NameOrId NameOrId `json:"name_or_id,omitempty" yaml:"name_or_id,omitempty"`
}

NetworkingBgpConfigDeleteParams is the request parameters for NetworkingBgpConfigDelete

func (*NetworkingBgpConfigDeleteParams) Validate added in v0.0.23

func (p *NetworkingBgpConfigDeleteParams) Validate() error

Validate verifies all required fields for NetworkingBgpConfigDeleteParams are set

type NetworkingBgpConfigListParams added in v0.0.23

type NetworkingBgpConfigListParams struct {
	Limit     int              `json:"limit,omitempty" yaml:"limit,omitempty"`
	NameOrId  NameOrId         `json:"name_or_id,omitempty" yaml:"name_or_id,omitempty"`
	PageToken string           `json:"page_token,omitempty" yaml:"page_token,omitempty"`
	SortBy    NameOrIdSortMode `json:"sort_by,omitempty" yaml:"sort_by,omitempty"`
}

NetworkingBgpConfigListParams is the request parameters for NetworkingBgpConfigList

func (*NetworkingBgpConfigListParams) Validate added in v0.0.23

func (p *NetworkingBgpConfigListParams) Validate() error

Validate verifies all required fields for NetworkingBgpConfigListParams are set

type NetworkingBgpImportedRoutesIpv4Params added in v0.0.23

type NetworkingBgpImportedRoutesIpv4Params struct {
	Asn int `json:"asn,omitempty" yaml:"asn,omitempty"`
}

NetworkingBgpImportedRoutesIpv4Params is the request parameters for NetworkingBgpImportedRoutesIpv4

func (*NetworkingBgpImportedRoutesIpv4Params) Validate added in v0.0.23

Validate verifies all required fields for NetworkingBgpImportedRoutesIpv4Params are set

type NetworkingLoopbackAddressCreateParams added in v0.0.23

type NetworkingLoopbackAddressCreateParams struct {
	Body *LoopbackAddressCreate `json:"body,omitempty" yaml:"body,omitempty"`
}

NetworkingLoopbackAddressCreateParams is the request parameters for NetworkingLoopbackAddressCreate

func (*NetworkingLoopbackAddressCreateParams) Validate added in v0.0.23

Validate verifies all required fields for NetworkingLoopbackAddressCreateParams are set

type NetworkingLoopbackAddressDeleteParams added in v0.0.23

type NetworkingLoopbackAddressDeleteParams struct {
	Address        string `json:"address,omitempty" yaml:"address,omitempty"`
	RackId         string `json:"rack_id,omitempty" yaml:"rack_id,omitempty"`
	SubnetMask     int    `json:"subnet_mask,omitempty" yaml:"subnet_mask,omitempty"`
	SwitchLocation Name   `json:"switch_location,omitempty" yaml:"switch_location,omitempty"`
}

NetworkingLoopbackAddressDeleteParams is the request parameters for NetworkingLoopbackAddressDelete

func (*NetworkingLoopbackAddressDeleteParams) Validate added in v0.0.23

Validate verifies all required fields for NetworkingLoopbackAddressDeleteParams are set

type NetworkingLoopbackAddressListParams added in v0.0.23

type NetworkingLoopbackAddressListParams struct {
	Limit     int        `json:"limit,omitempty" yaml:"limit,omitempty"`
	PageToken string     `json:"page_token,omitempty" yaml:"page_token,omitempty"`
	SortBy    IdSortMode `json:"sort_by,omitempty" yaml:"sort_by,omitempty"`
}

NetworkingLoopbackAddressListParams is the request parameters for NetworkingLoopbackAddressList

func (*NetworkingLoopbackAddressListParams) Validate added in v0.0.23

Validate verifies all required fields for NetworkingLoopbackAddressListParams are set

type NetworkingSwitchPortApplySettingsParams added in v0.0.23

type NetworkingSwitchPortApplySettingsParams struct {
	Port           Name                     `json:"port,omitempty" yaml:"port,omitempty"`
	RackId         string                   `json:"rack_id,omitempty" yaml:"rack_id,omitempty"`
	SwitchLocation Name                     `json:"switch_location,omitempty" yaml:"switch_location,omitempty"`
	Body           *SwitchPortApplySettings `json:"body,omitempty" yaml:"body,omitempty"`
}

NetworkingSwitchPortApplySettingsParams is the request parameters for NetworkingSwitchPortApplySettings

func (*NetworkingSwitchPortApplySettingsParams) Validate added in v0.0.23

Validate verifies all required fields for NetworkingSwitchPortApplySettingsParams are set

type NetworkingSwitchPortClearSettingsParams added in v0.0.23

type NetworkingSwitchPortClearSettingsParams struct {
	Port           Name   `json:"port,omitempty" yaml:"port,omitempty"`
	RackId         string `json:"rack_id,omitempty" yaml:"rack_id,omitempty"`
	SwitchLocation Name   `json:"switch_location,omitempty" yaml:"switch_location,omitempty"`
}

NetworkingSwitchPortClearSettingsParams is the request parameters for NetworkingSwitchPortClearSettings

func (*NetworkingSwitchPortClearSettingsParams) Validate added in v0.0.23

Validate verifies all required fields for NetworkingSwitchPortClearSettingsParams are set

type NetworkingSwitchPortListParams added in v0.0.23

type NetworkingSwitchPortListParams struct {
	Limit        int        `json:"limit,omitempty" yaml:"limit,omitempty"`
	PageToken    string     `json:"page_token,omitempty" yaml:"page_token,omitempty"`
	SortBy       IdSortMode `json:"sort_by,omitempty" yaml:"sort_by,omitempty"`
	SwitchPortId string     `json:"switch_port_id,omitempty" yaml:"switch_port_id,omitempty"`
}

NetworkingSwitchPortListParams is the request parameters for NetworkingSwitchPortList

func (*NetworkingSwitchPortListParams) Validate added in v0.0.23

func (p *NetworkingSwitchPortListParams) Validate() error

Validate verifies all required fields for NetworkingSwitchPortListParams are set

type NetworkingSwitchPortSettingsCreateParams added in v0.0.23

type NetworkingSwitchPortSettingsCreateParams struct {
	Body *SwitchPortSettingsCreate `json:"body,omitempty" yaml:"body,omitempty"`
}

NetworkingSwitchPortSettingsCreateParams is the request parameters for NetworkingSwitchPortSettingsCreate

func (*NetworkingSwitchPortSettingsCreateParams) Validate added in v0.0.23

Validate verifies all required fields for NetworkingSwitchPortSettingsCreateParams are set

type NetworkingSwitchPortSettingsDeleteParams added in v0.0.23

type NetworkingSwitchPortSettingsDeleteParams struct {
	PortSettings NameOrId `json:"port_settings,omitempty" yaml:"port_settings,omitempty"`
}

NetworkingSwitchPortSettingsDeleteParams is the request parameters for NetworkingSwitchPortSettingsDelete

func (*NetworkingSwitchPortSettingsDeleteParams) Validate added in v0.0.23

Validate verifies all required fields for NetworkingSwitchPortSettingsDeleteParams are set

type NetworkingSwitchPortSettingsListParams added in v0.0.23

type NetworkingSwitchPortSettingsListParams struct {
	Limit        int              `json:"limit,omitempty" yaml:"limit,omitempty"`
	PageToken    string           `json:"page_token,omitempty" yaml:"page_token,omitempty"`
	PortSettings NameOrId         `json:"port_settings,omitempty" yaml:"port_settings,omitempty"`
	SortBy       NameOrIdSortMode `json:"sort_by,omitempty" yaml:"sort_by,omitempty"`
}

NetworkingSwitchPortSettingsListParams is the request parameters for NetworkingSwitchPortSettingsList

func (*NetworkingSwitchPortSettingsListParams) Validate added in v0.0.23

Validate verifies all required fields for NetworkingSwitchPortSettingsListParams are set

type NetworkingSwitchPortSettingsViewParams added in v0.0.23

type NetworkingSwitchPortSettingsViewParams struct {
	Port NameOrId `json:"port,omitempty" yaml:"port,omitempty"`
}

NetworkingSwitchPortSettingsViewParams is the request parameters for NetworkingSwitchPortSettingsView

func (*NetworkingSwitchPortSettingsViewParams) Validate added in v0.0.23

Validate verifies all required fields for NetworkingSwitchPortSettingsViewParams are set

type PaginationOrder added in v0.0.23

type PaginationOrder string

PaginationOrder is the order in which the client wants to page through the requested collection

const PaginationOrderAscending PaginationOrder = "ascending"

PaginationOrderAscending represents the PaginationOrder `"ascending"`.

const PaginationOrderDescending PaginationOrder = "descending"

PaginationOrderDescending represents the PaginationOrder `"descending"`.

type Password added in v0.0.23

type Password string

Password is passwords may be subject to additional constraints.

type PhysicalDisk added in v0.0.23

type PhysicalDisk struct {
	// FormFactor is describes the form factor of physical disks.
	FormFactor PhysicalDiskKind `json:"form_factor,omitempty" yaml:"form_factor,omitempty"`
	// Id is unique, immutable, system-controlled identifier for each resource
	Id     string `json:"id,omitempty" yaml:"id,omitempty"`
	Model  string `json:"model,omitempty" yaml:"model,omitempty"`
	Serial string `json:"serial,omitempty" yaml:"serial,omitempty"`
	// SledId is the sled to which this disk is attached, if any.
	SledId string `json:"sled_id,omitempty" yaml:"sled_id,omitempty"`
	// TimeCreated is timestamp when this resource was created
	TimeCreated *time.Time `json:"time_created,omitempty" yaml:"time_created,omitempty"`
	// TimeModified is timestamp when this resource was last modified
	TimeModified *time.Time `json:"time_modified,omitempty" yaml:"time_modified,omitempty"`
	Vendor       string     `json:"vendor,omitempty" yaml:"vendor,omitempty"`
}

PhysicalDisk is view of a Physical Disk

Physical disks reside in a particular sled and are used to store both Instance Disk data as well as internal metadata.

type PhysicalDiskKind added in v0.0.23

type PhysicalDiskKind string

PhysicalDiskKind is describes the form factor of physical disks.

const PhysicalDiskKindM2 PhysicalDiskKind = "m2"

PhysicalDiskKindM2 represents the PhysicalDiskKind `"m2"`.

const PhysicalDiskKindU2 PhysicalDiskKind = "u2"

PhysicalDiskKindU2 represents the PhysicalDiskKind `"u2"`.

type PhysicalDiskListParams added in v0.0.23

type PhysicalDiskListParams struct {
	Limit     int        `json:"limit,omitempty" yaml:"limit,omitempty"`
	PageToken string     `json:"page_token,omitempty" yaml:"page_token,omitempty"`
	SortBy    IdSortMode `json:"sort_by,omitempty" yaml:"sort_by,omitempty"`
}

PhysicalDiskListParams is the request parameters for PhysicalDiskList

func (*PhysicalDiskListParams) Validate added in v0.0.23

func (p *PhysicalDiskListParams) Validate() error

Validate verifies all required fields for PhysicalDiskListParams are set

type PhysicalDiskResultsPage added in v0.0.23

type PhysicalDiskResultsPage struct {
	// Items is list of items on this page of results
	Items []PhysicalDisk `json:"items,omitempty" yaml:"items,omitempty"`
	// NextPage is token used to fetch the next page of results (if any)
	NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty"`
}

PhysicalDiskResultsPage is a single page of results

type Ping added in v0.0.23

type Ping struct {
	// Status is whether the external API is reachable. Will always be Ok if the endpoint returns anything at all.
	Status PingStatus `json:"status,omitempty" yaml:"status,omitempty"`
}

Ping is the type definition for a Ping.

type PingStatus added in v0.0.23

type PingStatus string

PingStatus is the type definition for a PingStatus.

const PingStatusOk PingStatus = "ok"

PingStatusOk represents the PingStatus `"ok"`.

type PolicyUpdateParams added in v0.0.23

type PolicyUpdateParams struct {
	Body *SiloRolePolicy `json:"body,omitempty" yaml:"body,omitempty"`
}

PolicyUpdateParams is the request parameters for PolicyUpdate

func (*PolicyUpdateParams) Validate added in v0.0.23

func (p *PolicyUpdateParams) Validate() error

Validate verifies all required fields for PolicyUpdateParams are set

type Project

type Project struct {
	// Description is human-readable free-form text about a resource
	Description string `json:"description,omitempty" yaml:"description,omitempty"`
	// Id is unique, immutable, system-controlled identifier for each resource
	Id string `json:"id,omitempty" yaml:"id,omitempty"`
	// Name is unique, mutable, user-controlled identifier for each resource
	Name Name `json:"name,omitempty" yaml:"name,omitempty"`
	// TimeCreated is timestamp when this resource was created
	TimeCreated *time.Time `json:"time_created,omitempty" yaml:"time_created,omitempty"`
	// TimeModified is timestamp when this resource was last modified
	TimeModified *time.Time `json:"time_modified,omitempty" yaml:"time_modified,omitempty"`
}

Project is view of a Project

type ProjectCreate

type ProjectCreate struct {
	Description string `json:"description,omitempty" yaml:"description,omitempty"`
	// Name is names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.
	Name Name `json:"name,omitempty" yaml:"name,omitempty"`
}

ProjectCreate is create-time parameters for a `Project`

type ProjectCreateParams added in v0.0.23

type ProjectCreateParams struct {
	Body *ProjectCreate `json:"body,omitempty" yaml:"body,omitempty"`
}

ProjectCreateParams is the request parameters for ProjectCreate

func (*ProjectCreateParams) Validate added in v0.0.23

func (p *ProjectCreateParams) Validate() error

Validate verifies all required fields for ProjectCreateParams are set

type ProjectDeleteParams added in v0.0.23

type ProjectDeleteParams struct {
	Project NameOrId `json:"project,omitempty" yaml:"project,omitempty"`
}

ProjectDeleteParams is the request parameters for ProjectDelete

func (*ProjectDeleteParams) Validate added in v0.0.23

func (p *ProjectDeleteParams) Validate() error

Validate verifies all required fields for ProjectDeleteParams are set

type ProjectIpPoolListParams added in v0.0.23

type ProjectIpPoolListParams struct {
	Limit     int              `json:"limit,omitempty" yaml:"limit,omitempty"`
	PageToken string           `json:"page_token,omitempty" yaml:"page_token,omitempty"`
	Project   NameOrId         `json:"project,omitempty" yaml:"project,omitempty"`
	SortBy    NameOrIdSortMode `json:"sort_by,omitempty" yaml:"sort_by,omitempty"`
}

ProjectIpPoolListParams is the request parameters for ProjectIpPoolList

func (*ProjectIpPoolListParams) Validate added in v0.0.23

func (p *ProjectIpPoolListParams) Validate() error

Validate verifies all required fields for ProjectIpPoolListParams are set

type ProjectIpPoolViewParams added in v0.0.23

type ProjectIpPoolViewParams struct {
	Pool    NameOrId `json:"pool,omitempty" yaml:"pool,omitempty"`
	Project NameOrId `json:"project,omitempty" yaml:"project,omitempty"`
}

ProjectIpPoolViewParams is the request parameters for ProjectIpPoolView

func (*ProjectIpPoolViewParams) Validate added in v0.0.23

func (p *ProjectIpPoolViewParams) Validate() error

Validate verifies all required fields for ProjectIpPoolViewParams are set

type ProjectListParams added in v0.0.23

type ProjectListParams struct {
	Limit     int              `json:"limit,omitempty" yaml:"limit,omitempty"`
	PageToken string           `json:"page_token,omitempty" yaml:"page_token,omitempty"`
	SortBy    NameOrIdSortMode `json:"sort_by,omitempty" yaml:"sort_by,omitempty"`
}

ProjectListParams is the request parameters for ProjectList

func (*ProjectListParams) Validate added in v0.0.23

func (p *ProjectListParams) Validate() error

Validate verifies all required fields for ProjectListParams are set

type ProjectPolicyUpdateParams added in v0.0.23

type ProjectPolicyUpdateParams struct {
	Project NameOrId           `json:"project,omitempty" yaml:"project,omitempty"`
	Body    *ProjectRolePolicy `json:"body,omitempty" yaml:"body,omitempty"`
}

ProjectPolicyUpdateParams is the request parameters for ProjectPolicyUpdate

func (*ProjectPolicyUpdateParams) Validate added in v0.0.23

func (p *ProjectPolicyUpdateParams) Validate() error

Validate verifies all required fields for ProjectPolicyUpdateParams are set

type ProjectPolicyViewParams added in v0.0.23

type ProjectPolicyViewParams struct {
	Project NameOrId `json:"project,omitempty" yaml:"project,omitempty"`
}

ProjectPolicyViewParams is the request parameters for ProjectPolicyView

func (*ProjectPolicyViewParams) Validate added in v0.0.23

func (p *ProjectPolicyViewParams) Validate() error

Validate verifies all required fields for ProjectPolicyViewParams are set

type ProjectResultsPage

type ProjectResultsPage struct {
	// Items is list of items on this page of results
	Items []Project `json:"items,omitempty" yaml:"items,omitempty"`
	// NextPage is token used to fetch the next page of results (if any)
	NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty"`
}

ProjectResultsPage is a single page of results

type ProjectRole

type ProjectRole string

ProjectRole is the type definition for a ProjectRole.

const ProjectRoleAdmin ProjectRole = "admin"

ProjectRoleAdmin represents the ProjectRole `"admin"`.

const ProjectRoleCollaborator ProjectRole = "collaborator"

ProjectRoleCollaborator represents the ProjectRole `"collaborator"`.

const ProjectRoleViewer ProjectRole = "viewer"

ProjectRoleViewer represents the ProjectRole `"viewer"`.

type ProjectRolePolicy

type ProjectRolePolicy struct {
	// RoleAssignments is roles directly assigned on this resource
	RoleAssignments []ProjectRoleRoleAssignment `json:"role_assignments,omitempty" yaml:"role_assignments,omitempty"`
}

ProjectRolePolicy is policy for a particular resource

Note that the Policy only describes access granted explicitly for this resource. The policies of parent resources can also cause a user to have access to this resource.

type ProjectRoleRoleAssignment

type ProjectRoleRoleAssignment struct {
	IdentityId string `json:"identity_id,omitempty" yaml:"identity_id,omitempty"`
	// IdentityType is describes what kind of identity is described by an id
	IdentityType IdentityType `json:"identity_type,omitempty" yaml:"identity_type,omitempty"`
	RoleName     ProjectRole  `json:"role_name,omitempty" yaml:"role_name,omitempty"`
}

ProjectRoleRoleAssignment is describes the assignment of a particular role on a particular resource to a particular identity (user, group, etc.)

The resource is not part of this structure. Rather, `RoleAssignment`s are put into a `Policy` and that Policy is applied to a particular resource.

type ProjectUpdate

type ProjectUpdate struct {
	Description string `json:"description,omitempty" yaml:"description,omitempty"`
	Name        Name   `json:"name,omitempty" yaml:"name,omitempty"`
}

ProjectUpdate is updateable properties of a `Project`

type ProjectUpdateParams added in v0.0.23

type ProjectUpdateParams struct {
	Project NameOrId       `json:"project,omitempty" yaml:"project,omitempty"`
	Body    *ProjectUpdate `json:"body,omitempty" yaml:"body,omitempty"`
}

ProjectUpdateParams is the request parameters for ProjectUpdate

func (*ProjectUpdateParams) Validate added in v0.0.23

func (p *ProjectUpdateParams) Validate() error

Validate verifies all required fields for ProjectUpdateParams are set

type ProjectViewParams added in v0.0.23

type ProjectViewParams struct {
	Project NameOrId `json:"project,omitempty" yaml:"project,omitempty"`
}

ProjectViewParams is the request parameters for ProjectView

func (*ProjectViewParams) Validate added in v0.0.23

func (p *ProjectViewParams) Validate() error

Validate verifies all required fields for ProjectViewParams are set

type Rack

type Rack struct {
	// Id is unique, immutable, system-controlled identifier for each resource
	Id string `json:"id,omitempty" yaml:"id,omitempty"`
	// TimeCreated is timestamp when this resource was created
	TimeCreated *time.Time `json:"time_created,omitempty" yaml:"time_created,omitempty"`
	// TimeModified is timestamp when this resource was last modified
	TimeModified *time.Time `json:"time_modified,omitempty" yaml:"time_modified,omitempty"`
}

Rack is view of an Rack

type RackListParams added in v0.0.23

type RackListParams struct {
	Limit     int        `json:"limit,omitempty" yaml:"limit,omitempty"`
	PageToken string     `json:"page_token,omitempty" yaml:"page_token,omitempty"`
	SortBy    IdSortMode `json:"sort_by,omitempty" yaml:"sort_by,omitempty"`
}

RackListParams is the request parameters for RackList

func (*RackListParams) Validate added in v0.0.23

func (p *RackListParams) Validate() error

Validate verifies all required fields for RackListParams are set

type RackResultsPage

type RackResultsPage struct {
	// Items is list of items on this page of results
	Items []Rack `json:"items,omitempty" yaml:"items,omitempty"`
	// NextPage is token used to fetch the next page of results (if any)
	NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty"`
}

RackResultsPage is a single page of results

type RackViewParams added in v0.0.23

type RackViewParams struct {
	RackId string `json:"rack_id,omitempty" yaml:"rack_id,omitempty"`
}

RackViewParams is the request parameters for RackView

func (*RackViewParams) Validate added in v0.0.23

func (p *RackViewParams) Validate() error

Validate verifies all required fields for RackViewParams are set

type Role

type Role struct {
	Description string `json:"description,omitempty" yaml:"description,omitempty"`
	// Name is role names consist of two string components separated by dot (".").
	Name RoleName `json:"name,omitempty" yaml:"name,omitempty"`
}

Role is view of a Role

type RoleListParams added in v0.0.23

type RoleListParams struct {
	Limit     int    `json:"limit,omitempty" yaml:"limit,omitempty"`
	PageToken string `json:"page_token,omitempty" yaml:"page_token,omitempty"`
}

RoleListParams is the request parameters for RoleList

func (*RoleListParams) Validate added in v0.0.23

func (p *RoleListParams) Validate() error

Validate verifies all required fields for RoleListParams are set

type RoleName

type RoleName string

RoleName is role names consist of two string components separated by dot (".").

type RoleResultsPage

type RoleResultsPage struct {
	// Items is list of items on this page of results
	Items []Role `json:"items,omitempty" yaml:"items,omitempty"`
	// NextPage is token used to fetch the next page of results (if any)
	NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty"`
}

RoleResultsPage is a single page of results

type RoleViewParams added in v0.0.23

type RoleViewParams struct {
	RoleName string `json:"role_name,omitempty" yaml:"role_name,omitempty"`
}

RoleViewParams is the request parameters for RoleView

func (*RoleViewParams) Validate added in v0.0.23

func (p *RoleViewParams) Validate() error

Validate verifies all required fields for RoleViewParams are set

type Route added in v0.0.23

type Route struct {
	// Dst is the route destination.
	Dst IpNet `json:"dst,omitempty" yaml:"dst,omitempty"`
	// Gw is the route gateway.
	Gw string `json:"gw,omitempty" yaml:"gw,omitempty"`
	// Vid is vLAN id the gateway is reachable over.
	Vid int `json:"vid,omitempty" yaml:"vid,omitempty"`
}

Route is a route to a destination network through a gateway address.

type RouteConfig added in v0.0.23

type RouteConfig struct {
	// Routes is the set of routes assigned to a switch port.
	Routes []Route `json:"routes,omitempty" yaml:"routes,omitempty"`
}

RouteConfig is route configuration data associated with a switch port configuration.

type SamlIdentityProvider

type SamlIdentityProvider struct {
	// AcsUrl is service provider endpoint where the response will be sent
	AcsUrl string `json:"acs_url,omitempty" yaml:"acs_url,omitempty"`
	// Description is human-readable free-form text about a resource
	Description string `json:"description,omitempty" yaml:"description,omitempty"`
	// GroupAttributeName is if set, attributes with this name will be considered to denote a user's group membership, where the values will be the group names.
	GroupAttributeName string `json:"group_attribute_name,omitempty" yaml:"group_attribute_name,omitempty"`
	// Id is unique, immutable, system-controlled identifier for each resource
	Id string `json:"id,omitempty" yaml:"id,omitempty"`
	// IdpEntityId is idP's entity id
	IdpEntityId string `json:"idp_entity_id,omitempty" yaml:"idp_entity_id,omitempty"`
	// Name is unique, mutable, user-controlled identifier for each resource
	Name Name `json:"name,omitempty" yaml:"name,omitempty"`
	// PublicCert is optional request signing public certificate (base64 encoded der file)
	PublicCert string `json:"public_cert,omitempty" yaml:"public_cert,omitempty"`
	// SloUrl is service provider endpoint where the idp should send log out requests
	SloUrl string `json:"slo_url,omitempty" yaml:"slo_url,omitempty"`
	// SpClientId is sP's client id
	SpClientId string `json:"sp_client_id,omitempty" yaml:"sp_client_id,omitempty"`
	// TechnicalContactEmail is customer's technical contact for saml configuration
	TechnicalContactEmail string `json:"technical_contact_email,omitempty" yaml:"technical_contact_email,omitempty"`
	// TimeCreated is timestamp when this resource was created
	TimeCreated *time.Time `json:"time_created,omitempty" yaml:"time_created,omitempty"`
	// TimeModified is timestamp when this resource was last modified
	TimeModified *time.Time `json:"time_modified,omitempty" yaml:"time_modified,omitempty"`
}

SamlIdentityProvider is identity-related metadata that's included in nearly all public API objects

type SamlIdentityProviderCreate

type SamlIdentityProviderCreate struct {
	// AcsUrl is service provider endpoint where the response will be sent
	AcsUrl      string `json:"acs_url,omitempty" yaml:"acs_url,omitempty"`
	Description string `json:"description,omitempty" yaml:"description,omitempty"`
	// GroupAttributeName is if set, SAML attributes with this name will be considered to denote a user's group membership, where the attribute value(s) should be a comma-separated list of group names.
	GroupAttributeName string `json:"group_attribute_name,omitempty" yaml:"group_attribute_name,omitempty"`
	// IdpEntityId is idp's entity id
	IdpEntityId string `json:"idp_entity_id,omitempty" yaml:"idp_entity_id,omitempty"`
	// IdpMetadataSource is the source of an identity provider metadata descriptor
	IdpMetadataSource IdpMetadataSource `json:"idp_metadata_source,omitempty" yaml:"idp_metadata_source,omitempty"`
	// Name is names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.
	Name Name `json:"name,omitempty" yaml:"name,omitempty"`
	// SigningKeypair is request signing key pair
	SigningKeypair DerEncodedKeyPair `json:"signing_keypair,omitempty" yaml:"signing_keypair,omitempty"`
	// SloUrl is service provider endpoint where the idp should send log out requests
	SloUrl string `json:"slo_url,omitempty" yaml:"slo_url,omitempty"`
	// SpClientId is sp's client id
	SpClientId string `json:"sp_client_id,omitempty" yaml:"sp_client_id,omitempty"`
	// TechnicalContactEmail is customer's technical contact for saml configuration
	TechnicalContactEmail string `json:"technical_contact_email,omitempty" yaml:"technical_contact_email,omitempty"`
}

SamlIdentityProviderCreate is create-time identity-related parameters

type SamlIdentityProviderCreateParams added in v0.0.23

type SamlIdentityProviderCreateParams struct {
	Silo NameOrId                    `json:"silo,omitempty" yaml:"silo,omitempty"`
	Body *SamlIdentityProviderCreate `json:"body,omitempty" yaml:"body,omitempty"`
}

SamlIdentityProviderCreateParams is the request parameters for SamlIdentityProviderCreate

func (*SamlIdentityProviderCreateParams) Validate added in v0.0.23

Validate verifies all required fields for SamlIdentityProviderCreateParams are set

type SamlIdentityProviderViewParams added in v0.0.23

type SamlIdentityProviderViewParams struct {
	Provider NameOrId `json:"provider,omitempty" yaml:"provider,omitempty"`
	Silo     NameOrId `json:"silo,omitempty" yaml:"silo,omitempty"`
}

SamlIdentityProviderViewParams is the request parameters for SamlIdentityProviderView

func (*SamlIdentityProviderViewParams) Validate added in v0.0.23

func (p *SamlIdentityProviderViewParams) Validate() error

Validate verifies all required fields for SamlIdentityProviderViewParams are set

type ServiceUsingCertificate added in v0.0.23

type ServiceUsingCertificate string

ServiceUsingCertificate is this certificate is intended for access to the external API.

const ServiceUsingCertificateExternalApi ServiceUsingCertificate = "external_api"

ServiceUsingCertificateExternalApi represents the ServiceUsingCertificate `"external_api"`.

type Silo

type Silo struct {
	// Description is human-readable free-form text about a resource
	Description string `json:"description,omitempty" yaml:"description,omitempty"`
	// Discoverable is a silo where discoverable is false can be retrieved only by its id - it will not be part of the "list all silos" output.
	Discoverable *bool `json:"discoverable,omitempty" yaml:"discoverable,omitempty"`
	// Id is unique, immutable, system-controlled identifier for each resource
	Id string `json:"id,omitempty" yaml:"id,omitempty"`
	// IdentityMode is how users and groups are managed in this Silo
	IdentityMode SiloIdentityMode `json:"identity_mode,omitempty" yaml:"identity_mode,omitempty"`
	// MappedFleetRoles is mapping of which Fleet roles are conferred by each Silo role
	//
	// The default is that no Fleet roles are conferred by any Silo roles unless there's a corresponding entry in this map.
	MappedFleetRoles FleetRole `json:"mapped_fleet_roles,omitempty" yaml:"mapped_fleet_roles,omitempty"`
	// Name is unique, mutable, user-controlled identifier for each resource
	Name Name `json:"name,omitempty" yaml:"name,omitempty"`
	// TimeCreated is timestamp when this resource was created
	TimeCreated *time.Time `json:"time_created,omitempty" yaml:"time_created,omitempty"`
	// TimeModified is timestamp when this resource was last modified
	TimeModified *time.Time `json:"time_modified,omitempty" yaml:"time_modified,omitempty"`
}

Silo is view of a Silo

A Silo is the highest level unit of isolation.

type SiloCreate

type SiloCreate struct {
	// AdminGroupName is if set, this group will be created during Silo creation and granted the "Silo Admin" role. Identity providers can assert that users belong to this group and those users can log in and further initialize the Silo.
	//
	// Note that if configuring a SAML based identity provider, group_attribute_name must be set for users to be considered part of a group. See `SamlIdentityProviderCreate` for more information.
	AdminGroupName string `json:"admin_group_name,omitempty" yaml:"admin_group_name,omitempty"`
	Description    string `json:"description,omitempty" yaml:"description,omitempty"`
	Discoverable   *bool  `json:"discoverable,omitempty" yaml:"discoverable,omitempty"`
	// IdentityMode is describes how identities are managed and users are authenticated in this Silo
	IdentityMode SiloIdentityMode `json:"identity_mode,omitempty" yaml:"identity_mode,omitempty"`
	// MappedFleetRoles is mapping of which Fleet roles are conferred by each Silo role
	//
	// The default is that no Fleet roles are conferred by any Silo roles unless there's a corresponding entry in this map.
	MappedFleetRoles FleetRole `json:"mapped_fleet_roles,omitempty" yaml:"mapped_fleet_roles,omitempty"`
	// Name is names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.
	Name Name `json:"name,omitempty" yaml:"name,omitempty"`
	// Quotas is limits the amount of provisionable CPU, memory, and storage in the Silo. CPU and memory are only consumed by running instances, while storage is consumed by any disk or snapshot. A value of 0 means that resource is *not* provisionable.
	Quotas SiloQuotasCreate `json:"quotas,omitempty" yaml:"quotas,omitempty"`
	// TlsCertificates is initial TLS certificates to be used for the new Silo's console and API endpoints.  These should be valid for the Silo's DNS name(s).
	TlsCertificates []CertificateCreate `json:"tls_certificates,omitempty" yaml:"tls_certificates,omitempty"`
}

SiloCreate is create-time parameters for a `Silo`

type SiloCreateParams added in v0.0.23

type SiloCreateParams struct {
	Body *SiloCreate `json:"body,omitempty" yaml:"body,omitempty"`
}

SiloCreateParams is the request parameters for SiloCreate

func (*SiloCreateParams) Validate added in v0.0.23

func (p *SiloCreateParams) Validate() error

Validate verifies all required fields for SiloCreateParams are set

type SiloDeleteParams added in v0.0.23

type SiloDeleteParams struct {
	Silo NameOrId `json:"silo,omitempty" yaml:"silo,omitempty"`
}

SiloDeleteParams is the request parameters for SiloDelete

func (*SiloDeleteParams) Validate added in v0.0.23

func (p *SiloDeleteParams) Validate() error

Validate verifies all required fields for SiloDeleteParams are set

type SiloIdentityMode added in v0.0.23

type SiloIdentityMode string

SiloIdentityMode is users are authenticated with SAML using an external authentication provider. The system updates information about users and groups only during successful authentication (i.e,. "JIT provisioning" of users and groups).

const SiloIdentityModeLocalOnly SiloIdentityMode = "local_only"

SiloIdentityModeLocalOnly represents the SiloIdentityMode `"local_only"`.

const SiloIdentityModeSamlJit SiloIdentityMode = "saml_jit"

SiloIdentityModeSamlJit represents the SiloIdentityMode `"saml_jit"`.

type SiloIdentityProviderListParams added in v0.0.23

type SiloIdentityProviderListParams struct {
	Limit     int              `json:"limit,omitempty" yaml:"limit,omitempty"`
	PageToken string           `json:"page_token,omitempty" yaml:"page_token,omitempty"`
	Silo      NameOrId         `json:"silo,omitempty" yaml:"silo,omitempty"`
	SortBy    NameOrIdSortMode `json:"sort_by,omitempty" yaml:"sort_by,omitempty"`
}

SiloIdentityProviderListParams is the request parameters for SiloIdentityProviderList

func (*SiloIdentityProviderListParams) Validate added in v0.0.23

func (p *SiloIdentityProviderListParams) Validate() error

Validate verifies all required fields for SiloIdentityProviderListParams are set

type SiloListParams added in v0.0.23

type SiloListParams struct {
	Limit     int              `json:"limit,omitempty" yaml:"limit,omitempty"`
	PageToken string           `json:"page_token,omitempty" yaml:"page_token,omitempty"`
	SortBy    NameOrIdSortMode `json:"sort_by,omitempty" yaml:"sort_by,omitempty"`
}

SiloListParams is the request parameters for SiloList

func (*SiloListParams) Validate added in v0.0.23

func (p *SiloListParams) Validate() error

Validate verifies all required fields for SiloListParams are set

type SiloMetricParams added in v0.0.23

type SiloMetricParams struct {
	MetricName SystemMetricName `json:"metric_name,omitempty" yaml:"metric_name,omitempty"`
	EndTime    *time.Time       `json:"end_time,omitempty" yaml:"end_time,omitempty"`
	Limit      int              `json:"limit,omitempty" yaml:"limit,omitempty"`
	Order      PaginationOrder  `json:"order,omitempty" yaml:"order,omitempty"`
	PageToken  string           `json:"page_token,omitempty" yaml:"page_token,omitempty"`
	StartTime  *time.Time       `json:"start_time,omitempty" yaml:"start_time,omitempty"`
	Project    NameOrId         `json:"project,omitempty" yaml:"project,omitempty"`
}

SiloMetricParams is the request parameters for SiloMetric

func (*SiloMetricParams) Validate added in v0.0.23

func (p *SiloMetricParams) Validate() error

Validate verifies all required fields for SiloMetricParams are set

type SiloPolicyUpdateParams added in v0.0.23

type SiloPolicyUpdateParams struct {
	Silo NameOrId        `json:"silo,omitempty" yaml:"silo,omitempty"`
	Body *SiloRolePolicy `json:"body,omitempty" yaml:"body,omitempty"`
}

SiloPolicyUpdateParams is the request parameters for SiloPolicyUpdate

func (*SiloPolicyUpdateParams) Validate added in v0.0.23

func (p *SiloPolicyUpdateParams) Validate() error

Validate verifies all required fields for SiloPolicyUpdateParams are set

type SiloPolicyViewParams added in v0.0.23

type SiloPolicyViewParams struct {
	Silo NameOrId `json:"silo,omitempty" yaml:"silo,omitempty"`
}

SiloPolicyViewParams is the request parameters for SiloPolicyView

func (*SiloPolicyViewParams) Validate added in v0.0.23

func (p *SiloPolicyViewParams) Validate() error

Validate verifies all required fields for SiloPolicyViewParams are set

type SiloQuotas added in v0.0.23

type SiloQuotas struct {
	// Cpus is number of virtual CPUs
	Cpus int `json:"cpus,omitempty" yaml:"cpus,omitempty"`
	// Memory is amount of memory in bytes
	Memory ByteCount `json:"memory,omitempty" yaml:"memory,omitempty"`
	SiloId string    `json:"silo_id,omitempty" yaml:"silo_id,omitempty"`
	// Storage is amount of disk storage in bytes
	Storage ByteCount `json:"storage,omitempty" yaml:"storage,omitempty"`
}

SiloQuotas is a collection of resource counts used to set the virtual capacity of a silo

type SiloQuotasCreate added in v0.0.23

type SiloQuotasCreate struct {
	// Cpus is the amount of virtual CPUs available for running instances in the Silo
	Cpus int `json:"cpus,omitempty" yaml:"cpus,omitempty"`
	// Memory is the amount of RAM (in bytes) available for running instances in the Silo
	Memory ByteCount `json:"memory,omitempty" yaml:"memory,omitempty"`
	// Storage is the amount of storage (in bytes) available for disks or snapshots
	Storage ByteCount `json:"storage,omitempty" yaml:"storage,omitempty"`
}

SiloQuotasCreate is the amount of provisionable resources for a Silo

type SiloQuotasResultsPage added in v0.0.23

type SiloQuotasResultsPage struct {
	// Items is list of items on this page of results
	Items []SiloQuotas `json:"items,omitempty" yaml:"items,omitempty"`
	// NextPage is token used to fetch the next page of results (if any)
	NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty"`
}

SiloQuotasResultsPage is a single page of results

type SiloQuotasUpdate added in v0.0.23

type SiloQuotasUpdate struct {
	// Cpus is the amount of virtual CPUs available for running instances in the Silo
	Cpus int `json:"cpus,omitempty" yaml:"cpus,omitempty"`
	// Memory is the amount of RAM (in bytes) available for running instances in the Silo
	Memory ByteCount `json:"memory,omitempty" yaml:"memory,omitempty"`
	// Storage is the amount of storage (in bytes) available for disks or snapshots
	Storage ByteCount `json:"storage,omitempty" yaml:"storage,omitempty"`
}

SiloQuotasUpdate is updateable properties of a Silo's resource limits. If a value is omitted it will not be updated.

type SiloQuotasUpdateParams added in v0.0.23

type SiloQuotasUpdateParams struct {
	Silo NameOrId          `json:"silo,omitempty" yaml:"silo,omitempty"`
	Body *SiloQuotasUpdate `json:"body,omitempty" yaml:"body,omitempty"`
}

SiloQuotasUpdateParams is the request parameters for SiloQuotasUpdate

func (*SiloQuotasUpdateParams) Validate added in v0.0.23

func (p *SiloQuotasUpdateParams) Validate() error

Validate verifies all required fields for SiloQuotasUpdateParams are set

type SiloQuotasViewParams added in v0.0.23

type SiloQuotasViewParams struct {
	Silo NameOrId `json:"silo,omitempty" yaml:"silo,omitempty"`
}

SiloQuotasViewParams is the request parameters for SiloQuotasView

func (*SiloQuotasViewParams) Validate added in v0.0.23

func (p *SiloQuotasViewParams) Validate() error

Validate verifies all required fields for SiloQuotasViewParams are set

type SiloResultsPage

type SiloResultsPage struct {
	// Items is list of items on this page of results
	Items []Silo `json:"items,omitempty" yaml:"items,omitempty"`
	// NextPage is token used to fetch the next page of results (if any)
	NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty"`
}

SiloResultsPage is a single page of results

type SiloRole

type SiloRole string

SiloRole is the type definition for a SiloRole.

const SiloRoleAdmin SiloRole = "admin"

SiloRoleAdmin represents the SiloRole `"admin"`.

const SiloRoleCollaborator SiloRole = "collaborator"

SiloRoleCollaborator represents the SiloRole `"collaborator"`.

const SiloRoleViewer SiloRole = "viewer"

SiloRoleViewer represents the SiloRole `"viewer"`.

type SiloRolePolicy

type SiloRolePolicy struct {
	// RoleAssignments is roles directly assigned on this resource
	RoleAssignments []SiloRoleRoleAssignment `json:"role_assignments,omitempty" yaml:"role_assignments,omitempty"`
}

SiloRolePolicy is policy for a particular resource

Note that the Policy only describes access granted explicitly for this resource. The policies of parent resources can also cause a user to have access to this resource.

type SiloRoleRoleAssignment

type SiloRoleRoleAssignment struct {
	IdentityId string `json:"identity_id,omitempty" yaml:"identity_id,omitempty"`
	// IdentityType is describes what kind of identity is described by an id
	IdentityType IdentityType `json:"identity_type,omitempty" yaml:"identity_type,omitempty"`
	RoleName     SiloRole     `json:"role_name,omitempty" yaml:"role_name,omitempty"`
}

SiloRoleRoleAssignment is describes the assignment of a particular role on a particular resource to a particular identity (user, group, etc.)

The resource is not part of this structure. Rather, `RoleAssignment`s are put into a `Policy` and that Policy is applied to a particular resource.

type SiloUserListParams added in v0.0.23

type SiloUserListParams struct {
	Limit     int        `json:"limit,omitempty" yaml:"limit,omitempty"`
	PageToken string     `json:"page_token,omitempty" yaml:"page_token,omitempty"`
	Silo      NameOrId   `json:"silo,omitempty" yaml:"silo,omitempty"`
	SortBy    IdSortMode `json:"sort_by,omitempty" yaml:"sort_by,omitempty"`
}

SiloUserListParams is the request parameters for SiloUserList

func (*SiloUserListParams) Validate added in v0.0.23

func (p *SiloUserListParams) Validate() error

Validate verifies all required fields for SiloUserListParams are set

type SiloUserViewParams added in v0.0.23

type SiloUserViewParams struct {
	UserId string   `json:"user_id,omitempty" yaml:"user_id,omitempty"`
	Silo   NameOrId `json:"silo,omitempty" yaml:"silo,omitempty"`
}

SiloUserViewParams is the request parameters for SiloUserView

func (*SiloUserViewParams) Validate added in v0.0.23

func (p *SiloUserViewParams) Validate() error

Validate verifies all required fields for SiloUserViewParams are set

type SiloUtilization added in v0.0.23

type SiloUtilization struct {
	// Allocated is accounts for the total amount of resources reserved for silos via their quotas
	Allocated VirtualResourceCounts `json:"allocated,omitempty" yaml:"allocated,omitempty"`
	// Provisioned is accounts for resources allocated by in silos like CPU or memory for running instances and storage for disks and snapshots Note that CPU and memory resources associated with a stopped instances are not counted here
	Provisioned VirtualResourceCounts `json:"provisioned,omitempty" yaml:"provisioned,omitempty"`
	SiloId      string                `json:"silo_id,omitempty" yaml:"silo_id,omitempty"`
	// SiloName is names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.
	SiloName Name `json:"silo_name,omitempty" yaml:"silo_name,omitempty"`
}

SiloUtilization is view of a silo's resource utilization and capacity

type SiloUtilizationListParams added in v0.0.23

type SiloUtilizationListParams struct {
	Limit     int              `json:"limit,omitempty" yaml:"limit,omitempty"`
	PageToken string           `json:"page_token,omitempty" yaml:"page_token,omitempty"`
	SortBy    NameOrIdSortMode `json:"sort_by,omitempty" yaml:"sort_by,omitempty"`
}

SiloUtilizationListParams is the request parameters for SiloUtilizationList

func (*SiloUtilizationListParams) Validate added in v0.0.23

func (p *SiloUtilizationListParams) Validate() error

Validate verifies all required fields for SiloUtilizationListParams are set

type SiloUtilizationResultsPage added in v0.0.23

type SiloUtilizationResultsPage struct {
	// Items is list of items on this page of results
	Items []SiloUtilization `json:"items,omitempty" yaml:"items,omitempty"`
	// NextPage is token used to fetch the next page of results (if any)
	NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty"`
}

SiloUtilizationResultsPage is a single page of results

type SiloUtilizationViewParams added in v0.0.23

type SiloUtilizationViewParams struct {
	Silo NameOrId `json:"silo,omitempty" yaml:"silo,omitempty"`
}

SiloUtilizationViewParams is the request parameters for SiloUtilizationView

func (*SiloUtilizationViewParams) Validate added in v0.0.23

func (p *SiloUtilizationViewParams) Validate() error

Validate verifies all required fields for SiloUtilizationViewParams are set

type SiloViewParams added in v0.0.23

type SiloViewParams struct {
	Silo NameOrId `json:"silo,omitempty" yaml:"silo,omitempty"`
}

SiloViewParams is the request parameters for SiloView

func (*SiloViewParams) Validate added in v0.0.23

func (p *SiloViewParams) Validate() error

Validate verifies all required fields for SiloViewParams are set

type Sled

type Sled struct {
	// Baseboard is properties that uniquely identify an Oxide hardware component
	Baseboard Baseboard `json:"baseboard,omitempty" yaml:"baseboard,omitempty"`
	// Id is unique, immutable, system-controlled identifier for each resource
	Id string `json:"id,omitempty" yaml:"id,omitempty"`
	// ProvisionState is the provision state of the sled.
	ProvisionState SledProvisionState `json:"provision_state,omitempty" yaml:"provision_state,omitempty"`
	// RackId is the rack to which this Sled is currently attached
	RackId string `json:"rack_id,omitempty" yaml:"rack_id,omitempty"`
	// TimeCreated is timestamp when this resource was created
	TimeCreated *time.Time `json:"time_created,omitempty" yaml:"time_created,omitempty"`
	// TimeModified is timestamp when this resource was last modified
	TimeModified *time.Time `json:"time_modified,omitempty" yaml:"time_modified,omitempty"`
	// UsableHardwareThreads is the number of hardware threads which can execute on this sled
	UsableHardwareThreads int `json:"usable_hardware_threads,omitempty" yaml:"usable_hardware_threads,omitempty"`
	// UsablePhysicalRam is amount of RAM which may be used by the Sled's OS
	UsablePhysicalRam ByteCount `json:"usable_physical_ram,omitempty" yaml:"usable_physical_ram,omitempty"`
}

Sled is an operator's view of a Sled.

type SledInstance added in v0.0.23

type SledInstance struct {
	ActiveSledId string `json:"active_sled_id,omitempty" yaml:"active_sled_id,omitempty"`
	// Id is unique, immutable, system-controlled identifier for each resource
	Id          string `json:"id,omitempty" yaml:"id,omitempty"`
	Memory      int    `json:"memory,omitempty" yaml:"memory,omitempty"`
	MigrationId string `json:"migration_id,omitempty" yaml:"migration_id,omitempty"`
	// Name is names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.
	Name  Name `json:"name,omitempty" yaml:"name,omitempty"`
	Ncpus int  `json:"ncpus,omitempty" yaml:"ncpus,omitempty"`
	// ProjectName is names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.
	ProjectName Name `json:"project_name,omitempty" yaml:"project_name,omitempty"`
	// SiloName is names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.
	SiloName Name `json:"silo_name,omitempty" yaml:"silo_name,omitempty"`
	// State is running state of an Instance (primarily: booted or stopped)
	//
	// This typically reflects whether it's starting, running, stopping, or stopped, but also includes states related to the Instance's lifecycle
	State InstanceState `json:"state,omitempty" yaml:"state,omitempty"`
	// TimeCreated is timestamp when this resource was created
	TimeCreated *time.Time `json:"time_created,omitempty" yaml:"time_created,omitempty"`
	// TimeModified is timestamp when this resource was last modified
	TimeModified *time.Time `json:"time_modified,omitempty" yaml:"time_modified,omitempty"`
}

SledInstance is an operator's view of an instance running on a given sled

type SledInstanceListParams added in v0.0.23

type SledInstanceListParams struct {
	SledId    string     `json:"sled_id,omitempty" yaml:"sled_id,omitempty"`
	Limit     int        `json:"limit,omitempty" yaml:"limit,omitempty"`
	PageToken string     `json:"page_token,omitempty" yaml:"page_token,omitempty"`
	SortBy    IdSortMode `json:"sort_by,omitempty" yaml:"sort_by,omitempty"`
}

SledInstanceListParams is the request parameters for SledInstanceList

func (*SledInstanceListParams) Validate added in v0.0.23

func (p *SledInstanceListParams) Validate() error

Validate verifies all required fields for SledInstanceListParams are set

type SledInstanceResultsPage added in v0.0.23

type SledInstanceResultsPage struct {
	// Items is list of items on this page of results
	Items []SledInstance `json:"items,omitempty" yaml:"items,omitempty"`
	// NextPage is token used to fetch the next page of results (if any)
	NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty"`
}

SledInstanceResultsPage is a single page of results

type SledListParams added in v0.0.23

type SledListParams struct {
	Limit     int        `json:"limit,omitempty" yaml:"limit,omitempty"`
	PageToken string     `json:"page_token,omitempty" yaml:"page_token,omitempty"`
	SortBy    IdSortMode `json:"sort_by,omitempty" yaml:"sort_by,omitempty"`
}

SledListParams is the request parameters for SledList

func (*SledListParams) Validate added in v0.0.23

func (p *SledListParams) Validate() error

Validate verifies all required fields for SledListParams are set

type SledPhysicalDiskListParams added in v0.0.23

type SledPhysicalDiskListParams struct {
	SledId    string     `json:"sled_id,omitempty" yaml:"sled_id,omitempty"`
	Limit     int        `json:"limit,omitempty" yaml:"limit,omitempty"`
	PageToken string     `json:"page_token,omitempty" yaml:"page_token,omitempty"`
	SortBy    IdSortMode `json:"sort_by,omitempty" yaml:"sort_by,omitempty"`
}

SledPhysicalDiskListParams is the request parameters for SledPhysicalDiskList

func (*SledPhysicalDiskListParams) Validate added in v0.0.23

func (p *SledPhysicalDiskListParams) Validate() error

Validate verifies all required fields for SledPhysicalDiskListParams are set

type SledProvisionState added in v0.0.23

type SledProvisionState string

SledProvisionState is new resources will be provisioned on this sled.

const SledProvisionStateNonProvisionable SledProvisionState = "non_provisionable"

SledProvisionStateNonProvisionable represents the SledProvisionState `"non_provisionable"`.

const SledProvisionStateProvisionable SledProvisionState = "provisionable"

SledProvisionStateProvisionable represents the SledProvisionState `"provisionable"`.

type SledProvisionStateParams added in v0.0.23

type SledProvisionStateParams struct {
	// State is the provision state.
	State SledProvisionState `json:"state,omitempty" yaml:"state,omitempty"`
}

SledProvisionStateParams is parameters for `sled_set_provision_state`.

type SledProvisionStateResponse added in v0.0.23

type SledProvisionStateResponse struct {
	// NewState is the new provision state.
	NewState SledProvisionState `json:"new_state,omitempty" yaml:"new_state,omitempty"`
	// OldState is the old provision state.
	OldState SledProvisionState `json:"old_state,omitempty" yaml:"old_state,omitempty"`
}

SledProvisionStateResponse is response to `sled_set_provision_state`.

type SledResultsPage

type SledResultsPage struct {
	// Items is list of items on this page of results
	Items []Sled `json:"items,omitempty" yaml:"items,omitempty"`
	// NextPage is token used to fetch the next page of results (if any)
	NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty"`
}

SledResultsPage is a single page of results

type SledSetProvisionStateParams added in v0.0.23

type SledSetProvisionStateParams struct {
	SledId string                    `json:"sled_id,omitempty" yaml:"sled_id,omitempty"`
	Body   *SledProvisionStateParams `json:"body,omitempty" yaml:"body,omitempty"`
}

SledSetProvisionStateParams is the request parameters for SledSetProvisionState

func (*SledSetProvisionStateParams) Validate added in v0.0.23

func (p *SledSetProvisionStateParams) Validate() error

Validate verifies all required fields for SledSetProvisionStateParams are set

type SledViewParams added in v0.0.23

type SledViewParams struct {
	SledId string `json:"sled_id,omitempty" yaml:"sled_id,omitempty"`
}

SledViewParams is the request parameters for SledView

func (*SledViewParams) Validate added in v0.0.23

func (p *SledViewParams) Validate() error

Validate verifies all required fields for SledViewParams are set

type Snapshot

type Snapshot struct {
	// Description is human-readable free-form text about a resource
	Description string `json:"description,omitempty" yaml:"description,omitempty"`
	DiskId      string `json:"disk_id,omitempty" yaml:"disk_id,omitempty"`
	// Id is unique, immutable, system-controlled identifier for each resource
	Id string `json:"id,omitempty" yaml:"id,omitempty"`
	// Name is unique, mutable, user-controlled identifier for each resource
	Name      Name   `json:"name,omitempty" yaml:"name,omitempty"`
	ProjectId string `json:"project_id,omitempty" yaml:"project_id,omitempty"`
	// Size is byte count to express memory or storage capacity.
	Size  ByteCount     `json:"size,omitempty" yaml:"size,omitempty"`
	State SnapshotState `json:"state,omitempty" yaml:"state,omitempty"`
	// TimeCreated is timestamp when this resource was created
	TimeCreated *time.Time `json:"time_created,omitempty" yaml:"time_created,omitempty"`
	// TimeModified is timestamp when this resource was last modified
	TimeModified *time.Time `json:"time_modified,omitempty" yaml:"time_modified,omitempty"`
}

Snapshot is view of a Snapshot

type SnapshotCreate

type SnapshotCreate struct {
	Description string `json:"description,omitempty" yaml:"description,omitempty"`
	// Disk is the disk to be snapshotted
	Disk NameOrId `json:"disk,omitempty" yaml:"disk,omitempty"`
	// Name is names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.
	Name Name `json:"name,omitempty" yaml:"name,omitempty"`
}

SnapshotCreate is create-time parameters for a `Snapshot`

type SnapshotCreateParams added in v0.0.23

type SnapshotCreateParams struct {
	Project NameOrId        `json:"project,omitempty" yaml:"project,omitempty"`
	Body    *SnapshotCreate `json:"body,omitempty" yaml:"body,omitempty"`
}

SnapshotCreateParams is the request parameters for SnapshotCreate

func (*SnapshotCreateParams) Validate added in v0.0.23

func (p *SnapshotCreateParams) Validate() error

Validate verifies all required fields for SnapshotCreateParams are set

type SnapshotDeleteParams added in v0.0.23

type SnapshotDeleteParams struct {
	Snapshot NameOrId `json:"snapshot,omitempty" yaml:"snapshot,omitempty"`
	Project  NameOrId `json:"project,omitempty" yaml:"project,omitempty"`
}

SnapshotDeleteParams is the request parameters for SnapshotDelete

func (*SnapshotDeleteParams) Validate added in v0.0.23

func (p *SnapshotDeleteParams) Validate() error

Validate verifies all required fields for SnapshotDeleteParams are set

type SnapshotListParams added in v0.0.23

type SnapshotListParams struct {
	Limit     int              `json:"limit,omitempty" yaml:"limit,omitempty"`
	PageToken string           `json:"page_token,omitempty" yaml:"page_token,omitempty"`
	Project   NameOrId         `json:"project,omitempty" yaml:"project,omitempty"`
	SortBy    NameOrIdSortMode `json:"sort_by,omitempty" yaml:"sort_by,omitempty"`
}

SnapshotListParams is the request parameters for SnapshotList

func (*SnapshotListParams) Validate added in v0.0.23

func (p *SnapshotListParams) Validate() error

Validate verifies all required fields for SnapshotListParams are set

type SnapshotResultsPage

type SnapshotResultsPage struct {
	// Items is list of items on this page of results
	Items []Snapshot `json:"items,omitempty" yaml:"items,omitempty"`
	// NextPage is token used to fetch the next page of results (if any)
	NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty"`
}

SnapshotResultsPage is a single page of results

type SnapshotState

type SnapshotState string

SnapshotState is the type definition for a SnapshotState.

const SnapshotStateCreating SnapshotState = "creating"

SnapshotStateCreating represents the SnapshotState `"creating"`.

const SnapshotStateDestroyed SnapshotState = "destroyed"

SnapshotStateDestroyed represents the SnapshotState `"destroyed"`.

const SnapshotStateFaulted SnapshotState = "faulted"

SnapshotStateFaulted represents the SnapshotState `"faulted"`.

const SnapshotStateReady SnapshotState = "ready"

SnapshotStateReady represents the SnapshotState `"ready"`.

type SnapshotViewParams added in v0.0.23

type SnapshotViewParams struct {
	Snapshot NameOrId `json:"snapshot,omitempty" yaml:"snapshot,omitempty"`
	Project  NameOrId `json:"project,omitempty" yaml:"project,omitempty"`
}

SnapshotViewParams is the request parameters for SnapshotView

func (*SnapshotViewParams) Validate added in v0.0.23

func (p *SnapshotViewParams) Validate() error

Validate verifies all required fields for SnapshotViewParams are set

type SshKey

type SshKey struct {
	// Description is human-readable free-form text about a resource
	Description string `json:"description,omitempty" yaml:"description,omitempty"`
	// Id is unique, immutable, system-controlled identifier for each resource
	Id string `json:"id,omitempty" yaml:"id,omitempty"`
	// Name is unique, mutable, user-controlled identifier for each resource
	Name Name `json:"name,omitempty" yaml:"name,omitempty"`
	// PublicKey is sSH public key, e.g., `"ssh-ed25519 AAAAC3NzaC..."`
	PublicKey string `json:"public_key,omitempty" yaml:"public_key,omitempty"`
	// SiloUserId is the user to whom this key belongs
	SiloUserId string `json:"silo_user_id,omitempty" yaml:"silo_user_id,omitempty"`
	// TimeCreated is timestamp when this resource was created
	TimeCreated *time.Time `json:"time_created,omitempty" yaml:"time_created,omitempty"`
	// TimeModified is timestamp when this resource was last modified
	TimeModified *time.Time `json:"time_modified,omitempty" yaml:"time_modified,omitempty"`
}

SshKey is view of an SSH Key

type SshKeyCreate

type SshKeyCreate struct {
	Description string `json:"description,omitempty" yaml:"description,omitempty"`
	// Name is names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.
	Name Name `json:"name,omitempty" yaml:"name,omitempty"`
	// PublicKey is sSH public key, e.g., `"ssh-ed25519 AAAAC3NzaC..."`
	PublicKey string `json:"public_key,omitempty" yaml:"public_key,omitempty"`
}

SshKeyCreate is create-time parameters for an `SshKey`

type SshKeyResultsPage

type SshKeyResultsPage struct {
	// Items is list of items on this page of results
	Items []SshKey `json:"items,omitempty" yaml:"items,omitempty"`
	// NextPage is token used to fetch the next page of results (if any)
	NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty"`
}

SshKeyResultsPage is a single page of results

type Switch added in v0.0.23

type Switch struct {
	// Baseboard is properties that uniquely identify an Oxide hardware component
	Baseboard Baseboard `json:"baseboard,omitempty" yaml:"baseboard,omitempty"`
	// Id is unique, immutable, system-controlled identifier for each resource
	Id string `json:"id,omitempty" yaml:"id,omitempty"`
	// RackId is the rack to which this Switch is currently attached
	RackId string `json:"rack_id,omitempty" yaml:"rack_id,omitempty"`
	// TimeCreated is timestamp when this resource was created
	TimeCreated *time.Time `json:"time_created,omitempty" yaml:"time_created,omitempty"`
	// TimeModified is timestamp when this resource was last modified
	TimeModified *time.Time `json:"time_modified,omitempty" yaml:"time_modified,omitempty"`
}

Switch is an operator's view of a Switch.

type SwitchInterfaceConfig added in v0.0.23

type SwitchInterfaceConfig struct {
	// Kind is what kind of switch interface this configuration represents.
	Kind SwitchInterfaceKind `json:"kind,omitempty" yaml:"kind,omitempty"`
	// V6Enabled is whether or not IPv6 is enabled.
	V6Enabled *bool `json:"v6_enabled,omitempty" yaml:"v6_enabled,omitempty"`
}

SwitchInterfaceConfig is a layer-3 switch interface configuration. When IPv6 is enabled, a link local address will be created for the interface.

type SwitchInterfaceKind added in v0.0.23

type SwitchInterfaceKind struct {
	// Type is the type definition for a Type.
	Type SwitchInterfaceKindType `json:"type,omitempty" yaml:"type,omitempty"`
	// Vid is the virtual network id (VID) that distinguishes this interface and is used for producing and consuming 802.1Q Ethernet tags. This field has a maximum value of 4095 as 802.1Q tags are twelve bits.
	Vid int `json:"vid,omitempty" yaml:"vid,omitempty"`
}

SwitchInterfaceKind is indicates the kind for a switch interface.

type SwitchInterfaceKindLoopback added in v0.0.23

type SwitchInterfaceKindLoopback struct {
	Type SwitchInterfaceKindType `json:"type,omitempty" yaml:"type,omitempty"`
}

SwitchInterfaceKindLoopback is loopback interfaces are anchors for IP addresses that are not specific to any particular port.

type SwitchInterfaceKindPrimary added in v0.0.23

type SwitchInterfaceKindPrimary struct {
	Type SwitchInterfaceKindType `json:"type,omitempty" yaml:"type,omitempty"`
}

SwitchInterfaceKindPrimary is primary interfaces are associated with physical links. There is exactly one primary interface per physical link.

type SwitchInterfaceKindType added in v0.0.23

type SwitchInterfaceKindType string

SwitchInterfaceKindType is the type definition for a SwitchInterfaceKindType.

const SwitchInterfaceKindTypeLoopback SwitchInterfaceKindType = "loopback"

SwitchInterfaceKindTypeLoopback represents the SwitchInterfaceKindType `"loopback"`.

const SwitchInterfaceKindTypePrimary SwitchInterfaceKindType = "primary"

SwitchInterfaceKindTypePrimary represents the SwitchInterfaceKindType `"primary"`.

const SwitchInterfaceKindTypeVlan SwitchInterfaceKindType = "vlan"

SwitchInterfaceKindTypeVlan represents the SwitchInterfaceKindType `"vlan"`.

type SwitchInterfaceKindVlan added in v0.0.23

type SwitchInterfaceKindVlan struct {
	Type SwitchInterfaceKindType `json:"type,omitempty" yaml:"type,omitempty"`
	// Vid is the virtual network id (VID) that distinguishes this interface and is used for producing and consuming 802.1Q Ethernet tags. This field has a maximum value of 4095 as 802.1Q tags are twelve bits.
	Vid int `json:"vid,omitempty" yaml:"vid,omitempty"`
}

SwitchInterfaceKindVlan is vLAN interfaces allow physical interfaces to be multiplexed onto multiple logical links, each distinguished by a 12-bit 802.1Q Ethernet tag.

type SwitchListParams added in v0.0.23

type SwitchListParams struct {
	Limit     int        `json:"limit,omitempty" yaml:"limit,omitempty"`
	PageToken string     `json:"page_token,omitempty" yaml:"page_token,omitempty"`
	SortBy    IdSortMode `json:"sort_by,omitempty" yaml:"sort_by,omitempty"`
}

SwitchListParams is the request parameters for SwitchList

func (*SwitchListParams) Validate added in v0.0.23

func (p *SwitchListParams) Validate() error

Validate verifies all required fields for SwitchListParams are set

type SwitchLocation added in v0.0.23

type SwitchLocation string

SwitchLocation is switch in upper slot

const SwitchLocationSwitch0 SwitchLocation = "switch0"

SwitchLocationSwitch0 represents the SwitchLocation `"switch0"`.

const SwitchLocationSwitch1 SwitchLocation = "switch1"

SwitchLocationSwitch1 represents the SwitchLocation `"switch1"`.

type SwitchPort added in v0.0.23

type SwitchPort struct {
	// Id is the id of the switch port.
	Id string `json:"id,omitempty" yaml:"id,omitempty"`
	// PortName is the name of this switch port.
	PortName string `json:"port_name,omitempty" yaml:"port_name,omitempty"`
	// PortSettingsId is the primary settings group of this switch port. Will be `None` until this switch port is configured.
	PortSettingsId string `json:"port_settings_id,omitempty" yaml:"port_settings_id,omitempty"`
	// RackId is the rack this switch port belongs to.
	RackId string `json:"rack_id,omitempty" yaml:"rack_id,omitempty"`
	// SwitchLocation is the switch location of this switch port.
	SwitchLocation string `json:"switch_location,omitempty" yaml:"switch_location,omitempty"`
}

SwitchPort is a switch port represents a physical external port on a rack switch.

type SwitchPortAddressConfig added in v0.0.23

type SwitchPortAddressConfig struct {
	// Address is the IP address and prefix.
	Address IpNet `json:"address,omitempty" yaml:"address,omitempty"`
	// AddressLotBlockId is the id of the address lot block this address is drawn from.
	AddressLotBlockId string `json:"address_lot_block_id,omitempty" yaml:"address_lot_block_id,omitempty"`
	// InterfaceName is the interface name this address belongs to.
	InterfaceName string `json:"interface_name,omitempty" yaml:"interface_name,omitempty"`
	// PortSettingsId is the port settings object this address configuration belongs to.
	PortSettingsId string `json:"port_settings_id,omitempty" yaml:"port_settings_id,omitempty"`
}

SwitchPortAddressConfig is an IP address configuration for a port settings object.

type SwitchPortApplySettings added in v0.0.23

type SwitchPortApplySettings struct {
	// PortSettings is a name or id to use when applying switch port settings.
	PortSettings NameOrId `json:"port_settings,omitempty" yaml:"port_settings,omitempty"`
}

SwitchPortApplySettings is parameters for applying settings to switch ports.

type SwitchPortBgpPeerConfig added in v0.0.23

type SwitchPortBgpPeerConfig struct {
	// Addr is the address of the peer.
	Addr string `json:"addr,omitempty" yaml:"addr,omitempty"`
	// BgpConfigId is the id of the global BGP configuration referenced by this peer configuration.
	BgpConfigId string `json:"bgp_config_id,omitempty" yaml:"bgp_config_id,omitempty"`
	// InterfaceName is the interface name used to establish a peer session.
	InterfaceName string `json:"interface_name,omitempty" yaml:"interface_name,omitempty"`
	// PortSettingsId is the port settings object this BGP configuration belongs to.
	PortSettingsId string `json:"port_settings_id,omitempty" yaml:"port_settings_id,omitempty"`
}

SwitchPortBgpPeerConfig is a BGP peer configuration for a port settings object.

type SwitchPortConfig added in v0.0.23

type SwitchPortConfig struct {
	// Geometry is link geometry for the switch port.
	Geometry SwitchPortGeometry `json:"geometry,omitempty" yaml:"geometry,omitempty"`
}

SwitchPortConfig is physical switch port configuration.

type SwitchPortGeometry added in v0.0.23

type SwitchPortGeometry string

SwitchPortGeometry is the port contains a single QSFP28 link with four lanes.

const SwitchPortGeometryQsfp28X1 SwitchPortGeometry = "qsfp28x1"

SwitchPortGeometryQsfp28X1 represents the SwitchPortGeometry `"qsfp28x1"`.

const SwitchPortGeometryQsfp28X2 SwitchPortGeometry = "qsfp28x2"

SwitchPortGeometryQsfp28X2 represents the SwitchPortGeometry `"qsfp28x2"`.

const SwitchPortGeometrySfp28X4 SwitchPortGeometry = "sfp28x4"

SwitchPortGeometrySfp28X4 represents the SwitchPortGeometry `"sfp28x4"`.

type SwitchPortLinkConfig added in v0.0.23

type SwitchPortLinkConfig struct {
	// LinkName is the name of this link.
	LinkName string `json:"link_name,omitempty" yaml:"link_name,omitempty"`
	// LldpServiceConfigId is the link-layer discovery protocol service configuration id for this link.
	LldpServiceConfigId string `json:"lldp_service_config_id,omitempty" yaml:"lldp_service_config_id,omitempty"`
	// Mtu is the maximum transmission unit for this link.
	Mtu int `json:"mtu,omitempty" yaml:"mtu,omitempty"`
	// PortSettingsId is the port settings this link configuration belongs to.
	PortSettingsId string `json:"port_settings_id,omitempty" yaml:"port_settings_id,omitempty"`
}

SwitchPortLinkConfig is a link configuration for a port settings object.

type SwitchPortResultsPage added in v0.0.23

type SwitchPortResultsPage struct {
	// Items is list of items on this page of results
	Items []SwitchPort `json:"items,omitempty" yaml:"items,omitempty"`
	// NextPage is token used to fetch the next page of results (if any)
	NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty"`
}

SwitchPortResultsPage is a single page of results

type SwitchPortRouteConfig added in v0.0.23

type SwitchPortRouteConfig struct {
	// Dst is the route's destination network.
	Dst IpNet `json:"dst,omitempty" yaml:"dst,omitempty"`
	// Gw is the route's gateway address.
	Gw IpNet `json:"gw,omitempty" yaml:"gw,omitempty"`
	// InterfaceName is the interface name this route configuration is assigned to.
	InterfaceName string `json:"interface_name,omitempty" yaml:"interface_name,omitempty"`
	// PortSettingsId is the port settings object this route configuration belongs to.
	PortSettingsId string `json:"port_settings_id,omitempty" yaml:"port_settings_id,omitempty"`
	// VlanId is the VLAN identifier for the route. Use this if the gateway is reachable over an 802.1Q tagged L2 segment.
	VlanId int `json:"vlan_id,omitempty" yaml:"vlan_id,omitempty"`
}

SwitchPortRouteConfig is a route configuration for a port settings object.

type SwitchPortSettings added in v0.0.23

type SwitchPortSettings struct {
	// Description is human-readable free-form text about a resource
	Description string `json:"description,omitempty" yaml:"description,omitempty"`
	// Id is unique, immutable, system-controlled identifier for each resource
	Id string `json:"id,omitempty" yaml:"id,omitempty"`
	// Name is unique, mutable, user-controlled identifier for each resource
	Name Name `json:"name,omitempty" yaml:"name,omitempty"`
	// TimeCreated is timestamp when this resource was created
	TimeCreated *time.Time `json:"time_created,omitempty" yaml:"time_created,omitempty"`
	// TimeModified is timestamp when this resource was last modified
	TimeModified *time.Time `json:"time_modified,omitempty" yaml:"time_modified,omitempty"`
}

SwitchPortSettings is a switch port settings identity whose id may be used to view additional details.

type SwitchPortSettingsCreate added in v0.0.23

type SwitchPortSettingsCreate struct {
	// Addresses is addresses indexed by interface name.
	Addresses AddressConfig `json:"addresses,omitempty" yaml:"addresses,omitempty"`
	// BgpPeers is bGP peers indexed by interface name.
	BgpPeers    BgpPeerConfig `json:"bgp_peers,omitempty" yaml:"bgp_peers,omitempty"`
	Description string        `json:"description,omitempty" yaml:"description,omitempty"`
	Groups      []NameOrId    `json:"groups,omitempty" yaml:"groups,omitempty"`
	// Interfaces is interfaces indexed by link name.
	Interfaces SwitchInterfaceConfig `json:"interfaces,omitempty" yaml:"interfaces,omitempty"`
	// Links is links indexed by phy name. On ports that are not broken out, this is always phy0. On a 2x breakout the options are phy0 and phy1, on 4x phy0-phy3, etc.
	Links LinkConfig `json:"links,omitempty" yaml:"links,omitempty"`
	// Name is names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.
	Name Name `json:"name,omitempty" yaml:"name,omitempty"`
	// PortConfig is physical switch port configuration.
	PortConfig SwitchPortConfig `json:"port_config,omitempty" yaml:"port_config,omitempty"`
	// Routes is routes indexed by interface name.
	Routes RouteConfig `json:"routes,omitempty" yaml:"routes,omitempty"`
}

SwitchPortSettingsCreate is parameters for creating switch port settings. Switch port settings are the central data structure for setting up external networking. Switch port settings include link, interface, route, address and dynamic network protocol configuration.

type SwitchPortSettingsGroups added in v0.0.23

type SwitchPortSettingsGroups struct {
	// PortSettingsGroupId is the id of a port settings group being referenced by a port settings object.
	PortSettingsGroupId string `json:"port_settings_group_id,omitempty" yaml:"port_settings_group_id,omitempty"`
	// PortSettingsId is the id of a port settings object referencing a port settings group.
	PortSettingsId string `json:"port_settings_id,omitempty" yaml:"port_settings_id,omitempty"`
}

SwitchPortSettingsGroups is this structure maps a port settings object to a port settings groups. Port settings objects may inherit settings from groups. This mapping defines the relationship between settings objects and the groups they reference.

type SwitchPortSettingsResultsPage added in v0.0.23

type SwitchPortSettingsResultsPage struct {
	// Items is list of items on this page of results
	Items []SwitchPortSettings `json:"items,omitempty" yaml:"items,omitempty"`
	// NextPage is token used to fetch the next page of results (if any)
	NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty"`
}

SwitchPortSettingsResultsPage is a single page of results

type SwitchPortSettingsView added in v0.0.23

type SwitchPortSettingsView struct {
	// Addresses is layer 3 IP address settings.
	Addresses []SwitchPortAddressConfig `json:"addresses,omitempty" yaml:"addresses,omitempty"`
	// BgpPeers is bGP peer settings.
	BgpPeers []SwitchPortBgpPeerConfig `json:"bgp_peers,omitempty" yaml:"bgp_peers,omitempty"`
	// Groups is switch port settings included from other switch port settings groups.
	Groups []SwitchPortSettingsGroups `json:"groups,omitempty" yaml:"groups,omitempty"`
	// Interfaces is layer 3 interface settings.
	Interfaces []SwitchInterfaceConfig `json:"interfaces,omitempty" yaml:"interfaces,omitempty"`
	// LinkLldp is link-layer discovery protocol (LLDP) settings.
	LinkLldp []LldpServiceConfig `json:"link_lldp,omitempty" yaml:"link_lldp,omitempty"`
	// Links is layer 2 link settings.
	Links []SwitchPortLinkConfig `json:"links,omitempty" yaml:"links,omitempty"`
	// Port is layer 1 physical port settings.
	Port SwitchPortConfig `json:"port,omitempty" yaml:"port,omitempty"`
	// Routes is iP route settings.
	Routes []SwitchPortRouteConfig `json:"routes,omitempty" yaml:"routes,omitempty"`
	// Settings is the primary switch port settings handle.
	Settings SwitchPortSettings `json:"settings,omitempty" yaml:"settings,omitempty"`
	// VlanInterfaces is vlan interface settings.
	VlanInterfaces []SwitchVlanInterfaceConfig `json:"vlan_interfaces,omitempty" yaml:"vlan_interfaces,omitempty"`
}

SwitchPortSettingsView is this structure contains all port settings information in one place. It's a convenience data structure for getting a complete view of a particular port's settings.

type SwitchResultsPage added in v0.0.23

type SwitchResultsPage struct {
	// Items is list of items on this page of results
	Items []Switch `json:"items,omitempty" yaml:"items,omitempty"`
	// NextPage is token used to fetch the next page of results (if any)
	NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty"`
}

SwitchResultsPage is a single page of results

type SwitchViewParams added in v0.0.23

type SwitchViewParams struct {
	SwitchId string `json:"switch_id,omitempty" yaml:"switch_id,omitempty"`
}

SwitchViewParams is the request parameters for SwitchView

func (*SwitchViewParams) Validate added in v0.0.23

func (p *SwitchViewParams) Validate() error

Validate verifies all required fields for SwitchViewParams are set

type SwitchVlanInterfaceConfig added in v0.0.23

type SwitchVlanInterfaceConfig struct {
	// InterfaceConfigId is the switch interface configuration this VLAN interface configuration belongs to.
	InterfaceConfigId string `json:"interface_config_id,omitempty" yaml:"interface_config_id,omitempty"`
	// VlanId is the virtual network id for this interface that is used for producing and consuming 802.1Q Ethernet tags. This field has a maximum value of 4095 as 802.1Q tags are twelve bits.
	VlanId int `json:"vlan_id,omitempty" yaml:"vlan_id,omitempty"`
}

SwitchVlanInterfaceConfig is a switch port VLAN interface configuration for a port settings object.

type SystemMetricName added in v0.0.23

type SystemMetricName string

SystemMetricName is the type definition for a SystemMetricName.

const SystemMetricNameCpusProvisioned SystemMetricName = "cpus_provisioned"

SystemMetricNameCpusProvisioned represents the SystemMetricName `"cpus_provisioned"`.

const SystemMetricNameRamProvisioned SystemMetricName = "ram_provisioned"

SystemMetricNameRamProvisioned represents the SystemMetricName `"ram_provisioned"`.

const SystemMetricNameVirtualDiskSpaceProvisioned SystemMetricName = "virtual_disk_space_provisioned"

SystemMetricNameVirtualDiskSpaceProvisioned represents the SystemMetricName `"virtual_disk_space_provisioned"`.

type SystemMetricParams added in v0.0.23

type SystemMetricParams struct {
	MetricName SystemMetricName `json:"metric_name,omitempty" yaml:"metric_name,omitempty"`
	EndTime    *time.Time       `json:"end_time,omitempty" yaml:"end_time,omitempty"`
	Limit      int              `json:"limit,omitempty" yaml:"limit,omitempty"`
	Order      PaginationOrder  `json:"order,omitempty" yaml:"order,omitempty"`
	PageToken  string           `json:"page_token,omitempty" yaml:"page_token,omitempty"`
	StartTime  *time.Time       `json:"start_time,omitempty" yaml:"start_time,omitempty"`
	Silo       NameOrId         `json:"silo,omitempty" yaml:"silo,omitempty"`
}

SystemMetricParams is the request parameters for SystemMetric

func (*SystemMetricParams) Validate added in v0.0.23

func (p *SystemMetricParams) Validate() error

Validate verifies all required fields for SystemMetricParams are set

type SystemPolicyUpdateParams added in v0.0.23

type SystemPolicyUpdateParams struct {
	Body *FleetRolePolicy `json:"body,omitempty" yaml:"body,omitempty"`
}

SystemPolicyUpdateParams is the request parameters for SystemPolicyUpdate

func (*SystemPolicyUpdateParams) Validate added in v0.0.23

func (p *SystemPolicyUpdateParams) Validate() error

Validate verifies all required fields for SystemPolicyUpdateParams are set

type SystemQuotasListParams added in v0.0.23

type SystemQuotasListParams struct {
	Limit     int        `json:"limit,omitempty" yaml:"limit,omitempty"`
	PageToken string     `json:"page_token,omitempty" yaml:"page_token,omitempty"`
	SortBy    IdSortMode `json:"sort_by,omitempty" yaml:"sort_by,omitempty"`
}

SystemQuotasListParams is the request parameters for SystemQuotasList

func (*SystemQuotasListParams) Validate added in v0.0.23

func (p *SystemQuotasListParams) Validate() error

Validate verifies all required fields for SystemQuotasListParams are set

type UninitializedSled added in v0.0.23

type UninitializedSled struct {
	// Baseboard is properties that uniquely identify an Oxide hardware component
	Baseboard Baseboard `json:"baseboard,omitempty" yaml:"baseboard,omitempty"`
	Cubby     int       `json:"cubby,omitempty" yaml:"cubby,omitempty"`
	RackId    string    `json:"rack_id,omitempty" yaml:"rack_id,omitempty"`
}

UninitializedSled is a sled that has not been added to an initialized rack yet

type User

type User struct {
	// DisplayName is human-readable name that can identify the user
	DisplayName string `json:"display_name,omitempty" yaml:"display_name,omitempty"`
	Id          string `json:"id,omitempty" yaml:"id,omitempty"`
	// SiloId is uuid of the silo to which this user belongs
	SiloId string `json:"silo_id,omitempty" yaml:"silo_id,omitempty"`
}

User is view of a User

type UserBuiltin

type UserBuiltin struct {
	// Description is human-readable free-form text about a resource
	Description string `json:"description,omitempty" yaml:"description,omitempty"`
	// Id is unique, immutable, system-controlled identifier for each resource
	Id string `json:"id,omitempty" yaml:"id,omitempty"`
	// Name is unique, mutable, user-controlled identifier for each resource
	Name Name `json:"name,omitempty" yaml:"name,omitempty"`
	// TimeCreated is timestamp when this resource was created
	TimeCreated *time.Time `json:"time_created,omitempty" yaml:"time_created,omitempty"`
	// TimeModified is timestamp when this resource was last modified
	TimeModified *time.Time `json:"time_modified,omitempty" yaml:"time_modified,omitempty"`
}

UserBuiltin is view of a Built-in User

A Built-in User is explicitly created as opposed to being derived from an Identify Provider.

type UserBuiltinListParams added in v0.0.23

type UserBuiltinListParams struct {
	Limit     int          `json:"limit,omitempty" yaml:"limit,omitempty"`
	PageToken string       `json:"page_token,omitempty" yaml:"page_token,omitempty"`
	SortBy    NameSortMode `json:"sort_by,omitempty" yaml:"sort_by,omitempty"`
}

UserBuiltinListParams is the request parameters for UserBuiltinList

func (*UserBuiltinListParams) Validate added in v0.0.23

func (p *UserBuiltinListParams) Validate() error

Validate verifies all required fields for UserBuiltinListParams are set

type UserBuiltinResultsPage

type UserBuiltinResultsPage struct {
	// Items is list of items on this page of results
	Items []UserBuiltin `json:"items,omitempty" yaml:"items,omitempty"`
	// NextPage is token used to fetch the next page of results (if any)
	NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty"`
}

UserBuiltinResultsPage is a single page of results

type UserBuiltinViewParams added in v0.0.23

type UserBuiltinViewParams struct {
	User NameOrId `json:"user,omitempty" yaml:"user,omitempty"`
}

UserBuiltinViewParams is the request parameters for UserBuiltinView

func (*UserBuiltinViewParams) Validate added in v0.0.23

func (p *UserBuiltinViewParams) Validate() error

Validate verifies all required fields for UserBuiltinViewParams are set

type UserCreate added in v0.0.23

type UserCreate struct {
	// ExternalId is username used to log in
	ExternalId UserId `json:"external_id,omitempty" yaml:"external_id,omitempty"`
	// Password is how to set the user's login password
	Password UserPassword `json:"password,omitempty" yaml:"password,omitempty"`
}

UserCreate is create-time parameters for a `User`

type UserId added in v0.0.23

type UserId string

UserId is names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.

type UserListParams added in v0.0.23

type UserListParams struct {
	Group     string     `json:"group,omitempty" yaml:"group,omitempty"`
	Limit     int        `json:"limit,omitempty" yaml:"limit,omitempty"`
	PageToken string     `json:"page_token,omitempty" yaml:"page_token,omitempty"`
	SortBy    IdSortMode `json:"sort_by,omitempty" yaml:"sort_by,omitempty"`
}

UserListParams is the request parameters for UserList

func (*UserListParams) Validate added in v0.0.23

func (p *UserListParams) Validate() error

Validate verifies all required fields for UserListParams are set

type UserPassword added in v0.0.23

type UserPassword struct {
	// Mode is the type definition for a Mode.
	Mode UserPasswordMode `json:"mode,omitempty" yaml:"mode,omitempty"`
	// Value is passwords may be subject to additional constraints.
	Value Password `json:"value,omitempty" yaml:"value,omitempty"`
}

UserPassword is parameters for setting a user's password

type UserPasswordLoginDisallowed added in v0.0.23

type UserPasswordLoginDisallowed struct {
	Mode UserPasswordMode `json:"mode,omitempty" yaml:"mode,omitempty"`
}

UserPasswordLoginDisallowed is invalidates any current password (disabling password authentication)

type UserPasswordMode added in v0.0.23

type UserPasswordMode string

UserPasswordMode is the type definition for a UserPasswordMode.

const UserPasswordModeLoginDisallowed UserPasswordMode = "login_disallowed"

UserPasswordModeLoginDisallowed represents the UserPasswordMode `"login_disallowed"`.

const UserPasswordModePassword UserPasswordMode = "password"

UserPasswordModePassword represents the UserPasswordMode `"password"`.

type UserPasswordPassword added in v0.0.23

type UserPasswordPassword struct {
	Mode UserPasswordMode `json:"mode,omitempty" yaml:"mode,omitempty"`
	// Value is passwords may be subject to additional constraints.
	Value Password `json:"value,omitempty" yaml:"value,omitempty"`
}

UserPasswordPassword is sets the user's password to the provided value

type UserResultsPage

type UserResultsPage struct {
	// Items is list of items on this page of results
	Items []User `json:"items,omitempty" yaml:"items,omitempty"`
	// NextPage is token used to fetch the next page of results (if any)
	NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty"`
}

UserResultsPage is a single page of results

type UsernamePasswordCredentials added in v0.0.23

type UsernamePasswordCredentials struct {
	// Password is passwords may be subject to additional constraints.
	Password Password `json:"password,omitempty" yaml:"password,omitempty"`
	// Username is names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.
	Username UserId `json:"username,omitempty" yaml:"username,omitempty"`
}

UsernamePasswordCredentials is credentials for local user login

type Utilization added in v0.0.23

type Utilization struct {
	// Capacity is the total amount of resources that can be provisioned in this silo Actions that would exceed this limit will fail
	Capacity VirtualResourceCounts `json:"capacity,omitempty" yaml:"capacity,omitempty"`
	// Provisioned is accounts for resources allocated to running instances or storage allocated via disks or snapshots Note that CPU and memory resources associated with a stopped instances are not counted here whereas associated disks will still be counted
	Provisioned VirtualResourceCounts `json:"provisioned,omitempty" yaml:"provisioned,omitempty"`
}

Utilization is view of the current silo's resource utilization and capacity

type Validator added in v0.0.23

type Validator struct {
	// contains filtered or unexported fields
}

Validator is a helper to validate the Client methods

func (*Validator) Error added in v0.0.23

func (v *Validator) Error() string

Error is the string representation of a validation error

func (*Validator) HasRequiredNum added in v0.0.23

func (v *Validator) HasRequiredNum(value int, name string) bool

HasRequiredNum checks that a value is not 0

func (*Validator) HasRequiredObj added in v0.0.23

func (v *Validator) HasRequiredObj(value any, name string) bool

HasRequiredObj checks for a nil value. The argument must be a chan, func, interface, map, pointer, or slice value

func (*Validator) HasRequiredStr added in v0.0.23

func (v *Validator) HasRequiredStr(value, name string) bool

HasRequiredStr checks for an empty string

func (*Validator) IsValid added in v0.0.23

func (v *Validator) IsValid() bool

IsValid returns false if the Validator contains any validation errors

type VirtualResourceCounts added in v0.0.23

type VirtualResourceCounts struct {
	// Cpus is number of virtual CPUs
	Cpus int `json:"cpus,omitempty" yaml:"cpus,omitempty"`
	// Memory is amount of memory in bytes
	Memory ByteCount `json:"memory,omitempty" yaml:"memory,omitempty"`
	// Storage is amount of disk storage in bytes
	Storage ByteCount `json:"storage,omitempty" yaml:"storage,omitempty"`
}

VirtualResourceCounts is a collection of resource counts used to describe capacity and utilization

type Vpc

type Vpc struct {
	// Description is human-readable free-form text about a resource
	Description string `json:"description,omitempty" yaml:"description,omitempty"`
	// DnsName is the name used for the VPC in DNS.
	DnsName Name `json:"dns_name,omitempty" yaml:"dns_name,omitempty"`
	// Id is unique, immutable, system-controlled identifier for each resource
	Id string `json:"id,omitempty" yaml:"id,omitempty"`
	// Ipv6Prefix is the unique local IPv6 address range for subnets in this VPC
	Ipv6Prefix Ipv6Net `json:"ipv6_prefix,omitempty" yaml:"ipv6_prefix,omitempty"`
	// Name is unique, mutable, user-controlled identifier for each resource
	Name Name `json:"name,omitempty" yaml:"name,omitempty"`
	// ProjectId is id for the project containing this VPC
	ProjectId string `json:"project_id,omitempty" yaml:"project_id,omitempty"`
	// SystemRouterId is id for the system router where subnet default routes are registered
	SystemRouterId string `json:"system_router_id,omitempty" yaml:"system_router_id,omitempty"`
	// TimeCreated is timestamp when this resource was created
	TimeCreated *time.Time `json:"time_created,omitempty" yaml:"time_created,omitempty"`
	// TimeModified is timestamp when this resource was last modified
	TimeModified *time.Time `json:"time_modified,omitempty" yaml:"time_modified,omitempty"`
}

Vpc is view of a VPC

type VpcCreate

type VpcCreate struct {
	Description string `json:"description,omitempty" yaml:"description,omitempty"`
	// DnsName is names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.
	DnsName Name `json:"dns_name,omitempty" yaml:"dns_name,omitempty"`
	// Ipv6Prefix is the IPv6 prefix for this VPC
	//
	// All IPv6 subnets created from this VPC must be taken from this range, which should be a Unique Local Address in the range `fd00::/48`. The default VPC Subnet will have the first `/64` range from this prefix.
	Ipv6Prefix Ipv6Net `json:"ipv6_prefix,omitempty" yaml:"ipv6_prefix,omitempty"`
	// Name is names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.
	Name Name `json:"name,omitempty" yaml:"name,omitempty"`
}

VpcCreate is create-time parameters for a `Vpc`

type VpcCreateParams added in v0.0.23

type VpcCreateParams struct {
	Project NameOrId   `json:"project,omitempty" yaml:"project,omitempty"`
	Body    *VpcCreate `json:"body,omitempty" yaml:"body,omitempty"`
}

VpcCreateParams is the request parameters for VpcCreate

func (*VpcCreateParams) Validate added in v0.0.23

func (p *VpcCreateParams) Validate() error

Validate verifies all required fields for VpcCreateParams are set

type VpcDeleteParams added in v0.0.23

type VpcDeleteParams struct {
	Vpc     NameOrId `json:"vpc,omitempty" yaml:"vpc,omitempty"`
	Project NameOrId `json:"project,omitempty" yaml:"project,omitempty"`
}

VpcDeleteParams is the request parameters for VpcDelete

func (*VpcDeleteParams) Validate added in v0.0.23

func (p *VpcDeleteParams) Validate() error

Validate verifies all required fields for VpcDeleteParams are set

type VpcFirewallRule

type VpcFirewallRule struct {
	// Action is whether traffic matching the rule should be allowed or dropped
	Action VpcFirewallRuleAction `json:"action,omitempty" yaml:"action,omitempty"`
	// Description is human-readable free-form text about a resource
	Description string `json:"description,omitempty" yaml:"description,omitempty"`
	// Direction is whether this rule is for incoming or outgoing traffic
	Direction VpcFirewallRuleDirection `json:"direction,omitempty" yaml:"direction,omitempty"`
	// Filters is reductions on the scope of the rule
	Filters VpcFirewallRuleFilter `json:"filters,omitempty" yaml:"filters,omitempty"`
	// Id is unique, immutable, system-controlled identifier for each resource
	Id string `json:"id,omitempty" yaml:"id,omitempty"`
	// Name is unique, mutable, user-controlled identifier for each resource
	Name Name `json:"name,omitempty" yaml:"name,omitempty"`
	// Priority is the relative priority of this rule
	Priority int `json:"priority,omitempty" yaml:"priority,omitempty"`
	// Status is whether this rule is in effect
	Status VpcFirewallRuleStatus `json:"status,omitempty" yaml:"status,omitempty"`
	// Targets is list of sets of instances that the rule applies to
	Targets []VpcFirewallRuleTarget `json:"targets,omitempty" yaml:"targets,omitempty"`
	// TimeCreated is timestamp when this resource was created
	TimeCreated *time.Time `json:"time_created,omitempty" yaml:"time_created,omitempty"`
	// TimeModified is timestamp when this resource was last modified
	TimeModified *time.Time `json:"time_modified,omitempty" yaml:"time_modified,omitempty"`
	// VpcId is the VPC to which this rule belongs
	VpcId string `json:"vpc_id,omitempty" yaml:"vpc_id,omitempty"`
}

VpcFirewallRule is a single rule in a VPC firewall

type VpcFirewallRuleAction

type VpcFirewallRuleAction string

VpcFirewallRuleAction is the type definition for a VpcFirewallRuleAction.

const VpcFirewallRuleActionAllow VpcFirewallRuleAction = "allow"

VpcFirewallRuleActionAllow represents the VpcFirewallRuleAction `"allow"`.

const VpcFirewallRuleActionDeny VpcFirewallRuleAction = "deny"

VpcFirewallRuleActionDeny represents the VpcFirewallRuleAction `"deny"`.

type VpcFirewallRuleDirection

type VpcFirewallRuleDirection string

VpcFirewallRuleDirection is the type definition for a VpcFirewallRuleDirection.

const VpcFirewallRuleDirectionInbound VpcFirewallRuleDirection = "inbound"

VpcFirewallRuleDirectionInbound represents the VpcFirewallRuleDirection `"inbound"`.

const VpcFirewallRuleDirectionOutbound VpcFirewallRuleDirection = "outbound"

VpcFirewallRuleDirectionOutbound represents the VpcFirewallRuleDirection `"outbound"`.

type VpcFirewallRuleFilter

type VpcFirewallRuleFilter struct {
	// Hosts is if present, the sources (if incoming) or destinations (if outgoing) this rule applies to.
	Hosts []VpcFirewallRuleHostFilter `json:"hosts,omitempty" yaml:"hosts,omitempty"`
	// Ports is if present, the destination ports this rule applies to.
	Ports []L4PortRange `json:"ports,omitempty" yaml:"ports,omitempty"`
	// Protocols is if present, the networking protocols this rule applies to.
	Protocols []VpcFirewallRuleProtocol `json:"protocols,omitempty" yaml:"protocols,omitempty"`
}

VpcFirewallRuleFilter is filter for a firewall rule. A given packet must match every field that is present for the rule to apply to it. A packet matches a field if any entry in that field matches the packet.

type VpcFirewallRuleHostFilter

type VpcFirewallRuleHostFilter struct {
	// Type is the type definition for a Type.
	Type VpcFirewallRuleHostFilterType `json:"type,omitempty" yaml:"type,omitempty"`
	// Value is names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.
	Value Name `json:"value,omitempty" yaml:"value,omitempty"`
}

VpcFirewallRuleHostFilter is the `VpcFirewallRuleHostFilter` is used to filter traffic on the basis of its source or destination host.

type VpcFirewallRuleHostFilterInstance

type VpcFirewallRuleHostFilterInstance struct {
	Type VpcFirewallRuleHostFilterType `json:"type,omitempty" yaml:"type,omitempty"`
	// Value is names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.
	Value Name `json:"value,omitempty" yaml:"value,omitempty"`
}

VpcFirewallRuleHostFilterInstance is the rule applies to traffic from/to this specific instance

type VpcFirewallRuleHostFilterIp

type VpcFirewallRuleHostFilterIp struct {
	Type  VpcFirewallRuleHostFilterType `json:"type,omitempty" yaml:"type,omitempty"`
	Value string                        `json:"value,omitempty" yaml:"value,omitempty"`
}

VpcFirewallRuleHostFilterIp is the rule applies to traffic from/to a specific IP address

type VpcFirewallRuleHostFilterIpNet

type VpcFirewallRuleHostFilterIpNet struct {
	Type  VpcFirewallRuleHostFilterType `json:"type,omitempty" yaml:"type,omitempty"`
	Value IpNet                         `json:"value,omitempty" yaml:"value,omitempty"`
}

VpcFirewallRuleHostFilterIpNet is the rule applies to traffic from/to a specific IP subnet

type VpcFirewallRuleHostFilterSubnet

type VpcFirewallRuleHostFilterSubnet struct {
	Type VpcFirewallRuleHostFilterType `json:"type,omitempty" yaml:"type,omitempty"`
	// Value is names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.
	Value Name `json:"value,omitempty" yaml:"value,omitempty"`
}

VpcFirewallRuleHostFilterSubnet is the rule applies to traffic from/to all instances in the VPC Subnet

type VpcFirewallRuleHostFilterType

type VpcFirewallRuleHostFilterType string

VpcFirewallRuleHostFilterType is the type definition for a VpcFirewallRuleHostFilterType.

const VpcFirewallRuleHostFilterTypeInstance VpcFirewallRuleHostFilterType = "instance"

VpcFirewallRuleHostFilterTypeInstance represents the VpcFirewallRuleHostFilterType `"instance"`.

const VpcFirewallRuleHostFilterTypeIp VpcFirewallRuleHostFilterType = "ip"

VpcFirewallRuleHostFilterTypeIp represents the VpcFirewallRuleHostFilterType `"ip"`.

const VpcFirewallRuleHostFilterTypeIpNet VpcFirewallRuleHostFilterType = "ip_net"

VpcFirewallRuleHostFilterTypeIpNet represents the VpcFirewallRuleHostFilterType `"ip_net"`.

const VpcFirewallRuleHostFilterTypeSubnet VpcFirewallRuleHostFilterType = "subnet"

VpcFirewallRuleHostFilterTypeSubnet represents the VpcFirewallRuleHostFilterType `"subnet"`.

const VpcFirewallRuleHostFilterTypeVpc VpcFirewallRuleHostFilterType = "vpc"

VpcFirewallRuleHostFilterTypeVpc represents the VpcFirewallRuleHostFilterType `"vpc"`.

type VpcFirewallRuleHostFilterVpc

type VpcFirewallRuleHostFilterVpc struct {
	Type VpcFirewallRuleHostFilterType `json:"type,omitempty" yaml:"type,omitempty"`
	// Value is names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.
	Value Name `json:"value,omitempty" yaml:"value,omitempty"`
}

VpcFirewallRuleHostFilterVpc is the rule applies to traffic from/to all instances in the VPC

type VpcFirewallRuleProtocol

type VpcFirewallRuleProtocol string

VpcFirewallRuleProtocol is the protocols that may be specified in a firewall rule's filter

const VpcFirewallRuleProtocolIcmp VpcFirewallRuleProtocol = "ICMP"

VpcFirewallRuleProtocolIcmp represents the VpcFirewallRuleProtocol `"ICMP"`.

const VpcFirewallRuleProtocolTcp VpcFirewallRuleProtocol = "TCP"

VpcFirewallRuleProtocolTcp represents the VpcFirewallRuleProtocol `"TCP"`.

const VpcFirewallRuleProtocolUdp VpcFirewallRuleProtocol = "UDP"

VpcFirewallRuleProtocolUdp represents the VpcFirewallRuleProtocol `"UDP"`.

type VpcFirewallRuleStatus

type VpcFirewallRuleStatus string

VpcFirewallRuleStatus is the type definition for a VpcFirewallRuleStatus.

const VpcFirewallRuleStatusDisabled VpcFirewallRuleStatus = "disabled"

VpcFirewallRuleStatusDisabled represents the VpcFirewallRuleStatus `"disabled"`.

const VpcFirewallRuleStatusEnabled VpcFirewallRuleStatus = "enabled"

VpcFirewallRuleStatusEnabled represents the VpcFirewallRuleStatus `"enabled"`.

type VpcFirewallRuleTarget

type VpcFirewallRuleTarget struct {
	// Type is the type definition for a Type.
	Type VpcFirewallRuleTargetType `json:"type,omitempty" yaml:"type,omitempty"`
	// Value is names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.
	Value Name `json:"value,omitempty" yaml:"value,omitempty"`
}

VpcFirewallRuleTarget is a `VpcFirewallRuleTarget` is used to specify the set of `Instance`s to which a firewall rule applies.

type VpcFirewallRuleTargetInstance

type VpcFirewallRuleTargetInstance struct {
	Type VpcFirewallRuleTargetType `json:"type,omitempty" yaml:"type,omitempty"`
	// Value is names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.
	Value Name `json:"value,omitempty" yaml:"value,omitempty"`
}

VpcFirewallRuleTargetInstance is the rule applies to this specific instance

type VpcFirewallRuleTargetIp

type VpcFirewallRuleTargetIp struct {
	Type  VpcFirewallRuleTargetType `json:"type,omitempty" yaml:"type,omitempty"`
	Value string                    `json:"value,omitempty" yaml:"value,omitempty"`
}

VpcFirewallRuleTargetIp is the rule applies to a specific IP address

type VpcFirewallRuleTargetIpNet

type VpcFirewallRuleTargetIpNet struct {
	Type  VpcFirewallRuleTargetType `json:"type,omitempty" yaml:"type,omitempty"`
	Value IpNet                     `json:"value,omitempty" yaml:"value,omitempty"`
}

VpcFirewallRuleTargetIpNet is the rule applies to a specific IP subnet

type VpcFirewallRuleTargetSubnet

type VpcFirewallRuleTargetSubnet struct {
	Type VpcFirewallRuleTargetType `json:"type,omitempty" yaml:"type,omitempty"`
	// Value is names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.
	Value Name `json:"value,omitempty" yaml:"value,omitempty"`
}

VpcFirewallRuleTargetSubnet is the rule applies to all instances in the VPC Subnet

type VpcFirewallRuleTargetType

type VpcFirewallRuleTargetType string

VpcFirewallRuleTargetType is the type definition for a VpcFirewallRuleTargetType.

const VpcFirewallRuleTargetTypeInstance VpcFirewallRuleTargetType = "instance"

VpcFirewallRuleTargetTypeInstance represents the VpcFirewallRuleTargetType `"instance"`.

const VpcFirewallRuleTargetTypeIp VpcFirewallRuleTargetType = "ip"

VpcFirewallRuleTargetTypeIp represents the VpcFirewallRuleTargetType `"ip"`.

const VpcFirewallRuleTargetTypeIpNet VpcFirewallRuleTargetType = "ip_net"

VpcFirewallRuleTargetTypeIpNet represents the VpcFirewallRuleTargetType `"ip_net"`.

const VpcFirewallRuleTargetTypeSubnet VpcFirewallRuleTargetType = "subnet"

VpcFirewallRuleTargetTypeSubnet represents the VpcFirewallRuleTargetType `"subnet"`.

const VpcFirewallRuleTargetTypeVpc VpcFirewallRuleTargetType = "vpc"

VpcFirewallRuleTargetTypeVpc represents the VpcFirewallRuleTargetType `"vpc"`.

type VpcFirewallRuleTargetVpc

type VpcFirewallRuleTargetVpc struct {
	Type VpcFirewallRuleTargetType `json:"type,omitempty" yaml:"type,omitempty"`
	// Value is names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.
	Value Name `json:"value,omitempty" yaml:"value,omitempty"`
}

VpcFirewallRuleTargetVpc is the rule applies to all instances in the VPC

type VpcFirewallRuleUpdate

type VpcFirewallRuleUpdate struct {
	// Action is whether traffic matching the rule should be allowed or dropped
	Action VpcFirewallRuleAction `json:"action,omitempty" yaml:"action,omitempty"`
	// Description is human-readable free-form text about a resource
	Description string `json:"description,omitempty" yaml:"description,omitempty"`
	// Direction is whether this rule is for incoming or outgoing traffic
	Direction VpcFirewallRuleDirection `json:"direction,omitempty" yaml:"direction,omitempty"`
	// Filters is reductions on the scope of the rule
	Filters VpcFirewallRuleFilter `json:"filters,omitempty" yaml:"filters,omitempty"`
	// Name is name of the rule, unique to this VPC
	Name Name `json:"name,omitempty" yaml:"name,omitempty"`
	// Priority is the relative priority of this rule
	Priority int `json:"priority,omitempty" yaml:"priority,omitempty"`
	// Status is whether this rule is in effect
	Status VpcFirewallRuleStatus `json:"status,omitempty" yaml:"status,omitempty"`
	// Targets is list of sets of instances that the rule applies to
	Targets []VpcFirewallRuleTarget `json:"targets,omitempty" yaml:"targets,omitempty"`
}

VpcFirewallRuleUpdate is a single rule in a VPC firewall

type VpcFirewallRuleUpdateParams

type VpcFirewallRuleUpdateParams struct {
	Rules []VpcFirewallRuleUpdate `json:"rules" yaml:"rules"`
}

VpcFirewallRuleUpdateParams is updateable properties of a `Vpc`'s firewall Note that VpcFirewallRules are implicitly created along with a Vpc, so there is no explicit creation.

type VpcFirewallRules

type VpcFirewallRules struct {
	Rules []VpcFirewallRule `json:"rules,omitempty" yaml:"rules,omitempty"`
}

VpcFirewallRules is collection of a Vpc's firewall rules

type VpcFirewallRulesUpdateParams added in v0.0.23

type VpcFirewallRulesUpdateParams struct {
	Project NameOrId                     `json:"project,omitempty" yaml:"project,omitempty"`
	Vpc     NameOrId                     `json:"vpc,omitempty" yaml:"vpc,omitempty"`
	Body    *VpcFirewallRuleUpdateParams `json:"body,omitempty" yaml:"body,omitempty"`
}

VpcFirewallRulesUpdateParams is the request parameters for VpcFirewallRulesUpdate

func (*VpcFirewallRulesUpdateParams) Validate added in v0.0.23

func (p *VpcFirewallRulesUpdateParams) Validate() error

Validate verifies all required fields for VpcFirewallRulesUpdateParams are set

type VpcFirewallRulesViewParams added in v0.0.23

type VpcFirewallRulesViewParams struct {
	Project NameOrId `json:"project,omitempty" yaml:"project,omitempty"`
	Vpc     NameOrId `json:"vpc,omitempty" yaml:"vpc,omitempty"`
}

VpcFirewallRulesViewParams is the request parameters for VpcFirewallRulesView

func (*VpcFirewallRulesViewParams) Validate added in v0.0.23

func (p *VpcFirewallRulesViewParams) Validate() error

Validate verifies all required fields for VpcFirewallRulesViewParams are set

type VpcListParams added in v0.0.23

type VpcListParams struct {
	Limit     int              `json:"limit,omitempty" yaml:"limit,omitempty"`
	PageToken string           `json:"page_token,omitempty" yaml:"page_token,omitempty"`
	Project   NameOrId         `json:"project,omitempty" yaml:"project,omitempty"`
	SortBy    NameOrIdSortMode `json:"sort_by,omitempty" yaml:"sort_by,omitempty"`
}

VpcListParams is the request parameters for VpcList

func (*VpcListParams) Validate added in v0.0.23

func (p *VpcListParams) Validate() error

Validate verifies all required fields for VpcListParams are set

type VpcResultsPage

type VpcResultsPage struct {
	// Items is list of items on this page of results
	Items []Vpc `json:"items,omitempty" yaml:"items,omitempty"`
	// NextPage is token used to fetch the next page of results (if any)
	NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty"`
}

VpcResultsPage is a single page of results

type VpcSubnet

type VpcSubnet struct {
	// Description is human-readable free-form text about a resource
	Description string `json:"description,omitempty" yaml:"description,omitempty"`
	// Id is unique, immutable, system-controlled identifier for each resource
	Id string `json:"id,omitempty" yaml:"id,omitempty"`
	// Ipv4Block is the IPv4 subnet CIDR block.
	Ipv4Block Ipv4Net `json:"ipv4_block,omitempty" yaml:"ipv4_block,omitempty"`
	// Ipv6Block is the IPv6 subnet CIDR block.
	Ipv6Block Ipv6Net `json:"ipv6_block,omitempty" yaml:"ipv6_block,omitempty"`
	// Name is unique, mutable, user-controlled identifier for each resource
	Name Name `json:"name,omitempty" yaml:"name,omitempty"`
	// TimeCreated is timestamp when this resource was created
	TimeCreated *time.Time `json:"time_created,omitempty" yaml:"time_created,omitempty"`
	// TimeModified is timestamp when this resource was last modified
	TimeModified *time.Time `json:"time_modified,omitempty" yaml:"time_modified,omitempty"`
	// VpcId is the VPC to which the subnet belongs.
	VpcId string `json:"vpc_id,omitempty" yaml:"vpc_id,omitempty"`
}

VpcSubnet is a VPC subnet represents a logical grouping for instances that allows network traffic between them, within a IPv4 subnetwork or optionall an IPv6 subnetwork.

type VpcSubnetCreate

type VpcSubnetCreate struct {
	Description string `json:"description,omitempty" yaml:"description,omitempty"`
	// Ipv4Block is the IPv4 address range for this subnet.
	//
	// It must be allocated from an RFC 1918 private address range, and must not overlap with any other existing subnet in the VPC.
	Ipv4Block Ipv4Net `json:"ipv4_block,omitempty" yaml:"ipv4_block,omitempty"`
	// Ipv6Block is the IPv6 address range for this subnet.
	//
	// It must be allocated from the RFC 4193 Unique Local Address range, with the prefix equal to the parent VPC's prefix. A random `/64` block will be assigned if one is not provided. It must not overlap with any existing subnet in the VPC.
	Ipv6Block Ipv6Net `json:"ipv6_block,omitempty" yaml:"ipv6_block,omitempty"`
	// Name is names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.
	Name Name `json:"name,omitempty" yaml:"name,omitempty"`
}

VpcSubnetCreate is create-time parameters for a `VpcSubnet`

type VpcSubnetCreateParams added in v0.0.23

type VpcSubnetCreateParams struct {
	Project NameOrId         `json:"project,omitempty" yaml:"project,omitempty"`
	Vpc     NameOrId         `json:"vpc,omitempty" yaml:"vpc,omitempty"`
	Body    *VpcSubnetCreate `json:"body,omitempty" yaml:"body,omitempty"`
}

VpcSubnetCreateParams is the request parameters for VpcSubnetCreate

func (*VpcSubnetCreateParams) Validate added in v0.0.23

func (p *VpcSubnetCreateParams) Validate() error

Validate verifies all required fields for VpcSubnetCreateParams are set

type VpcSubnetDeleteParams added in v0.0.23

type VpcSubnetDeleteParams struct {
	Subnet  NameOrId `json:"subnet,omitempty" yaml:"subnet,omitempty"`
	Project NameOrId `json:"project,omitempty" yaml:"project,omitempty"`
	Vpc     NameOrId `json:"vpc,omitempty" yaml:"vpc,omitempty"`
}

VpcSubnetDeleteParams is the request parameters for VpcSubnetDelete

func (*VpcSubnetDeleteParams) Validate added in v0.0.23

func (p *VpcSubnetDeleteParams) Validate() error

Validate verifies all required fields for VpcSubnetDeleteParams are set

type VpcSubnetListNetworkInterfacesParams added in v0.0.23

type VpcSubnetListNetworkInterfacesParams struct {
	Subnet    NameOrId         `json:"subnet,omitempty" yaml:"subnet,omitempty"`
	Limit     int              `json:"limit,omitempty" yaml:"limit,omitempty"`
	PageToken string           `json:"page_token,omitempty" yaml:"page_token,omitempty"`
	Project   NameOrId         `json:"project,omitempty" yaml:"project,omitempty"`
	SortBy    NameOrIdSortMode `json:"sort_by,omitempty" yaml:"sort_by,omitempty"`
	Vpc       NameOrId         `json:"vpc,omitempty" yaml:"vpc,omitempty"`
}

VpcSubnetListNetworkInterfacesParams is the request parameters for VpcSubnetListNetworkInterfaces

func (*VpcSubnetListNetworkInterfacesParams) Validate added in v0.0.23

Validate verifies all required fields for VpcSubnetListNetworkInterfacesParams are set

type VpcSubnetListParams added in v0.0.23

type VpcSubnetListParams struct {
	Limit     int              `json:"limit,omitempty" yaml:"limit,omitempty"`
	PageToken string           `json:"page_token,omitempty" yaml:"page_token,omitempty"`
	Project   NameOrId         `json:"project,omitempty" yaml:"project,omitempty"`
	SortBy    NameOrIdSortMode `json:"sort_by,omitempty" yaml:"sort_by,omitempty"`
	Vpc       NameOrId         `json:"vpc,omitempty" yaml:"vpc,omitempty"`
}

VpcSubnetListParams is the request parameters for VpcSubnetList

func (*VpcSubnetListParams) Validate added in v0.0.23

func (p *VpcSubnetListParams) Validate() error

Validate verifies all required fields for VpcSubnetListParams are set

type VpcSubnetResultsPage

type VpcSubnetResultsPage struct {
	// Items is list of items on this page of results
	Items []VpcSubnet `json:"items,omitempty" yaml:"items,omitempty"`
	// NextPage is token used to fetch the next page of results (if any)
	NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty"`
}

VpcSubnetResultsPage is a single page of results

type VpcSubnetUpdate

type VpcSubnetUpdate struct {
	Description string `json:"description,omitempty" yaml:"description,omitempty"`
	Name        Name   `json:"name,omitempty" yaml:"name,omitempty"`
}

VpcSubnetUpdate is updateable properties of a `VpcSubnet`

type VpcSubnetUpdateParams added in v0.0.23

type VpcSubnetUpdateParams struct {
	Subnet  NameOrId         `json:"subnet,omitempty" yaml:"subnet,omitempty"`
	Project NameOrId         `json:"project,omitempty" yaml:"project,omitempty"`
	Vpc     NameOrId         `json:"vpc,omitempty" yaml:"vpc,omitempty"`
	Body    *VpcSubnetUpdate `json:"body,omitempty" yaml:"body,omitempty"`
}

VpcSubnetUpdateParams is the request parameters for VpcSubnetUpdate

func (*VpcSubnetUpdateParams) Validate added in v0.0.23

func (p *VpcSubnetUpdateParams) Validate() error

Validate verifies all required fields for VpcSubnetUpdateParams are set

type VpcSubnetViewParams added in v0.0.23

type VpcSubnetViewParams struct {
	Subnet  NameOrId `json:"subnet,omitempty" yaml:"subnet,omitempty"`
	Project NameOrId `json:"project,omitempty" yaml:"project,omitempty"`
	Vpc     NameOrId `json:"vpc,omitempty" yaml:"vpc,omitempty"`
}

VpcSubnetViewParams is the request parameters for VpcSubnetView

func (*VpcSubnetViewParams) Validate added in v0.0.23

func (p *VpcSubnetViewParams) Validate() error

Validate verifies all required fields for VpcSubnetViewParams are set

type VpcUpdate

type VpcUpdate struct {
	Description string `json:"description,omitempty" yaml:"description,omitempty"`
	DnsName     Name   `json:"dns_name,omitempty" yaml:"dns_name,omitempty"`
	Name        Name   `json:"name,omitempty" yaml:"name,omitempty"`
}

VpcUpdate is updateable properties of a `Vpc`

type VpcUpdateParams added in v0.0.23

type VpcUpdateParams struct {
	Vpc     NameOrId   `json:"vpc,omitempty" yaml:"vpc,omitempty"`
	Project NameOrId   `json:"project,omitempty" yaml:"project,omitempty"`
	Body    *VpcUpdate `json:"body,omitempty" yaml:"body,omitempty"`
}

VpcUpdateParams is the request parameters for VpcUpdate

func (*VpcUpdateParams) Validate added in v0.0.23

func (p *VpcUpdateParams) Validate() error

Validate verifies all required fields for VpcUpdateParams are set

type VpcViewParams added in v0.0.23

type VpcViewParams struct {
	Vpc     NameOrId `json:"vpc,omitempty" yaml:"vpc,omitempty"`
	Project NameOrId `json:"project,omitempty" yaml:"project,omitempty"`
}

VpcViewParams is the request parameters for VpcView

func (*VpcViewParams) Validate added in v0.0.23

func (p *VpcViewParams) Validate() error

Validate verifies all required fields for VpcViewParams are set

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL