oxide

package
v0.1.0-beta1 Latest Latest
Warning

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

Go to latest
Published: Aug 31, 2023 License: MPL-2.0 Imports: 13 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.

BinRangedoubleTypes is the collection of all BinRangedoubleType values.

BinRangeint64Types is the collection of all BinRangeint64Type 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.

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.

ProjectRoles is the collection of all ProjectRole values.

RouteDestinationTypes is the collection of all RouteDestinationType values.

RouteTargetTypes is the collection of all RouteTargetType values.

RouterRouteKinds is the collection of all RouterRouteKind 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.

SnapshotStates is the collection of all SnapshotState values.

SwitchInterfaceKindTypes is the collection of all SwitchInterfaceKindType 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.

VpcRouterKinds is the collection of all VpcRouterKind values.

Functions

This section is empty.

Types

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 BgpPeerConfig added in v0.0.23

type BgpPeerConfig 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"`
	// 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"`
}

BgpPeerConfig 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 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 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 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 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 BlockSize

type BlockSize int64

BlockSize is the type definition for a BlockSize.

type ByteCount

type ByteCount int64

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) CertificateCreate added in v0.0.23

func (c *Client) CertificateCreate(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(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(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(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(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(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(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(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(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(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(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(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() (*CurrentUser, error)

CurrentUserView: Fetch the user associated with the current session

func (*Client) DiskBulkWriteImport added in v0.0.23

func (c *Client) DiskBulkWriteImport(params DiskBulkWriteImportParams) error

DiskBulkWriteImport: Import blocks into a disk

func (*Client) DiskBulkWriteImportStart added in v0.0.23

func (c *Client) DiskBulkWriteImportStart(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(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(params DiskCreateParams) (*Disk, error)

DiskCreate: Create a disk

func (*Client) DiskDelete

func (c *Client) DiskDelete(params DiskDeleteParams) error

DiskDelete: Delete a disk

func (*Client) DiskFinalizeImport added in v0.0.23

func (c *Client) DiskFinalizeImport(params DiskFinalizeImportParams) error

DiskFinalizeImport: Confirm disk block import completion

func (*Client) DiskImportBlocksFromUrl

func (c *Client) DiskImportBlocksFromUrl(params DiskImportBlocksFromUrlParams) error

DiskImportBlocksFromUrl: Request to import blocks from URL

func (*Client) DiskList

func (c *Client) DiskList(params DiskListParams) (*DiskResultsPage, error)

DiskList: List disks

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

func (*Client) DiskListAllPages

func (c *Client) DiskListAllPages(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(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(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(params DiskViewParams) (*Disk, error)

DiskView: Fetch a disk

func (*Client) GroupList added in v0.0.23

func (c *Client) GroupList(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(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(params GroupViewParams) (*Group, error)

GroupView: Fetch group

func (*Client) ImageCreate

func (c *Client) ImageCreate(params ImageCreateParams) (*Image, error)

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

func (*Client) ImageDelete

func (c *Client) ImageDelete(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(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(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(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(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(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(params InstanceCreateParams) (*Instance, error)

InstanceCreate: Create an instance

func (*Client) InstanceDelete

func (c *Client) InstanceDelete(params InstanceDeleteParams) error

InstanceDelete: Delete an instance

func (*Client) InstanceDiskAttach

func (c *Client) InstanceDiskAttach(params InstanceDiskAttachParams) (*Disk, error)

InstanceDiskAttach: Attach a disk to an instance

func (*Client) InstanceDiskDetach

func (c *Client) InstanceDiskDetach(params InstanceDiskDetachParams) (*Disk, error)

InstanceDiskDetach: Detach a disk from an instance

func (*Client) InstanceDiskList

func (c *Client) InstanceDiskList(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(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(params InstanceExternalIpListParams) (*ExternalIpResultsPage, error)

InstanceExternalIpList: List external IP addresses

func (*Client) InstanceList

func (c *Client) InstanceList(params InstanceListParams) (*InstanceResultsPage, error)

InstanceList: List instances

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

func (*Client) InstanceListAllPages

func (c *Client) InstanceListAllPages(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(params InstanceMigrateParams) (*Instance, error)

InstanceMigrate: Migrate an instance

func (*Client) InstanceNetworkInterfaceCreate

func (c *Client) InstanceNetworkInterfaceCreate(params InstanceNetworkInterfaceCreateParams) (*InstanceNetworkInterface, error)

InstanceNetworkInterfaceCreate: Create a network interface

func (*Client) InstanceNetworkInterfaceDelete

func (c *Client) InstanceNetworkInterfaceDelete(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(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(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(params InstanceNetworkInterfaceUpdateParams) (*InstanceNetworkInterface, error)

InstanceNetworkInterfaceUpdate: Update a network interface

func (*Client) InstanceNetworkInterfaceView

func (c *Client) InstanceNetworkInterfaceView(params InstanceNetworkInterfaceViewParams) (*InstanceNetworkInterface, error)

InstanceNetworkInterfaceView: Fetch a network interface

func (*Client) InstanceReboot

func (c *Client) InstanceReboot(params InstanceRebootParams) (*Instance, error)

InstanceReboot: Reboot an instance

func (*Client) InstanceSerialConsole

func (c *Client) InstanceSerialConsole(params InstanceSerialConsoleParams) (*InstanceSerialConsoleData, error)

InstanceSerialConsole: Fetch an instance's serial console

func (*Client) InstanceSerialConsoleStream added in v0.0.23

func (c *Client) InstanceSerialConsoleStream(params InstanceSerialConsoleStreamParams) error

InstanceSerialConsoleStream: Stream an instance's serial console

func (*Client) InstanceStart

func (c *Client) InstanceStart(params InstanceStartParams) (*Instance, error)

InstanceStart: Boot an instance

func (*Client) InstanceStop

func (c *Client) InstanceStop(params InstanceStopParams) (*Instance, error)

InstanceStop: Stop an instance

func (*Client) InstanceView

func (c *Client) InstanceView(params InstanceViewParams) (*Instance, error)

InstanceView: Fetch an instance

func (*Client) IpPoolCreate

func (c *Client) IpPoolCreate(params IpPoolCreateParams) (*IpPool, error)

IpPoolCreate: Create an IP pool

func (*Client) IpPoolDelete

func (c *Client) IpPoolDelete(params IpPoolDeleteParams) error

IpPoolDelete: Delete an IP Pool

func (*Client) IpPoolList

func (c *Client) IpPoolList(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(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(params IpPoolRangeAddParams) (*IpPoolRange, error)

IpPoolRangeAdd: Add a range to an IP pool

func (*Client) IpPoolRangeList

func (c *Client) IpPoolRangeList(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(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(params IpPoolRangeRemoveParams) error

IpPoolRangeRemove: Remove a range from an IP pool

func (*Client) IpPoolServiceRangeAdd

func (c *Client) IpPoolServiceRangeAdd(params IpPoolServiceRangeAddParams) (*IpPoolRange, error)

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

func (*Client) IpPoolServiceRangeList

func (c *Client) IpPoolServiceRangeList(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(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(params IpPoolServiceRangeRemoveParams) error

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

func (*Client) IpPoolServiceView

func (c *Client) IpPoolServiceView() (*IpPool, error)

IpPoolServiceView: Fetch the IP pool used for Oxide services

func (*Client) IpPoolUpdate

func (c *Client) IpPoolUpdate(params IpPoolUpdateParams) (*IpPool, error)

IpPoolUpdate: Update an IP Pool

func (*Client) IpPoolView

func (c *Client) IpPoolView(params IpPoolViewParams) (*IpPool, error)

IpPoolView: Fetch an IP pool

func (*Client) LocalIdpUserCreate added in v0.0.23

func (c *Client) LocalIdpUserCreate(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(params LocalIdpUserDeleteParams) error

LocalIdpUserDelete: Delete a user

func (*Client) LocalIdpUserSetPassword added in v0.0.23

func (c *Client) LocalIdpUserSetPassword(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(params LoginLocalParams) error

LoginLocal: Authenticate a user via username and password

func (*Client) LoginSaml added in v0.0.23

func (c *Client) LoginSaml(params LoginSamlParams) error

LoginSaml: Authenticate a user via SAML

func (*Client) NetworkingAddressLotBlockList added in v0.0.23

func (c *Client) NetworkingAddressLotBlockList(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(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(params NetworkingAddressLotCreateParams) (*AddressLotCreateResponse, error)

NetworkingAddressLotCreate: Create an address lot

func (*Client) NetworkingAddressLotDelete added in v0.0.23

func (c *Client) NetworkingAddressLotDelete(params NetworkingAddressLotDeleteParams) error

NetworkingAddressLotDelete: Delete an address lot

func (*Client) NetworkingAddressLotList added in v0.0.23

func (c *Client) NetworkingAddressLotList(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(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) NetworkingLoopbackAddressCreate added in v0.0.23

func (c *Client) NetworkingLoopbackAddressCreate(params NetworkingLoopbackAddressCreateParams) (*LoopbackAddress, error)

NetworkingLoopbackAddressCreate: Create a loopback address

func (*Client) NetworkingLoopbackAddressDelete added in v0.0.23

func (c *Client) NetworkingLoopbackAddressDelete(params NetworkingLoopbackAddressDeleteParams) error

NetworkingLoopbackAddressDelete: Delete a loopback address

func (*Client) NetworkingLoopbackAddressList added in v0.0.23

func (c *Client) NetworkingLoopbackAddressList(params NetworkingLoopbackAddressListParams) (*LoopbackAddressResultsPage, error)

NetworkingLoopbackAddressList: Get loopback addresses, optionally filtering by id

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

func (*Client) NetworkingLoopbackAddressListAllPages added in v0.0.23

func (c *Client) NetworkingLoopbackAddressListAllPages(params NetworkingLoopbackAddressListParams) (*[]LoopbackAddress, error)

NetworkingLoopbackAddressListAllPages: Get loopback addresses, optionally filtering by id

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(params NetworkingSwitchPortApplySettingsParams) error

NetworkingSwitchPortApplySettings: Apply switch port settings

func (*Client) NetworkingSwitchPortClearSettings added in v0.0.23

func (c *Client) NetworkingSwitchPortClearSettings(params NetworkingSwitchPortClearSettingsParams) error

NetworkingSwitchPortClearSettings: Clear switch port settings

func (*Client) NetworkingSwitchPortList added in v0.0.23

func (c *Client) NetworkingSwitchPortList(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(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(params NetworkingSwitchPortSettingsCreateParams) (*SwitchPortSettingsView, error)

NetworkingSwitchPortSettingsCreate: Create switch port settings

func (*Client) NetworkingSwitchPortSettingsDelete added in v0.0.23

func (c *Client) NetworkingSwitchPortSettingsDelete(params NetworkingSwitchPortSettingsDeleteParams) error

NetworkingSwitchPortSettingsDelete: Delete switch port settings

func (*Client) NetworkingSwitchPortSettingsList added in v0.0.23

func (c *Client) NetworkingSwitchPortSettingsList(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(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(params NetworkingSwitchPortSettingsViewParams) (*SwitchPortSettingsView, error)

NetworkingSwitchPortSettingsView: Get information about a switch port

func (*Client) PhysicalDiskList added in v0.0.23

func (c *Client) PhysicalDiskList(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(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) PolicyUpdate

func (c *Client) PolicyUpdate(params PolicyUpdateParams) (*SiloRolePolicy, error)

PolicyUpdate: Update the current silo's IAM policy

func (*Client) PolicyView

func (c *Client) PolicyView() (*SiloRolePolicy, error)

PolicyView: Fetch the current silo's IAM policy

func (*Client) ProjectCreate

func (c *Client) ProjectCreate(params ProjectCreateParams) (*Project, error)

ProjectCreate: Create a project

func (*Client) ProjectDelete

func (c *Client) ProjectDelete(params ProjectDeleteParams) error

ProjectDelete: Delete a project

func (*Client) ProjectIpPoolList added in v0.0.23

func (c *Client) ProjectIpPoolList(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(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(params ProjectIpPoolViewParams) (*IpPool, error)

ProjectIpPoolView: Fetch an IP pool

func (*Client) ProjectList

func (c *Client) ProjectList(params ProjectListParams) (*ProjectResultsPage, error)

ProjectList: List projects

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

func (*Client) ProjectListAllPages

func (c *Client) ProjectListAllPages(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(params ProjectPolicyUpdateParams) (*ProjectRolePolicy, error)

ProjectPolicyUpdate: Update a project's IAM policy

func (*Client) ProjectPolicyView

func (c *Client) ProjectPolicyView(params ProjectPolicyViewParams) (*ProjectRolePolicy, error)

ProjectPolicyView: Fetch a project's IAM policy

func (*Client) ProjectUpdate

func (c *Client) ProjectUpdate(params ProjectUpdateParams) (*Project, error)

ProjectUpdate: Update a project

func (*Client) ProjectView

func (c *Client) ProjectView(params ProjectViewParams) (*Project, error)

ProjectView: Fetch a project

func (*Client) RackList

func (c *Client) RackList(params RackListParams) (*RackResultsPage, error)

RackList: List racks

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

func (*Client) RackListAllPages

func (c *Client) RackListAllPages(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(params RackViewParams) (*Rack, error)

RackView: Fetch a rack

func (*Client) RoleList

func (c *Client) RoleList(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(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(params RoleViewParams) (*Role, error)

RoleView: Fetch a built-in role

func (*Client) SamlIdentityProviderCreate added in v0.0.23

func (c *Client) SamlIdentityProviderCreate(params SamlIdentityProviderCreateParams) (*SamlIdentityProvider, error)

SamlIdentityProviderCreate: Create a SAML IdP

func (*Client) SamlIdentityProviderView added in v0.0.23

func (c *Client) SamlIdentityProviderView(params SamlIdentityProviderViewParams) (*SamlIdentityProvider, error)

SamlIdentityProviderView: Fetch a SAML IdP

func (*Client) SiloCreate

func (c *Client) SiloCreate(params SiloCreateParams) (*Silo, error)

SiloCreate: Create a silo

func (*Client) SiloDelete

func (c *Client) SiloDelete(params SiloDeleteParams) error

SiloDelete: Delete a silo Delete a silo by name.

func (*Client) SiloIdentityProviderList

func (c *Client) SiloIdentityProviderList(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(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(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(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(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(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(params SiloPolicyUpdateParams) (*SiloRolePolicy, error)

SiloPolicyUpdate: Update a silo's IAM policy

func (*Client) SiloPolicyView

func (c *Client) SiloPolicyView(params SiloPolicyViewParams) (*SiloRolePolicy, error)

SiloPolicyView: Fetch a silo's IAM policy

func (*Client) SiloUserList added in v0.0.23

func (c *Client) SiloUserList(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(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(params SiloUserViewParams) (*User, error)

SiloUserView: Fetch a built-in (system) user

func (*Client) SiloView

func (c *Client) SiloView(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(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(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(params SledListParams) (*SledResultsPage, error)

SledList: List sleds

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

func (*Client) SledListAllPages

func (c *Client) SledListAllPages(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(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(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) SledView

func (c *Client) SledView(params SledViewParams) (*Sled, error)

SledView: Fetch a sled

func (*Client) SnapshotCreate

func (c *Client) SnapshotCreate(params SnapshotCreateParams) (*Snapshot, error)

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

func (*Client) SnapshotDelete

func (c *Client) SnapshotDelete(params SnapshotDeleteParams) error

SnapshotDelete: Delete a snapshot

func (*Client) SnapshotList

func (c *Client) SnapshotList(params SnapshotListParams) (*SnapshotResultsPage, error)

SnapshotList: List snapshots

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

func (*Client) SnapshotListAllPages

func (c *Client) SnapshotListAllPages(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(params SnapshotViewParams) (*Snapshot, error)

SnapshotView: Fetch a snapshot

func (*Client) SwitchList added in v0.0.23

func (c *Client) SwitchList(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(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(params SwitchViewParams) (*Switch, error)

SwitchView: Fetch a switch

func (*Client) SystemMetric added in v0.0.23

func (c *Client) SystemMetric(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(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(params SystemPolicyUpdateParams) (*FleetRolePolicy, error)

SystemPolicyUpdate: Update the top-level IAM policy

func (*Client) SystemPolicyView

func (c *Client) SystemPolicyView() (*FleetRolePolicy, error)

SystemPolicyView: Fetch the top-level IAM policy

func (*Client) UserBuiltinList added in v0.0.23

func (c *Client) UserBuiltinList(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(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(params UserBuiltinViewParams) (*UserBuiltin, error)

UserBuiltinView: Fetch a built-in user

func (*Client) UserList

func (c *Client) UserList(params UserListParams) (*UserResultsPage, error)

UserList: List users

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

func (*Client) UserListAllPages

func (c *Client) UserListAllPages(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) VpcCreate

func (c *Client) VpcCreate(params VpcCreateParams) (*Vpc, error)

VpcCreate: Create a VPC

func (*Client) VpcDelete

func (c *Client) VpcDelete(params VpcDeleteParams) error

VpcDelete: Delete a VPC

func (*Client) VpcFirewallRulesUpdate

func (c *Client) VpcFirewallRulesUpdate(params VpcFirewallRulesUpdateParams) (*VpcFirewallRules, error)

VpcFirewallRulesUpdate: Replace firewall rules

func (*Client) VpcFirewallRulesView

func (c *Client) VpcFirewallRulesView(params VpcFirewallRulesViewParams) (*VpcFirewallRules, error)

VpcFirewallRulesView: List firewall rules

func (*Client) VpcList

func (c *Client) VpcList(params VpcListParams) (*VpcResultsPage, error)

VpcList: List VPCs

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

func (*Client) VpcListAllPages

func (c *Client) VpcListAllPages(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) VpcRouterCreate

func (c *Client) VpcRouterCreate(params VpcRouterCreateParams) (*VpcRouter, error)

VpcRouterCreate: Create a VPC router

func (*Client) VpcRouterDelete

func (c *Client) VpcRouterDelete(params VpcRouterDeleteParams) error

VpcRouterDelete: Delete a router

func (*Client) VpcRouterList

func (c *Client) VpcRouterList(params VpcRouterListParams) (*VpcRouterResultsPage, error)

VpcRouterList: List routers

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

func (*Client) VpcRouterListAllPages

func (c *Client) VpcRouterListAllPages(params VpcRouterListParams) (*[]VpcRouter, error)

VpcRouterListAllPages: List routers

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

func (*Client) VpcRouterRouteCreate

func (c *Client) VpcRouterRouteCreate(params VpcRouterRouteCreateParams) (*RouterRoute, error)

VpcRouterRouteCreate: Create a router

func (*Client) VpcRouterRouteDelete

func (c *Client) VpcRouterRouteDelete(params VpcRouterRouteDeleteParams) error

VpcRouterRouteDelete: Delete a route

func (*Client) VpcRouterRouteList

func (c *Client) VpcRouterRouteList(params VpcRouterRouteListParams) (*RouterRouteResultsPage, error)

VpcRouterRouteList: List routes List the routes associated with a router in a particular VPC.

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

func (*Client) VpcRouterRouteListAllPages

func (c *Client) VpcRouterRouteListAllPages(params VpcRouterRouteListParams) (*[]RouterRoute, error)

VpcRouterRouteListAllPages: List routes List the routes associated with a router in a particular VPC.

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

func (*Client) VpcRouterRouteUpdate

func (c *Client) VpcRouterRouteUpdate(params VpcRouterRouteUpdateParams) (*RouterRoute, error)

VpcRouterRouteUpdate: Update a route

func (*Client) VpcRouterRouteView

func (c *Client) VpcRouterRouteView(params VpcRouterRouteViewParams) (*RouterRoute, error)

VpcRouterRouteView: Fetch a route

func (*Client) VpcRouterUpdate

func (c *Client) VpcRouterUpdate(params VpcRouterUpdateParams) (*VpcRouter, error)

VpcRouterUpdate: Update a router

func (*Client) VpcRouterView

func (c *Client) VpcRouterView(params VpcRouterViewParams) (*VpcRouter, error)

VpcRouterView: Fetch a router

func (*Client) VpcSubnetCreate

func (c *Client) VpcSubnetCreate(params VpcSubnetCreateParams) (*VpcSubnet, error)

VpcSubnetCreate: Create a subnet

func (*Client) VpcSubnetDelete

func (c *Client) VpcSubnetDelete(params VpcSubnetDeleteParams) error

VpcSubnetDelete: Delete a subnet

func (*Client) VpcSubnetList

func (c *Client) VpcSubnetList(params VpcSubnetListParams) (*VpcSubnetResultsPage, error)

VpcSubnetList: List subnets

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

func (*Client) VpcSubnetListAllPages

func (c *Client) VpcSubnetListAllPages(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(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(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(params VpcSubnetUpdateParams) (*VpcSubnet, error)

VpcSubnetUpdate: Update a subnet

func (*Client) VpcSubnetView

func (c *Client) VpcSubnetView(params VpcSubnetViewParams) (*VpcSubnet, error)

VpcSubnetView: Fetch a subnet

func (*Client) VpcUpdate

func (c *Client) VpcUpdate(params VpcUpdateParams) (*Vpc, error)

VpcUpdate: Update a VPC

func (*Client) VpcView

func (c *Client) VpcView(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 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 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 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 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 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 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 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 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 DatumTypeCumulativeF64 DatumType = "cumulative_f64"

DatumTypeCumulativeF64 represents the DatumType `"cumulative_f64"`.

const DatumTypeCumulativeI64 DatumType = "cumulative_i64"

DatumTypeCumulativeI64 represents the DatumType `"cumulative_i64"`.

const DatumTypeF64 DatumType = "f64"

DatumTypeF64 represents the DatumType `"f64"`.

const DatumTypeHistogramF64 DatumType = "histogram_f64"

DatumTypeHistogramF64 represents the DatumType `"histogram_f64"`.

const DatumTypeHistogramI64 DatumType = "histogram_i64"

DatumTypeHistogramI64 represents the DatumType `"histogram_i64"`.

const DatumTypeI64 DatumType = "i64"

DatumTypeI64 represents the DatumType `"i64"`.

const DatumTypeString DatumType = "string"

DatumTypeString represents the DatumType `"string"`.

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 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 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 DiskImportBlocksFromUrlParams

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

DiskImportBlocksFromUrlParams is the request parameters for DiskImportBlocksFromUrl

func (*DiskImportBlocksFromUrlParams) Validate

func (p *DiskImportBlocksFromUrlParams) Validate() error

Validate verifies all required fields for DiskImportBlocksFromUrlParams 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 ExpectedDigest

type ExpectedDigest struct {
	// Sha256 is the type definition for a Sha256.
	Sha256 string `json:"sha256,omitempty" yaml:"sha256,omitempty"`
}

ExpectedDigest is the type definition for a ExpectedDigest.

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"`
}

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 ExternalIpCreateType

type ExternalIpCreateType string

ExternalIpCreateType is the type definition for a ExternalIpCreateType.

const ExternalIpCreateTypeEphemeral ExternalIpCreateType = "ephemeral"

ExternalIpCreateTypeEphemeral represents the ExternalIpCreateType `"ephemeral"`.

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 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 {
	// URL is the URL that was being accessed when the error occurred.
	// It will always be populated.
	URL *url.URL
	// StatusCode is the HTTP response status code and will always be populated.
	StatusCode int
	// Message is the server response message and is only populated when
	// explicitly referenced by the JSON server response.
	Message string
	// Body is the raw response returned by the server.
	// It is often but not always JSON, depending on how the request fails.
	Body string
	// Header contains the response header fields from the server.
	Header http.Header
}

HTTPError is an error returned by a failed API call.

func (HTTPError) Error

func (err HTTPError) Error() string

Error converts the Error 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 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 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"`
	// Url is uRL source of this image, if any
	Url string `json:"url,omitempty" yaml:"url,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 {
	// BlockSize is the block size in bytes
	BlockSize BlockSize `json:"block_size,omitempty" yaml:"block_size,omitempty"`
	// Type is the type definition for a Type.
	Type ImageSourceType `json:"type,omitempty" yaml:"type,omitempty"`
	// Url is the type definition for a Url.
	Url string `json:"url,omitempty" yaml:"url,omitempty"`
	// Id is the type definition for a Id.
	Id string `json:"id,omitempty" yaml:"id,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 ImageSourceTypeUrl ImageSourceType = "url"

ImageSourceTypeUrl represents the ImageSourceType `"url"`.

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 ImageSourceUrl

type ImageSourceUrl struct {
	// BlockSize is the block size in bytes
	BlockSize BlockSize       `json:"block_size,omitempty" yaml:"block_size,omitempty"`
	Type      ImageSourceType `json:"type,omitempty" yaml:"type,omitempty"`
	Url       string          `json:"url,omitempty" yaml:"url,omitempty"`
}

ImageSourceUrl is the type definition for a ImageSourceUrl.

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 ImportBlocksFromUrl

type ImportBlocksFromUrl struct {
	// ExpectedDigest is expected digest of all blocks when importing from a URL
	ExpectedDigest ExpectedDigest `json:"expected_digest,omitempty" yaml:"expected_digest,omitempty"`
	// Url is the source to pull blocks from
	Url string `json:"url,omitempty" yaml:"url,omitempty"`
}

ImportBlocksFromUrl is parameters for importing blocks from a URL to a disk

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 int64

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"`
	// 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 {
	// 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"`
}

LinkConfig is switch link configuration.

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 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 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 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 RouteDestination

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

RouteDestination is a `RouteDestination` is used to match traffic with a routing rule, on the destination of that traffic.

When traffic is to be sent to a destination that is within a given `RouteDestination`, the corresponding `RouterRoute` applies, and traffic will be forward to the `RouteTarget` for that rule.

type RouteDestinationIp

type RouteDestinationIp struct {
	Type  RouteDestinationType `json:"type,omitempty" yaml:"type,omitempty"`
	Value string               `json:"value,omitempty" yaml:"value,omitempty"`
}

RouteDestinationIp is route applies to traffic destined for a specific IP address

type RouteDestinationIpNet

type RouteDestinationIpNet struct {
	Type  RouteDestinationType `json:"type,omitempty" yaml:"type,omitempty"`
	Value IpNet                `json:"value,omitempty" yaml:"value,omitempty"`
}

RouteDestinationIpNet is route applies to traffic destined for a specific IP subnet

type RouteDestinationSubnet

type RouteDestinationSubnet struct {
	Type RouteDestinationType `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"`
}

RouteDestinationSubnet is route applies to traffic

type RouteDestinationType

type RouteDestinationType string

RouteDestinationType is the type definition for a RouteDestinationType.

const RouteDestinationTypeIp RouteDestinationType = "ip"

RouteDestinationTypeIp represents the RouteDestinationType `"ip"`.

const RouteDestinationTypeIpNet RouteDestinationType = "ip_net"

RouteDestinationTypeIpNet represents the RouteDestinationType `"ip_net"`.

const RouteDestinationTypeSubnet RouteDestinationType = "subnet"

RouteDestinationTypeSubnet represents the RouteDestinationType `"subnet"`.

const RouteDestinationTypeVpc RouteDestinationType = "vpc"

RouteDestinationTypeVpc represents the RouteDestinationType `"vpc"`.

type RouteDestinationVpc

type RouteDestinationVpc struct {
	Type RouteDestinationType `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"`
}

RouteDestinationVpc is route applies to traffic destined for the given VPC.

type RouteTarget

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

RouteTarget is a `RouteTarget` describes the possible locations that traffic matching a route destination can be sent.

type RouteTargetInstance

type RouteTargetInstance struct {
	Type RouteTargetType `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"`
}

RouteTargetInstance is forward traffic to a specific instance

type RouteTargetInternetGateway

type RouteTargetInternetGateway struct {
	Type RouteTargetType `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"`
}

RouteTargetInternetGateway is forward traffic to an internet gateway

type RouteTargetIp

type RouteTargetIp struct {
	Type  RouteTargetType `json:"type,omitempty" yaml:"type,omitempty"`
	Value string          `json:"value,omitempty" yaml:"value,omitempty"`
}

RouteTargetIp is forward traffic to a particular IP address.

type RouteTargetSubnet

type RouteTargetSubnet struct {
	Type RouteTargetType `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"`
}

RouteTargetSubnet is forward traffic to a VPC Subnet

type RouteTargetType

type RouteTargetType string

RouteTargetType is the type definition for a RouteTargetType.

const RouteTargetTypeInstance RouteTargetType = "instance"

RouteTargetTypeInstance represents the RouteTargetType `"instance"`.

const RouteTargetTypeInternetGateway RouteTargetType = "internet_gateway"

RouteTargetTypeInternetGateway represents the RouteTargetType `"internet_gateway"`.

const RouteTargetTypeIp RouteTargetType = "ip"

RouteTargetTypeIp represents the RouteTargetType `"ip"`.

const RouteTargetTypeSubnet RouteTargetType = "subnet"

RouteTargetTypeSubnet represents the RouteTargetType `"subnet"`.

const RouteTargetTypeVpc RouteTargetType = "vpc"

RouteTargetTypeVpc represents the RouteTargetType `"vpc"`.

type RouteTargetVpc

type RouteTargetVpc struct {
	Type RouteTargetType `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"`
}

RouteTargetVpc is forward traffic to a VPC

type RouterRoute

type RouterRoute struct {
	// Description is human-readable free-form text about a resource
	Description string `json:"description,omitempty" yaml:"description,omitempty"`
	// Destination is a `RouteDestination` is used to match traffic with a routing rule, on the destination of that traffic.
	//
	// When traffic is to be sent to a destination that is within a given `RouteDestination`, the corresponding `RouterRoute` applies, and traffic will be forward to the `RouteTarget` for that rule.
	Destination RouteDestination `json:"destination,omitempty" yaml:"destination,omitempty"`
	// Id is unique, immutable, system-controlled identifier for each resource
	Id string `json:"id,omitempty" yaml:"id,omitempty"`
	// Kind is describes the kind of router. Set at creation. `read-only`
	Kind RouterRouteKind `json:"kind,omitempty" yaml:"kind,omitempty"`
	// Name is unique, mutable, user-controlled identifier for each resource
	Name Name `json:"name,omitempty" yaml:"name,omitempty"`
	// Target is a `RouteTarget` describes the possible locations that traffic matching a route destination can be sent.
	Target RouteTarget `json:"target,omitempty" yaml:"target,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"`
	// VpcRouterId is the ID of the VPC Router to which the route belongs
	VpcRouterId string `json:"vpc_router_id,omitempty" yaml:"vpc_router_id,omitempty"`
}

RouterRoute is a route defines a rule that governs where traffic should be sent based on its destination.

type RouterRouteCreate added in v0.2.0

type RouterRouteCreate struct {
	Description string `json:"description,omitempty" yaml:"description,omitempty"`
	// Destination is a `RouteDestination` is used to match traffic with a routing rule, on the destination of that traffic.
	//
	// When traffic is to be sent to a destination that is within a given `RouteDestination`, the corresponding `RouterRoute` applies, and traffic will be forward to the `RouteTarget` for that rule.
	Destination RouteDestination `json:"destination,omitempty" yaml:"destination,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"`
	// Target is a `RouteTarget` describes the possible locations that traffic matching a route destination can be sent.
	Target RouteTarget `json:"target,omitempty" yaml:"target,omitempty"`
}

RouterRouteCreate is create-time parameters for a `RouterRoute`

type RouterRouteKind

type RouterRouteKind string

RouterRouteKind is determines the default destination of traffic, such as whether it goes to the internet or not.

`Destination: An Internet Gateway` `Modifiable: true`

const RouterRouteKindCustom RouterRouteKind = "custom"

RouterRouteKindCustom represents the RouterRouteKind `"custom"`.

const RouterRouteKindDefault RouterRouteKind = "default"

RouterRouteKindDefault represents the RouterRouteKind `"default"`.

const RouterRouteKindVpcPeering RouterRouteKind = "vpc_peering"

RouterRouteKindVpcPeering represents the RouterRouteKind `"vpc_peering"`.

const RouterRouteKindVpcSubnet RouterRouteKind = "vpc_subnet"

RouterRouteKindVpcSubnet represents the RouterRouteKind `"vpc_subnet"`.

type RouterRouteResultsPage

type RouterRouteResultsPage struct {
	// Items is list of items on this page of results
	Items []RouterRoute `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"`
}

RouterRouteResultsPage is a single page of results

type RouterRouteUpdate added in v0.2.0

type RouterRouteUpdate struct {
	Description string `json:"description,omitempty" yaml:"description,omitempty"`
	// Destination is a `RouteDestination` is used to match traffic with a routing rule, on the destination of that traffic.
	//
	// When traffic is to be sent to a destination that is within a given `RouteDestination`, the corresponding `RouterRoute` applies, and traffic will be forward to the `RouteTarget` for that rule.
	Destination RouteDestination `json:"destination,omitempty" yaml:"destination,omitempty"`
	Name        Name             `json:"name,omitempty" yaml:"name,omitempty"`
	// Target is a `RouteTarget` describes the possible locations that traffic matching a route destination can be sent.
	Target RouteTarget `json:"target,omitempty" yaml:"target,omitempty"`
}

RouterRouteUpdate is updateable properties of a `RouterRoute`

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"`
	// 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 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 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"`
	// 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 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 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 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"`
	// BgpAnnounceSetId is the id for the set of prefixes announced in this peer configuration.
	BgpAnnounceSetId string `json:"bgp_announce_set_id,omitempty" yaml:"bgp_announce_set_id,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 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 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 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,omitempty" yaml:"rules,omitempty"`
}

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 VpcRouter

type VpcRouter 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 VpcRouterKind `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"`
	// VpcId is the VPC to which the router belongs.
	VpcId string `json:"vpc_id,omitempty" yaml:"vpc_id,omitempty"`
}

VpcRouter is a VPC router defines a series of rules that indicate where traffic should be sent depending on its destination.

type VpcRouterCreate

type VpcRouterCreate 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"`
}

VpcRouterCreate is create-time parameters for a `VpcRouter`

type VpcRouterCreateParams added in v0.2.0

type VpcRouterCreateParams struct {
	Project NameOrId         `json:"project,omitempty" yaml:"project,omitempty"`
	Vpc     NameOrId         `json:"vpc,omitempty" yaml:"vpc,omitempty"`
	Body    *VpcRouterCreate `json:"body,omitempty" yaml:"body,omitempty"`
}

VpcRouterCreateParams is the request parameters for VpcRouterCreate

func (*VpcRouterCreateParams) Validate added in v0.2.0

func (p *VpcRouterCreateParams) Validate() error

Validate verifies all required fields for VpcRouterCreateParams are set

type VpcRouterDeleteParams added in v0.2.0

type VpcRouterDeleteParams struct {
	Router  NameOrId `json:"router,omitempty" yaml:"router,omitempty"`
	Project NameOrId `json:"project,omitempty" yaml:"project,omitempty"`
	Vpc     NameOrId `json:"vpc,omitempty" yaml:"vpc,omitempty"`
}

VpcRouterDeleteParams is the request parameters for VpcRouterDelete

func (*VpcRouterDeleteParams) Validate added in v0.2.0

func (p *VpcRouterDeleteParams) Validate() error

Validate verifies all required fields for VpcRouterDeleteParams are set

type VpcRouterKind

type VpcRouterKind string

VpcRouterKind is the type definition for a VpcRouterKind.

const VpcRouterKindCustom VpcRouterKind = "custom"

VpcRouterKindCustom represents the VpcRouterKind `"custom"`.

const VpcRouterKindSystem VpcRouterKind = "system"

VpcRouterKindSystem represents the VpcRouterKind `"system"`.

type VpcRouterListParams added in v0.2.0

type VpcRouterListParams 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"`
}

VpcRouterListParams is the request parameters for VpcRouterList

func (*VpcRouterListParams) Validate added in v0.2.0

func (p *VpcRouterListParams) Validate() error

Validate verifies all required fields for VpcRouterListParams are set

type VpcRouterResultsPage

type VpcRouterResultsPage struct {
	// Items is list of items on this page of results
	Items []VpcRouter `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"`
}

VpcRouterResultsPage is a single page of results

type VpcRouterRouteCreateParams added in v0.2.0

type VpcRouterRouteCreateParams struct {
	Project NameOrId           `json:"project,omitempty" yaml:"project,omitempty"`
	Router  NameOrId           `json:"router,omitempty" yaml:"router,omitempty"`
	Vpc     NameOrId           `json:"vpc,omitempty" yaml:"vpc,omitempty"`
	Body    *RouterRouteCreate `json:"body,omitempty" yaml:"body,omitempty"`
}

VpcRouterRouteCreateParams is the request parameters for VpcRouterRouteCreate

func (*VpcRouterRouteCreateParams) Validate added in v0.2.0

func (p *VpcRouterRouteCreateParams) Validate() error

Validate verifies all required fields for VpcRouterRouteCreateParams are set

type VpcRouterRouteDeleteParams added in v0.2.0

type VpcRouterRouteDeleteParams struct {
	Route   NameOrId `json:"route,omitempty" yaml:"route,omitempty"`
	Project NameOrId `json:"project,omitempty" yaml:"project,omitempty"`
	Router  NameOrId `json:"router,omitempty" yaml:"router,omitempty"`
	Vpc     NameOrId `json:"vpc,omitempty" yaml:"vpc,omitempty"`
}

VpcRouterRouteDeleteParams is the request parameters for VpcRouterRouteDelete

func (*VpcRouterRouteDeleteParams) Validate added in v0.2.0

func (p *VpcRouterRouteDeleteParams) Validate() error

Validate verifies all required fields for VpcRouterRouteDeleteParams are set

type VpcRouterRouteListParams added in v0.2.0

type VpcRouterRouteListParams 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"`
	Router    NameOrId         `json:"router,omitempty" yaml:"router,omitempty"`
	SortBy    NameOrIdSortMode `json:"sort_by,omitempty" yaml:"sort_by,omitempty"`
	Vpc       NameOrId         `json:"vpc,omitempty" yaml:"vpc,omitempty"`
}

VpcRouterRouteListParams is the request parameters for VpcRouterRouteList

func (*VpcRouterRouteListParams) Validate added in v0.2.0

func (p *VpcRouterRouteListParams) Validate() error

Validate verifies all required fields for VpcRouterRouteListParams are set

type VpcRouterRouteUpdateParams added in v0.2.0

type VpcRouterRouteUpdateParams struct {
	Route   NameOrId           `json:"route,omitempty" yaml:"route,omitempty"`
	Project NameOrId           `json:"project,omitempty" yaml:"project,omitempty"`
	Router  NameOrId           `json:"router,omitempty" yaml:"router,omitempty"`
	Vpc     NameOrId           `json:"vpc,omitempty" yaml:"vpc,omitempty"`
	Body    *RouterRouteUpdate `json:"body,omitempty" yaml:"body,omitempty"`
}

VpcRouterRouteUpdateParams is the request parameters for VpcRouterRouteUpdate

func (*VpcRouterRouteUpdateParams) Validate added in v0.2.0

func (p *VpcRouterRouteUpdateParams) Validate() error

Validate verifies all required fields for VpcRouterRouteUpdateParams are set

type VpcRouterRouteViewParams added in v0.2.0

type VpcRouterRouteViewParams struct {
	Route   NameOrId `json:"route,omitempty" yaml:"route,omitempty"`
	Project NameOrId `json:"project,omitempty" yaml:"project,omitempty"`
	Router  NameOrId `json:"router,omitempty" yaml:"router,omitempty"`
	Vpc     NameOrId `json:"vpc,omitempty" yaml:"vpc,omitempty"`
}

VpcRouterRouteViewParams is the request parameters for VpcRouterRouteView

func (*VpcRouterRouteViewParams) Validate added in v0.2.0

func (p *VpcRouterRouteViewParams) Validate() error

Validate verifies all required fields for VpcRouterRouteViewParams are set

type VpcRouterUpdate

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

VpcRouterUpdate is updateable properties of a `VpcRouter`

type VpcRouterUpdateParams added in v0.2.0

type VpcRouterUpdateParams struct {
	Router  NameOrId         `json:"router,omitempty" yaml:"router,omitempty"`
	Project NameOrId         `json:"project,omitempty" yaml:"project,omitempty"`
	Vpc     NameOrId         `json:"vpc,omitempty" yaml:"vpc,omitempty"`
	Body    *VpcRouterUpdate `json:"body,omitempty" yaml:"body,omitempty"`
}

VpcRouterUpdateParams is the request parameters for VpcRouterUpdate

func (*VpcRouterUpdateParams) Validate added in v0.2.0

func (p *VpcRouterUpdateParams) Validate() error

Validate verifies all required fields for VpcRouterUpdateParams are set

type VpcRouterViewParams added in v0.2.0

type VpcRouterViewParams struct {
	Router  NameOrId `json:"router,omitempty" yaml:"router,omitempty"`
	Project NameOrId `json:"project,omitempty" yaml:"project,omitempty"`
	Vpc     NameOrId `json:"vpc,omitempty" yaml:"vpc,omitempty"`
}

VpcRouterViewParams is the request parameters for VpcRouterView

func (*VpcRouterViewParams) Validate added in v0.2.0

func (p *VpcRouterViewParams) Validate() error

Validate verifies all required fields for VpcRouterViewParams are set

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