Documentation
¶
Index ¶
- Constants
- Variables
- type ByteCount
- type Client
- type DatumType
- type Disk
- type DiskCreate
- type DiskIdentifier
- type DiskResultsPage
- type DiskState
- type DiskStateAttached
- type DiskStateAttaching
- type DiskStateCreating
- type DiskStateDestroyed
- type DiskStateDetached
- type DiskStateDetaching
- type DiskStateFaulted
- type DiskStateState
- type DisksService
- func (s *DisksService) Create(organizationName Name, projectName Name, j *DiskCreate) (*Disk, error)
- func (s *DisksService) Delete(diskName Name, organizationName Name, projectName Name) error
- func (s *DisksService) Get(diskName Name, organizationName Name, projectName Name) (*Disk, error)
- func (s *DisksService) List(limit int, pageToken string, sortBy NameSortMode, organizationName Name, ...) (*DiskResultsPage, error)
- func (s *DisksService) ListAllPages(sortBy NameSortMode, organizationName Name, projectName Name) (*[]Disk, error)
- type Error
- type ErrorResponse
- type FieldSchema
- type FieldSource
- type FieldType
- type FirewallRule
- type FirewallRuleAction
- type FirewallRuleDirection
- type FirewallRuleFilter
- type FirewallRuleHostFilter
- type FirewallRuleHostFilterInstance
- type FirewallRuleHostFilterIp
- type FirewallRuleHostFilterIpNet
- type FirewallRuleHostFilterSubnet
- type FirewallRuleHostFilterType
- type FirewallRuleHostFilterVPC
- type FirewallRuleProtocol
- type FirewallRuleStatus
- type FirewallRuleTarget
- type FirewallRuleTargetInstance
- type FirewallRuleTargetIp
- type FirewallRuleTargetIpNet
- type FirewallRuleTargetSubnet
- type FirewallRuleTargetType
- type FirewallRuleTargetVPC
- type FirewallRuleUpdate
- type FirewallRuleUpdateParams
- type FirewallRules
- type FirewallService
- type HTTPError
- type HiddenService
- type IPv4Net
- type IPv6Net
- type IdSortMode
- type Instance
- type InstanceCPUCount
- type InstanceCreate
- type InstanceMigrate
- type InstanceNetworkInterfaceAttachment
- type InstanceNetworkInterfaceAttachmentCreate
- type InstanceNetworkInterfaceAttachmentDefault
- type InstanceNetworkInterfaceAttachmentNone
- type InstanceNetworkInterfaceAttachmentType
- type InstanceNetworkInterfaceCreate
- type InstanceResultsPage
- type InstanceState
- type InstancesService
- func (s *InstancesService) Create(organizationName Name, projectName Name, j *InstanceCreate) (*Instance, error)
- func (s *InstancesService) Delete(instanceName Name, organizationName Name, projectName Name) error
- func (s *InstancesService) DisksAttach(instanceName Name, organizationName Name, projectName Name, j *DiskIdentifier) (*Disk, error)
- func (s *InstancesService) DisksDetach(instanceName Name, organizationName Name, projectName Name, j *DiskIdentifier) (*Disk, error)
- func (s *InstancesService) DisksList(limit int, pageToken string, sortBy NameSortMode, instanceName Name, ...) (*DiskResultsPage, error)
- func (s *InstancesService) DisksListAllPages(sortBy NameSortMode, instanceName Name, organizationName Name, ...) (*[]Disk, error)
- func (s *InstancesService) Get(instanceName Name, organizationName Name, projectName Name) (*Instance, error)
- func (s *InstancesService) List(limit int, pageToken string, sortBy NameSortMode, organizationName Name, ...) (*InstanceResultsPage, error)
- func (s *InstancesService) ListAllPages(sortBy NameSortMode, organizationName Name, projectName Name) (*[]Instance, error)
- func (s *InstancesService) Migrate(instanceName Name, organizationName Name, projectName Name, j *InstanceMigrate) (*Instance, error)
- func (s *InstancesService) NetworkInterfacesCreate(instanceName Name, organizationName Name, projectName Name, ...) (*NetworkInterface, error)
- func (s *InstancesService) NetworkInterfacesDeleteInterface(instanceName Name, interfaceName Name, organizationName Name, projectName Name) error
- func (s *InstancesService) NetworkInterfacesGetInterface(instanceName Name, interfaceName Name, organizationName Name, projectName Name) (*NetworkInterface, error)
- func (s *InstancesService) NetworkInterfacesList(limit int, pageToken string, sortBy NameSortMode, instanceName Name, ...) (*NetworkInterfaceResultsPage, error)
- func (s *InstancesService) NetworkInterfacesListAllPages(sortBy NameSortMode, instanceName Name, organizationName Name, ...) (*[]NetworkInterface, error)
- func (s *InstancesService) Reboot(instanceName Name, organizationName Name, projectName Name) (*Instance, error)
- func (s *InstancesService) Start(instanceName Name, organizationName Name, projectName Name) (*Instance, error)
- func (s *InstancesService) Stop(instanceName Name, organizationName Name, projectName Name) (*Instance, error)
- type IpNet
- type IpNetV4
- type IpNetV6
- type L4PortRange
- type LoginParams
- type MacAddr
- type MetricsService
- type Name
- type NameOrIdSortMode
- type NameSortMode
- type NetworkInterface
- type NetworkInterfaceCreate
- type NetworkInterfaceResultsPage
- type Organization
- type OrganizationCreate
- type OrganizationResultsPage
- type OrganizationUpdate
- type OrganizationsService
- func (s *OrganizationsService) Create(j *OrganizationCreate) (*Organization, error)
- func (s *OrganizationsService) Delete(organizationName Name) error
- func (s *OrganizationsService) Get(organizationName Name) (*Organization, error)
- func (s *OrganizationsService) List(limit int, pageToken string, sortBy NameOrIdSortMode) (*OrganizationResultsPage, error)
- func (s *OrganizationsService) ListAllPages(sortBy NameOrIdSortMode) (*[]Organization, error)
- func (s *OrganizationsService) Put(organizationName Name, j *OrganizationUpdate) (*Organization, error)
- type Project
- type ProjectCreate
- type ProjectResultsPage
- type ProjectUpdate
- type ProjectsService
- func (s *ProjectsService) Create(organizationName Name, j *ProjectCreate) (*Project, error)
- func (s *ProjectsService) Delete(organizationName Name, projectName Name) error
- func (s *ProjectsService) Get(organizationName Name, projectName Name) (*Project, error)
- func (s *ProjectsService) List(limit int, pageToken string, sortBy NameOrIdSortMode, organizationName Name) (*ProjectResultsPage, error)
- func (s *ProjectsService) ListAllPages(sortBy NameOrIdSortMode, organizationName Name) (*[]Project, error)
- func (s *ProjectsService) Put(organizationName Name, projectName Name, j *ProjectUpdate) (*Project, error)
- type Rack
- type RackResultsPage
- type RacksService
- type Role
- type RoleName
- type RoleResultsPage
- type RolesService
- type Route
- type RouteCreateParams
- type RouteDestination
- type RouteDestinationIp
- type RouteDestinationIpNet
- type RouteDestinationSubnet
- type RouteDestinationType
- type RouteDestinationVPC
- type RouteKind
- type RouteResultsPage
- type RouteTarget
- type RouteTargetInstance
- type RouteTargetInternetGateway
- type RouteTargetIp
- type RouteTargetSubnet
- type RouteTargetType
- type RouteTargetVPC
- type RouteUpdateParams
- type Router
- type RouterCreate
- type RouterKind
- type RouterResultsPage
- type RouterUpdate
- type RoutersService
- func (s *RoutersService) Create(organizationName Name, projectName Name, vpcName Name, j *RouterCreate) (*Router, error)
- func (s *RoutersService) Delete(organizationName Name, projectName Name, routerName Name, vpcName Name) error
- func (s *RoutersService) Get(organizationName Name, projectName Name, routerName Name, vpcName Name) (*Router, error)
- func (s *RoutersService) List(limit int, pageToken string, sortBy NameSortMode, organizationName Name, ...) (*RouterResultsPage, error)
- func (s *RoutersService) ListAllPages(sortBy NameSortMode, organizationName Name, projectName Name, vpcName Name) (*[]Router, error)
- func (s *RoutersService) Put(organizationName Name, projectName Name, routerName Name, vpcName Name, ...) (*Router, error)
- type RoutesService
- func (s *RoutesService) Create(organizationName Name, projectName Name, routerName Name, vpcName Name, ...) (*Route, error)
- func (s *RoutesService) Delete(organizationName Name, projectName Name, routeName Name, routerName Name, ...) error
- func (s *RoutesService) Get(organizationName Name, projectName Name, routeName Name, routerName Name, ...) (*Route, error)
- func (s *RoutesService) List(limit int, pageToken string, sortBy NameSortMode, organizationName Name, ...) (*RouteResultsPage, error)
- func (s *RoutesService) ListAllPages(sortBy NameSortMode, organizationName Name, projectName Name, routerName Name, ...) (*[]Route, error)
- func (s *RoutesService) Put(organizationName Name, projectName Name, routeName Name, routerName Name, ...) (*Route, error)
- type Saga
- type SagaErrorInfo
- type SagaErrorInfoActionFailed
- type SagaErrorInfoDeserializeFailed
- type SagaErrorInfoError
- type SagaErrorInfoInjectedError
- type SagaErrorInfoSerializeFailed
- type SagaErrorInfoSubsagaCreateFailed
- type SagaResultsPage
- type SagaState
- type SagaStateFailed
- type SagaStateRunning
- type SagaStateState
- type SagaStateSucceeded
- type SagasService
- type SessionUser
- type Sled
- type SledResultsPage
- type SledsService
- type Snapshot
- type SnapshotCreate
- type SnapshotResultsPage
- type SnapshotsService
- func (s *SnapshotsService) Create(organizationName Name, projectName Name, j *SnapshotCreate) (*Snapshot, error)
- func (s *SnapshotsService) Delete(organizationName Name, projectName Name, snapshotName Name) error
- func (s *SnapshotsService) Get(organizationName Name, projectName Name, snapshotName Name) (*Snapshot, error)
- func (s *SnapshotsService) List(limit int, pageToken string, sortBy NameSortMode, organizationName Name, ...) (*SnapshotResultsPage, error)
- func (s *SnapshotsService) ListAllPages(sortBy NameSortMode, organizationName Name, projectName Name) (*[]Snapshot, error)
- type Subnet
- type SubnetCreate
- type SubnetResultsPage
- type SubnetUpdate
- type SubnetsService
- func (s *SubnetsService) Create(organizationName Name, projectName Name, vpcName Name, j *SubnetCreate) (*Subnet, error)
- func (s *SubnetsService) Delete(organizationName Name, projectName Name, subnetName Name, vpcName Name) error
- func (s *SubnetsService) Get(organizationName Name, projectName Name, subnetName Name, vpcName Name) (*Subnet, error)
- func (s *SubnetsService) List(limit int, pageToken string, sortBy NameSortMode, organizationName Name, ...) (*SubnetResultsPage, error)
- func (s *SubnetsService) ListAllPages(sortBy NameSortMode, organizationName Name, projectName Name, vpcName Name) (*[]Subnet, error)
- func (s *SubnetsService) NetworkInterfacesList(limit int, pageToken string, sortBy NameSortMode, organizationName Name, ...) (*NetworkInterfaceResultsPage, error)
- func (s *SubnetsService) NetworkInterfacesListAllPages(sortBy NameSortMode, organizationName Name, projectName Name, subnetName Name, ...) (*[]NetworkInterface, error)
- func (s *SubnetsService) Put(organizationName Name, projectName Name, subnetName Name, vpcName Name, ...) (*Subnet, error)
- type TimeseriesName
- type TimeseriesSchema
- type TimeseriesSchemaResultsPage
- type UpdatesService
- type User
- type UserResultsPage
- type UsersService
- type VPC
- type VPCCreate
- type VPCResultsPage
- type VPCUpdate
- type VPCsService
- func (s *VPCsService) Create(organizationName Name, projectName Name, j *VPCCreate) (*VPC, error)
- func (s *VPCsService) Delete(organizationName Name, projectName Name, vpcName Name) error
- func (s *VPCsService) Get(organizationName Name, projectName Name, vpcName Name) (*VPC, error)
- func (s *VPCsService) List(limit int, pageToken string, sortBy NameSortMode, organizationName Name, ...) (*VPCResultsPage, error)
- func (s *VPCsService) ListAllPages(sortBy NameSortMode, organizationName Name, projectName Name) (*[]VPC, error)
- func (s *VPCsService) Put(organizationName Name, projectName Name, vpcName Name, j *VPCUpdate) (*VPC, error)
Constants ¶
const HostEnvVar = "OXIDE_HOST"
HostEnvVar is the environment variable that contains the host.
const TokenEnvVar = "OXIDE_TOKEN"
TokenEnvVar is the environment variable that contains the token.
Variables ¶
var DatumTypes = []DatumType{ DatumTypeBool, DatumTypeBytes, DatumTypeCumulativeF64, DatumTypeCumulativeI64, DatumTypeF64, DatumTypeHistogramF64, DatumTypeHistogramI64, DatumTypeI64, DatumTypeString, }
DatumTypes is the collection of all DatumType values.
var DiskStateStates = []DiskStateState{ DiskStateStateAttached, DiskStateStateAttaching, DiskStateStateCreating, DiskStateStateDestroyed, DiskStateStateDetached, DiskStateStateDetaching, DiskStateStateFaulted, }
DiskStateStates is the collection of all DiskStateState values.
var FieldSources = []FieldSource{ FieldSourceMetric, FieldSourceTarget, }
FieldSources is the collection of all FieldSource values.
var FieldTypes = []FieldType{ FieldTypeBool, FieldTypeI64, FieldTypeIpAddr, FieldTypeString, FieldTypeUuid, }
FieldTypes is the collection of all FieldType values.
var FirewallRuleActions = []FirewallRuleAction{ FirewallRuleActionAllow, FirewallRuleActionDeny, }
FirewallRuleActions is the collection of all FirewallRuleAction values.
var FirewallRuleDirections = []FirewallRuleDirection{ FirewallRuleDirectionInbound, FirewallRuleDirectionOutbound, }
FirewallRuleDirections is the collection of all FirewallRuleDirection values.
var FirewallRuleHostFilterTypes = []FirewallRuleHostFilterType{ FirewallRuleHostFilterTypeInstance, FirewallRuleHostFilterTypeIp, FirewallRuleHostFilterTypeIpNet, FirewallRuleHostFilterTypeSubnet, FirewallRuleHostFilterTypeVpc, }
FirewallRuleHostFilterTypes is the collection of all FirewallRuleHostFilterType values.
var FirewallRuleProtocols = []FirewallRuleProtocol{ FirewallRuleProtocolICMP, FirewallRuleProtocolTCP, FirewallRuleProtocolUDP, }
FirewallRuleProtocols is the collection of all FirewallRuleProtocol values.
var FirewallRuleStatuses = []FirewallRuleStatus{ FirewallRuleStatusDisabled, FirewallRuleStatusEnabled, }
FirewallRuleStatuses is the collection of all FirewallRuleStatus values.
var FirewallRuleTargetTypes = []FirewallRuleTargetType{ FirewallRuleTargetTypeInstance, FirewallRuleTargetTypeIp, FirewallRuleTargetTypeIpNet, FirewallRuleTargetTypeSubnet, FirewallRuleTargetTypeVpc, }
FirewallRuleTargetTypes is the collection of all FirewallRuleTargetType values.
var IdSortModes = []IdSortMode{ IdSortModeIdAscending, }
IdSortModes is the collection of all IdSortMode values.
var InstanceNetworkInterfaceAttachmentTypes = []InstanceNetworkInterfaceAttachmentType{ InstanceNetworkInterfaceAttachmentTypeCreate, InstanceNetworkInterfaceAttachmentTypeDefault, InstanceNetworkInterfaceAttachmentTypeNone, }
InstanceNetworkInterfaceAttachmentTypes is the collection of all InstanceNetworkInterfaceAttachmentType values.
var InstanceStates = []InstanceState{ InstanceStateCreating, InstanceStateDestroyed, InstanceStateFailed, InstanceStateMigrating, InstanceStateRebooting, InstanceStateRepairing, InstanceStateRunning, InstanceStateStarting, InstanceStateStopped, InstanceStateStopping, }
InstanceStates is the collection of all InstanceState values.
var NameOrIdSortModes = []NameOrIdSortMode{ NameOrIdSortModeIdAscending, NameOrIdSortModeNameAscending, NameOrIdSortModeNameDescending, }
NameOrIdSortModes is the collection of all NameOrIdSortMode values.
var NameSortModes = []NameSortMode{ NameSortModeNameAscending, }
NameSortModes is the collection of all NameSortMode values.
var RouteDestinationTypes = []RouteDestinationType{ RouteDestinationTypeIp, RouteDestinationTypeIpNet, RouteDestinationTypeSubnet, RouteDestinationTypeVpc, }
RouteDestinationTypes is the collection of all RouteDestinationType values.
var RouteKinds = []RouteKind{ RouteKindCustom, RouteKindDefault, RouteKindVpcPeering, RouteKindVpcSubnet, }
RouteKinds is the collection of all RouteKind values.
var RouteTargetTypes = []RouteTargetType{ RouteTargetTypeInstance, RouteTargetTypeInternetGateway, RouteTargetTypeIp, RouteTargetTypeSubnet, RouteTargetTypeVpc, }
RouteTargetTypes is the collection of all RouteTargetType values.
var RouterKinds = []RouterKind{ RouterKindCustom, RouterKindSystem, }
RouterKinds is the collection of all RouterKind values.
var SagaErrorInfoErrors = []SagaErrorInfoError{ SagaErrorInfoErrorActionFailed, SagaErrorInfoErrorDeserializeFailed, SagaErrorInfoErrorInjectedError, SagaErrorInfoErrorSerializeFailed, SagaErrorInfoErrorSubsagaCreateFailed, }
SagaErrorInfoErrors is the collection of all SagaErrorInfoError values.
var SagaStateStates = []SagaStateState{ SagaStateStateFailed, SagaStateStateRunning, SagaStateStateSucceeded, }
SagaStateStates is the collection of all SagaStateState values.
Functions ¶
This section is empty.
Types ¶
type ByteCount ¶
type ByteCount int
ByteCount is a count of bytes, typically used either for memory or storage capacity
The maximum supported byte count is [`i64::MAX`]. This makes it somewhat inconvenient to define constructors: a u32 constructor can be infallible, but an i64 constructor can fail (if the value is negative) and a u64 constructor can fail (if the value is larger than i64::MAX). We provide all of these for consumers' convenience.
type Client ¶
type Client struct {
// Disks: Virtual disks are used to store instance-local data which includes the operating system.
Disks *DisksService
// Firewall: Firewall operation controls the flow of network data into a VPC
Firewall *FirewallService
// Hidden: TODO operations that will not ship to customers
Hidden *HiddenService
// Instances: Virtual machine instances are the basic unit of computation. These operations are used for provisioning, controlling, and destroying instances.
Instances *InstancesService
// Metrics: Metrics provide insight into the operation of the Oxide deployment. These include telemetry on hardware and software components that can be used to understand the current state as well as to diagnose issues.
Metrics *MetricsService
// Organizations: Organizations represent a subset of users and projects in an Oxide deployment.
Organizations *OrganizationsService
// Projects: Projects are a grouping of associated resources such as instances and disks within an organization for purposes of billing and access control.
Projects *ProjectsService
// Racks: These operations pertain to hardware inventory and management. Racks are the unit of expansion of an Oxide deployment. Racks are in turn composed of sleds, switches, power supplies, and a cabled backplane.
Racks *RacksService
// Roles: Roles are a component of Identity and Access Management (IAM) that allow a user or agent account access to additional permissions.
Roles *RolesService
// Routers: Routers direct the flow of network traffic into, out of, and within a VPC via routes.
Routers *RoutersService
// Routes: Routes define router policy.
Routes *RoutesService
// Sagas: Sagas are the abstraction used to represent multi-step operations within the Oxide deployment. These operations can be used to query saga status and report errors.
Sagas *SagasService
// Sleds: This tag should be moved into hardware
Sleds *SledsService
// Snapshots: Snapshots of Virtual Disks at a particular point in time.
Snapshots *SnapshotsService
// Subnets: This tag should be moved into a generic network tag
Subnets *SubnetsService
// Updates: This tag should be moved into a operations tag
Updates *UpdatesService
// Users: This tag should be moved into an IAM tag
Users *UsersService
// VPCs: A Virtual Private Cloud (VPC) is an isolated network environment that should probaby be moved into a more generic networking tag
VPCs *VPCsService
// contains filtered or unexported fields
}
Client which conforms to the OpenAPI3 specification for this service.
func NewClient ¶
NewClient creates a new client for the Oxide API. You need to pass in your API token to create the client.
func NewClientFromEnv ¶
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`.
type DatumType ¶
type DatumType string
DatumType is the type of an individual datum of a metric.
const ( // DatumTypeBool represents the DatumType `"Bool"`. DatumTypeBool DatumType = "Bool" // DatumTypeI64 represents the DatumType `"I64"`. DatumTypeI64 DatumType = "I64" // DatumTypeF64 represents the DatumType `"F64"`. DatumTypeF64 DatumType = "F64" // DatumTypeString represents the DatumType `"String"`. DatumTypeString DatumType = "String" // DatumTypeBytes represents the DatumType `"Bytes"`. DatumTypeBytes DatumType = "Bytes" // DatumTypeCumulativeI64 represents the DatumType `"CumulativeI64"`. DatumTypeCumulativeI64 DatumType = "CumulativeI64" // DatumTypeCumulativeF64 represents the DatumType `"CumulativeF64"`. DatumTypeCumulativeF64 DatumType = "CumulativeF64" // DatumTypeHistogramI64 represents the DatumType `"HistogramI64"`. DatumTypeHistogramI64 DatumType = "HistogramI64" // DatumTypeHistogramF64 represents the DatumType `"HistogramF64"`. DatumTypeHistogramF64 DatumType = "HistogramF64" )
type Disk ¶
type Disk struct {
// Description is human-readable free-form text about a resource
Description string `json:"description,omitempty" yaml:"description,omitempty" tfsdk:"description"`
DevicePath string `json:"device_path,omitempty" yaml:"device_path,omitempty" tfsdk:"device_path"`
// ID is unique, immutable, system-controlled identifier for each resource
ID string `json:"id,omitempty" yaml:"id,omitempty" tfsdk:"id"`
// Name is unique, mutable, user-controlled identifier for each resource
Name Name `json:"name,omitempty" yaml:"name,omitempty" tfsdk:"name"`
ProjectID string `json:"project_id,omitempty" yaml:"project_id,omitempty" tfsdk:"project_id"`
// Size is a count of bytes, typically used either for memory or storage capacity
//
// The maximum supported byte count is [`i64::MAX`]. This makes it somewhat inconvenient to define constructors: a u32 constructor can be infallible, but an i64 constructor can fail (if the value is negative) and a u64 constructor can fail (if the value is larger than i64::MAX). We provide all of these for consumers' convenience.
Size ByteCount `json:"size,omitempty" yaml:"size,omitempty" tfsdk:"size"`
SnapshotID string `json:"snapshot_id,omitempty" yaml:"snapshot_id,omitempty" tfsdk:"snapshot_id"`
// State is state of a Disk (primarily: attached or not)
State DiskState `json:"state,omitempty" yaml:"state,omitempty" tfsdk:"state"`
// TimeCreated is timestamp when this resource was created
TimeCreated *time.Time `json:"time_created,omitempty" yaml:"time_created,omitempty" tfsdk:"time_created"`
// TimeModified is timestamp when this resource was last modified
TimeModified *time.Time `json:"time_modified,omitempty" yaml:"time_modified,omitempty" tfsdk:"time_modified"`
OrganizationName string `json:"-" yaml:"-" tfsdk:"organization"`
ProjectName string `json:"-" yaml:"-" tfsdk:"project"`
}
Disk is client view of an [`Disk`]
type DiskCreate ¶
type DiskCreate struct {
Description string `json:"description,omitempty" yaml:"description,omitempty" tfsdk:"description"`
// 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 '-'.
Name Name `json:"name,omitempty" yaml:"name,omitempty" tfsdk:"name"`
// Size is size of the Disk
Size ByteCount `json:"size,omitempty" yaml:"size,omitempty" tfsdk:"size"`
// SnapshotID is id for snapshot from which the Disk should be created, if any
SnapshotID string `json:"snapshot_id,omitempty" yaml:"snapshot_id,omitempty" tfsdk:"snapshot_id"`
OrganizationName string `json:"-" yaml:"-" tfsdk:"organization"`
ProjectName string `json:"-" yaml:"-" tfsdk:"project"`
}
DiskCreate is create-time parameters for a [`Disk`](omicron_common::api::external::Disk)
type DiskIdentifier ¶
type DiskIdentifier struct {
// Disk 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 '-'.
Disk Name `json:"disk,omitempty" yaml:"disk,omitempty" tfsdk:"disk"`
}
DiskIdentifier is parameters for the [`Disk`](omicron_common::api::external::Disk) to be attached or detached to an instance
type DiskResultsPage ¶
type DiskResultsPage struct {
// Items is list of items on this page of results
Items []Disk `json:"items,omitempty" yaml:"items,omitempty" tfsdk:"items"`
// NextPage is token used to fetch the next page of results (if any)
NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty" tfsdk:"next_page"`
}
DiskResultsPage is a single page of results
type DiskState ¶
type DiskState struct {
State string `json:"state,omitempty" yaml:"state,omitempty"`
Instance string `json:"instance,omitempty" yaml:"instance,omitempty"`
}
DiskState is state of a Disk (primarily: attached or not)
type DiskStateAttached ¶
type DiskStateAttached struct {
Instance string `json:"instance,omitempty" yaml:"instance,omitempty" tfsdk:"instance"`
State DiskStateState `json:"state,omitempty" yaml:"state,omitempty" tfsdk:"state"`
}
DiskStateAttached is disk is attached to the given Instance
type DiskStateAttaching ¶
type DiskStateAttaching struct {
Instance string `json:"instance,omitempty" yaml:"instance,omitempty" tfsdk:"instance"`
State DiskStateState `json:"state,omitempty" yaml:"state,omitempty" tfsdk:"state"`
}
DiskStateAttaching is disk is being attached to the given Instance
type DiskStateCreating ¶
type DiskStateCreating struct {
State DiskStateState `json:"state,omitempty" yaml:"state,omitempty" tfsdk:"state"`
}
DiskStateCreating is disk is being initialized
type DiskStateDestroyed ¶
type DiskStateDestroyed struct {
State DiskStateState `json:"state,omitempty" yaml:"state,omitempty" tfsdk:"state"`
}
DiskStateDestroyed is disk has been destroyed
type DiskStateDetached ¶
type DiskStateDetached struct {
State DiskStateState `json:"state,omitempty" yaml:"state,omitempty" tfsdk:"state"`
}
DiskStateDetached is disk is ready but detached from any Instance
type DiskStateDetaching ¶
type DiskStateDetaching struct {
Instance string `json:"instance,omitempty" yaml:"instance,omitempty" tfsdk:"instance"`
State DiskStateState `json:"state,omitempty" yaml:"state,omitempty" tfsdk:"state"`
}
DiskStateDetaching is disk is being detached from the given Instance
type DiskStateFaulted ¶
type DiskStateFaulted struct {
State DiskStateState `json:"state,omitempty" yaml:"state,omitempty" tfsdk:"state"`
}
DiskStateFaulted is disk is unavailable
type DiskStateState ¶
type DiskStateState string
DiskStateState is the type definition for a DiskStateState.
const ( // DiskStateStateAttached represents the DiskStateState `"attached"`. DiskStateStateAttached DiskStateState = "attached" )
const ( // DiskStateStateAttaching represents the DiskStateState `"attaching"`. DiskStateStateAttaching DiskStateState = "attaching" )
const ( // DiskStateStateCreating represents the DiskStateState `"creating"`. DiskStateStateCreating DiskStateState = "creating" )
const ( // DiskStateStateDestroyed represents the DiskStateState `"destroyed"`. DiskStateStateDestroyed DiskStateState = "destroyed" )
const ( // DiskStateStateDetached represents the DiskStateState `"detached"`. DiskStateStateDetached DiskStateState = "detached" )
const ( // DiskStateStateDetaching represents the DiskStateState `"detaching"`. DiskStateStateDetaching DiskStateState = "detaching" )
const ( // DiskStateStateFaulted represents the DiskStateState `"faulted"`. DiskStateStateFaulted DiskStateState = "faulted" )
type DisksService ¶ added in v0.0.7
type DisksService service
DisksService: Virtual disks are used to store instance-local data which includes the operating system.
func (*DisksService) Create ¶ added in v0.0.7
func (s *DisksService) Create(organizationName Name, projectName Name, j *DiskCreate) (*Disk, error)
Parameters:
- `organizationName`: The organization's unique name.
- `projectName`: The project's unique name within the organization.
func (*DisksService) Delete ¶ added in v0.0.7
func (s *DisksService) Delete(diskName Name, organizationName Name, projectName Name) error
Delete: Delete a disk from a project.
Parameters:
- `diskName`
- `organizationName`
- `projectName`
func (*DisksService) Get ¶ added in v0.0.7
Get: Fetch a single disk in a project.
Parameters:
- `diskName`
- `organizationName`
- `projectName`
func (*DisksService) List ¶ added in v0.0.7
func (s *DisksService) List(limit int, pageToken string, sortBy NameSortMode, organizationName Name, projectName Name) (*DiskResultsPage, error)
List: List disks in a project.
To iterate over all pages, use the `ListAllPages` method, instead.
Parameters:
- `limit`: Maximum number of items returned by a single call
- `organizationName`: The organization's unique name.
- `pageToken`: Token returned by previous call to retreive the subsequent page
- `projectName`: The project's unique name within the organization.
- `sortBy`
func (*DisksService) ListAllPages ¶ added in v0.0.7
func (s *DisksService) ListAllPages(sortBy NameSortMode, organizationName Name, projectName Name) (*[]Disk, error)
ListAllPages: List disks in a project.
This method is a wrapper around the `List` method. This method returns all the pages at once.
Parameters:
- `organizationName`: The organization's unique name.
- `projectName`: The project's unique name within the organization.
- `sortBy`
type Error ¶ added in v0.0.7
type Error struct {
ErrorCode string `json:"error_code,omitempty" yaml:"error_code,omitempty" tfsdk:"error_code"`
Message string `json:"message,omitempty" yaml:"message,omitempty" tfsdk:"message"`
RequestID string `json:"request_id,omitempty" yaml:"request_id,omitempty" tfsdk:"request_id"`
}
Error is error information from a response.
type ErrorResponse ¶ added in v0.0.7
type ErrorResponse Error
ErrorResponse is the response given when error
type FieldSchema ¶
type FieldSchema struct {
Name string `json:"name,omitempty" yaml:"name,omitempty" tfsdk:"name"`
// Source is the source from which a field is derived, the target or metric.
Source FieldSource `json:"source,omitempty" yaml:"source,omitempty" tfsdk:"source"`
// Ty is the `FieldType` identifies the data type of a target or metric field.
Ty FieldType `json:"ty,omitempty" yaml:"ty,omitempty" tfsdk:"ty"`
}
FieldSchema is the name and type information for a field of a timeseries schema.
type FieldSource ¶
type FieldSource string
FieldSource is the source from which a field is derived, the target or metric.
const ( // FieldSourceTarget represents the FieldSource `"Target"`. FieldSourceTarget FieldSource = "Target" // FieldSourceMetric represents the FieldSource `"Metric"`. FieldSourceMetric FieldSource = "Metric" )
type FieldType ¶
type FieldType string
FieldType is the `FieldType` identifies the data type of a target or metric field.
const ( // FieldTypeString represents the FieldType `"String"`. FieldTypeString FieldType = "String" // FieldTypeI64 represents the FieldType `"I64"`. FieldTypeI64 FieldType = "I64" // FieldTypeIpAddr represents the FieldType `"IpAddr"`. FieldTypeIpAddr FieldType = "IpAddr" // FieldTypeUuid represents the FieldType `"Uuid"`. FieldTypeUuid FieldType = "Uuid" // FieldTypeBool represents the FieldType `"Bool"`. FieldTypeBool FieldType = "Bool" )
type FirewallRule ¶ added in v0.0.7
type FirewallRule struct {
// Action is whether traffic matching the rule should be allowed or dropped
Action FirewallRuleAction `json:"action,omitempty" yaml:"action,omitempty" tfsdk:"action"`
// Description is human-readable free-form text about a resource
Description string `json:"description,omitempty" yaml:"description,omitempty" tfsdk:"description"`
// Direction is whether this rule is for incoming or outgoing traffic
Direction FirewallRuleDirection `json:"direction,omitempty" yaml:"direction,omitempty" tfsdk:"direction"`
// Filters is reductions on the scope of the rule
Filters FirewallRuleFilter `json:"filters,omitempty" yaml:"filters,omitempty" tfsdk:"filters"`
// ID is unique, immutable, system-controlled identifier for each resource
ID string `json:"id,omitempty" yaml:"id,omitempty" tfsdk:"id"`
// Name is unique, mutable, user-controlled identifier for each resource
Name Name `json:"name,omitempty" yaml:"name,omitempty" tfsdk:"name"`
// Priority is the relative priority of this rule
Priority int `json:"priority,omitempty" yaml:"priority,omitempty" tfsdk:"priority"`
// Status is whether this rule is in effect
Status FirewallRuleStatus `json:"status,omitempty" yaml:"status,omitempty" tfsdk:"status"`
// Targets is list of sets of instances that the rule applies to
Targets []FirewallRuleTarget `json:"targets,omitempty" yaml:"targets,omitempty" tfsdk:"targets"`
// TimeCreated is timestamp when this resource was created
TimeCreated *time.Time `json:"time_created,omitempty" yaml:"time_created,omitempty" tfsdk:"time_created"`
// TimeModified is timestamp when this resource was last modified
TimeModified *time.Time `json:"time_modified,omitempty" yaml:"time_modified,omitempty" tfsdk:"time_modified"`
// VPCId is the VPC to which this rule belongs
VPCId string `json:"vpc_id,omitempty" yaml:"vpc_id,omitempty" tfsdk:"vpc_id"`
}
FirewallRule is a single rule in a VPC firewall
type FirewallRuleAction ¶ added in v0.0.7
type FirewallRuleAction string
FirewallRuleAction is the type definition for a FirewallRuleAction.
const ( // FirewallRuleActionAllow represents the FirewallRuleAction `"allow"`. FirewallRuleActionAllow FirewallRuleAction = "allow" // FirewallRuleActionDeny represents the FirewallRuleAction `"deny"`. FirewallRuleActionDeny FirewallRuleAction = "deny" )
type FirewallRuleDirection ¶ added in v0.0.7
type FirewallRuleDirection string
FirewallRuleDirection is the type definition for a FirewallRuleDirection.
const ( // FirewallRuleDirectionInbound represents the FirewallRuleDirection `"inbound"`. FirewallRuleDirectionInbound FirewallRuleDirection = "inbound" // FirewallRuleDirectionOutbound represents the FirewallRuleDirection `"outbound"`. FirewallRuleDirectionOutbound FirewallRuleDirection = "outbound" )
type FirewallRuleFilter ¶ added in v0.0.7
type FirewallRuleFilter struct {
// Hosts is if present, the sources (if incoming) or destinations (if outgoing) this rule applies to.
Hosts []FirewallRuleHostFilter `json:"hosts,omitempty" yaml:"hosts,omitempty" tfsdk:"hosts"`
// Ports is if present, the destination ports this rule applies to.
Ports []L4PortRange `json:"ports,omitempty" yaml:"ports,omitempty" tfsdk:"ports"`
// Protocols is if present, the networking protocols this rule applies to.
Protocols []FirewallRuleProtocol `json:"protocols,omitempty" yaml:"protocols,omitempty" tfsdk:"protocols"`
}
FirewallRuleFilter 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 FirewallRuleHostFilter ¶ added in v0.0.7
type FirewallRuleHostFilter struct {
Type string `json:"type,omitempty" yaml:"type,omitempty"`
Value Name `json:"value,omitempty" yaml:"value,omitempty"`
}
FirewallRuleHostFilter is the `VpcFirewallRuleHostFilter` is used to filter traffic on the basis of its source or destination host.
type FirewallRuleHostFilterInstance ¶ added in v0.0.7
type FirewallRuleHostFilterInstance struct {
Type FirewallRuleHostFilterType `json:"type,omitempty" yaml:"type,omitempty" tfsdk:"type"`
// 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 '-'.
Value Name `json:"value,omitempty" yaml:"value,omitempty" tfsdk:"value"`
}
FirewallRuleHostFilterInstance is the rule applies to traffic from/to this specific instance
type FirewallRuleHostFilterIp ¶ added in v0.0.7
type FirewallRuleHostFilterIp struct {
Type FirewallRuleHostFilterType `json:"type,omitempty" yaml:"type,omitempty" tfsdk:"type"`
Value string `json:"value,omitempty" yaml:"value,omitempty" tfsdk:"value"`
}
FirewallRuleHostFilterIp is the rule applies to traffic from/to a specific IP address
type FirewallRuleHostFilterIpNet ¶ added in v0.0.7
type FirewallRuleHostFilterIpNet struct {
Type FirewallRuleHostFilterType `json:"type,omitempty" yaml:"type,omitempty" tfsdk:"type"`
// Value is an `IpNet` represents an IP network, either IPv4 or IPv6.
Value IpNet `json:"value,omitempty" yaml:"value,omitempty" tfsdk:"value"`
}
FirewallRuleHostFilterIpNet is the rule applies to traffic from/to a specific IP subnet
type FirewallRuleHostFilterSubnet ¶ added in v0.0.7
type FirewallRuleHostFilterSubnet struct {
Type FirewallRuleHostFilterType `json:"type,omitempty" yaml:"type,omitempty" tfsdk:"type"`
// 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 '-'.
Value Name `json:"value,omitempty" yaml:"value,omitempty" tfsdk:"value"`
}
FirewallRuleHostFilterSubnet is the rule applies to traffic from/to all instances in the VPC Subnet
type FirewallRuleHostFilterType ¶ added in v0.0.7
type FirewallRuleHostFilterType string
FirewallRuleHostFilterType is the type definition for a FirewallRuleHostFilterType.
const ( // FirewallRuleHostFilterTypeInstance represents the FirewallRuleHostFilterType `"instance"`. FirewallRuleHostFilterTypeInstance FirewallRuleHostFilterType = "instance" )
const ( // FirewallRuleHostFilterTypeIp represents the FirewallRuleHostFilterType `"ip"`. FirewallRuleHostFilterTypeIp FirewallRuleHostFilterType = "ip" )
const ( // FirewallRuleHostFilterTypeIpNet represents the FirewallRuleHostFilterType `"ip_net"`. FirewallRuleHostFilterTypeIpNet FirewallRuleHostFilterType = "ip_net" )
const ( // FirewallRuleHostFilterTypeSubnet represents the FirewallRuleHostFilterType `"subnet"`. FirewallRuleHostFilterTypeSubnet FirewallRuleHostFilterType = "subnet" )
const ( // FirewallRuleHostFilterTypeVpc represents the FirewallRuleHostFilterType `"vpc"`. FirewallRuleHostFilterTypeVpc FirewallRuleHostFilterType = "vpc" )
type FirewallRuleHostFilterVPC ¶ added in v0.0.7
type FirewallRuleHostFilterVPC struct {
Type FirewallRuleHostFilterType `json:"type,omitempty" yaml:"type,omitempty" tfsdk:"type"`
// 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 '-'.
Value Name `json:"value,omitempty" yaml:"value,omitempty" tfsdk:"value"`
}
FirewallRuleHostFilterVPC is the rule applies to traffic from/to all instances in the VPC
type FirewallRuleProtocol ¶ added in v0.0.7
type FirewallRuleProtocol string
FirewallRuleProtocol is the protocols that may be specified in a firewall rule's filter
const ( // FirewallRuleProtocolTCP represents the FirewallRuleProtocol `"TCP"`. FirewallRuleProtocolTCP FirewallRuleProtocol = "TCP" // FirewallRuleProtocolUDP represents the FirewallRuleProtocol `"UDP"`. FirewallRuleProtocolUDP FirewallRuleProtocol = "UDP" // FirewallRuleProtocolICMP represents the FirewallRuleProtocol `"ICMP"`. FirewallRuleProtocolICMP FirewallRuleProtocol = "ICMP" )
type FirewallRuleStatus ¶ added in v0.0.7
type FirewallRuleStatus string
FirewallRuleStatus is the type definition for a FirewallRuleStatus.
const ( // FirewallRuleStatusDisabled represents the FirewallRuleStatus `"disabled"`. FirewallRuleStatusDisabled FirewallRuleStatus = "disabled" // FirewallRuleStatusEnabled represents the FirewallRuleStatus `"enabled"`. FirewallRuleStatusEnabled FirewallRuleStatus = "enabled" )
type FirewallRuleTarget ¶ added in v0.0.7
type FirewallRuleTarget struct {
Type string `json:"type,omitempty" yaml:"type,omitempty"`
Value Name `json:"value,omitempty" yaml:"value,omitempty"`
}
FirewallRuleTarget is a `VpcFirewallRuleTarget` is used to specify the set of [`Instance`]s to which a firewall rule applies.
type FirewallRuleTargetInstance ¶ added in v0.0.7
type FirewallRuleTargetInstance struct {
Type FirewallRuleTargetType `json:"type,omitempty" yaml:"type,omitempty" tfsdk:"type"`
// 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 '-'.
Value Name `json:"value,omitempty" yaml:"value,omitempty" tfsdk:"value"`
}
FirewallRuleTargetInstance is the rule applies to this specific instance
type FirewallRuleTargetIp ¶ added in v0.0.7
type FirewallRuleTargetIp struct {
Type FirewallRuleTargetType `json:"type,omitempty" yaml:"type,omitempty" tfsdk:"type"`
Value string `json:"value,omitempty" yaml:"value,omitempty" tfsdk:"value"`
}
FirewallRuleTargetIp is the rule applies to a specific IP address
type FirewallRuleTargetIpNet ¶ added in v0.0.7
type FirewallRuleTargetIpNet struct {
Type FirewallRuleTargetType `json:"type,omitempty" yaml:"type,omitempty" tfsdk:"type"`
// Value is an `IpNet` represents an IP network, either IPv4 or IPv6.
Value IpNet `json:"value,omitempty" yaml:"value,omitempty" tfsdk:"value"`
}
FirewallRuleTargetIpNet is the rule applies to a specific IP subnet
type FirewallRuleTargetSubnet ¶ added in v0.0.7
type FirewallRuleTargetSubnet struct {
Type FirewallRuleTargetType `json:"type,omitempty" yaml:"type,omitempty" tfsdk:"type"`
// 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 '-'.
Value Name `json:"value,omitempty" yaml:"value,omitempty" tfsdk:"value"`
}
FirewallRuleTargetSubnet is the rule applies to all instances in the VPC Subnet
type FirewallRuleTargetType ¶ added in v0.0.7
type FirewallRuleTargetType string
FirewallRuleTargetType is the type definition for a FirewallRuleTargetType.
const ( // FirewallRuleTargetTypeInstance represents the FirewallRuleTargetType `"instance"`. FirewallRuleTargetTypeInstance FirewallRuleTargetType = "instance" )
const ( // FirewallRuleTargetTypeIp represents the FirewallRuleTargetType `"ip"`. FirewallRuleTargetTypeIp FirewallRuleTargetType = "ip" )
const ( // FirewallRuleTargetTypeIpNet represents the FirewallRuleTargetType `"ip_net"`. FirewallRuleTargetTypeIpNet FirewallRuleTargetType = "ip_net" )
const ( // FirewallRuleTargetTypeSubnet represents the FirewallRuleTargetType `"subnet"`. FirewallRuleTargetTypeSubnet FirewallRuleTargetType = "subnet" )
const ( // FirewallRuleTargetTypeVpc represents the FirewallRuleTargetType `"vpc"`. FirewallRuleTargetTypeVpc FirewallRuleTargetType = "vpc" )
type FirewallRuleTargetVPC ¶ added in v0.0.7
type FirewallRuleTargetVPC struct {
Type FirewallRuleTargetType `json:"type,omitempty" yaml:"type,omitempty" tfsdk:"type"`
// 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 '-'.
Value Name `json:"value,omitempty" yaml:"value,omitempty" tfsdk:"value"`
}
FirewallRuleTargetVPC is the rule applies to all instances in the VPC
type FirewallRuleUpdate ¶ added in v0.0.7
type FirewallRuleUpdate struct {
// Action is whether traffic matching the rule should be allowed or dropped
Action FirewallRuleAction `json:"action,omitempty" yaml:"action,omitempty" tfsdk:"action"`
// Description is human-readable free-form text about a resource
Description string `json:"description,omitempty" yaml:"description,omitempty" tfsdk:"description"`
// Direction is whether this rule is for incoming or outgoing traffic
Direction FirewallRuleDirection `json:"direction,omitempty" yaml:"direction,omitempty" tfsdk:"direction"`
// Filters is reductions on the scope of the rule
Filters FirewallRuleFilter `json:"filters,omitempty" yaml:"filters,omitempty" tfsdk:"filters"`
// Name is name of the rule, unique to this VPC
Name Name `json:"name,omitempty" yaml:"name,omitempty" tfsdk:"name"`
// Priority is the relative priority of this rule
Priority int `json:"priority,omitempty" yaml:"priority,omitempty" tfsdk:"priority"`
// Status is whether this rule is in effect
Status FirewallRuleStatus `json:"status,omitempty" yaml:"status,omitempty" tfsdk:"status"`
// Targets is list of sets of instances that the rule applies to
Targets []FirewallRuleTarget `json:"targets,omitempty" yaml:"targets,omitempty" tfsdk:"targets"`
OrganizationName string `json:"-" yaml:"-" tfsdk:"organization"`
ProjectName string `json:"-" yaml:"-" tfsdk:"project"`
}
FirewallRuleUpdate is a single rule in a VPC firewall
type FirewallRuleUpdateParams ¶ added in v0.0.7
type FirewallRuleUpdateParams struct {
Rules []FirewallRuleUpdate `json:"rules,omitempty" yaml:"rules,omitempty" tfsdk:"rules"`
}
FirewallRuleUpdateParams 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 FirewallRules ¶ added in v0.0.7
type FirewallRules struct {
Rules []FirewallRule `json:"rules,omitempty" yaml:"rules,omitempty" tfsdk:"rules"`
}
FirewallRules is collection of a [`Vpc`]'s firewall rules
type FirewallService ¶ added in v0.0.7
type FirewallService service
FirewallService: Firewall operation controls the flow of network data into a VPC
func (*FirewallService) RulesList ¶ added in v0.0.7
func (s *FirewallService) RulesList(organizationName Name, projectName Name, vpcName Name) (*FirewallRules, error)
RulesList: List firewall rules for a VPC.
Parameters:
- `organizationName`
- `projectName`
- `vpcName`
func (*FirewallService) RulesPut ¶ added in v0.0.7
func (s *FirewallService) RulesPut(organizationName Name, projectName Name, vpcName Name, j *FirewallRuleUpdateParams) (*FirewallRules, error)
RulesPut: Replace the firewall rules for a VPC
Parameters:
- `organizationName`
- `projectName`
- `vpcName`
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.
type HiddenService ¶ added in v0.0.7
type HiddenService service
HiddenService: TODO operations that will not ship to customers
func (*HiddenService) SessionMe ¶ added in v0.0.7
func (s *HiddenService) SessionMe() (*SessionUser, error)
SessionMe: Fetch the user associated with the current session
func (*HiddenService) SpoofLogin ¶ added in v0.0.7
func (s *HiddenService) SpoofLogin(j *LoginParams) error
SpoofLogin
type IdSortMode ¶ added in v0.0.6
type IdSortMode string
IdSortMode is supported set of sort modes for scanning by id only.
Currently, we only support scanning in ascending order.
const ( // IdSortModeIdAscending represents the IdSortMode `"id-ascending"`. IdSortModeIdAscending IdSortMode = "id-ascending" )
type Instance ¶
type Instance struct {
// Description is human-readable free-form text about a resource
Description string `json:"description,omitempty" yaml:"description,omitempty" tfsdk:"description"`
// Hostname is rFC1035-compliant hostname for the Instance.
Hostname string `json:"hostname,omitempty" yaml:"hostname,omitempty" tfsdk:"hostname"`
// ID is unique, immutable, system-controlled identifier for each resource
ID string `json:"id,omitempty" yaml:"id,omitempty" tfsdk:"id"`
// Memory is memory allocated for this Instance
Memory ByteCount `json:"memory,omitempty" yaml:"memory,omitempty" tfsdk:"memory"`
// Name is unique, mutable, user-controlled identifier for each resource
Name Name `json:"name,omitempty" yaml:"name,omitempty" tfsdk:"name"`
// NCPUs is number of CPUs allocated for this Instance
NCPUs InstanceCPUCount `json:"ncpus,omitempty" yaml:"ncpus,omitempty" tfsdk:"ncpus"`
// ProjectID is id for the project containing this Instance
ProjectID string `json:"project_id,omitempty" yaml:"project_id,omitempty" tfsdk:"project_id"`
// 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" tfsdk:"run_state"`
// TimeCreated is timestamp when this resource was created
TimeCreated *time.Time `json:"time_created,omitempty" yaml:"time_created,omitempty" tfsdk:"time_created"`
// TimeModified is timestamp when this resource was last modified
TimeModified *time.Time `json:"time_modified,omitempty" yaml:"time_modified,omitempty" tfsdk:"time_modified"`
TimeRunStateUpdated *time.Time `json:"time_run_state_updated,omitempty" yaml:"time_run_state_updated,omitempty" tfsdk:"time_run_state_updated"`
OrganizationName string `json:"-" yaml:"-" tfsdk:"organization"`
ProjectName string `json:"-" yaml:"-" tfsdk:"project"`
}
Instance is client view of an [`Instance`]
type InstanceCPUCount ¶ added in v0.0.4
type InstanceCPUCount int
InstanceCPUCount is the number of CPUs in an Instance
type InstanceCreate ¶
type InstanceCreate struct {
Description string `json:"description,omitempty" yaml:"description,omitempty" tfsdk:"description"`
Hostname string `json:"hostname,omitempty" yaml:"hostname,omitempty" tfsdk:"hostname"`
// Memory is a count of bytes, typically used either for memory or storage capacity
//
// The maximum supported byte count is [`i64::MAX`]. This makes it somewhat inconvenient to define constructors: a u32 constructor can be infallible, but an i64 constructor can fail (if the value is negative) and a u64 constructor can fail (if the value is larger than i64::MAX). We provide all of these for consumers' convenience.
Memory ByteCount `json:"memory,omitempty" yaml:"memory,omitempty" tfsdk:"memory"`
// 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 '-'.
Name Name `json:"name,omitempty" yaml:"name,omitempty" tfsdk:"name"`
// NCPUs is the number of CPUs in an Instance
NCPUs InstanceCPUCount `json:"ncpus,omitempty" yaml:"ncpus,omitempty" tfsdk:"ncpus"`
// NetworkInterfaces is the network interfaces to be created for this instance.
NetworkInterfaces InstanceNetworkInterfaceAttachment `json:"network_interfaces,omitempty" yaml:"network_interfaces,omitempty" tfsdk:"network_interfaces"`
OrganizationName string `json:"-" yaml:"-" tfsdk:"organization"`
ProjectName string `json:"-" yaml:"-" tfsdk:"project"`
}
InstanceCreate is create-time parameters for an [`Instance`](omicron_common::api::external::Instance)
type InstanceMigrate ¶ added in v0.0.7
type InstanceMigrate struct {
DstSledUuid string `json:"dst_sled_uuid,omitempty" yaml:"dst_sled_uuid,omitempty" tfsdk:"dst_sled_uuid"`
}
InstanceMigrate is migration parameters for an [`Instance`](omicron_common::api::external::Instance)
type InstanceNetworkInterfaceAttachment ¶ added in v0.0.7
type InstanceNetworkInterfaceAttachment struct {
Params InstanceNetworkInterfaceCreate `json:"params,omitempty" yaml:"params,omitempty"`
Type string `json:"type,omitempty" yaml:"type,omitempty"`
}
InstanceNetworkInterfaceAttachment is describes an attachment of a `NetworkInterface` to an `Instance`, at the time the instance is created.
type InstanceNetworkInterfaceAttachmentCreate ¶ added in v0.0.7
type InstanceNetworkInterfaceAttachmentCreate struct {
Params InstanceNetworkInterfaceCreate `json:"params,omitempty" yaml:"params,omitempty" tfsdk:"params"`
Type InstanceNetworkInterfaceAttachmentType `json:"type,omitempty" yaml:"type,omitempty" tfsdk:"type"`
OrganizationName string `json:"-" yaml:"-" tfsdk:"organization"`
ProjectName string `json:"-" yaml:"-" tfsdk:"project"`
}
InstanceNetworkInterfaceAttachmentCreate is create one or more `NetworkInterface`s for the `Instance`
type InstanceNetworkInterfaceAttachmentDefault ¶ added in v0.0.7
type InstanceNetworkInterfaceAttachmentDefault struct {
Type InstanceNetworkInterfaceAttachmentType `json:"type,omitempty" yaml:"type,omitempty" tfsdk:"type"`
}
InstanceNetworkInterfaceAttachmentDefault is default networking setup, which creates a single interface with an auto-assigned IP address from project's "default" VPC and "default" VPC Subnet.
type InstanceNetworkInterfaceAttachmentNone ¶ added in v0.0.7
type InstanceNetworkInterfaceAttachmentNone struct {
Type InstanceNetworkInterfaceAttachmentType `json:"type,omitempty" yaml:"type,omitempty" tfsdk:"type"`
}
InstanceNetworkInterfaceAttachmentNone is no network interfaces at all will be created for the instance.
type InstanceNetworkInterfaceAttachmentType ¶ added in v0.0.7
type InstanceNetworkInterfaceAttachmentType string
InstanceNetworkInterfaceAttachmentType is the type definition for a InstanceNetworkInterfaceAttachmentType.
const ( // InstanceNetworkInterfaceAttachmentTypeCreate represents the InstanceNetworkInterfaceAttachmentType `"Create"`. InstanceNetworkInterfaceAttachmentTypeCreate InstanceNetworkInterfaceAttachmentType = "Create" )
const ( // InstanceNetworkInterfaceAttachmentTypeDefault represents the InstanceNetworkInterfaceAttachmentType `"Default"`. InstanceNetworkInterfaceAttachmentTypeDefault InstanceNetworkInterfaceAttachmentType = "Default" )
const ( // InstanceNetworkInterfaceAttachmentTypeNone represents the InstanceNetworkInterfaceAttachmentType `"None"`. InstanceNetworkInterfaceAttachmentTypeNone InstanceNetworkInterfaceAttachmentType = "None" )
type InstanceNetworkInterfaceCreate ¶ added in v0.0.7
type InstanceNetworkInterfaceCreate struct {
Params []NetworkInterfaceCreate `json:"params,omitempty" yaml:"params,omitempty" tfsdk:"params"`
OrganizationName string `json:"-" yaml:"-" tfsdk:"organization"`
ProjectName string `json:"-" yaml:"-" tfsdk:"project"`
}
InstanceNetworkInterfaceCreate is the type definition for a InstanceNetworkInterfaceCreate.
type InstanceResultsPage ¶
type InstanceResultsPage struct {
// Items is list of items on this page of results
Items []Instance `json:"items,omitempty" yaml:"items,omitempty" tfsdk:"items"`
// NextPage is token used to fetch the next page of results (if any)
NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty" tfsdk:"next_page"`
}
InstanceResultsPage is a single page of results
type InstanceState ¶
type InstanceState string
InstanceState 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
const ( // InstanceStateCreating represents the InstanceState `"creating"`. InstanceStateCreating InstanceState = "creating" // InstanceStateStarting represents the InstanceState `"starting"`. InstanceStateStarting InstanceState = "starting" // InstanceStateRunning represents the InstanceState `"running"`. InstanceStateRunning InstanceState = "running" // InstanceStateStopping represents the InstanceState `"stopping"`. InstanceStateStopping InstanceState = "stopping" // InstanceStateStopped represents the InstanceState `"stopped"`. InstanceStateStopped InstanceState = "stopped" // InstanceStateRebooting represents the InstanceState `"rebooting"`. InstanceStateRebooting InstanceState = "rebooting" // InstanceStateMigrating represents the InstanceState `"migrating"`. InstanceStateMigrating InstanceState = "migrating" // InstanceStateRepairing represents the InstanceState `"repairing"`. InstanceStateRepairing InstanceState = "repairing" // InstanceStateFailed represents the InstanceState `"failed"`. InstanceStateFailed InstanceState = "failed" // InstanceStateDestroyed represents the InstanceState `"destroyed"`. InstanceStateDestroyed InstanceState = "destroyed" )
type InstancesService ¶ added in v0.0.3
type InstancesService service
InstancesService: Virtual machine instances are the basic unit of computation. These operations are used for provisioning, controlling, and destroying instances.
func (*InstancesService) Create ¶ added in v0.0.3
func (s *InstancesService) Create(organizationName Name, projectName Name, j *InstanceCreate) (*Instance, error)
Parameters:
- `organizationName`: The organization's unique name.
- `projectName`: The project's unique name within the organization.
func (*InstancesService) Delete ¶ added in v0.0.3
func (s *InstancesService) Delete(instanceName Name, organizationName Name, projectName Name) error
Delete: Delete an instance from a project.
Parameters:
- `instanceName`
- `organizationName`
- `projectName`
func (*InstancesService) DisksAttach ¶ added in v0.0.3
func (s *InstancesService) DisksAttach(instanceName Name, organizationName Name, projectName Name, j *DiskIdentifier) (*Disk, error)
Parameters:
- `instanceName`
- `organizationName`
- `projectName`
func (*InstancesService) DisksDetach ¶ added in v0.0.3
func (s *InstancesService) DisksDetach(instanceName Name, organizationName Name, projectName Name, j *DiskIdentifier) (*Disk, error)
DisksDetach
Parameters:
- `instanceName`
- `organizationName`
- `projectName`
func (*InstancesService) DisksList ¶ added in v0.0.3
func (s *InstancesService) DisksList(limit int, pageToken string, sortBy NameSortMode, instanceName Name, organizationName Name, projectName Name) (*DiskResultsPage, error)
DisksList: List disks attached to this instance.
To iterate over all pages, use the `DisksListAllPages` method, instead.
Parameters:
- `instanceName`
- `limit`: Maximum number of items returned by a single call
- `organizationName`
- `pageToken`: Token returned by previous call to retreive the subsequent page
- `projectName`
- `sortBy`
func (*InstancesService) DisksListAllPages ¶ added in v0.0.3
func (s *InstancesService) DisksListAllPages(sortBy NameSortMode, instanceName Name, organizationName Name, projectName Name) (*[]Disk, error)
DisksListAllPages: List disks attached to this instance.
This method is a wrapper around the `DisksList` method. This method returns all the pages at once.
Parameters:
- `instanceName`
- `organizationName`
- `projectName`
- `sortBy`
func (*InstancesService) Get ¶ added in v0.0.3
func (s *InstancesService) Get(instanceName Name, organizationName Name, projectName Name) (*Instance, error)
Get: Get an instance in a project.
Parameters:
- `instanceName`
- `organizationName`
- `projectName`
func (*InstancesService) List ¶ added in v0.0.3
func (s *InstancesService) List(limit int, pageToken string, sortBy NameSortMode, organizationName Name, projectName Name) (*InstanceResultsPage, error)
List: List instances in a project.
To iterate over all pages, use the `ListAllPages` method, instead.
Parameters:
- `limit`: Maximum number of items returned by a single call
- `organizationName`: The organization's unique name.
- `pageToken`: Token returned by previous call to retreive the subsequent page
- `projectName`: The project's unique name within the organization.
- `sortBy`
func (*InstancesService) ListAllPages ¶ added in v0.0.3
func (s *InstancesService) ListAllPages(sortBy NameSortMode, organizationName Name, projectName Name) (*[]Instance, error)
ListAllPages: List instances in a project.
This method is a wrapper around the `List` method. This method returns all the pages at once.
Parameters:
- `organizationName`: The organization's unique name.
- `projectName`: The project's unique name within the organization.
- `sortBy`
func (*InstancesService) Migrate ¶ added in v0.0.7
func (s *InstancesService) Migrate(instanceName Name, organizationName Name, projectName Name, j *InstanceMigrate) (*Instance, error)
Migrate: Migrate an instance to a different propolis-server, possibly on a different sled.
Parameters:
- `instanceName`
- `organizationName`
- `projectName`
func (*InstancesService) NetworkInterfacesCreate ¶ added in v0.0.7
func (s *InstancesService) NetworkInterfacesCreate(instanceName Name, organizationName Name, projectName Name, j *NetworkInterfaceCreate) (*NetworkInterface, error)
Parameters:
- `instanceName`
- `organizationName`
- `projectName`
func (*InstancesService) NetworkInterfacesDeleteInterface ¶ added in v0.0.7
func (s *InstancesService) NetworkInterfacesDeleteInterface(instanceName Name, interfaceName Name, organizationName Name, projectName Name) error
NetworkInterfacesDeleteInterface: Detach a network interface from an instance.
Parameters:
- `instanceName`
- `interfaceName`
- `organizationName`
- `projectName`
func (*InstancesService) NetworkInterfacesGetInterface ¶ added in v0.0.7
func (s *InstancesService) NetworkInterfacesGetInterface(instanceName Name, interfaceName Name, organizationName Name, projectName Name) (*NetworkInterface, error)
NetworkInterfacesGetInterface: Get an interface attached to an instance.
Parameters:
- `instanceName`
- `interfaceName`
- `organizationName`
- `projectName`
func (*InstancesService) NetworkInterfacesList ¶ added in v0.0.7
func (s *InstancesService) NetworkInterfacesList(limit int, pageToken string, sortBy NameSortMode, instanceName Name, organizationName Name, projectName Name) (*NetworkInterfaceResultsPage, error)
NetworkInterfacesList: List network interfaces attached to this instance.
To iterate over all pages, use the `NetworkInterfacesListAllPages` method, instead.
Parameters:
- `instanceName`
- `limit`: Maximum number of items returned by a single call
- `organizationName`
- `pageToken`: Token returned by previous call to retreive the subsequent page
- `projectName`
- `sortBy`
func (*InstancesService) NetworkInterfacesListAllPages ¶ added in v0.0.7
func (s *InstancesService) NetworkInterfacesListAllPages(sortBy NameSortMode, instanceName Name, organizationName Name, projectName Name) (*[]NetworkInterface, error)
NetworkInterfacesListAllPages: List network interfaces attached to this instance.
This method is a wrapper around the `NetworkInterfacesList` method. This method returns all the pages at once.
Parameters:
- `instanceName`
- `organizationName`
- `projectName`
- `sortBy`
func (*InstancesService) Reboot ¶ added in v0.0.3
func (s *InstancesService) Reboot(instanceName Name, organizationName Name, projectName Name) (*Instance, error)
Reboot: Reboot an instance.
Parameters:
- `instanceName`
- `organizationName`
- `projectName`
type IpNet ¶ added in v0.0.7
type IpNet struct {
V4 IPv4Net `json:"V4,omitempty" yaml:"V4,omitempty"`
V6 IPv6Net `json:"V6,omitempty" yaml:"V6,omitempty"`
}
IpNet is an `IpNet` represents an IP network, either IPv4 or IPv6.
type IpNetV4 ¶ added in v0.0.7
type IpNetV4 struct {
// V4 is an IPv4 subnet, including prefix and subnet mask
V4 IPv4Net `json:"V4,omitempty" yaml:"V4,omitempty" tfsdk:"V4"`
}
IpNetV4 is the type definition for a IpNetV4.
type IpNetV6 ¶ added in v0.0.7
type IpNetV6 struct {
// V6 is an IPv6 subnet, including prefix and subnet mask
V6 IPv6Net `json:"V6,omitempty" yaml:"V6,omitempty" tfsdk:"V6"`
}
IpNetV6 is the type definition for a IpNetV6.
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 LoginParams ¶
type LoginParams struct {
Username string `json:"username,omitempty" yaml:"username,omitempty" tfsdk:"username"`
}
LoginParams is the type definition for a LoginParams.
type MetricsService ¶ added in v0.0.3
type MetricsService service
MetricsService: Metrics provide insight into the operation of the Oxide deployment. These include telemetry on hardware and software components that can be used to understand the current state as well as to diagnose issues.
func (*MetricsService) TimeseriesSchemaList ¶ added in v0.0.3
func (s *MetricsService) TimeseriesSchemaList(limit int, pageToken string) (*TimeseriesSchemaResultsPage, error)
TimeseriesSchemaList: List all timeseries schema
To iterate over all pages, use the `TimeseriesSchemaListAllPages` method, instead.
Parameters:
- `limit`: Maximum number of items returned by a single call
- `pageToken`: Token returned by previous call to retreive the subsequent page
func (*MetricsService) TimeseriesSchemaListAllPages ¶ added in v0.0.3
func (s *MetricsService) TimeseriesSchemaListAllPages() (*[]TimeseriesSchema, error)
TimeseriesSchemaListAllPages: List all timeseries schema
This method is a wrapper around the `TimeseriesSchemaList` method. This method returns all the pages at once.
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 '-'.
type NameOrIdSortMode ¶
type NameOrIdSortMode string
NameOrIdSortMode is supported set of sort modes for scanning by name or id
const ( // NameOrIdSortModeNameAscending represents the NameOrIdSortMode `"name-ascending"`. NameOrIdSortModeNameAscending NameOrIdSortMode = "name-ascending" // NameOrIdSortModeNameDescending represents the NameOrIdSortMode `"name-descending"`. NameOrIdSortModeNameDescending NameOrIdSortMode = "name-descending" // NameOrIdSortModeIdAscending represents the NameOrIdSortMode `"id-ascending"`. NameOrIdSortModeIdAscending NameOrIdSortMode = "id-ascending" )
type NameSortMode ¶
type NameSortMode string
NameSortMode is supported set of sort modes for scanning by name only
Currently, we only support scanning in ascending order.
const ( // NameSortModeNameAscending represents the NameSortMode `"name-ascending"`. NameSortModeNameAscending NameSortMode = "name-ascending" )
type NetworkInterface ¶
type NetworkInterface struct {
// Description is human-readable free-form text about a resource
Description string `json:"description,omitempty" yaml:"description,omitempty" tfsdk:"description"`
// ID is unique, immutable, system-controlled identifier for each resource
ID string `json:"id,omitempty" yaml:"id,omitempty" tfsdk:"id"`
// InstanceID is the Instance to which the interface belongs.
InstanceID string `json:"instance_id,omitempty" yaml:"instance_id,omitempty" tfsdk:"instance_id"`
// Ip is the IP address assigned to this interface.
Ip string `json:"ip,omitempty" yaml:"ip,omitempty" tfsdk:"ip"`
// Mac is the MAC address assigned to this interface.
Mac MacAddr `json:"mac,omitempty" yaml:"mac,omitempty" tfsdk:"mac"`
// Name is unique, mutable, user-controlled identifier for each resource
Name Name `json:"name,omitempty" yaml:"name,omitempty" tfsdk:"name"`
// SubnetID is the subnet to which the interface belongs.
SubnetID string `json:"subnet_id,omitempty" yaml:"subnet_id,omitempty" tfsdk:"subnet_id"`
// TimeCreated is timestamp when this resource was created
TimeCreated *time.Time `json:"time_created,omitempty" yaml:"time_created,omitempty" tfsdk:"time_created"`
// TimeModified is timestamp when this resource was last modified
TimeModified *time.Time `json:"time_modified,omitempty" yaml:"time_modified,omitempty" tfsdk:"time_modified"`
// VPCId is the VPC to which the interface belongs.
VPCId string `json:"vpc_id,omitempty" yaml:"vpc_id,omitempty" tfsdk:"vpc_id"`
}
NetworkInterface is a `NetworkInterface` represents a virtual network interface device.
type NetworkInterfaceCreate ¶ added in v0.0.7
type NetworkInterfaceCreate struct {
Description string `json:"description,omitempty" yaml:"description,omitempty" tfsdk:"description"`
// Ip is the IP address for the interface. One will be auto-assigned if not provided.
Ip string `json:"ip,omitempty" yaml:"ip,omitempty" tfsdk:"ip"`
// 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 '-'.
Name Name `json:"name,omitempty" yaml:"name,omitempty" tfsdk:"name"`
// SubnetName is the VPC Subnet in which to create the interface.
SubnetName Name `json:"subnet_name,omitempty" yaml:"subnet_name,omitempty" tfsdk:"subnet_name"`
// VPCName is the VPC in which to create the interface.
VPCName Name `json:"vpc_name,omitempty" yaml:"vpc_name,omitempty" tfsdk:"vpc_name"`
OrganizationName string `json:"-" yaml:"-" tfsdk:"organization"`
ProjectName string `json:"-" yaml:"-" tfsdk:"project"`
}
NetworkInterfaceCreate is create-time parameters for a [`NetworkInterface`](omicron_common::api::external::NetworkInterface)
type NetworkInterfaceResultsPage ¶
type NetworkInterfaceResultsPage struct {
// Items is list of items on this page of results
Items []NetworkInterface `json:"items,omitempty" yaml:"items,omitempty" tfsdk:"items"`
// NextPage is token used to fetch the next page of results (if any)
NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty" tfsdk:"next_page"`
}
NetworkInterfaceResultsPage is a single page of results
type Organization ¶
type Organization struct {
// Description is human-readable free-form text about a resource
Description string `json:"description,omitempty" yaml:"description,omitempty" tfsdk:"description"`
// ID is unique, immutable, system-controlled identifier for each resource
ID string `json:"id,omitempty" yaml:"id,omitempty" tfsdk:"id"`
// Name is unique, mutable, user-controlled identifier for each resource
Name Name `json:"name,omitempty" yaml:"name,omitempty" tfsdk:"name"`
// TimeCreated is timestamp when this resource was created
TimeCreated *time.Time `json:"time_created,omitempty" yaml:"time_created,omitempty" tfsdk:"time_created"`
// TimeModified is timestamp when this resource was last modified
TimeModified *time.Time `json:"time_modified,omitempty" yaml:"time_modified,omitempty" tfsdk:"time_modified"`
}
Organization is client view of an [`Organization`]
type OrganizationCreate ¶
type OrganizationCreate struct {
Description string `json:"description,omitempty" yaml:"description,omitempty" tfsdk:"description"`
// 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 '-'.
Name Name `json:"name,omitempty" yaml:"name,omitempty" tfsdk:"name"`
}
OrganizationCreate is create-time parameters for an [`Organization`](crate::external_api::views::Organization)
type OrganizationResultsPage ¶
type OrganizationResultsPage struct {
// Items is list of items on this page of results
Items []Organization `json:"items,omitempty" yaml:"items,omitempty" tfsdk:"items"`
// NextPage is token used to fetch the next page of results (if any)
NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty" tfsdk:"next_page"`
}
OrganizationResultsPage is a single page of results
type OrganizationUpdate ¶
type OrganizationUpdate struct {
Description string `json:"description,omitempty" yaml:"description,omitempty" tfsdk:"description"`
Name Name `json:"name,omitempty" yaml:"name,omitempty" tfsdk:"name"`
}
OrganizationUpdate is updateable properties of an [`Organization`](crate::external_api::views::Organization)
type OrganizationsService ¶ added in v0.0.3
type OrganizationsService service
OrganizationsService: Organizations represent a subset of users and projects in an Oxide deployment.
func (*OrganizationsService) Create ¶ added in v0.0.3
func (s *OrganizationsService) Create(j *OrganizationCreate) (*Organization, error)
func (*OrganizationsService) Delete ¶ added in v0.0.3
func (s *OrganizationsService) Delete(organizationName Name) error
Delete: Delete a specific organization.
Parameters:
- `organizationName`: The organization's unique name.
func (*OrganizationsService) Get ¶ added in v0.0.3
func (s *OrganizationsService) Get(organizationName Name) (*Organization, error)
Get: Fetch a specific organization
Parameters:
- `organizationName`: The organization's unique name.
func (*OrganizationsService) List ¶ added in v0.0.3
func (s *OrganizationsService) List(limit int, pageToken string, sortBy NameOrIdSortMode) (*OrganizationResultsPage, error)
List: List all organizations.
To iterate over all pages, use the `ListAllPages` method, instead.
Parameters:
- `limit`: Maximum number of items returned by a single call
- `pageToken`: Token returned by previous call to retreive the subsequent page
- `sortBy`
func (*OrganizationsService) ListAllPages ¶ added in v0.0.3
func (s *OrganizationsService) ListAllPages(sortBy NameOrIdSortMode) (*[]Organization, error)
ListAllPages: List all organizations.
This method is a wrapper around the `List` method. This method returns all the pages at once.
Parameters:
- `sortBy`
func (*OrganizationsService) Put ¶ added in v0.0.3
func (s *OrganizationsService) Put(organizationName Name, j *OrganizationUpdate) (*Organization, error)
Put: Update a specific organization.
Parameters:
- `organizationName`: The organization's unique name.
type Project ¶
type Project struct {
// Description is human-readable free-form text about a resource
Description string `json:"description,omitempty" yaml:"description,omitempty" tfsdk:"description"`
// ID is unique, immutable, system-controlled identifier for each resource
ID string `json:"id,omitempty" yaml:"id,omitempty" tfsdk:"id"`
// Name is unique, mutable, user-controlled identifier for each resource
Name Name `json:"name,omitempty" yaml:"name,omitempty" tfsdk:"name"`
OrganizationID string `json:"organization_id,omitempty" yaml:"organization_id,omitempty" tfsdk:"organization_id"`
// TimeCreated is timestamp when this resource was created
TimeCreated *time.Time `json:"time_created,omitempty" yaml:"time_created,omitempty" tfsdk:"time_created"`
// TimeModified is timestamp when this resource was last modified
TimeModified *time.Time `json:"time_modified,omitempty" yaml:"time_modified,omitempty" tfsdk:"time_modified"`
OrganizationName string `json:"-" yaml:"-" tfsdk:"organization"`
}
Project is client view of a [`Project`]
type ProjectCreate ¶
type ProjectCreate struct {
Description string `json:"description,omitempty" yaml:"description,omitempty" tfsdk:"description"`
// 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 '-'.
Name Name `json:"name,omitempty" yaml:"name,omitempty" tfsdk:"name"`
OrganizationName string `json:"-" yaml:"-" tfsdk:"organization"`
}
ProjectCreate is create-time parameters for a [`Project`](crate::external_api::views::Project)
type ProjectResultsPage ¶
type ProjectResultsPage struct {
// Items is list of items on this page of results
Items []Project `json:"items,omitempty" yaml:"items,omitempty" tfsdk:"items"`
// NextPage is token used to fetch the next page of results (if any)
NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty" tfsdk:"next_page"`
}
ProjectResultsPage is a single page of results
type ProjectUpdate ¶
type ProjectUpdate struct {
Description string `json:"description,omitempty" yaml:"description,omitempty" tfsdk:"description"`
Name Name `json:"name,omitempty" yaml:"name,omitempty" tfsdk:"name"`
OrganizationName string `json:"-" yaml:"-" tfsdk:"organization"`
}
ProjectUpdate is updateable properties of a [`Project`](crate::external_api::views::Project)
type ProjectsService ¶ added in v0.0.3
type ProjectsService service
ProjectsService: Projects are a grouping of associated resources such as instances and disks within an organization for purposes of billing and access control.
func (*ProjectsService) Create ¶ added in v0.0.3
func (s *ProjectsService) Create(organizationName Name, j *ProjectCreate) (*Project, error)
Parameters:
- `organizationName`: The organization's unique name.
func (*ProjectsService) Delete ¶ added in v0.0.3
func (s *ProjectsService) Delete(organizationName Name, projectName Name) error
Delete: Delete a specific project.
Parameters:
- `organizationName`: The organization's unique name.
- `projectName`: The project's unique name within the organization.
func (*ProjectsService) Get ¶ added in v0.0.3
func (s *ProjectsService) Get(organizationName Name, projectName Name) (*Project, error)
Get: Fetch a specific project
Parameters:
- `organizationName`: The organization's unique name.
- `projectName`: The project's unique name within the organization.
func (*ProjectsService) List ¶ added in v0.0.3
func (s *ProjectsService) List(limit int, pageToken string, sortBy NameOrIdSortMode, organizationName Name) (*ProjectResultsPage, error)
List: List all projects.
To iterate over all pages, use the `ListAllPages` method, instead.
Parameters:
- `limit`: Maximum number of items returned by a single call
- `organizationName`: The organization's unique name.
- `pageToken`: Token returned by previous call to retreive the subsequent page
- `sortBy`
func (*ProjectsService) ListAllPages ¶ added in v0.0.3
func (s *ProjectsService) ListAllPages(sortBy NameOrIdSortMode, organizationName Name) (*[]Project, error)
ListAllPages: List all projects.
This method is a wrapper around the `List` method. This method returns all the pages at once.
Parameters:
- `organizationName`: The organization's unique name.
- `sortBy`
func (*ProjectsService) Put ¶ added in v0.0.7
func (s *ProjectsService) Put(organizationName Name, projectName Name, j *ProjectUpdate) (*Project, error)
Put: Update a specific project.
Parameters:
- `organizationName`: The organization's unique name.
- `projectName`: The project's unique name within the organization.
type Rack ¶
type Rack struct {
// Description is human-readable free-form text about a resource
Description string `json:"description,omitempty" yaml:"description,omitempty" tfsdk:"description"`
// ID is unique, immutable, system-controlled identifier for each resource
ID string `json:"id,omitempty" yaml:"id,omitempty" tfsdk:"id"`
// Name is unique, mutable, user-controlled identifier for each resource
Name Name `json:"name,omitempty" yaml:"name,omitempty" tfsdk:"name"`
// TimeCreated is timestamp when this resource was created
TimeCreated *time.Time `json:"time_created,omitempty" yaml:"time_created,omitempty" tfsdk:"time_created"`
// TimeModified is timestamp when this resource was last modified
TimeModified *time.Time `json:"time_modified,omitempty" yaml:"time_modified,omitempty" tfsdk:"time_modified"`
}
Rack is client view of an [`Rack`]
type RackResultsPage ¶
type RackResultsPage struct {
// Items is list of items on this page of results
Items []Rack `json:"items,omitempty" yaml:"items,omitempty" tfsdk:"items"`
// NextPage is token used to fetch the next page of results (if any)
NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty" tfsdk:"next_page"`
}
RackResultsPage is a single page of results
type RacksService ¶ added in v0.0.7
type RacksService service
RacksService: These operations pertain to hardware inventory and management. Racks are the unit of expansion of an Oxide deployment. Racks are in turn composed of sleds, switches, power supplies, and a cabled backplane.
func (*RacksService) Get ¶ added in v0.0.7
func (s *RacksService) Get(rackID string) (*Rack, error)
Parameters:
- `rackId`: The rack's unique ID.
func (*RacksService) List ¶ added in v0.0.7
func (s *RacksService) List(limit int, pageToken string, sortBy IdSortMode) (*RackResultsPage, error)
List: List racks in the system.
To iterate over all pages, use the `ListAllPages` method, instead.
Parameters:
- `limit`: Maximum number of items returned by a single call
- `pageToken`: Token returned by previous call to retreive the subsequent page
- `sortBy`
func (*RacksService) ListAllPages ¶ added in v0.0.7
func (s *RacksService) ListAllPages(sortBy IdSortMode) (*[]Rack, error)
ListAllPages: List racks in the system.
This method is a wrapper around the `List` method. This method returns all the pages at once.
Parameters:
- `sortBy`
type Role ¶
type Role struct {
Description string `json:"description,omitempty" yaml:"description,omitempty" tfsdk:"description"`
// Name is role names consist of two string components separated by dot (".").
Name RoleName `json:"name,omitempty" yaml:"name,omitempty" tfsdk:"name"`
}
Role is client view of a [`Role`]
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" tfsdk:"items"`
// NextPage is token used to fetch the next page of results (if any)
NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty" tfsdk:"next_page"`
}
RoleResultsPage is a single page of results
type RolesService ¶ added in v0.0.3
type RolesService service
RolesService: Roles are a component of Identity and Access Management (IAM) that allow a user or agent account access to additional permissions.
func (*RolesService) Get ¶ added in v0.0.3
func (s *RolesService) Get(roleName string) (*Role, error)
Parameters:
- `roleName`: The built-in role's unique name.
func (*RolesService) List ¶ added in v0.0.3
func (s *RolesService) List(limit int, pageToken string) (*RoleResultsPage, error)
To iterate over all pages, use the `ListAllPages` method, instead.
Parameters:
- `limit`: Maximum number of items returned by a single call
- `pageToken`: Token returned by previous call to retreive the subsequent page
func (*RolesService) ListAllPages ¶ added in v0.0.3
func (s *RolesService) ListAllPages() (*[]Role, error)
ListAllPages: List the built-in roles
This method is a wrapper around the `List` method. This method returns all the pages at once.
type Route ¶ added in v0.0.7
type Route struct {
// Description is human-readable free-form text about a resource
Description string `json:"description,omitempty" yaml:"description,omitempty" tfsdk:"description"`
// 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" tfsdk:"destination"`
// ID is unique, immutable, system-controlled identifier for each resource
ID string `json:"id,omitempty" yaml:"id,omitempty" tfsdk:"id"`
// Kind is describes the kind of router. Set at creation. `read-only`
Kind RouteKind `json:"kind,omitempty" yaml:"kind,omitempty" tfsdk:"kind"`
// Name is unique, mutable, user-controlled identifier for each resource
Name Name `json:"name,omitempty" yaml:"name,omitempty" tfsdk:"name"`
// RouterID is the VPC Router to which the route belongs.
RouterID string `json:"router_id,omitempty" yaml:"router_id,omitempty" tfsdk:"router_id"`
// 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" tfsdk:"target"`
// TimeCreated is timestamp when this resource was created
TimeCreated *time.Time `json:"time_created,omitempty" yaml:"time_created,omitempty" tfsdk:"time_created"`
// TimeModified is timestamp when this resource was last modified
TimeModified *time.Time `json:"time_modified,omitempty" yaml:"time_modified,omitempty" tfsdk:"time_modified"`
OrganizationName string `json:"-" yaml:"-" tfsdk:"organization"`
ProjectName string `json:"-" yaml:"-" tfsdk:"project"`
VPCName string `json:"-" yaml:"-" tfsdk:"vpc"`
RouterName string `json:"-" yaml:"-" tfsdk:"router"`
}
Route is a route defines a rule that governs where traffic should be sent based on its destination.
type RouteCreateParams ¶ added in v0.0.7
type RouteCreateParams struct {
Description string `json:"description,omitempty" yaml:"description,omitempty" tfsdk:"description"`
// 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" tfsdk:"destination"`
// 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 '-'.
Name Name `json:"name,omitempty" yaml:"name,omitempty" tfsdk:"name"`
// 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" tfsdk:"target"`
}
RouteCreateParams is create-time parameters for a [`RouterRoute`]
type RouteDestination ¶
type RouteDestination struct {
Type string `json:"type,omitempty" yaml:"type,omitempty"`
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" tfsdk:"type"`
Value string `json:"value,omitempty" yaml:"value,omitempty" tfsdk:"value"`
}
RouteDestinationIp is route applies to traffic destined for a specific IP address
type RouteDestinationIpNet ¶ added in v0.0.7
type RouteDestinationIpNet struct {
Type RouteDestinationType `json:"type,omitempty" yaml:"type,omitempty" tfsdk:"type"`
// Value is an `IpNet` represents an IP network, either IPv4 or IPv6.
Value IpNet `json:"value,omitempty" yaml:"value,omitempty" tfsdk:"value"`
}
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" tfsdk:"type"`
// 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 '-'.
Value Name `json:"value,omitempty" yaml:"value,omitempty" tfsdk:"value"`
}
RouteDestinationSubnet is route applies to traffic
type RouteDestinationType ¶
type RouteDestinationType string
RouteDestinationType is the type definition for a RouteDestinationType.
const ( // RouteDestinationTypeIp represents the RouteDestinationType `"ip"`. RouteDestinationTypeIp RouteDestinationType = "ip" )
const ( // RouteDestinationTypeIpNet represents the RouteDestinationType `"ip_net"`. RouteDestinationTypeIpNet RouteDestinationType = "ip_net" )
const ( // RouteDestinationTypeSubnet represents the RouteDestinationType `"subnet"`. RouteDestinationTypeSubnet RouteDestinationType = "subnet" )
const ( // RouteDestinationTypeVpc represents the RouteDestinationType `"vpc"`. RouteDestinationTypeVpc RouteDestinationType = "vpc" )
type RouteDestinationVPC ¶
type RouteDestinationVPC struct {
Type RouteDestinationType `json:"type,omitempty" yaml:"type,omitempty" tfsdk:"type"`
// 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 '-'.
Value Name `json:"value,omitempty" yaml:"value,omitempty" tfsdk:"value"`
}
RouteDestinationVPC is route applies to traffic destined for the given VPC.
type RouteKind ¶ added in v0.0.7
type RouteKind string
RouteKind is the classification of a [`RouterRoute`] as defined by the system. The kind determines certain attributes such as if the route is modifiable and describes how or where the route was created.
See [RFD-21](https://rfd.shared.oxide.computer/rfd/0021#concept-router) for more context
const ( // RouteKindDefault represents the RouteKind `"default"`. RouteKindDefault RouteKind = "default" // RouteKindVpcSubnet represents the RouteKind `"vpc_subnet"`. RouteKindVpcSubnet RouteKind = "vpc_subnet" // RouteKindVpcPeering represents the RouteKind `"vpc_peering"`. RouteKindVpcPeering RouteKind = "vpc_peering" // RouteKindCustom represents the RouteKind `"custom"`. RouteKindCustom RouteKind = "custom" )
type RouteResultsPage ¶ added in v0.0.7
type RouteResultsPage struct {
// Items is list of items on this page of results
Items []Route `json:"items,omitempty" yaml:"items,omitempty" tfsdk:"items"`
// NextPage is token used to fetch the next page of results (if any)
NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty" tfsdk:"next_page"`
}
RouteResultsPage is a single page of results
type RouteTarget ¶
type RouteTarget struct {
Type string `json:"type,omitempty" yaml:"type,omitempty"`
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" tfsdk:"type"`
// 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 '-'.
Value Name `json:"value,omitempty" yaml:"value,omitempty" tfsdk:"value"`
}
RouteTargetInstance is forward traffic to a specific instance
type RouteTargetInternetGateway ¶
type RouteTargetInternetGateway struct {
Type RouteTargetType `json:"type,omitempty" yaml:"type,omitempty" tfsdk:"type"`
// 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 '-'.
Value Name `json:"value,omitempty" yaml:"value,omitempty" tfsdk:"value"`
}
RouteTargetInternetGateway is forward traffic to an internet gateway
type RouteTargetIp ¶
type RouteTargetIp struct {
Type RouteTargetType `json:"type,omitempty" yaml:"type,omitempty" tfsdk:"type"`
Value string `json:"value,omitempty" yaml:"value,omitempty" tfsdk:"value"`
}
RouteTargetIp is forward traffic to a particular IP address.
type RouteTargetSubnet ¶
type RouteTargetSubnet struct {
Type RouteTargetType `json:"type,omitempty" yaml:"type,omitempty" tfsdk:"type"`
// 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 '-'.
Value Name `json:"value,omitempty" yaml:"value,omitempty" tfsdk:"value"`
}
RouteTargetSubnet is forward traffic to a VPC Subnet
type RouteTargetType ¶
type RouteTargetType string
RouteTargetType is the type definition for a RouteTargetType.
const ( // RouteTargetTypeInstance represents the RouteTargetType `"instance"`. RouteTargetTypeInstance RouteTargetType = "instance" )
const ( // RouteTargetTypeInternetGateway represents the RouteTargetType `"internet_gateway"`. RouteTargetTypeInternetGateway RouteTargetType = "internet_gateway" )
const ( // RouteTargetTypeIp represents the RouteTargetType `"ip"`. RouteTargetTypeIp RouteTargetType = "ip" )
const ( // RouteTargetTypeSubnet represents the RouteTargetType `"subnet"`. RouteTargetTypeSubnet RouteTargetType = "subnet" )
const ( // RouteTargetTypeVpc represents the RouteTargetType `"vpc"`. RouteTargetTypeVpc RouteTargetType = "vpc" )
type RouteTargetVPC ¶
type RouteTargetVPC struct {
Type RouteTargetType `json:"type,omitempty" yaml:"type,omitempty" tfsdk:"type"`
// 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 '-'.
Value Name `json:"value,omitempty" yaml:"value,omitempty" tfsdk:"value"`
}
RouteTargetVPC is forward traffic to a VPC
type RouteUpdateParams ¶ added in v0.0.7
type RouteUpdateParams struct {
Description string `json:"description,omitempty" yaml:"description,omitempty" tfsdk:"description"`
// 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" tfsdk:"destination"`
Name Name `json:"name,omitempty" yaml:"name,omitempty" tfsdk:"name"`
// 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" tfsdk:"target"`
}
RouteUpdateParams is updateable properties of a [`RouterRoute`]
type Router ¶ added in v0.0.7
type Router struct {
// Description is human-readable free-form text about a resource
Description string `json:"description,omitempty" yaml:"description,omitempty" tfsdk:"description"`
// ID is unique, immutable, system-controlled identifier for each resource
ID string `json:"id,omitempty" yaml:"id,omitempty" tfsdk:"id"`
Kind RouterKind `json:"kind,omitempty" yaml:"kind,omitempty" tfsdk:"kind"`
// Name is unique, mutable, user-controlled identifier for each resource
Name Name `json:"name,omitempty" yaml:"name,omitempty" tfsdk:"name"`
// TimeCreated is timestamp when this resource was created
TimeCreated *time.Time `json:"time_created,omitempty" yaml:"time_created,omitempty" tfsdk:"time_created"`
// TimeModified is timestamp when this resource was last modified
TimeModified *time.Time `json:"time_modified,omitempty" yaml:"time_modified,omitempty" tfsdk:"time_modified"`
// VPCId is the VPC to which the router belongs.
VPCId string `json:"vpc_id,omitempty" yaml:"vpc_id,omitempty" tfsdk:"vpc_id"`
OrganizationName string `json:"-" yaml:"-" tfsdk:"organization"`
ProjectName string `json:"-" yaml:"-" tfsdk:"project"`
VPCName string `json:"-" yaml:"-" tfsdk:"vpc"`
}
Router is a VPC router defines a series of rules that indicate where traffic should be sent depending on its destination.
type RouterCreate ¶ added in v0.0.7
type RouterCreate struct {
Description string `json:"description,omitempty" yaml:"description,omitempty" tfsdk:"description"`
// 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 '-'.
Name Name `json:"name,omitempty" yaml:"name,omitempty" tfsdk:"name"`
OrganizationName string `json:"-" yaml:"-" tfsdk:"organization"`
ProjectName string `json:"-" yaml:"-" tfsdk:"project"`
VPCName string `json:"-" yaml:"-" tfsdk:"vpc"`
}
RouterCreate is create-time parameters for a [`VpcRouter`](crate::external_api::views::VpcRouter)
type RouterKind ¶ added in v0.0.7
type RouterKind string
RouterKind is the type definition for a RouterKind.
const ( // RouterKindSystem represents the RouterKind `"system"`. RouterKindSystem RouterKind = "system" // RouterKindCustom represents the RouterKind `"custom"`. RouterKindCustom RouterKind = "custom" )
type RouterResultsPage ¶ added in v0.0.7
type RouterResultsPage struct {
// Items is list of items on this page of results
Items []Router `json:"items,omitempty" yaml:"items,omitempty" tfsdk:"items"`
// NextPage is token used to fetch the next page of results (if any)
NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty" tfsdk:"next_page"`
}
RouterResultsPage is a single page of results
type RouterUpdate ¶ added in v0.0.7
type RouterUpdate struct {
Description string `json:"description,omitempty" yaml:"description,omitempty" tfsdk:"description"`
Name Name `json:"name,omitempty" yaml:"name,omitempty" tfsdk:"name"`
OrganizationName string `json:"-" yaml:"-" tfsdk:"organization"`
ProjectName string `json:"-" yaml:"-" tfsdk:"project"`
VPCName string `json:"-" yaml:"-" tfsdk:"vpc"`
}
RouterUpdate is updateable properties of a [`VpcRouter`](crate::external_api::views::VpcRouter)
type RoutersService ¶ added in v0.0.7
type RoutersService service
RoutersService: Routers direct the flow of network traffic into, out of, and within a VPC via routes.
func (*RoutersService) Create ¶ added in v0.0.7
func (s *RoutersService) Create(organizationName Name, projectName Name, vpcName Name, j *RouterCreate) (*Router, error)
Parameters:
- `organizationName`
- `projectName`
- `vpcName`
func (*RoutersService) Delete ¶ added in v0.0.7
func (s *RoutersService) Delete(organizationName Name, projectName Name, routerName Name, vpcName Name) error
Delete: Delete a router from its VPC
Parameters:
- `organizationName`
- `projectName`
- `routerName`
- `vpcName`
func (*RoutersService) Get ¶ added in v0.0.7
func (s *RoutersService) Get(organizationName Name, projectName Name, routerName Name, vpcName Name) (*Router, error)
Get: Get a VPC Router
Parameters:
- `organizationName`
- `projectName`
- `routerName`
- `vpcName`
func (*RoutersService) List ¶ added in v0.0.7
func (s *RoutersService) List(limit int, pageToken string, sortBy NameSortMode, organizationName Name, projectName Name, vpcName Name) (*RouterResultsPage, error)
List: List VPC Custom and System Routers
To iterate over all pages, use the `ListAllPages` method, instead.
Parameters:
- `limit`: Maximum number of items returned by a single call
- `organizationName`
- `pageToken`: Token returned by previous call to retreive the subsequent page
- `projectName`
- `sortBy`
- `vpcName`
func (*RoutersService) ListAllPages ¶ added in v0.0.7
func (s *RoutersService) ListAllPages(sortBy NameSortMode, organizationName Name, projectName Name, vpcName Name) (*[]Router, error)
ListAllPages: List VPC Custom and System Routers
This method is a wrapper around the `List` method. This method returns all the pages at once.
Parameters:
- `organizationName`
- `projectName`
- `sortBy`
- `vpcName`
func (*RoutersService) Put ¶ added in v0.0.7
func (s *RoutersService) Put(organizationName Name, projectName Name, routerName Name, vpcName Name, j *RouterUpdate) (*Router, error)
Put: Update a VPC Router
Parameters:
- `organizationName`
- `projectName`
- `routerName`
- `vpcName`
type RoutesService ¶ added in v0.0.7
type RoutesService service
RoutesService: Routes define router policy.
func (*RoutesService) Create ¶ added in v0.0.7
func (s *RoutesService) Create(organizationName Name, projectName Name, routerName Name, vpcName Name, j *RouteCreateParams) (*Route, error)
Parameters:
- `organizationName`
- `projectName`
- `routerName`
- `vpcName`
func (*RoutesService) Delete ¶ added in v0.0.7
func (s *RoutesService) Delete(organizationName Name, projectName Name, routeName Name, routerName Name, vpcName Name) error
Delete: Delete a route from its router
Parameters:
- `organizationName`
- `projectName`
- `routeName`
- `routerName`
- `vpcName`
func (*RoutesService) Get ¶ added in v0.0.7
func (s *RoutesService) Get(organizationName Name, projectName Name, routeName Name, routerName Name, vpcName Name) (*Route, error)
Get: Get a VPC Router route
Parameters:
- `organizationName`
- `projectName`
- `routeName`
- `routerName`
- `vpcName`
func (*RoutesService) List ¶ added in v0.0.7
func (s *RoutesService) List(limit int, pageToken string, sortBy NameSortMode, organizationName Name, projectName Name, routerName Name, vpcName Name) (*RouteResultsPage, error)
List: List a Router's routes
To iterate over all pages, use the `ListAllPages` method, instead.
Parameters:
- `limit`: Maximum number of items returned by a single call
- `organizationName`
- `pageToken`: Token returned by previous call to retreive the subsequent page
- `projectName`
- `routerName`
- `sortBy`
- `vpcName`
func (*RoutesService) ListAllPages ¶ added in v0.0.7
func (s *RoutesService) ListAllPages(sortBy NameSortMode, organizationName Name, projectName Name, routerName Name, vpcName Name) (*[]Route, error)
ListAllPages: List a Router's routes
This method is a wrapper around the `List` method. This method returns all the pages at once.
Parameters:
- `organizationName`
- `projectName`
- `routerName`
- `sortBy`
- `vpcName`
func (*RoutesService) Put ¶ added in v0.0.7
func (s *RoutesService) Put(organizationName Name, projectName Name, routeName Name, routerName Name, vpcName Name, j *RouteUpdateParams) (*Route, error)
Put: Update a Router route
Parameters:
- `organizationName`
- `projectName`
- `routeName`
- `routerName`
- `vpcName`
type Saga ¶
type Saga struct {
ID string `json:"id,omitempty" yaml:"id,omitempty" tfsdk:"id"`
State SagaState `json:"state,omitempty" yaml:"state,omitempty" tfsdk:"state"`
}
Saga is the type definition for a Saga.
type SagaErrorInfo ¶
type SagaErrorInfo struct {
Error string `json:"error,omitempty" yaml:"error,omitempty"`
SourceError interface{} `json:"source_error,omitempty" yaml:"source_error,omitempty"`
Message string `json:"message,omitempty" yaml:"message,omitempty"`
}
SagaErrorInfo is the type definition for a SagaErrorInfo.
type SagaErrorInfoActionFailed ¶
type SagaErrorInfoActionFailed struct {
Error SagaErrorInfoError `json:"error,omitempty" yaml:"error,omitempty" tfsdk:"error"`
SourceError interface{} `json:"source_error,omitempty" yaml:"source_error,omitempty" tfsdk:"source_error"`
}
SagaErrorInfoActionFailed is the type definition for a SagaErrorInfoActionFailed.
type SagaErrorInfoDeserializeFailed ¶
type SagaErrorInfoDeserializeFailed struct {
Error SagaErrorInfoError `json:"error,omitempty" yaml:"error,omitempty" tfsdk:"error"`
Message string `json:"message,omitempty" yaml:"message,omitempty" tfsdk:"message"`
}
SagaErrorInfoDeserializeFailed is the type definition for a SagaErrorInfoDeserializeFailed.
type SagaErrorInfoError ¶
type SagaErrorInfoError string
SagaErrorInfoError is the type definition for a SagaErrorInfoError.
const ( // SagaErrorInfoErrorActionFailed represents the SagaErrorInfoError `"action_failed"`. SagaErrorInfoErrorActionFailed SagaErrorInfoError = "action_failed" )
const ( // SagaErrorInfoErrorDeserializeFailed represents the SagaErrorInfoError `"deserialize_failed"`. SagaErrorInfoErrorDeserializeFailed SagaErrorInfoError = "deserialize_failed" )
const ( // SagaErrorInfoErrorInjectedError represents the SagaErrorInfoError `"injected_error"`. SagaErrorInfoErrorInjectedError SagaErrorInfoError = "injected_error" )
const ( // SagaErrorInfoErrorSerializeFailed represents the SagaErrorInfoError `"serialize_failed"`. SagaErrorInfoErrorSerializeFailed SagaErrorInfoError = "serialize_failed" )
const ( // SagaErrorInfoErrorSubsagaCreateFailed represents the SagaErrorInfoError `"subsaga_create_failed"`. SagaErrorInfoErrorSubsagaCreateFailed SagaErrorInfoError = "subsaga_create_failed" )
type SagaErrorInfoInjectedError ¶
type SagaErrorInfoInjectedError struct {
Error SagaErrorInfoError `json:"error,omitempty" yaml:"error,omitempty" tfsdk:"error"`
}
SagaErrorInfoInjectedError is the type definition for a SagaErrorInfoInjectedError.
type SagaErrorInfoSerializeFailed ¶
type SagaErrorInfoSerializeFailed struct {
Error SagaErrorInfoError `json:"error,omitempty" yaml:"error,omitempty" tfsdk:"error"`
Message string `json:"message,omitempty" yaml:"message,omitempty" tfsdk:"message"`
}
SagaErrorInfoSerializeFailed is the type definition for a SagaErrorInfoSerializeFailed.
type SagaErrorInfoSubsagaCreateFailed ¶
type SagaErrorInfoSubsagaCreateFailed struct {
Error SagaErrorInfoError `json:"error,omitempty" yaml:"error,omitempty" tfsdk:"error"`
Message string `json:"message,omitempty" yaml:"message,omitempty" tfsdk:"message"`
}
SagaErrorInfoSubsagaCreateFailed is the type definition for a SagaErrorInfoSubsagaCreateFailed.
type SagaResultsPage ¶
type SagaResultsPage struct {
// Items is list of items on this page of results
Items []Saga `json:"items,omitempty" yaml:"items,omitempty" tfsdk:"items"`
// NextPage is token used to fetch the next page of results (if any)
NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty" tfsdk:"next_page"`
}
SagaResultsPage is a single page of results
type SagaState ¶
type SagaState struct {
State string `json:"state,omitempty" yaml:"state,omitempty"`
ErrorInfo SagaErrorInfo `json:"error_info,omitempty" yaml:"error_info,omitempty"`
ErrorNodeName string `json:"error_node_name,omitempty" yaml:"error_node_name,omitempty"`
}
SagaState is the type definition for a SagaState.
type SagaStateFailed ¶
type SagaStateFailed struct {
ErrorInfo SagaErrorInfo `json:"error_info,omitempty" yaml:"error_info,omitempty" tfsdk:"error_info"`
ErrorNodeName string `json:"error_node_name,omitempty" yaml:"error_node_name,omitempty" tfsdk:"error_node_name"`
State SagaStateState `json:"state,omitempty" yaml:"state,omitempty" tfsdk:"state"`
}
SagaStateFailed is the type definition for a SagaStateFailed.
type SagaStateRunning ¶
type SagaStateRunning struct {
State SagaStateState `json:"state,omitempty" yaml:"state,omitempty" tfsdk:"state"`
}
SagaStateRunning is the type definition for a SagaStateRunning.
type SagaStateState ¶
type SagaStateState string
SagaStateState is the type definition for a SagaStateState.
const ( // SagaStateStateFailed represents the SagaStateState `"failed"`. SagaStateStateFailed SagaStateState = "failed" )
const ( // SagaStateStateRunning represents the SagaStateState `"running"`. SagaStateStateRunning SagaStateState = "running" )
const ( // SagaStateStateSucceeded represents the SagaStateState `"succeeded"`. SagaStateStateSucceeded SagaStateState = "succeeded" )
type SagaStateSucceeded ¶
type SagaStateSucceeded struct {
State SagaStateState `json:"state,omitempty" yaml:"state,omitempty" tfsdk:"state"`
}
SagaStateSucceeded is the type definition for a SagaStateSucceeded.
type SagasService ¶ added in v0.0.3
type SagasService service
SagasService: Sagas are the abstraction used to represent multi-step operations within the Oxide deployment. These operations can be used to query saga status and report errors.
func (*SagasService) Get ¶ added in v0.0.3
func (s *SagasService) Get(sagaID string) (*Saga, error)
Parameters:
- `sagaId`
func (*SagasService) List ¶ added in v0.0.3
func (s *SagasService) List(limit int, pageToken string, sortBy IdSortMode) (*SagaResultsPage, error)
List: List all sagas (for debugging)
To iterate over all pages, use the `ListAllPages` method, instead.
Parameters:
- `limit`: Maximum number of items returned by a single call
- `pageToken`: Token returned by previous call to retreive the subsequent page
- `sortBy`
func (*SagasService) ListAllPages ¶ added in v0.0.3
func (s *SagasService) ListAllPages(sortBy IdSortMode) (*[]Saga, error)
ListAllPages: List all sagas (for debugging)
This method is a wrapper around the `List` method. This method returns all the pages at once.
Parameters:
- `sortBy`
type SessionUser ¶
type SessionUser struct {
ID string `json:"id,omitempty" yaml:"id,omitempty" tfsdk:"id"`
}
SessionUser is client view of currently authed user.
type Sled ¶
type Sled struct {
// Description is human-readable free-form text about a resource
Description string `json:"description,omitempty" yaml:"description,omitempty" tfsdk:"description"`
// ID is unique, immutable, system-controlled identifier for each resource
ID string `json:"id,omitempty" yaml:"id,omitempty" tfsdk:"id"`
// Name is unique, mutable, user-controlled identifier for each resource
Name Name `json:"name,omitempty" yaml:"name,omitempty" tfsdk:"name"`
ServiceAddress string `json:"service_address,omitempty" yaml:"service_address,omitempty" tfsdk:"service_address"`
// TimeCreated is timestamp when this resource was created
TimeCreated *time.Time `json:"time_created,omitempty" yaml:"time_created,omitempty" tfsdk:"time_created"`
// TimeModified is timestamp when this resource was last modified
TimeModified *time.Time `json:"time_modified,omitempty" yaml:"time_modified,omitempty" tfsdk:"time_modified"`
}
Sled is client view of an [`Sled`]
type SledResultsPage ¶
type SledResultsPage struct {
// Items is list of items on this page of results
Items []Sled `json:"items,omitempty" yaml:"items,omitempty" tfsdk:"items"`
// NextPage is token used to fetch the next page of results (if any)
NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty" tfsdk:"next_page"`
}
SledResultsPage is a single page of results
type SledsService ¶ added in v0.0.7
type SledsService service
SledsService: This tag should be moved into hardware
func (*SledsService) Get ¶ added in v0.0.7
func (s *SledsService) Get(sledID string) (*Sled, error)
Parameters:
- `sledId`: The sled's unique ID.
func (*SledsService) List ¶ added in v0.0.7
func (s *SledsService) List(limit int, pageToken string, sortBy IdSortMode) (*SledResultsPage, error)
List: List sleds in the system.
To iterate over all pages, use the `ListAllPages` method, instead.
Parameters:
- `limit`: Maximum number of items returned by a single call
- `pageToken`: Token returned by previous call to retreive the subsequent page
- `sortBy`
func (*SledsService) ListAllPages ¶ added in v0.0.7
func (s *SledsService) ListAllPages(sortBy IdSortMode) (*[]Sled, error)
ListAllPages: List sleds in the system.
This method is a wrapper around the `List` method. This method returns all the pages at once.
Parameters:
- `sortBy`
type Snapshot ¶ added in v0.0.7
type Snapshot struct {
// Description is human-readable free-form text about a resource
Description string `json:"description,omitempty" yaml:"description,omitempty" tfsdk:"description"`
DiskID string `json:"disk_id,omitempty" yaml:"disk_id,omitempty" tfsdk:"disk_id"`
// ID is unique, immutable, system-controlled identifier for each resource
ID string `json:"id,omitempty" yaml:"id,omitempty" tfsdk:"id"`
// Name is unique, mutable, user-controlled identifier for each resource
Name Name `json:"name,omitempty" yaml:"name,omitempty" tfsdk:"name"`
ProjectID string `json:"project_id,omitempty" yaml:"project_id,omitempty" tfsdk:"project_id"`
// Size is a count of bytes, typically used either for memory or storage capacity
//
// The maximum supported byte count is [`i64::MAX`]. This makes it somewhat inconvenient to define constructors: a u32 constructor can be infallible, but an i64 constructor can fail (if the value is negative) and a u64 constructor can fail (if the value is larger than i64::MAX). We provide all of these for consumers' convenience.
Size ByteCount `json:"size,omitempty" yaml:"size,omitempty" tfsdk:"size"`
// TimeCreated is timestamp when this resource was created
TimeCreated *time.Time `json:"time_created,omitempty" yaml:"time_created,omitempty" tfsdk:"time_created"`
// TimeModified is timestamp when this resource was last modified
TimeModified *time.Time `json:"time_modified,omitempty" yaml:"time_modified,omitempty" tfsdk:"time_modified"`
OrganizationName string `json:"-" yaml:"-" tfsdk:"organization"`
ProjectName string `json:"-" yaml:"-" tfsdk:"project"`
}
Snapshot is client view of a Snapshot
type SnapshotCreate ¶ added in v0.0.7
type SnapshotCreate struct {
Description string `json:"description,omitempty" yaml:"description,omitempty" tfsdk:"description"`
// Disk is the name of the disk to be snapshotted
Disk Name `json:"disk,omitempty" yaml:"disk,omitempty" tfsdk:"disk"`
// 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 '-'.
Name Name `json:"name,omitempty" yaml:"name,omitempty" tfsdk:"name"`
OrganizationName string `json:"-" yaml:"-" tfsdk:"organization"`
ProjectName string `json:"-" yaml:"-" tfsdk:"project"`
}
SnapshotCreate is create-time parameters for a [`Snapshot`](omicron_common::api::external::Snapshot)
type SnapshotResultsPage ¶ added in v0.0.7
type SnapshotResultsPage struct {
// Items is list of items on this page of results
Items []Snapshot `json:"items,omitempty" yaml:"items,omitempty" tfsdk:"items"`
// NextPage is token used to fetch the next page of results (if any)
NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty" tfsdk:"next_page"`
}
SnapshotResultsPage is a single page of results
type SnapshotsService ¶ added in v0.0.7
type SnapshotsService service
SnapshotsService: Snapshots of Virtual Disks at a particular point in time.
func (*SnapshotsService) Create ¶ added in v0.0.7
func (s *SnapshotsService) Create(organizationName Name, projectName Name, j *SnapshotCreate) (*Snapshot, error)
Parameters:
- `organizationName`: The organization's unique name.
- `projectName`: The project's unique name within the organization.
func (*SnapshotsService) Delete ¶ added in v0.0.7
func (s *SnapshotsService) Delete(organizationName Name, projectName Name, snapshotName Name) error
Delete: Delete a snapshot from a project.
Parameters:
- `organizationName`
- `projectName`
- `snapshotName`
func (*SnapshotsService) Get ¶ added in v0.0.7
func (s *SnapshotsService) Get(organizationName Name, projectName Name, snapshotName Name) (*Snapshot, error)
Get: Get a snapshot in a project.
Parameters:
- `organizationName`
- `projectName`
- `snapshotName`
func (*SnapshotsService) List ¶ added in v0.0.7
func (s *SnapshotsService) List(limit int, pageToken string, sortBy NameSortMode, organizationName Name, projectName Name) (*SnapshotResultsPage, error)
List: List snapshots in a project.
To iterate over all pages, use the `ListAllPages` method, instead.
Parameters:
- `limit`: Maximum number of items returned by a single call
- `organizationName`: The organization's unique name.
- `pageToken`: Token returned by previous call to retreive the subsequent page
- `projectName`: The project's unique name within the organization.
- `sortBy`
func (*SnapshotsService) ListAllPages ¶ added in v0.0.7
func (s *SnapshotsService) ListAllPages(sortBy NameSortMode, organizationName Name, projectName Name) (*[]Snapshot, error)
ListAllPages: List snapshots in a project.
This method is a wrapper around the `List` method. This method returns all the pages at once.
Parameters:
- `organizationName`: The organization's unique name.
- `projectName`: The project's unique name within the organization.
- `sortBy`
type Subnet ¶ added in v0.0.7
type Subnet struct {
// Description is human-readable free-form text about a resource
Description string `json:"description,omitempty" yaml:"description,omitempty" tfsdk:"description"`
// ID is unique, immutable, system-controlled identifier for each resource
ID string `json:"id,omitempty" yaml:"id,omitempty" tfsdk:"id"`
// IPv4Block is the IPv4 subnet CIDR block.
IPv4Block IPv4Net `json:"ipv4_block,omitempty" yaml:"ipv4_block,omitempty" tfsdk:"ipv4_block"`
// IPv6Block is the IPv6 subnet CIDR block.
IPv6Block IPv6Net `json:"ipv6_block,omitempty" yaml:"ipv6_block,omitempty" tfsdk:"ipv6_block"`
// Name is unique, mutable, user-controlled identifier for each resource
Name Name `json:"name,omitempty" yaml:"name,omitempty" tfsdk:"name"`
// TimeCreated is timestamp when this resource was created
TimeCreated *time.Time `json:"time_created,omitempty" yaml:"time_created,omitempty" tfsdk:"time_created"`
// TimeModified is timestamp when this resource was last modified
TimeModified *time.Time `json:"time_modified,omitempty" yaml:"time_modified,omitempty" tfsdk:"time_modified"`
// VPCId is the VPC to which the subnet belongs.
VPCId string `json:"vpc_id,omitempty" yaml:"vpc_id,omitempty" tfsdk:"vpc_id"`
OrganizationName string `json:"-" yaml:"-" tfsdk:"organization"`
ProjectName string `json:"-" yaml:"-" tfsdk:"project"`
VPCName string `json:"-" yaml:"-" tfsdk:"vpc"`
}
Subnet 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 SubnetCreate ¶ added in v0.0.7
type SubnetCreate struct {
Description string `json:"description,omitempty" yaml:"description,omitempty" tfsdk:"description"`
// 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" tfsdk:"ipv4_block"`
// 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" tfsdk:"ipv6_block"`
// 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 '-'.
Name Name `json:"name,omitempty" yaml:"name,omitempty" tfsdk:"name"`
OrganizationName string `json:"-" yaml:"-" tfsdk:"organization"`
ProjectName string `json:"-" yaml:"-" tfsdk:"project"`
VPCName string `json:"-" yaml:"-" tfsdk:"vpc"`
}
SubnetCreate is create-time parameters for a [`VpcSubnet`](crate::external_api::views::VpcSubnet)
type SubnetResultsPage ¶ added in v0.0.7
type SubnetResultsPage struct {
// Items is list of items on this page of results
Items []Subnet `json:"items,omitempty" yaml:"items,omitempty" tfsdk:"items"`
// NextPage is token used to fetch the next page of results (if any)
NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty" tfsdk:"next_page"`
}
SubnetResultsPage is a single page of results
type SubnetUpdate ¶ added in v0.0.7
type SubnetUpdate struct {
Description string `json:"description,omitempty" yaml:"description,omitempty" tfsdk:"description"`
IPv4Block IPv4Net `json:"ipv4_block,omitempty" yaml:"ipv4_block,omitempty" tfsdk:"ipv4_block"`
IPv6Block IPv6Net `json:"ipv6_block,omitempty" yaml:"ipv6_block,omitempty" tfsdk:"ipv6_block"`
Name Name `json:"name,omitempty" yaml:"name,omitempty" tfsdk:"name"`
OrganizationName string `json:"-" yaml:"-" tfsdk:"organization"`
ProjectName string `json:"-" yaml:"-" tfsdk:"project"`
VPCName string `json:"-" yaml:"-" tfsdk:"vpc"`
}
SubnetUpdate is updateable properties of a [`VpcSubnet`](crate::external_api::views::VpcSubnet)
type SubnetsService ¶ added in v0.0.7
type SubnetsService service
SubnetsService: This tag should be moved into a generic network tag
func (*SubnetsService) Create ¶ added in v0.0.7
func (s *SubnetsService) Create(organizationName Name, projectName Name, vpcName Name, j *SubnetCreate) (*Subnet, error)
Parameters:
- `organizationName`
- `projectName`
- `vpcName`
func (*SubnetsService) Delete ¶ added in v0.0.7
func (s *SubnetsService) Delete(organizationName Name, projectName Name, subnetName Name, vpcName Name) error
Delete: Delete a subnet from a VPC.
Parameters:
- `organizationName`
- `projectName`
- `subnetName`
- `vpcName`
func (*SubnetsService) Get ¶ added in v0.0.7
func (s *SubnetsService) Get(organizationName Name, projectName Name, subnetName Name, vpcName Name) (*Subnet, error)
Get: Get subnet in a VPC.
Parameters:
- `organizationName`
- `projectName`
- `subnetName`
- `vpcName`
func (*SubnetsService) List ¶ added in v0.0.7
func (s *SubnetsService) List(limit int, pageToken string, sortBy NameSortMode, organizationName Name, projectName Name, vpcName Name) (*SubnetResultsPage, error)
List: List subnets in a VPC.
To iterate over all pages, use the `ListAllPages` method, instead.
Parameters:
- `limit`: Maximum number of items returned by a single call
- `organizationName`
- `pageToken`: Token returned by previous call to retreive the subsequent page
- `projectName`
- `sortBy`
- `vpcName`
func (*SubnetsService) ListAllPages ¶ added in v0.0.7
func (s *SubnetsService) ListAllPages(sortBy NameSortMode, organizationName Name, projectName Name, vpcName Name) (*[]Subnet, error)
ListAllPages: List subnets in a VPC.
This method is a wrapper around the `List` method. This method returns all the pages at once.
Parameters:
- `organizationName`
- `projectName`
- `sortBy`
- `vpcName`
func (*SubnetsService) NetworkInterfacesList ¶ added in v0.0.7
func (s *SubnetsService) NetworkInterfacesList(limit int, pageToken string, sortBy NameSortMode, organizationName Name, projectName Name, subnetName Name, vpcName Name) (*NetworkInterfaceResultsPage, error)
NetworkInterfacesList: List network interfaces in a VPC subnet.
To iterate over all pages, use the `NetworkInterfacesListAllPages` method, instead.
Parameters:
- `limit`: Maximum number of items returned by a single call
- `organizationName`
- `pageToken`: Token returned by previous call to retreive the subsequent page
- `projectName`
- `sortBy`
- `subnetName`
- `vpcName`
func (*SubnetsService) NetworkInterfacesListAllPages ¶ added in v0.0.7
func (s *SubnetsService) NetworkInterfacesListAllPages(sortBy NameSortMode, organizationName Name, projectName Name, subnetName Name, vpcName Name) (*[]NetworkInterface, error)
NetworkInterfacesListAllPages: List network interfaces in a VPC subnet.
This method is a wrapper around the `NetworkInterfacesList` method. This method returns all the pages at once.
Parameters:
- `organizationName`
- `projectName`
- `sortBy`
- `subnetName`
- `vpcName`
func (*SubnetsService) Put ¶ added in v0.0.7
func (s *SubnetsService) Put(organizationName Name, projectName Name, subnetName Name, vpcName Name, j *SubnetUpdate) (*Subnet, error)
Put: Update a VPC Subnet.
Parameters:
- `organizationName`
- `projectName`
- `subnetName`
- `vpcName`
type TimeseriesName ¶
type TimeseriesName string
TimeseriesName is names are constructed by concatenating the target and metric names with ':'. Target and metric names must be lowercase alphanumeric characters with '_' separating words.
type TimeseriesSchema ¶
type TimeseriesSchema struct {
Created *time.Time `json:"created,omitempty" yaml:"created,omitempty" tfsdk:"created"`
// DatumType is the type of an individual datum of a metric.
DatumType DatumType `json:"datum_type,omitempty" yaml:"datum_type,omitempty" tfsdk:"datum_type"`
FieldSchema []FieldSchema `json:"field_schema,omitempty" yaml:"field_schema,omitempty" tfsdk:"field_schema"`
// TimeseriesName is names are constructed by concatenating the target and metric names with ':'. Target and metric names must be lowercase alphanumeric characters with '_' separating words.
TimeseriesName TimeseriesName `json:"timeseries_name,omitempty" yaml:"timeseries_name,omitempty" tfsdk:"timeseries_name"`
}
TimeseriesSchema is the schema for a timeseries.
This includes the name of the timeseries, as well as the datum type of its metric and the schema for each field.
type TimeseriesSchemaResultsPage ¶
type TimeseriesSchemaResultsPage struct {
// Items is list of items on this page of results
Items []TimeseriesSchema `json:"items,omitempty" yaml:"items,omitempty" tfsdk:"items"`
// NextPage is token used to fetch the next page of results (if any)
NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty" tfsdk:"next_page"`
}
TimeseriesSchemaResultsPage is a single page of results
type UpdatesService ¶ added in v0.0.7
type UpdatesService service
UpdatesService: This tag should be moved into a operations tag
func (*UpdatesService) Refresh ¶ added in v0.0.7
func (s *UpdatesService) Refresh() error
type User ¶
type User struct {
// Description is human-readable free-form text about a resource
Description string `json:"description,omitempty" yaml:"description,omitempty" tfsdk:"description"`
// ID is unique, immutable, system-controlled identifier for each resource
ID string `json:"id,omitempty" yaml:"id,omitempty" tfsdk:"id"`
// Name is unique, mutable, user-controlled identifier for each resource
Name Name `json:"name,omitempty" yaml:"name,omitempty" tfsdk:"name"`
// TimeCreated is timestamp when this resource was created
TimeCreated *time.Time `json:"time_created,omitempty" yaml:"time_created,omitempty" tfsdk:"time_created"`
// TimeModified is timestamp when this resource was last modified
TimeModified *time.Time `json:"time_modified,omitempty" yaml:"time_modified,omitempty" tfsdk:"time_modified"`
}
User is client view of a [`User`]
type UserResultsPage ¶
type UserResultsPage struct {
// Items is list of items on this page of results
Items []User `json:"items,omitempty" yaml:"items,omitempty" tfsdk:"items"`
// NextPage is token used to fetch the next page of results (if any)
NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty" tfsdk:"next_page"`
}
UserResultsPage is a single page of results
type UsersService ¶ added in v0.0.3
type UsersService service
UsersService: This tag should be moved into an IAM tag
func (*UsersService) Get ¶ added in v0.0.3
func (s *UsersService) Get(userName Name) (*User, error)
Parameters:
- `userName`: The built-in user's unique name.
func (*UsersService) List ¶ added in v0.0.3
func (s *UsersService) List(limit int, pageToken string, sortBy NameSortMode) (*UserResultsPage, error)
List: List the built-in system users
To iterate over all pages, use the `ListAllPages` method, instead.
Parameters:
- `limit`: Maximum number of items returned by a single call
- `pageToken`: Token returned by previous call to retreive the subsequent page
- `sortBy`
func (*UsersService) ListAllPages ¶ added in v0.0.3
func (s *UsersService) ListAllPages(sortBy NameSortMode) (*[]User, error)
ListAllPages: List the built-in system users
This method is a wrapper around the `List` method. This method returns all the pages at once.
Parameters:
- `sortBy`
type VPC ¶
type VPC struct {
// Description is human-readable free-form text about a resource
Description string `json:"description,omitempty" yaml:"description,omitempty" tfsdk:"description"`
// DnsName is the name used for the VPC in DNS.
DnsName Name `json:"dns_name,omitempty" yaml:"dns_name,omitempty" tfsdk:"dns_name"`
// ID is unique, immutable, system-controlled identifier for each resource
ID string `json:"id,omitempty" yaml:"id,omitempty" tfsdk:"id"`
// IPv6Prefix is the unique local IPv6 address range for subnets in this VPC
IPv6Prefix IPv6Net `json:"ipv6_prefix,omitempty" yaml:"ipv6_prefix,omitempty" tfsdk:"ipv6_prefix"`
// Name is unique, mutable, user-controlled identifier for each resource
Name Name `json:"name,omitempty" yaml:"name,omitempty" tfsdk:"name"`
// ProjectID is id for the project containing this VPC
ProjectID string `json:"project_id,omitempty" yaml:"project_id,omitempty" tfsdk:"project_id"`
// 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" tfsdk:"system_router_id"`
// TimeCreated is timestamp when this resource was created
TimeCreated *time.Time `json:"time_created,omitempty" yaml:"time_created,omitempty" tfsdk:"time_created"`
// TimeModified is timestamp when this resource was last modified
TimeModified *time.Time `json:"time_modified,omitempty" yaml:"time_modified,omitempty" tfsdk:"time_modified"`
OrganizationName string `json:"-" yaml:"-" tfsdk:"organization"`
ProjectName string `json:"-" yaml:"-" tfsdk:"project"`
}
VPC is client view of a [`Vpc`]
type VPCCreate ¶
type VPCCreate struct {
Description string `json:"description,omitempty" yaml:"description,omitempty" tfsdk:"description"`
// 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 '-'.
DnsName Name `json:"dns_name,omitempty" yaml:"dns_name,omitempty" tfsdk:"dns_name"`
// IPv6Prefix is the IPv6 prefix for this VPC.
//
// All IPv6 subnets created from this VPC must be taken from this range, which sould 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" tfsdk:"ipv6_prefix"`
// 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 '-'.
Name Name `json:"name,omitempty" yaml:"name,omitempty" tfsdk:"name"`
OrganizationName string `json:"-" yaml:"-" tfsdk:"organization"`
ProjectName string `json:"-" yaml:"-" tfsdk:"project"`
}
VPCCreate is create-time parameters for a [`Vpc`](crate::external_api::views::Vpc)
type VPCResultsPage ¶
type VPCResultsPage struct {
// Items is list of items on this page of results
Items []VPC `json:"items,omitempty" yaml:"items,omitempty" tfsdk:"items"`
// NextPage is token used to fetch the next page of results (if any)
NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty" tfsdk:"next_page"`
}
VPCResultsPage is a single page of results
type VPCUpdate ¶
type VPCUpdate struct {
Description string `json:"description,omitempty" yaml:"description,omitempty" tfsdk:"description"`
DnsName Name `json:"dns_name,omitempty" yaml:"dns_name,omitempty" tfsdk:"dns_name"`
Name Name `json:"name,omitempty" yaml:"name,omitempty" tfsdk:"name"`
OrganizationName string `json:"-" yaml:"-" tfsdk:"organization"`
ProjectName string `json:"-" yaml:"-" tfsdk:"project"`
}
VPCUpdate is updateable properties of a [`Vpc`](crate::external_api::views::Vpc)
type VPCsService ¶ added in v0.0.7
type VPCsService service
VPCsService: A Virtual Private Cloud (VPC) is an isolated network environment that should probaby be moved into a more generic networking tag
func (*VPCsService) Create ¶ added in v0.0.7
Parameters:
- `organizationName`: The organization's unique name.
- `projectName`: The project's unique name within the organization.
func (*VPCsService) Delete ¶ added in v0.0.7
func (s *VPCsService) Delete(organizationName Name, projectName Name, vpcName Name) error
Delete: Delete a vpc from a project.
Parameters:
- `organizationName`
- `projectName`
- `vpcName`
func (*VPCsService) Get ¶ added in v0.0.7
Get: Get a VPC in a project.
Parameters:
- `organizationName`
- `projectName`
- `vpcName`
func (*VPCsService) List ¶ added in v0.0.7
func (s *VPCsService) List(limit int, pageToken string, sortBy NameSortMode, organizationName Name, projectName Name) (*VPCResultsPage, error)
List: List VPCs in a project.
To iterate over all pages, use the `ListAllPages` method, instead.
Parameters:
- `limit`: Maximum number of items returned by a single call
- `organizationName`: The organization's unique name.
- `pageToken`: Token returned by previous call to retreive the subsequent page
- `projectName`: The project's unique name within the organization.
- `sortBy`
func (*VPCsService) ListAllPages ¶ added in v0.0.7
func (s *VPCsService) ListAllPages(sortBy NameSortMode, organizationName Name, projectName Name) (*[]VPC, error)
ListAllPages: List VPCs in a project.
This method is a wrapper around the `List` method. This method returns all the pages at once.
Parameters:
- `organizationName`: The organization's unique name.
- `projectName`: The project's unique name within the organization.
- `sortBy`