Documentation
¶
Index ¶
- Constants
- Variables
- type BinRangedouble
- type BinRangedoubleRange
- type BinRangedoubleRangeFrom
- type BinRangedoubleRangeTo
- type BinRangedoubleType
- type BinRangeint64
- type BinRangeint64Range
- type BinRangeint64RangeFrom
- type BinRangeint64RangeTo
- type BinRangeint64Type
- type Bindouble
- type Binint64
- type BlockSize
- type ByteCount
- type Client
- func (c *Client) ConsumeCredentials(providerName Name, siloName Name, b io.Reader) error
- func (c *Client) DiskCreate(organizationName Name, projectName Name, j *DiskCreate) (*Disk, error)
- func (c *Client) DiskDelete(diskName Name, organizationName Name, projectName Name) error
- func (c *Client) DiskList(limit int, pageToken string, sortBy NameSortMode, organizationName Name, ...) (*DiskResultsPage, error)
- func (c *Client) DiskListAllPages(sortBy NameSortMode, organizationName Name, projectName Name) (*[]Disk, error)
- func (c *Client) DiskMetricsList(diskName Name, metricName DiskMetricName, organizationName Name, ...) (*MeasurementResultsPage, error)
- func (c *Client) DiskMetricsListAllPages(diskName Name, metricName DiskMetricName, organizationName Name, ...) (*[]Measurement, error)
- func (c *Client) DiskView(diskName Name, organizationName Name, projectName Name) (*Disk, error)
- func (c *Client) DiskViewById(id string) (*Disk, error)
- func (c *Client) ImageCreate(organizationName Name, projectName Name, j *ImageCreate) (*Image, error)
- func (c *Client) ImageDelete(imageName Name, organizationName Name, projectName Name) error
- func (c *Client) ImageList(limit int, pageToken string, sortBy NameSortMode, organizationName Name, ...) (*ImageResultsPage, error)
- func (c *Client) ImageListAllPages(sortBy NameSortMode, organizationName Name, projectName Name) (*[]Image, error)
- func (c *Client) ImageView(imageName Name, organizationName Name, projectName Name) (*Image, error)
- func (c *Client) ImageViewById(id string) (*Image, error)
- func (c *Client) InstanceCreate(organizationName Name, projectName Name, j *InstanceCreate) (*Instance, error)
- func (c *Client) InstanceDelete(instanceName Name, organizationName Name, projectName Name) error
- func (c *Client) InstanceDiskAttach(instanceName Name, organizationName Name, projectName Name, j *DiskIdentifier) (*Disk, error)
- func (c *Client) InstanceDiskDetach(instanceName Name, organizationName Name, projectName Name, j *DiskIdentifier) (*Disk, error)
- func (c *Client) InstanceDiskList(limit int, pageToken string, sortBy NameSortMode, instanceName Name, ...) (*DiskResultsPage, error)
- func (c *Client) InstanceDiskListAllPages(sortBy NameSortMode, instanceName Name, organizationName Name, ...) (*[]Disk, error)
- func (c *Client) InstanceExternalIpList(instanceName Name, organizationName Name, projectName Name) (*ExternalIpResultsPage, error)
- func (c *Client) InstanceList(limit int, pageToken string, sortBy NameSortMode, organizationName Name, ...) (*InstanceResultsPage, error)
- func (c *Client) InstanceListAllPages(sortBy NameSortMode, organizationName Name, projectName Name) (*[]Instance, error)
- func (c *Client) InstanceMigrate(instanceName Name, organizationName Name, projectName Name, j *InstanceMigrate) (*Instance, error)
- func (c *Client) InstanceNetworkInterfaceCreate(instanceName Name, organizationName Name, projectName Name, ...) (*NetworkInterface, error)
- func (c *Client) InstanceNetworkInterfaceDelete(instanceName Name, interfaceName Name, organizationName Name, projectName Name) error
- func (c *Client) InstanceNetworkInterfaceList(limit int, pageToken string, sortBy NameSortMode, instanceName Name, ...) (*NetworkInterfaceResultsPage, error)
- func (c *Client) InstanceNetworkInterfaceListAllPages(sortBy NameSortMode, instanceName Name, organizationName Name, ...) (*[]NetworkInterface, error)
- func (c *Client) InstanceNetworkInterfaceUpdate(instanceName Name, interfaceName Name, organizationName Name, projectName Name, ...) (*NetworkInterface, error)
- func (c *Client) InstanceNetworkInterfaceView(instanceName Name, interfaceName Name, organizationName Name, projectName Name) (*NetworkInterface, error)
- func (c *Client) InstanceNetworkInterfaceViewById(id string) (*NetworkInterface, error)
- func (c *Client) InstanceReboot(instanceName Name, organizationName Name, projectName Name) (*Instance, error)
- func (c *Client) InstanceSerialConsole(instanceName Name, organizationName Name, projectName Name, fromStart int, ...) (*InstanceSerialConsoleData, error)
- func (c *Client) InstanceStart(instanceName Name, organizationName Name, projectName Name) (*Instance, error)
- func (c *Client) InstanceStop(instanceName Name, organizationName Name, projectName Name) (*Instance, error)
- func (c *Client) InstanceView(instanceName Name, organizationName Name, projectName Name) (*Instance, error)
- func (c *Client) InstanceViewById(id string) (*Instance, error)
- func (c *Client) IpPoolCreate(j *IpPoolCreate) (*IpPool, error)
- func (c *Client) IpPoolDelete(poolName Name) error
- func (c *Client) IpPoolList(limit int, pageToken string, sortBy NameOrIdSortMode) (*IpPoolResultsPage, error)
- func (c *Client) IpPoolListAllPages(sortBy NameOrIdSortMode) (*[]IpPool, error)
- func (c *Client) IpPoolRangeAdd(poolName Name, j *IpRange) (*IpPoolRange, error)
- func (c *Client) IpPoolRangeList(poolName Name, limit int, pageToken string) (*IpPoolRangeResultsPage, error)
- func (c *Client) IpPoolRangeListAllPages(poolName Name) (*[]IpPoolRange, error)
- func (c *Client) IpPoolRangeRemove(poolName Name, j *IpRange) error
- func (c *Client) IpPoolServiceRangeAdd(rackId string, j *IpRange) (*IpPoolRange, error)
- func (c *Client) IpPoolServiceRangeList(rackId string, limit int, pageToken string) (*IpPoolRangeResultsPage, error)
- func (c *Client) IpPoolServiceRangeListAllPages(rackId string) (*[]IpPoolRange, error)
- func (c *Client) IpPoolServiceRangeRemove(rackId string, j *IpRange) error
- func (c *Client) IpPoolServiceView(rackId string) (*IpPool, error)
- func (c *Client) IpPoolUpdate(poolName Name, j *IpPoolUpdate) (*IpPool, error)
- func (c *Client) IpPoolView(poolName Name) (*IpPool, error)
- func (c *Client) IpPoolViewById(id string) (*IpPool, error)
- func (c *Client) Login(providerName Name, siloName Name) error
- func (c *Client) OrganizationCreate(j *OrganizationCreate) (*Organization, error)
- func (c *Client) OrganizationDelete(organizationName Name) error
- func (c *Client) OrganizationList(limit int, pageToken string, sortBy NameOrIdSortMode) (*OrganizationResultsPage, error)
- func (c *Client) OrganizationListAllPages(sortBy NameOrIdSortMode) (*[]Organization, error)
- func (c *Client) OrganizationPolicyUpdate(organizationName Name, j *OrganizationRolePolicy) (*OrganizationRolePolicy, error)
- func (c *Client) OrganizationPolicyView(organizationName Name) (*OrganizationRolePolicy, error)
- func (c *Client) OrganizationUpdate(organizationName Name, j *OrganizationUpdate) (*Organization, error)
- func (c *Client) OrganizationView(organizationName Name) (*Organization, error)
- func (c *Client) OrganizationViewById(id string) (*Organization, error)
- func (c *Client) PolicyUpdate(j *SiloRolePolicy) (*SiloRolePolicy, error)
- func (c *Client) PolicyView() (*SiloRolePolicy, error)
- func (c *Client) ProjectCreate(organizationName Name, j *ProjectCreate) (*Project, error)
- func (c *Client) ProjectDelete(organizationName Name, projectName Name) error
- func (c *Client) ProjectList(limit int, pageToken string, sortBy NameOrIdSortMode, organizationName Name) (*ProjectResultsPage, error)
- func (c *Client) ProjectListAllPages(sortBy NameOrIdSortMode, organizationName Name) (*[]Project, error)
- func (c *Client) ProjectPolicyUpdate(organizationName Name, projectName Name, j *ProjectRolePolicy) (*ProjectRolePolicy, error)
- func (c *Client) ProjectPolicyView(organizationName Name, projectName Name) (*ProjectRolePolicy, error)
- func (c *Client) ProjectUpdate(organizationName Name, projectName Name, j *ProjectUpdate) (*Project, error)
- func (c *Client) ProjectView(organizationName Name, projectName Name) (*Project, error)
- func (c *Client) ProjectViewById(id string) (*Project, error)
- func (c *Client) RackList(limit int, pageToken string, sortBy IdSortMode) (*RackResultsPage, error)
- func (c *Client) RackListAllPages(sortBy IdSortMode) (*[]Rack, error)
- func (c *Client) RackView(rackId string) (*Rack, error)
- func (c *Client) RoleList(limit int, pageToken string) (*RoleResultsPage, error)
- func (c *Client) RoleListAllPages() (*[]Role, error)
- func (c *Client) RoleView(roleName string) (*Role, error)
- func (c *Client) SagaList(limit int, pageToken string, sortBy IdSortMode) (*SagaResultsPage, error)
- func (c *Client) SagaListAllPages(sortBy IdSortMode) (*[]Saga, error)
- func (c *Client) SagaView(sagaId string) (*Saga, error)
- func (c *Client) SessionSshkeyCreate(j *SshKeyCreate) (*SshKey, error)
- func (c *Client) SessionSshkeyDelete(sshKeyName Name) error
- func (c *Client) SessionSshkeyList(limit int, pageToken string, sortBy NameSortMode) (*SshKeyResultsPage, error)
- func (c *Client) SessionSshkeyListAllPages(sortBy NameSortMode) (*[]SshKey, error)
- func (c *Client) SessionSshkeyView(sshKeyName Name) (*SshKey, error)
- func (c *Client) SiloCreate(j *SiloCreate) (*Silo, error)
- func (c *Client) SiloDelete(siloName Name) error
- func (c *Client) SiloIdentityProviderCreate(siloName Name, j *SamlIdentityProviderCreate) (*SamlIdentityProvider, error)
- func (c *Client) SiloIdentityProviderList(siloName Name, limit int, pageToken string, sortBy NameSortMode) (*IdentityProviderResultsPage, error)
- func (c *Client) SiloIdentityProviderListAllPages(siloName Name, sortBy NameSortMode) (*[]IdentityProvider, error)
- func (c *Client) SiloIdentityProviderView(providerName Name, siloName Name) (*SamlIdentityProvider, error)
- func (c *Client) SiloList(limit int, pageToken string, sortBy NameOrIdSortMode) (*SiloResultsPage, error)
- func (c *Client) SiloListAllPages(sortBy NameOrIdSortMode) (*[]Silo, error)
- func (c *Client) SiloPolicyUpdate(siloName Name, j *SiloRolePolicy) (*SiloRolePolicy, error)
- func (c *Client) SiloPolicyView(siloName Name) (*SiloRolePolicy, error)
- func (c *Client) SiloView(siloName Name) (*Silo, error)
- func (c *Client) SiloViewById(id string) (*Silo, error)
- func (c *Client) SledList(limit int, pageToken string, sortBy IdSortMode) (*SledResultsPage, error)
- func (c *Client) SledListAllPages(sortBy IdSortMode) (*[]Sled, error)
- func (c *Client) SledView(sledId string) (*Sled, error)
- func (c *Client) SnapshotCreate(organizationName Name, projectName Name, j *SnapshotCreate) (*Snapshot, error)
- func (c *Client) SnapshotDelete(organizationName Name, projectName Name, snapshotName Name) error
- func (c *Client) SnapshotList(limit int, pageToken string, sortBy NameSortMode, organizationName Name, ...) (*SnapshotResultsPage, error)
- func (c *Client) SnapshotListAllPages(sortBy NameSortMode, organizationName Name, projectName Name) (*[]Snapshot, error)
- func (c *Client) SnapshotView(organizationName Name, projectName Name, snapshotName Name) (*Snapshot, error)
- func (c *Client) SnapshotViewById(id string) (*Snapshot, error)
- func (c *Client) SystemImageCreate(j *GlobalImageCreate) (*GlobalImage, error)
- func (c *Client) SystemImageDelete(imageName Name) error
- func (c *Client) SystemImageList(limit int, pageToken string, sortBy NameSortMode) (*GlobalImageResultsPage, error)
- func (c *Client) SystemImageListAllPages(sortBy NameSortMode) (*[]GlobalImage, error)
- func (c *Client) SystemImageView(imageName Name) (*GlobalImage, error)
- func (c *Client) SystemImageViewById(id string) (*GlobalImage, error)
- func (c *Client) SystemPolicyUpdate(j *FleetRolePolicy) (*FleetRolePolicy, error)
- func (c *Client) SystemPolicyView() (*FleetRolePolicy, error)
- func (c *Client) SystemUserList(limit int, pageToken string, sortBy NameSortMode) (*UserBuiltinResultsPage, error)
- func (c *Client) SystemUserListAllPages(sortBy NameSortMode) (*[]UserBuiltin, error)
- func (c *Client) SystemUserView(userName Name) (*UserBuiltin, error)
- func (c *Client) TimeseriesSchemaGet(limit int, pageToken string) (*TimeseriesSchemaResultsPage, error)
- func (c *Client) TimeseriesSchemaGetAllPages() (*[]TimeseriesSchema, error)
- func (c *Client) UpdatesRefresh() error
- func (c *Client) UserList(limit int, pageToken string, sortBy IdSortMode) (*UserResultsPage, error)
- func (c *Client) UserListAllPages(sortBy IdSortMode) (*[]User, error)
- func (c *Client) VpcCreate(organizationName Name, projectName Name, j *VpcCreate) (*Vpc, error)
- func (c *Client) VpcDelete(organizationName Name, projectName Name, vpcName Name) error
- func (c *Client) VpcFirewallRulesUpdate(organizationName Name, projectName Name, vpcName Name, ...) (*VpcFirewallRules, error)
- func (c *Client) VpcFirewallRulesView(organizationName Name, projectName Name, vpcName Name) (*VpcFirewallRules, error)
- func (c *Client) VpcList(limit int, pageToken string, sortBy NameSortMode, organizationName Name, ...) (*VpcResultsPage, error)
- func (c *Client) VpcListAllPages(sortBy NameSortMode, organizationName Name, projectName Name) (*[]Vpc, error)
- func (c *Client) VpcRouterCreate(organizationName Name, projectName Name, vpcName Name, j *VpcRouterCreate) (*VpcRouter, error)
- func (c *Client) VpcRouterDelete(organizationName Name, projectName Name, routerName Name, vpcName Name) error
- func (c *Client) VpcRouterList(limit int, pageToken string, sortBy NameSortMode, organizationName Name, ...) (*VpcRouterResultsPage, error)
- func (c *Client) VpcRouterListAllPages(sortBy NameSortMode, organizationName Name, projectName Name, vpcName Name) (*[]VpcRouter, error)
- func (c *Client) VpcRouterRouteCreate(organizationName Name, projectName Name, routerName Name, vpcName Name, ...) (*RouterRoute, error)
- func (c *Client) VpcRouterRouteDelete(organizationName Name, projectName Name, routeName Name, routerName Name, ...) error
- func (c *Client) VpcRouterRouteList(limit int, pageToken string, sortBy NameSortMode, organizationName Name, ...) (*RouterRouteResultsPage, error)
- func (c *Client) VpcRouterRouteListAllPages(sortBy NameSortMode, organizationName Name, projectName Name, routerName Name, ...) (*[]RouterRoute, error)
- func (c *Client) VpcRouterRouteUpdate(organizationName Name, projectName Name, routeName Name, routerName Name, ...) (*RouterRoute, error)
- func (c *Client) VpcRouterRouteView(organizationName Name, projectName Name, routeName Name, routerName Name, ...) (*RouterRoute, error)
- func (c *Client) VpcRouterRouteViewById(id string) (*RouterRoute, error)
- func (c *Client) VpcRouterUpdate(organizationName Name, projectName Name, routerName Name, vpcName Name, ...) (*VpcRouter, error)
- func (c *Client) VpcRouterView(organizationName Name, projectName Name, routerName Name, vpcName Name) (*VpcRouter, error)
- func (c *Client) VpcRouterViewById(id string) (*VpcRouter, error)
- func (c *Client) VpcSubnetCreate(organizationName Name, projectName Name, vpcName Name, j *VpcSubnetCreate) (*VpcSubnet, error)
- func (c *Client) VpcSubnetDelete(organizationName Name, projectName Name, subnetName Name, vpcName Name) error
- func (c *Client) VpcSubnetList(limit int, pageToken string, sortBy NameSortMode, organizationName Name, ...) (*VpcSubnetResultsPage, error)
- func (c *Client) VpcSubnetListAllPages(sortBy NameSortMode, organizationName Name, projectName Name, vpcName Name) (*[]VpcSubnet, error)
- func (c *Client) VpcSubnetListNetworkInterfaces(limit int, pageToken string, sortBy NameSortMode, organizationName Name, ...) (*NetworkInterfaceResultsPage, error)
- func (c *Client) VpcSubnetListNetworkInterfacesAllPages(sortBy NameSortMode, organizationName Name, projectName Name, subnetName Name, ...) (*[]NetworkInterface, error)
- func (c *Client) VpcSubnetUpdate(organizationName Name, projectName Name, subnetName Name, vpcName Name, ...) (*VpcSubnet, error)
- func (c *Client) VpcSubnetView(organizationName Name, projectName Name, subnetName Name, vpcName Name) (*VpcSubnet, error)
- func (c *Client) VpcSubnetViewById(id string) (*VpcSubnet, error)
- func (c *Client) VpcUpdate(organizationName Name, projectName Name, vpcName Name, j *VpcUpdate) (*Vpc, error)
- func (c *Client) VpcView(organizationName Name, projectName Name, vpcName Name) (*Vpc, error)
- func (c *Client) VpcViewById(id string) (*Vpc, error)
- func (c *Client) WithToken(token string)
- type Cumulativedouble
- type Cumulativeint64
- type Datum
- type DatumBool
- type DatumBytes
- type DatumCumulativeF64
- type DatumCumulativeI64
- type DatumF64
- type DatumHistogramF64
- type DatumHistogramI64
- type DatumI64
- type DatumString
- type DatumType
- type DerEncodedKeyPair
- type DeviceAccessTokenRequest
- type DeviceAuthRequest
- type DeviceAuthVerify
- type Digest
- type DigestSha256
- type DigestType
- type Disk
- type DiskCreate
- type DiskIdentifier
- type DiskMetricName
- type DiskResultsPage
- type DiskSource
- type DiskSourceBlank
- type DiskSourceGlobalImage
- type DiskSourceImage
- type DiskSourceSnapshot
- type DiskSourceType
- type DiskState
- type DiskStateAttached
- type DiskStateAttaching
- type DiskStateCreating
- type DiskStateDestroyed
- type DiskStateDetached
- type DiskStateDetaching
- type DiskStateFaulted
- type DiskStateState
- type Distribution
- type Error
- type ErrorResponse
- type ExternalIp
- type ExternalIpCreate
- type ExternalIpCreateEphemeral
- type ExternalIpCreateType
- type ExternalIpResultsPage
- type FieldSchema
- type FieldSource
- type FieldType
- type FleetRole
- type FleetRolePolicy
- type FleetRoleRoleAssignment
- type GlobalImage
- type GlobalImageCreate
- type GlobalImageResultsPage
- type HTTPError
- type Histogramdouble
- type Histogramint64
- type IdSortMode
- type IdentityProvider
- type IdentityProviderResultsPage
- type IdentityProviderType
- type IdentityType
- type IdpMetadataSource
- type IdpMetadataSourceBase64EncodedXml
- type IdpMetadataSourceType
- type IdpMetadataSourceUrl
- type Image
- type ImageCreate
- type ImageResultsPage
- type ImageSource
- type ImageSourceSnapshot
- type ImageSourceType
- type ImageSourceUrl
- type ImageSourceYouCanBootAnythingAsLongAsItsAlpine
- type Instance
- type InstanceCpuCount
- type InstanceCreate
- type InstanceDiskAttachment
- type InstanceDiskAttachmentAttach
- type InstanceDiskAttachmentCreate
- type InstanceDiskAttachmentType
- type InstanceMigrate
- type InstanceNetworkInterfaceAttachment
- type InstanceNetworkInterfaceAttachmentCreate
- type InstanceNetworkInterfaceAttachmentDefault
- type InstanceNetworkInterfaceAttachmentNone
- type InstanceNetworkInterfaceAttachmentType
- type InstanceResultsPage
- type InstanceSerialConsoleData
- type InstanceState
- type IpKind
- type IpNet
- type IpPool
- type IpPoolCreate
- type IpPoolRange
- type IpPoolRangeResultsPage
- type IpPoolResultsPage
- type IpPoolUpdate
- type IpRange
- type Ipv4Net
- type Ipv4Range
- type Ipv6Net
- type Ipv6Range
- type L4PortRange
- type MacAddr
- type Measurement
- type MeasurementResultsPage
- type Name
- type NameOrIdSortMode
- type NameSortMode
- type NetworkInterface
- type NetworkInterfaceCreate
- type NetworkInterfaceResultsPage
- type NetworkInterfaceUpdate
- type NodeName
- type Organization
- type OrganizationCreate
- type OrganizationResultsPage
- type OrganizationRole
- type OrganizationRolePolicy
- type OrganizationRoleRoleAssignment
- type OrganizationUpdate
- type Project
- type ProjectCreate
- type ProjectResultsPage
- type ProjectRole
- type ProjectRolePolicy
- type ProjectRoleRoleAssignment
- type ProjectUpdate
- type Rack
- type RackResultsPage
- type Role
- type RoleName
- type RoleResultsPage
- type RouteDestination
- type RouteDestinationIp
- type RouteDestinationIpNet
- type RouteDestinationSubnet
- type RouteDestinationType
- type RouteDestinationVpc
- type RouteTarget
- type RouteTargetInstance
- type RouteTargetInternetGateway
- type RouteTargetIp
- type RouteTargetSubnet
- type RouteTargetType
- type RouteTargetVpc
- type RouterRoute
- type RouterRouteCreateParams
- type RouterRouteKind
- type RouterRouteResultsPage
- type RouterRouteUpdateParams
- 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 SamlIdentityProvider
- type SamlIdentityProviderCreate
- type Silo
- type SiloCreate
- type SiloResultsPage
- type SiloRole
- type SiloRolePolicy
- type SiloRoleRoleAssignment
- type Sled
- type SledResultsPage
- type Snapshot
- type SnapshotCreate
- type SnapshotResultsPage
- type SnapshotState
- type SpoofLoginBody
- type SshKey
- type SshKeyCreate
- type SshKeyResultsPage
- type TimeseriesName
- type TimeseriesSchema
- type TimeseriesSchemaResultsPage
- type User
- type UserBuiltin
- type UserBuiltinResultsPage
- type UserProvisionType
- type UserResultsPage
- type Vpc
- type VpcCreate
- type VpcFirewallRule
- type VpcFirewallRuleAction
- type VpcFirewallRuleDirection
- type VpcFirewallRuleFilter
- type VpcFirewallRuleHostFilter
- type VpcFirewallRuleHostFilterInstance
- type VpcFirewallRuleHostFilterIp
- type VpcFirewallRuleHostFilterIpNet
- type VpcFirewallRuleHostFilterSubnet
- type VpcFirewallRuleHostFilterType
- type VpcFirewallRuleHostFilterVpc
- type VpcFirewallRuleProtocol
- type VpcFirewallRuleStatus
- type VpcFirewallRuleTarget
- type VpcFirewallRuleTargetInstance
- type VpcFirewallRuleTargetIp
- type VpcFirewallRuleTargetIpNet
- type VpcFirewallRuleTargetSubnet
- type VpcFirewallRuleTargetType
- type VpcFirewallRuleTargetVpc
- type VpcFirewallRuleUpdate
- type VpcFirewallRuleUpdateParams
- type VpcFirewallRules
- type VpcResultsPage
- type VpcRouter
- type VpcRouterCreate
- type VpcRouterKind
- type VpcRouterResultsPage
- type VpcRouterUpdate
- type VpcSubnet
- type VpcSubnetCreate
- type VpcSubnetResultsPage
- type VpcSubnetUpdate
- type VpcUpdate
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 BinRangedoubleTypes = []BinRangedoubleType{ BinRangedoubleTypeRange, BinRangedoubleTypeRangeFrom, BinRangedoubleTypeRangeTo, }
BinRangedoubleTypes is the collection of all BinRangedoubleType values.
var BinRangeint64Types = []BinRangeint64Type{ BinRangeint64TypeRange, BinRangeint64TypeRangeFrom, BinRangeint64TypeRangeTo, }
BinRangeint64Types is the collection of all BinRangeint64Type values.
var DatumTypes = []DatumType{ DatumTypeBool, DatumTypeBytes, DatumTypeCumulativeF64, DatumTypeCumulativeI64, DatumTypeF64, DatumTypeHistogramF64, DatumTypeHistogramI64, DatumTypeI64, DatumTypeString, }
DatumTypes is the collection of all DatumType values.
var DigestTypes = []DigestType{ DigestTypeSha256, }
DigestTypes is the collection of all DigestType values.
var DiskMetricNames = []DiskMetricName{ DiskMetricNameActivated, DiskMetricNameFlush, DiskMetricNameRead, DiskMetricNameReadBytes, DiskMetricNameWrite, DiskMetricNameWriteBytes, }
DiskMetricNames is the collection of all DiskMetricName values.
var DiskSourceTypes = []DiskSourceType{ DiskSourceTypeBlank, DiskSourceTypeGlobalImage, DiskSourceTypeImage, DiskSourceTypeSnapshot, }
DiskSourceTypes is the collection of all DiskSourceType values.
var DiskStateStates = []DiskStateState{ DiskStateStateAttached, DiskStateStateAttaching, DiskStateStateCreating, DiskStateStateDestroyed, DiskStateStateDetached, DiskStateStateDetaching, DiskStateStateFaulted, }
DiskStateStates is the collection of all DiskStateState values.
var ExternalIpCreateTypes = []ExternalIpCreateType{ ExternalIpCreateTypeEphemeral, }
ExternalIpCreateTypes is the collection of all ExternalIpCreateType 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 FleetRoles = []FleetRole{ FleetRoleAdmin, FleetRoleCollaborator, FleetRoleViewer, }
FleetRoles is the collection of all FleetRole values.
var IdSortModes = []IdSortMode{ IdSortModeIdAscending, }
IdSortModes is the collection of all IdSortMode values.
var IdentityProviderTypes = []IdentityProviderType{ IdentityProviderTypeSaml, }
IdentityProviderTypes is the collection of all IdentityProviderType values.
var IdentityTypes = []IdentityType{ IdentityTypeSiloGroup, IdentityTypeSiloUser, }
IdentityTypes is the collection of all IdentityType values.
var IdpMetadataSourceTypes = []IdpMetadataSourceType{ IdpMetadataSourceTypeBase64EncodedXml, IdpMetadataSourceTypeUrl, }
IdpMetadataSourceTypes is the collection of all IdpMetadataSourceType values.
var ImageSourceTypes = []ImageSourceType{ ImageSourceTypeSnapshot, ImageSourceTypeUrl, ImageSourceTypeYouCanBootAnythingAsLongAsItsAlpine, }
ImageSourceTypes is the collection of all ImageSourceType values.
var InstanceDiskAttachmentTypes = []InstanceDiskAttachmentType{ InstanceDiskAttachmentTypeAttach, InstanceDiskAttachmentTypeCreate, }
InstanceDiskAttachmentTypes is the collection of all InstanceDiskAttachmentType 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 IpKinds = []IpKind{ IpKindEphemeral, IpKindFloating, }
IpKinds is the collection of all IpKind 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 OrganizationRoles = []OrganizationRole{ OrganizationRoleAdmin, OrganizationRoleCollaborator, OrganizationRoleViewer, }
OrganizationRoles is the collection of all OrganizationRole values.
var ProjectRoles = []ProjectRole{ ProjectRoleAdmin, ProjectRoleCollaborator, ProjectRoleViewer, }
ProjectRoles is the collection of all ProjectRole values.
var RouteDestinationTypes = []RouteDestinationType{ RouteDestinationTypeIp, RouteDestinationTypeIpNet, RouteDestinationTypeSubnet, RouteDestinationTypeVpc, }
RouteDestinationTypes is the collection of all RouteDestinationType values.
var RouteTargetTypes = []RouteTargetType{ RouteTargetTypeInstance, RouteTargetTypeInternetGateway, RouteTargetTypeIp, RouteTargetTypeSubnet, RouteTargetTypeVpc, }
RouteTargetTypes is the collection of all RouteTargetType values.
var RouterRouteKinds = []RouterRouteKind{ RouterRouteKindCustom, RouterRouteKindDefault, RouterRouteKindVpcPeering, RouterRouteKindVpcSubnet, }
RouterRouteKinds is the collection of all RouterRouteKind 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.
var SiloRoles = []SiloRole{ SiloRoleAdmin, SiloRoleCollaborator, SiloRoleViewer, }
SiloRoles is the collection of all SiloRole values.
var SnapshotStates = []SnapshotState{ SnapshotStateCreating, SnapshotStateDestroyed, SnapshotStateFaulted, SnapshotStateReady, }
SnapshotStates is the collection of all SnapshotState values.
var UserProvisionTypes = []UserProvisionType{ UserProvisionTypeFixed, UserProvisionTypeJit, }
UserProvisionTypes is the collection of all UserProvisionType values.
var VpcFirewallRuleActions = []VpcFirewallRuleAction{ VpcFirewallRuleActionAllow, VpcFirewallRuleActionDeny, }
VpcFirewallRuleActions is the collection of all VpcFirewallRuleAction values.
var VpcFirewallRuleDirections = []VpcFirewallRuleDirection{ VpcFirewallRuleDirectionInbound, VpcFirewallRuleDirectionOutbound, }
VpcFirewallRuleDirections is the collection of all VpcFirewallRuleDirection values.
var VpcFirewallRuleHostFilterTypes = []VpcFirewallRuleHostFilterType{ VpcFirewallRuleHostFilterTypeInstance, VpcFirewallRuleHostFilterTypeIp, VpcFirewallRuleHostFilterTypeIpNet, VpcFirewallRuleHostFilterTypeSubnet, VpcFirewallRuleHostFilterTypeVpc, }
VpcFirewallRuleHostFilterTypes is the collection of all VpcFirewallRuleHostFilterType values.
var VpcFirewallRuleProtocols = []VpcFirewallRuleProtocol{ VpcFirewallRuleProtocolICMP, VpcFirewallRuleProtocolTCP, VpcFirewallRuleProtocolUDP, }
VpcFirewallRuleProtocols is the collection of all VpcFirewallRuleProtocol values.
var VpcFirewallRuleStatuses = []VpcFirewallRuleStatus{ VpcFirewallRuleStatusDisabled, VpcFirewallRuleStatusEnabled, }
VpcFirewallRuleStatuses is the collection of all VpcFirewallRuleStatus values.
var VpcFirewallRuleTargetTypes = []VpcFirewallRuleTargetType{ VpcFirewallRuleTargetTypeInstance, VpcFirewallRuleTargetTypeIp, VpcFirewallRuleTargetTypeIpNet, VpcFirewallRuleTargetTypeSubnet, VpcFirewallRuleTargetTypeVpc, }
VpcFirewallRuleTargetTypes is the collection of all VpcFirewallRuleTargetType values.
var VpcRouterKinds = []VpcRouterKind{ VpcRouterKindCustom, VpcRouterKindSystem, }
VpcRouterKinds is the collection of all VpcRouterKind values.
Functions ¶
This section is empty.
Types ¶
type BinRangedouble ¶
type BinRangedouble struct {
// End is the type definition for a End.
End float64 `json:"end,omitempty" yaml:"end,omitempty"`
// Type is the type definition for a Type.
Type BinRangedoubleType `json:"type,omitempty" yaml:"type,omitempty"`
// Start is the type definition for a Start.
Start float64 `json:"start,omitempty" yaml:"start,omitempty"`
}
BinRangedouble is a type storing a range over `T`.
This type supports ranges similar to the `RangeTo`, `Range` and `RangeFrom` types in the standard library. Those cover `(..end)`, `(start..end)`, and `(start..)` respectively.
type BinRangedoubleRange ¶
type BinRangedoubleRange struct {
End float64 `json:"end,omitempty" yaml:"end,omitempty"`
Start float64 `json:"start,omitempty" yaml:"start,omitempty"`
Type BinRangedoubleType `json:"type,omitempty" yaml:"type,omitempty"`
}
BinRangedoubleRange is a range bounded inclusively below and exclusively above, `start..end`.
type BinRangedoubleRangeFrom ¶
type BinRangedoubleRangeFrom struct {
Start float64 `json:"start,omitempty" yaml:"start,omitempty"`
Type BinRangedoubleType `json:"type,omitempty" yaml:"type,omitempty"`
}
BinRangedoubleRangeFrom is a range bounded inclusively below and unbounded above, `start..`.
type BinRangedoubleRangeTo ¶
type BinRangedoubleRangeTo struct {
End float64 `json:"end,omitempty" yaml:"end,omitempty"`
Type BinRangedoubleType `json:"type,omitempty" yaml:"type,omitempty"`
}
BinRangedoubleRangeTo is a range unbounded below and exclusively above, `..end`.
type BinRangedoubleType ¶
type BinRangedoubleType string
BinRangedoubleType is the type definition for a BinRangedoubleType.
const BinRangedoubleTypeRange BinRangedoubleType = "range"
BinRangedoubleTypeRange represents the BinRangedoubleType `"range"`.
const BinRangedoubleTypeRangeFrom BinRangedoubleType = "range_from"
BinRangedoubleTypeRangeFrom represents the BinRangedoubleType `"range_from"`.
const BinRangedoubleTypeRangeTo BinRangedoubleType = "range_to"
BinRangedoubleTypeRangeTo represents the BinRangedoubleType `"range_to"`.
type BinRangeint64 ¶
type BinRangeint64 struct {
// End is the type definition for a End.
End int `json:"end,omitempty" yaml:"end,omitempty"`
// Type is the type definition for a Type.
Type BinRangeint64Type `json:"type,omitempty" yaml:"type,omitempty"`
// Start is the type definition for a Start.
Start int `json:"start,omitempty" yaml:"start,omitempty"`
}
BinRangeint64 is a type storing a range over `T`.
This type supports ranges similar to the `RangeTo`, `Range` and `RangeFrom` types in the standard library. Those cover `(..end)`, `(start..end)`, and `(start..)` respectively.
type BinRangeint64Range ¶
type BinRangeint64Range struct {
End int `json:"end,omitempty" yaml:"end,omitempty"`
Start int `json:"start,omitempty" yaml:"start,omitempty"`
Type BinRangeint64Type `json:"type,omitempty" yaml:"type,omitempty"`
}
BinRangeint64Range is a range bounded inclusively below and exclusively above, `start..end`.
type BinRangeint64RangeFrom ¶
type BinRangeint64RangeFrom struct {
Start int `json:"start,omitempty" yaml:"start,omitempty"`
Type BinRangeint64Type `json:"type,omitempty" yaml:"type,omitempty"`
}
BinRangeint64RangeFrom is a range bounded inclusively below and unbounded above, `start..`.
type BinRangeint64RangeTo ¶
type BinRangeint64RangeTo struct {
End int `json:"end,omitempty" yaml:"end,omitempty"`
Type BinRangeint64Type `json:"type,omitempty" yaml:"type,omitempty"`
}
BinRangeint64RangeTo is a range unbounded below and exclusively above, `..end`.
type BinRangeint64Type ¶
type BinRangeint64Type string
BinRangeint64Type is the type definition for a BinRangeint64Type.
const BinRangeint64TypeRange BinRangeint64Type = "range"
BinRangeint64TypeRange represents the BinRangeint64Type `"range"`.
const BinRangeint64TypeRangeFrom BinRangeint64Type = "range_from"
BinRangeint64TypeRangeFrom represents the BinRangeint64Type `"range_from"`.
const BinRangeint64TypeRangeTo BinRangeint64Type = "range_to"
BinRangeint64TypeRangeTo represents the BinRangeint64Type `"range_to"`.
type Bindouble ¶
type Bindouble struct {
// Count is the total count of samples in this bin.
Count int `json:"count,omitempty" yaml:"count,omitempty"`
// Range is the range of the support covered by this bin.
Range BinRangedouble `json:"range,omitempty" yaml:"range,omitempty"`
}
Bindouble is type storing bin edges and a count of samples within it.
type Binint64 ¶
type Binint64 struct {
// Count is the total count of samples in this bin.
Count int `json:"count,omitempty" yaml:"count,omitempty"`
// Range is the range of the support covered by this bin.
Range BinRangeint64 `json:"range,omitempty" yaml:"range,omitempty"`
}
Binint64 is type storing bin edges and a count of samples within it.
type ByteCount ¶
type ByteCount int64
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 {
// 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`.
func (*Client) ConsumeCredentials ¶
ConsumeCredentials: Authenticate a user Either receive a username and password, or some sort of identity provider data (like a SAMLResponse). Use these to set the user's session cookie.
Parameters - `providerName` - `siloName`
func (*Client) DiskCreate ¶
DiskCreate: Create a disk
Parameters - `organizationName` The organization's unique name. - `projectName` The project's unique name within the organization.
func (*Client) DiskDelete ¶
DiskDelete: Delete a disk
Parameters - `diskName` - `organizationName` - `projectName`
func (*Client) DiskList ¶
func (c *Client) DiskList(limit int, pageToken string, sortBy NameSortMode, organizationName Name, projectName Name) (*DiskResultsPage, error)
DiskList: List disks
To iterate over all pages, use the `DiskListAllPages` 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 retrieve the subsequent page - `projectName` The project's unique name within the organization. - `sortBy`
func (*Client) DiskListAllPages ¶
func (c *Client) DiskListAllPages(sortBy NameSortMode, organizationName Name, projectName Name) (*[]Disk, error)
DiskListAllPages: List disks
This method is a wrapper around the `DiskList` 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 (*Client) DiskMetricsList ¶
func (c *Client) DiskMetricsList(diskName Name, metricName DiskMetricName, organizationName Name, projectName Name, endTime *time.Time, limit int, pageToken string, startTime *time.Time) (*MeasurementResultsPage, error)
DiskMetricsList: Fetch disk metrics
To iterate over all pages, use the `DiskMetricsListAllPages` method, instead.
Parameters - `diskName` - `endTime` An exclusive end time of metrics. - `limit` Maximum number of items returned by a single call - `metricName` - `organizationName` - `pageToken` Token returned by previous call to retrieve the subsequent page - `projectName` - `startTime` An inclusive start time of metrics.
func (*Client) DiskMetricsListAllPages ¶
func (c *Client) DiskMetricsListAllPages(diskName Name, metricName DiskMetricName, organizationName Name, projectName Name, endTime *time.Time, startTime *time.Time) (*[]Measurement, error)
DiskMetricsListAllPages: Fetch disk metrics
This method is a wrapper around the `DiskMetricsList` method. This method returns all the pages at once.
Parameters - `diskName` - `endTime` An exclusive end time of metrics. - `metricName` - `organizationName` - `projectName` - `startTime` An inclusive start time of metrics.
func (*Client) DiskView ¶
DiskView: Fetch a disk
Parameters - `diskName` - `organizationName` - `projectName`
func (*Client) ImageCreate ¶
func (c *Client) ImageCreate(organizationName Name, projectName Name, j *ImageCreate) (*Image, error)
ImageCreate: Create an image Create a new image in a project.
Parameters - `organizationName` The organization's unique name. - `projectName` The project's unique name within the organization.
func (*Client) ImageDelete ¶
ImageDelete: Delete an image Permanently delete an image from a project. This operation cannot be undone. Any instances in the project using the image will continue to run, however new instances can not be created with this image.
Parameters - `imageName` - `organizationName` - `projectName`
func (*Client) ImageList ¶
func (c *Client) ImageList(limit int, pageToken string, sortBy NameSortMode, organizationName Name, projectName Name) (*ImageResultsPage, error)
ImageList: List images List images in a project. The images are returned sorted by creation date, with the most recent images appearing first.
To iterate over all pages, use the `ImageListAllPages` method, instead.
Parameters - `limit` Maximum number of items returned by a single call - `organizationName` The organization's unique name. - `pageToken` Token returned by previous call to retrieve the subsequent page - `projectName` The project's unique name within the organization. - `sortBy`
func (*Client) ImageListAllPages ¶
func (c *Client) ImageListAllPages(sortBy NameSortMode, organizationName Name, projectName Name) (*[]Image, error)
ImageListAllPages: List images List images in a project. The images are returned sorted by creation date, with the most recent images appearing first.
This method is a wrapper around the `ImageList` method. This method returns all the pages at once.
Parameters - `organizationName` The organization's unique name. - `projectName` The project's unique name within the organization. - `sortBy`
func (*Client) ImageView ¶
ImageView: Fetch an image Fetch the details for a specific image in a project.
Parameters - `imageName` - `organizationName` - `projectName`
func (*Client) InstanceCreate ¶
func (c *Client) InstanceCreate(organizationName Name, projectName Name, j *InstanceCreate) (*Instance, error)
InstanceCreate: Create an instance
Parameters - `organizationName` The organization's unique name. - `projectName` The project's unique name within the organization.
func (*Client) InstanceDelete ¶
InstanceDelete: Delete an instance
Parameters - `instanceName` - `organizationName` - `projectName`
func (*Client) InstanceDiskAttach ¶
func (c *Client) InstanceDiskAttach(instanceName Name, organizationName Name, projectName Name, j *DiskIdentifier) (*Disk, error)
InstanceDiskAttach: Attach a disk to an instance
Parameters - `instanceName` - `organizationName` - `projectName`
func (*Client) InstanceDiskDetach ¶
func (c *Client) InstanceDiskDetach(instanceName Name, organizationName Name, projectName Name, j *DiskIdentifier) (*Disk, error)
InstanceDiskDetach: Detach a disk from an instance
Parameters - `instanceName` - `organizationName` - `projectName`
func (*Client) InstanceDiskList ¶
func (c *Client) InstanceDiskList(limit int, pageToken string, sortBy NameSortMode, instanceName Name, organizationName Name, projectName Name) (*DiskResultsPage, error)
InstanceDiskList: List an instance's disks
To iterate over all pages, use the `InstanceDiskListAllPages` method, instead.
Parameters - `instanceName` - `limit` Maximum number of items returned by a single call - `organizationName` - `pageToken` Token returned by previous call to retrieve the subsequent page - `projectName` - `sortBy`
func (*Client) InstanceDiskListAllPages ¶
func (c *Client) InstanceDiskListAllPages(sortBy NameSortMode, instanceName Name, organizationName Name, projectName Name) (*[]Disk, error)
InstanceDiskListAllPages: List an instance's disks
This method is a wrapper around the `InstanceDiskList` method. This method returns all the pages at once.
Parameters - `instanceName` - `organizationName` - `projectName` - `sortBy`
func (*Client) InstanceExternalIpList ¶
func (c *Client) InstanceExternalIpList(instanceName Name, organizationName Name, projectName Name) (*ExternalIpResultsPage, error)
InstanceExternalIpList: List external IP addresses
Parameters - `instanceName` - `organizationName` - `projectName`
func (*Client) InstanceList ¶
func (c *Client) InstanceList(limit int, pageToken string, sortBy NameSortMode, organizationName Name, projectName Name) (*InstanceResultsPage, error)
InstanceList: List instances
To iterate over all pages, use the `InstanceListAllPages` 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 retrieve the subsequent page - `projectName` The project's unique name within the organization. - `sortBy`
func (*Client) InstanceListAllPages ¶
func (c *Client) InstanceListAllPages(sortBy NameSortMode, organizationName Name, projectName Name) (*[]Instance, error)
InstanceListAllPages: List instances
This method is a wrapper around the `InstanceList` 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 (*Client) InstanceMigrate ¶
func (c *Client) InstanceMigrate(instanceName Name, organizationName Name, projectName Name, j *InstanceMigrate) (*Instance, error)
InstanceMigrate: Migrate an instance
Parameters - `instanceName` - `organizationName` - `projectName`
func (*Client) InstanceNetworkInterfaceCreate ¶
func (c *Client) InstanceNetworkInterfaceCreate(instanceName Name, organizationName Name, projectName Name, j *NetworkInterfaceCreate) (*NetworkInterface, error)
InstanceNetworkInterfaceCreate: Create a network interface
Parameters - `instanceName` - `organizationName` - `projectName`
func (*Client) InstanceNetworkInterfaceDelete ¶
func (c *Client) InstanceNetworkInterfaceDelete(instanceName Name, interfaceName Name, organizationName Name, projectName Name) error
InstanceNetworkInterfaceDelete: Delete a network interface Note that the primary interface for an instance cannot be deleted if there are any secondary interfaces. A new primary interface must be designated first. The primary interface can be deleted if there are no secondary interfaces.
Parameters - `instanceName` - `interfaceName` - `organizationName` - `projectName`
func (*Client) InstanceNetworkInterfaceList ¶
func (c *Client) InstanceNetworkInterfaceList(limit int, pageToken string, sortBy NameSortMode, instanceName Name, organizationName Name, projectName Name) (*NetworkInterfaceResultsPage, error)
InstanceNetworkInterfaceList: List network interfaces
To iterate over all pages, use the `InstanceNetworkInterfaceListAllPages` method, instead.
Parameters - `instanceName` - `limit` Maximum number of items returned by a single call - `organizationName` - `pageToken` Token returned by previous call to retrieve the subsequent page - `projectName` - `sortBy`
func (*Client) InstanceNetworkInterfaceListAllPages ¶
func (c *Client) InstanceNetworkInterfaceListAllPages(sortBy NameSortMode, instanceName Name, organizationName Name, projectName Name) (*[]NetworkInterface, error)
InstanceNetworkInterfaceListAllPages: List network interfaces
This method is a wrapper around the `InstanceNetworkInterfaceList` method. This method returns all the pages at once.
Parameters - `instanceName` - `organizationName` - `projectName` - `sortBy`
func (*Client) InstanceNetworkInterfaceUpdate ¶
func (c *Client) InstanceNetworkInterfaceUpdate(instanceName Name, interfaceName Name, organizationName Name, projectName Name, j *NetworkInterfaceUpdate) (*NetworkInterface, error)
InstanceNetworkInterfaceUpdate: Update a network interface
Parameters - `instanceName` - `interfaceName` - `organizationName` - `projectName`
func (*Client) InstanceNetworkInterfaceView ¶
func (c *Client) InstanceNetworkInterfaceView(instanceName Name, interfaceName Name, organizationName Name, projectName Name) (*NetworkInterface, error)
InstanceNetworkInterfaceView: Fetch a network interface
Parameters - `instanceName` - `interfaceName` - `organizationName` - `projectName`
func (*Client) InstanceNetworkInterfaceViewById ¶
func (c *Client) InstanceNetworkInterfaceViewById(id string) (*NetworkInterface, error)
InstanceNetworkInterfaceViewById: Fetch a network interface by id
Parameters - `id`
func (*Client) InstanceReboot ¶
func (c *Client) InstanceReboot(instanceName Name, organizationName Name, projectName Name) (*Instance, error)
InstanceReboot: Reboot an instance
Parameters - `instanceName` - `organizationName` - `projectName`
func (*Client) InstanceSerialConsole ¶
func (c *Client) InstanceSerialConsole(instanceName Name, organizationName Name, projectName Name, fromStart int, maxBytes int, mostRecent int) (*InstanceSerialConsoleData, error)
InstanceSerialConsole: Fetch an instance's serial console
Parameters - `fromStart` Character index in the serial buffer from which to read, counting the bytes output since instance start. If this is not provided, `most_recent` must be provided, and if this *is* provided, `most_recent` must *not* be provided. - `instanceName` - `maxBytes` Maximum number of bytes of buffered serial console contents to return. If the requested range runs to the end of the available buffer, the data returned will be shorter than `max_bytes`. - `mostRecent` Character index in the serial buffer from which to read, counting *backward* from the most recently buffered data retrieved from the instance. (See note on `from_start` about mutual exclusivity) - `organizationName` - `projectName`
func (*Client) InstanceStart ¶
func (c *Client) InstanceStart(instanceName Name, organizationName Name, projectName Name) (*Instance, error)
InstanceStart: Boot an instance
Parameters - `instanceName` - `organizationName` - `projectName`
func (*Client) InstanceStop ¶
func (c *Client) InstanceStop(instanceName Name, organizationName Name, projectName Name) (*Instance, error)
InstanceStop: Halt an instance
Parameters - `instanceName` - `organizationName` - `projectName`
func (*Client) InstanceView ¶
func (c *Client) InstanceView(instanceName Name, organizationName Name, projectName Name) (*Instance, error)
InstanceView: Fetch an instance
Parameters - `instanceName` - `organizationName` - `projectName`
func (*Client) IpPoolCreate ¶
func (c *Client) IpPoolCreate(j *IpPoolCreate) (*IpPool, error)
IpPoolCreate: Create an IP pool
func (*Client) IpPoolList ¶
func (c *Client) IpPoolList(limit int, pageToken string, sortBy NameOrIdSortMode) (*IpPoolResultsPage, error)
IpPoolList: List IP pools
To iterate over all pages, use the `IpPoolListAllPages` method, instead.
Parameters - `limit` Maximum number of items returned by a single call - `pageToken` Token returned by previous call to retrieve the subsequent page - `sortBy`
func (*Client) IpPoolListAllPages ¶
func (c *Client) IpPoolListAllPages(sortBy NameOrIdSortMode) (*[]IpPool, error)
IpPoolListAllPages: List IP pools
This method is a wrapper around the `IpPoolList` method. This method returns all the pages at once.
Parameters - `sortBy`
func (*Client) IpPoolRangeAdd ¶
func (c *Client) IpPoolRangeAdd(poolName Name, j *IpRange) (*IpPoolRange, error)
IpPoolRangeAdd: Add a range to an IP pool
Parameters - `poolName`
func (*Client) IpPoolRangeList ¶
func (c *Client) IpPoolRangeList(poolName Name, limit int, pageToken string) (*IpPoolRangeResultsPage, error)
IpPoolRangeList: List ranges for an IP pool Ranges are ordered by their first address.
To iterate over all pages, use the `IpPoolRangeListAllPages` method, instead.
Parameters - `limit` Maximum number of items returned by a single call - `pageToken` Token returned by previous call to retrieve the subsequent page - `poolName`
func (*Client) IpPoolRangeListAllPages ¶
func (c *Client) IpPoolRangeListAllPages(poolName Name) (*[]IpPoolRange, error)
IpPoolRangeListAllPages: List ranges for an IP pool Ranges are ordered by their first address.
This method is a wrapper around the `IpPoolRangeList` method. This method returns all the pages at once.
Parameters - `poolName`
func (*Client) IpPoolRangeRemove ¶
IpPoolRangeRemove: Remove a range from an IP pool
Parameters - `poolName`
func (*Client) IpPoolServiceRangeAdd ¶
func (c *Client) IpPoolServiceRangeAdd(rackId string, j *IpRange) (*IpPoolRange, error)
IpPoolServiceRangeAdd: Add a range to an IP pool used for Oxide services.
Parameters - `rackId`
func (*Client) IpPoolServiceRangeList ¶
func (c *Client) IpPoolServiceRangeList(rackId string, limit int, pageToken string) (*IpPoolRangeResultsPage, error)
IpPoolServiceRangeList: List ranges for an IP pool used for Oxide services. Ranges are ordered by their first address.
To iterate over all pages, use the `IpPoolServiceRangeListAllPages` method, instead.
Parameters - `limit` Maximum number of items returned by a single call - `pageToken` Token returned by previous call to retrieve the subsequent page - `rackId`
func (*Client) IpPoolServiceRangeListAllPages ¶
func (c *Client) IpPoolServiceRangeListAllPages(rackId string) (*[]IpPoolRange, error)
IpPoolServiceRangeListAllPages: List ranges for an IP pool used for Oxide services. Ranges are ordered by their first address.
This method is a wrapper around the `IpPoolServiceRangeList` method. This method returns all the pages at once.
Parameters - `rackId`
func (*Client) IpPoolServiceRangeRemove ¶
IpPoolServiceRangeRemove: Remove a range from an IP pool used for Oxide services.
Parameters - `rackId`
func (*Client) IpPoolServiceView ¶
IpPoolServiceView: Fetch an IP pool used for Oxide services.
Parameters - `rackId`
func (*Client) IpPoolUpdate ¶
func (c *Client) IpPoolUpdate(poolName Name, j *IpPoolUpdate) (*IpPool, error)
IpPoolUpdate: Update an IP Pool
Parameters - `poolName`
func (*Client) IpPoolViewById ¶ added in v0.0.22
IpPoolViewById: Fetch an IP pool by id
Parameters - `id`
func (*Client) Login ¶
Login: Prompt user login Either display a page asking a user for their credentials, or redirect them to their identity provider.
Parameters - `providerName` - `siloName`
func (*Client) OrganizationCreate ¶
func (c *Client) OrganizationCreate(j *OrganizationCreate) (*Organization, error)
OrganizationCreate: Create an organization
func (*Client) OrganizationDelete ¶
OrganizationDelete: Delete an organization
Parameters - `organizationName` The organization's unique name.
func (*Client) OrganizationList ¶
func (c *Client) OrganizationList(limit int, pageToken string, sortBy NameOrIdSortMode) (*OrganizationResultsPage, error)
OrganizationList: List organizations
To iterate over all pages, use the `OrganizationListAllPages` method, instead.
Parameters - `limit` Maximum number of items returned by a single call - `pageToken` Token returned by previous call to retrieve the subsequent page - `sortBy`
func (*Client) OrganizationListAllPages ¶
func (c *Client) OrganizationListAllPages(sortBy NameOrIdSortMode) (*[]Organization, error)
OrganizationListAllPages: List organizations
This method is a wrapper around the `OrganizationList` method. This method returns all the pages at once.
Parameters - `sortBy`
func (*Client) OrganizationPolicyUpdate ¶
func (c *Client) OrganizationPolicyUpdate(organizationName Name, j *OrganizationRolePolicy) (*OrganizationRolePolicy, error)
OrganizationPolicyUpdate: Update an organization's IAM policy
Parameters - `organizationName` The organization's unique name.
func (*Client) OrganizationPolicyView ¶
func (c *Client) OrganizationPolicyView(organizationName Name) (*OrganizationRolePolicy, error)
OrganizationPolicyView: Fetch an organization's IAM policy
Parameters - `organizationName` The organization's unique name.
func (*Client) OrganizationUpdate ¶
func (c *Client) OrganizationUpdate(organizationName Name, j *OrganizationUpdate) (*Organization, error)
OrganizationUpdate: Update an organization
Parameters - `organizationName` The organization's unique name.
func (*Client) OrganizationView ¶
func (c *Client) OrganizationView(organizationName Name) (*Organization, error)
OrganizationView: Fetch an organization
Parameters - `organizationName` The organization's unique name.
func (*Client) OrganizationViewById ¶
func (c *Client) OrganizationViewById(id string) (*Organization, error)
OrganizationViewById: Fetch an organization by id
Parameters - `id`
func (*Client) PolicyUpdate ¶
func (c *Client) PolicyUpdate(j *SiloRolePolicy) (*SiloRolePolicy, error)
PolicyUpdate: Update the current silo's IAM policy
func (*Client) PolicyView ¶
func (c *Client) PolicyView() (*SiloRolePolicy, error)
PolicyView: Fetch the current silo's IAM policy
func (*Client) ProjectCreate ¶
func (c *Client) ProjectCreate(organizationName Name, j *ProjectCreate) (*Project, error)
ProjectCreate: Create a project
Parameters - `organizationName` The organization's unique name.
func (*Client) ProjectDelete ¶
ProjectDelete: Delete a project
Parameters - `organizationName` The organization's unique name. - `projectName` The project's unique name within the organization.
func (*Client) ProjectList ¶
func (c *Client) ProjectList(limit int, pageToken string, sortBy NameOrIdSortMode, organizationName Name) (*ProjectResultsPage, error)
ProjectList: List projects
To iterate over all pages, use the `ProjectListAllPages` 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 retrieve the subsequent page - `sortBy`
func (*Client) ProjectListAllPages ¶
func (c *Client) ProjectListAllPages(sortBy NameOrIdSortMode, organizationName Name) (*[]Project, error)
ProjectListAllPages: List projects
This method is a wrapper around the `ProjectList` method. This method returns all the pages at once.
Parameters - `organizationName` The organization's unique name. - `sortBy`
func (*Client) ProjectPolicyUpdate ¶
func (c *Client) ProjectPolicyUpdate(organizationName Name, projectName Name, j *ProjectRolePolicy) (*ProjectRolePolicy, error)
ProjectPolicyUpdate: Update a project's IAM policy
Parameters - `organizationName` The organization's unique name. - `projectName` The project's unique name within the organization.
func (*Client) ProjectPolicyView ¶
func (c *Client) ProjectPolicyView(organizationName Name, projectName Name) (*ProjectRolePolicy, error)
ProjectPolicyView: Fetch a project's IAM policy
Parameters - `organizationName` The organization's unique name. - `projectName` The project's unique name within the organization.
func (*Client) ProjectUpdate ¶
func (c *Client) ProjectUpdate(organizationName Name, projectName Name, j *ProjectUpdate) (*Project, error)
ProjectUpdate: Update a project
Parameters - `organizationName` The organization's unique name. - `projectName` The project's unique name within the organization.
func (*Client) ProjectView ¶
ProjectView: Fetch a project
Parameters - `organizationName` The organization's unique name. - `projectName` The project's unique name within the organization.
func (*Client) RackList ¶
func (c *Client) RackList(limit int, pageToken string, sortBy IdSortMode) (*RackResultsPage, error)
RackList: List racks
To iterate over all pages, use the `RackListAllPages` method, instead.
Parameters - `limit` Maximum number of items returned by a single call - `pageToken` Token returned by previous call to retrieve the subsequent page - `sortBy`
func (*Client) RackListAllPages ¶
func (c *Client) RackListAllPages(sortBy IdSortMode) (*[]Rack, error)
RackListAllPages: List racks
This method is a wrapper around the `RackList` method. This method returns all the pages at once.
Parameters - `sortBy`
func (*Client) RoleList ¶
func (c *Client) RoleList(limit int, pageToken string) (*RoleResultsPage, error)
RoleList: List built-in roles
To iterate over all pages, use the `RoleListAllPages` method, instead.
Parameters - `limit` Maximum number of items returned by a single call - `pageToken` Token returned by previous call to retrieve the subsequent page
func (*Client) RoleListAllPages ¶
RoleListAllPages: List built-in roles
This method is a wrapper around the `RoleList` method. This method returns all the pages at once.
func (*Client) RoleView ¶
RoleView: Fetch a built-in role
Parameters - `roleName` The built-in role's unique name.
func (*Client) SagaList ¶
func (c *Client) SagaList(limit int, pageToken string, sortBy IdSortMode) (*SagaResultsPage, error)
SagaList: List sagas
To iterate over all pages, use the `SagaListAllPages` method, instead.
Parameters - `limit` Maximum number of items returned by a single call - `pageToken` Token returned by previous call to retrieve the subsequent page - `sortBy`
func (*Client) SagaListAllPages ¶
func (c *Client) SagaListAllPages(sortBy IdSortMode) (*[]Saga, error)
SagaListAllPages: List sagas
This method is a wrapper around the `SagaList` method. This method returns all the pages at once.
Parameters - `sortBy`
func (*Client) SessionSshkeyCreate ¶
func (c *Client) SessionSshkeyCreate(j *SshKeyCreate) (*SshKey, error)
SessionSshkeyCreate: Create an SSH public key Create an SSH public key for the currently authenticated user.
func (*Client) SessionSshkeyDelete ¶
SessionSshkeyDelete: Delete an SSH public key Delete an SSH public key associated with the currently authenticated user.
Parameters - `sshKeyName`
func (*Client) SessionSshkeyList ¶
func (c *Client) SessionSshkeyList(limit int, pageToken string, sortBy NameSortMode) (*SshKeyResultsPage, error)
SessionSshkeyList: List SSH public keys Lists SSH public keys for the currently authenticated user.
To iterate over all pages, use the `SessionSshkeyListAllPages` method, instead.
Parameters - `limit` Maximum number of items returned by a single call - `pageToken` Token returned by previous call to retrieve the subsequent page - `sortBy`
func (*Client) SessionSshkeyListAllPages ¶
func (c *Client) SessionSshkeyListAllPages(sortBy NameSortMode) (*[]SshKey, error)
SessionSshkeyListAllPages: List SSH public keys Lists SSH public keys for the currently authenticated user.
This method is a wrapper around the `SessionSshkeyList` method. This method returns all the pages at once.
Parameters - `sortBy`
func (*Client) SessionSshkeyView ¶
SessionSshkeyView: Fetch an SSH public key Fetch an SSH public key associated with the currently authenticated user.
Parameters - `sshKeyName`
func (*Client) SiloCreate ¶
func (c *Client) SiloCreate(j *SiloCreate) (*Silo, error)
SiloCreate: Create a silo
func (*Client) SiloDelete ¶
SiloDelete: Delete a silo Delete a silo by name.
Parameters - `siloName` The silo's unique name.
func (*Client) SiloIdentityProviderCreate ¶
func (c *Client) SiloIdentityProviderCreate(siloName Name, j *SamlIdentityProviderCreate) (*SamlIdentityProvider, error)
SiloIdentityProviderCreate: Create a SAML IDP
Parameters - `siloName` The silo's unique name.
func (*Client) SiloIdentityProviderList ¶
func (c *Client) SiloIdentityProviderList(siloName Name, limit int, pageToken string, sortBy NameSortMode) (*IdentityProviderResultsPage, error)
SiloIdentityProviderList: List a silo's IDPs
To iterate over all pages, use the `SiloIdentityProviderListAllPages` method, instead.
Parameters - `limit` Maximum number of items returned by a single call - `pageToken` Token returned by previous call to retrieve the subsequent page - `siloName` The silo's unique name. - `sortBy`
func (*Client) SiloIdentityProviderListAllPages ¶
func (c *Client) SiloIdentityProviderListAllPages(siloName Name, sortBy NameSortMode) (*[]IdentityProvider, error)
SiloIdentityProviderListAllPages: List a silo's IDPs
This method is a wrapper around the `SiloIdentityProviderList` method. This method returns all the pages at once.
Parameters - `siloName` The silo's unique name. - `sortBy`
func (*Client) SiloIdentityProviderView ¶
func (c *Client) SiloIdentityProviderView(providerName Name, siloName Name) (*SamlIdentityProvider, error)
SiloIdentityProviderView: Fetch a SAML IDP
Parameters - `providerName` The SAML identity provider's name - `siloName` The silo's unique name.
func (*Client) SiloList ¶
func (c *Client) SiloList(limit int, pageToken string, sortBy NameOrIdSortMode) (*SiloResultsPage, error)
SiloList: List silos Lists silos that are discoverable based on the current permissions.
To iterate over all pages, use the `SiloListAllPages` method, instead.
Parameters - `limit` Maximum number of items returned by a single call - `pageToken` Token returned by previous call to retrieve the subsequent page - `sortBy`
func (*Client) SiloListAllPages ¶
func (c *Client) SiloListAllPages(sortBy NameOrIdSortMode) (*[]Silo, error)
SiloListAllPages: List silos Lists silos that are discoverable based on the current permissions.
This method is a wrapper around the `SiloList` method. This method returns all the pages at once.
Parameters - `sortBy`
func (*Client) SiloPolicyUpdate ¶
func (c *Client) SiloPolicyUpdate(siloName Name, j *SiloRolePolicy) (*SiloRolePolicy, error)
SiloPolicyUpdate: Update a silo's IAM policy
Parameters - `siloName` The silo's unique name.
func (*Client) SiloPolicyView ¶
func (c *Client) SiloPolicyView(siloName Name) (*SiloRolePolicy, error)
SiloPolicyView: Fetch a silo's IAM policy
Parameters - `siloName` The silo's unique name.
func (*Client) SiloView ¶
SiloView: Fetch a silo Fetch a silo by name.
Parameters - `siloName` The silo's unique name.
func (*Client) SledList ¶
func (c *Client) SledList(limit int, pageToken string, sortBy IdSortMode) (*SledResultsPage, error)
SledList: List sleds
To iterate over all pages, use the `SledListAllPages` method, instead.
Parameters - `limit` Maximum number of items returned by a single call - `pageToken` Token returned by previous call to retrieve the subsequent page - `sortBy`
func (*Client) SledListAllPages ¶
func (c *Client) SledListAllPages(sortBy IdSortMode) (*[]Sled, error)
SledListAllPages: List sleds
This method is a wrapper around the `SledList` method. This method returns all the pages at once.
Parameters - `sortBy`
func (*Client) SnapshotCreate ¶
func (c *Client) SnapshotCreate(organizationName Name, projectName Name, j *SnapshotCreate) (*Snapshot, error)
SnapshotCreate: Create a snapshot Creates a point-in-time snapshot from a disk.
Parameters - `organizationName` The organization's unique name. - `projectName` The project's unique name within the organization.
func (*Client) SnapshotDelete ¶
SnapshotDelete: Delete a snapshot
Parameters - `organizationName` - `projectName` - `snapshotName`
func (*Client) SnapshotList ¶
func (c *Client) SnapshotList(limit int, pageToken string, sortBy NameSortMode, organizationName Name, projectName Name) (*SnapshotResultsPage, error)
SnapshotList: List snapshots
To iterate over all pages, use the `SnapshotListAllPages` 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 retrieve the subsequent page - `projectName` The project's unique name within the organization. - `sortBy`
func (*Client) SnapshotListAllPages ¶
func (c *Client) SnapshotListAllPages(sortBy NameSortMode, organizationName Name, projectName Name) (*[]Snapshot, error)
SnapshotListAllPages: List snapshots
This method is a wrapper around the `SnapshotList` 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 (*Client) SnapshotView ¶
func (c *Client) SnapshotView(organizationName Name, projectName Name, snapshotName Name) (*Snapshot, error)
SnapshotView: Fetch a snapshot
Parameters - `organizationName` - `projectName` - `snapshotName`
func (*Client) SystemImageCreate ¶ added in v0.0.22
func (c *Client) SystemImageCreate(j *GlobalImageCreate) (*GlobalImage, error)
SystemImageCreate: Create a system-wide image Create a new system-wide image. This image can then be used by any user in any silo as a base for instances.
func (*Client) SystemImageDelete ¶ added in v0.0.22
SystemImageDelete: Delete a system-wide image Permanently delete a system-wide image. This operation cannot be undone. Any instances using the system-wide image will continue to run, however new instances can not be created with this image.
Parameters - `imageName`
func (*Client) SystemImageList ¶ added in v0.0.22
func (c *Client) SystemImageList(limit int, pageToken string, sortBy NameSortMode) (*GlobalImageResultsPage, error)
SystemImageList: List system-wide images Returns a list of all the system-wide images. System-wide images are returned sorted by creation date, with the most recent images appearing first.
To iterate over all pages, use the `SystemImageListAllPages` method, instead.
Parameters - `limit` Maximum number of items returned by a single call - `pageToken` Token returned by previous call to retrieve the subsequent page - `sortBy`
func (*Client) SystemImageListAllPages ¶ added in v0.0.22
func (c *Client) SystemImageListAllPages(sortBy NameSortMode) (*[]GlobalImage, error)
SystemImageListAllPages: List system-wide images Returns a list of all the system-wide images. System-wide images are returned sorted by creation date, with the most recent images appearing first.
This method is a wrapper around the `SystemImageList` method. This method returns all the pages at once.
Parameters - `sortBy`
func (*Client) SystemImageView ¶ added in v0.0.22
func (c *Client) SystemImageView(imageName Name) (*GlobalImage, error)
SystemImageView: Fetch a system-wide image Returns the details of a specific system-wide image.
Parameters - `imageName`
func (*Client) SystemImageViewById ¶ added in v0.0.22
func (c *Client) SystemImageViewById(id string) (*GlobalImage, error)
SystemImageViewById: Fetch a system-wide image by id
Parameters - `id`
func (*Client) SystemPolicyUpdate ¶
func (c *Client) SystemPolicyUpdate(j *FleetRolePolicy) (*FleetRolePolicy, error)
SystemPolicyUpdate: Update the top-level IAM policy
func (*Client) SystemPolicyView ¶
func (c *Client) SystemPolicyView() (*FleetRolePolicy, error)
SystemPolicyView: Fetch the top-level IAM policy
func (*Client) SystemUserList ¶
func (c *Client) SystemUserList(limit int, pageToken string, sortBy NameSortMode) (*UserBuiltinResultsPage, error)
SystemUserList: List built-in users
To iterate over all pages, use the `SystemUserListAllPages` method, instead.
Parameters - `limit` Maximum number of items returned by a single call - `pageToken` Token returned by previous call to retrieve the subsequent page - `sortBy`
func (*Client) SystemUserListAllPages ¶
func (c *Client) SystemUserListAllPages(sortBy NameSortMode) (*[]UserBuiltin, error)
SystemUserListAllPages: List built-in users
This method is a wrapper around the `SystemUserList` method. This method returns all the pages at once.
Parameters - `sortBy`
func (*Client) SystemUserView ¶
func (c *Client) SystemUserView(userName Name) (*UserBuiltin, error)
SystemUserView: Fetch a built-in user
Parameters - `userName` The built-in user's unique name.
func (*Client) TimeseriesSchemaGet ¶
func (c *Client) TimeseriesSchemaGet(limit int, pageToken string) (*TimeseriesSchemaResultsPage, error)
TimeseriesSchemaGet: List timeseries schema
To iterate over all pages, use the `TimeseriesSchemaGetAllPages` method, instead.
Parameters - `limit` Maximum number of items returned by a single call - `pageToken` Token returned by previous call to retrieve the subsequent page
func (*Client) TimeseriesSchemaGetAllPages ¶
func (c *Client) TimeseriesSchemaGetAllPages() (*[]TimeseriesSchema, error)
TimeseriesSchemaGetAllPages: List timeseries schema
This method is a wrapper around the `TimeseriesSchemaGet` method. This method returns all the pages at once.
func (*Client) UpdatesRefresh ¶
UpdatesRefresh: Refresh update data
func (*Client) UserList ¶
func (c *Client) UserList(limit int, pageToken string, sortBy IdSortMode) (*UserResultsPage, error)
UserList: List users
To iterate over all pages, use the `UserListAllPages` method, instead.
Parameters - `limit` Maximum number of items returned by a single call - `pageToken` Token returned by previous call to retrieve the subsequent page - `sortBy`
func (*Client) UserListAllPages ¶
func (c *Client) UserListAllPages(sortBy IdSortMode) (*[]User, error)
UserListAllPages: List users
This method is a wrapper around the `UserList` method. This method returns all the pages at once.
Parameters - `sortBy`
func (*Client) VpcCreate ¶
VpcCreate: Create a VPC
Parameters - `organizationName` The organization's unique name. - `projectName` The project's unique name within the organization.
func (*Client) VpcDelete ¶
VpcDelete: Delete a VPC
Parameters - `organizationName` - `projectName` - `vpcName`
func (*Client) VpcFirewallRulesUpdate ¶
func (c *Client) VpcFirewallRulesUpdate(organizationName Name, projectName Name, vpcName Name, j *VpcFirewallRuleUpdateParams) (*VpcFirewallRules, error)
VpcFirewallRulesUpdate: Replace firewall rules
Parameters - `organizationName` - `projectName` - `vpcName`
func (*Client) VpcFirewallRulesView ¶
func (c *Client) VpcFirewallRulesView(organizationName Name, projectName Name, vpcName Name) (*VpcFirewallRules, error)
VpcFirewallRulesView: List firewall rules
Parameters - `organizationName` - `projectName` - `vpcName`
func (*Client) VpcList ¶
func (c *Client) VpcList(limit int, pageToken string, sortBy NameSortMode, organizationName Name, projectName Name) (*VpcResultsPage, error)
VpcList: List VPCs
To iterate over all pages, use the `VpcListAllPages` 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 retrieve the subsequent page - `projectName` The project's unique name within the organization. - `sortBy`
func (*Client) VpcListAllPages ¶
func (c *Client) VpcListAllPages(sortBy NameSortMode, organizationName Name, projectName Name) (*[]Vpc, error)
VpcListAllPages: List VPCs
This method is a wrapper around the `VpcList` 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 (*Client) VpcRouterCreate ¶
func (c *Client) VpcRouterCreate(organizationName Name, projectName Name, vpcName Name, j *VpcRouterCreate) (*VpcRouter, error)
VpcRouterCreate: Create a router
Parameters - `organizationName` - `projectName` - `vpcName`
func (*Client) VpcRouterDelete ¶
func (c *Client) VpcRouterDelete(organizationName Name, projectName Name, routerName Name, vpcName Name) error
VpcRouterDelete: Delete a router
Parameters - `organizationName` - `projectName` - `routerName` - `vpcName`
func (*Client) VpcRouterList ¶
func (c *Client) VpcRouterList(limit int, pageToken string, sortBy NameSortMode, organizationName Name, projectName Name, vpcName Name) (*VpcRouterResultsPage, error)
VpcRouterList: List routers
To iterate over all pages, use the `VpcRouterListAllPages` method, instead.
Parameters - `limit` Maximum number of items returned by a single call - `organizationName` - `pageToken` Token returned by previous call to retrieve the subsequent page - `projectName` - `sortBy` - `vpcName`
func (*Client) VpcRouterListAllPages ¶
func (c *Client) VpcRouterListAllPages(sortBy NameSortMode, organizationName Name, projectName Name, vpcName Name) (*[]VpcRouter, error)
VpcRouterListAllPages: List routers
This method is a wrapper around the `VpcRouterList` method. This method returns all the pages at once.
Parameters - `organizationName` - `projectName` - `sortBy` - `vpcName`
func (*Client) VpcRouterRouteCreate ¶
func (c *Client) VpcRouterRouteCreate(organizationName Name, projectName Name, routerName Name, vpcName Name, j *RouterRouteCreateParams) (*RouterRoute, error)
VpcRouterRouteCreate: Create a router
Parameters - `organizationName` - `projectName` - `routerName` - `vpcName`
func (*Client) VpcRouterRouteDelete ¶
func (c *Client) VpcRouterRouteDelete(organizationName Name, projectName Name, routeName Name, routerName Name, vpcName Name) error
VpcRouterRouteDelete: Delete a route
Parameters - `organizationName` - `projectName` - `routeName` - `routerName` - `vpcName`
func (*Client) VpcRouterRouteList ¶
func (c *Client) VpcRouterRouteList(limit int, pageToken string, sortBy NameSortMode, organizationName Name, projectName Name, routerName Name, vpcName Name) (*RouterRouteResultsPage, error)
VpcRouterRouteList: List routes List the routes associated with a router in a particular VPC.
To iterate over all pages, use the `VpcRouterRouteListAllPages` method, instead.
Parameters - `limit` Maximum number of items returned by a single call - `organizationName` - `pageToken` Token returned by previous call to retrieve the subsequent page - `projectName` - `routerName` - `sortBy` - `vpcName`
func (*Client) VpcRouterRouteListAllPages ¶
func (c *Client) VpcRouterRouteListAllPages(sortBy NameSortMode, organizationName Name, projectName Name, routerName Name, vpcName Name) (*[]RouterRoute, error)
VpcRouterRouteListAllPages: List routes List the routes associated with a router in a particular VPC.
This method is a wrapper around the `VpcRouterRouteList` method. This method returns all the pages at once.
Parameters - `organizationName` - `projectName` - `routerName` - `sortBy` - `vpcName`
func (*Client) VpcRouterRouteUpdate ¶
func (c *Client) VpcRouterRouteUpdate(organizationName Name, projectName Name, routeName Name, routerName Name, vpcName Name, j *RouterRouteUpdateParams) (*RouterRoute, error)
VpcRouterRouteUpdate: Update a route
Parameters - `organizationName` - `projectName` - `routeName` - `routerName` - `vpcName`
func (*Client) VpcRouterRouteView ¶
func (c *Client) VpcRouterRouteView(organizationName Name, projectName Name, routeName Name, routerName Name, vpcName Name) (*RouterRoute, error)
VpcRouterRouteView: Fetch a route
Parameters - `organizationName` - `projectName` - `routeName` - `routerName` - `vpcName`
func (*Client) VpcRouterRouteViewById ¶
func (c *Client) VpcRouterRouteViewById(id string) (*RouterRoute, error)
VpcRouterRouteViewById: Fetch a route by id
Parameters - `id`
func (*Client) VpcRouterUpdate ¶
func (c *Client) VpcRouterUpdate(organizationName Name, projectName Name, routerName Name, vpcName Name, j *VpcRouterUpdate) (*VpcRouter, error)
VpcRouterUpdate: Update a router
Parameters - `organizationName` - `projectName` - `routerName` - `vpcName`
func (*Client) VpcRouterView ¶
func (c *Client) VpcRouterView(organizationName Name, projectName Name, routerName Name, vpcName Name) (*VpcRouter, error)
VpcRouterView: Get a router
Parameters - `organizationName` - `projectName` - `routerName` - `vpcName`
func (*Client) VpcSubnetCreate ¶
func (c *Client) VpcSubnetCreate(organizationName Name, projectName Name, vpcName Name, j *VpcSubnetCreate) (*VpcSubnet, error)
VpcSubnetCreate: Create a subnet
Parameters - `organizationName` - `projectName` - `vpcName`
func (*Client) VpcSubnetDelete ¶
func (c *Client) VpcSubnetDelete(organizationName Name, projectName Name, subnetName Name, vpcName Name) error
VpcSubnetDelete: Delete a subnet
Parameters - `organizationName` - `projectName` - `subnetName` - `vpcName`
func (*Client) VpcSubnetList ¶
func (c *Client) VpcSubnetList(limit int, pageToken string, sortBy NameSortMode, organizationName Name, projectName Name, vpcName Name) (*VpcSubnetResultsPage, error)
VpcSubnetList: List subnets
To iterate over all pages, use the `VpcSubnetListAllPages` method, instead.
Parameters - `limit` Maximum number of items returned by a single call - `organizationName` - `pageToken` Token returned by previous call to retrieve the subsequent page - `projectName` - `sortBy` - `vpcName`
func (*Client) VpcSubnetListAllPages ¶
func (c *Client) VpcSubnetListAllPages(sortBy NameSortMode, organizationName Name, projectName Name, vpcName Name) (*[]VpcSubnet, error)
VpcSubnetListAllPages: List subnets
This method is a wrapper around the `VpcSubnetList` method. This method returns all the pages at once.
Parameters - `organizationName` - `projectName` - `sortBy` - `vpcName`
func (*Client) VpcSubnetListNetworkInterfaces ¶
func (c *Client) VpcSubnetListNetworkInterfaces(limit int, pageToken string, sortBy NameSortMode, organizationName Name, projectName Name, subnetName Name, vpcName Name) (*NetworkInterfaceResultsPage, error)
VpcSubnetListNetworkInterfaces: List network interfaces
To iterate over all pages, use the `VpcSubnetListNetworkInterfacesAllPages` method, instead.
Parameters - `limit` Maximum number of items returned by a single call - `organizationName` - `pageToken` Token returned by previous call to retrieve the subsequent page - `projectName` - `sortBy` - `subnetName` - `vpcName`
func (*Client) VpcSubnetListNetworkInterfacesAllPages ¶
func (c *Client) VpcSubnetListNetworkInterfacesAllPages(sortBy NameSortMode, organizationName Name, projectName Name, subnetName Name, vpcName Name) (*[]NetworkInterface, error)
VpcSubnetListNetworkInterfacesAllPages: List network interfaces
This method is a wrapper around the `VpcSubnetListNetworkInterfaces` method. This method returns all the pages at once.
Parameters - `organizationName` - `projectName` - `sortBy` - `subnetName` - `vpcName`
func (*Client) VpcSubnetUpdate ¶
func (c *Client) VpcSubnetUpdate(organizationName Name, projectName Name, subnetName Name, vpcName Name, j *VpcSubnetUpdate) (*VpcSubnet, error)
VpcSubnetUpdate: Update a subnet
Parameters - `organizationName` - `projectName` - `subnetName` - `vpcName`
func (*Client) VpcSubnetView ¶
func (c *Client) VpcSubnetView(organizationName Name, projectName Name, subnetName Name, vpcName Name) (*VpcSubnet, error)
VpcSubnetView: Fetch a subnet
Parameters - `organizationName` - `projectName` - `subnetName` - `vpcName`
func (*Client) VpcUpdate ¶
func (c *Client) VpcUpdate(organizationName Name, projectName Name, vpcName Name, j *VpcUpdate) (*Vpc, error)
VpcUpdate: Update a VPC
Parameters - `organizationName` - `projectName` - `vpcName`
func (*Client) VpcView ¶
VpcView: Fetch a VPC
Parameters - `organizationName` - `projectName` - `vpcName`
type Cumulativedouble ¶
type Cumulativedouble struct {
StartTime *time.Time `json:"start_time,omitempty" yaml:"start_time,omitempty"`
Value float64 `json:"value,omitempty" yaml:"value,omitempty"`
}
Cumulativedouble is a cumulative or counter data type.
type Cumulativeint64 ¶
type Cumulativeint64 struct {
StartTime *time.Time `json:"start_time,omitempty" yaml:"start_time,omitempty"`
Value int `json:"value,omitempty" yaml:"value,omitempty"`
}
Cumulativeint64 is a cumulative or counter data type.
type Datum ¶
type Datum struct {
// Datum is the type definition for a Datum.
Datum bool `json:"datum,omitempty" yaml:"datum,omitempty"`
// Type is the type definition for a Type.
Type DatumType `json:"type,omitempty" yaml:"type,omitempty"`
}
Datum is a `Datum` is a single sampled data point from a metric.
type DatumBool ¶
type DatumBool struct {
Datum bool `json:"datum,omitempty" yaml:"datum,omitempty"`
Type DatumType `json:"type,omitempty" yaml:"type,omitempty"`
}
DatumBool is the type definition for a DatumBool.
type DatumBytes ¶
type DatumBytes struct {
Datum []string `json:"datum,omitempty" yaml:"datum,omitempty"`
Type DatumType `json:"type,omitempty" yaml:"type,omitempty"`
}
DatumBytes is the type definition for a DatumBytes.
type DatumCumulativeF64 ¶
type DatumCumulativeF64 struct {
// Datum is a cumulative or counter data type.
Datum Cumulativedouble `json:"datum,omitempty" yaml:"datum,omitempty"`
Type DatumType `json:"type,omitempty" yaml:"type,omitempty"`
}
DatumCumulativeF64 is the type definition for a DatumCumulativeF64.
type DatumCumulativeI64 ¶
type DatumCumulativeI64 struct {
// Datum is a cumulative or counter data type.
Datum Cumulativeint64 `json:"datum,omitempty" yaml:"datum,omitempty"`
Type DatumType `json:"type,omitempty" yaml:"type,omitempty"`
}
DatumCumulativeI64 is the type definition for a DatumCumulativeI64.
type DatumF64 ¶
type DatumF64 struct {
Datum float64 `json:"datum,omitempty" yaml:"datum,omitempty"`
Type DatumType `json:"type,omitempty" yaml:"type,omitempty"`
}
DatumF64 is the type definition for a DatumF64.
type DatumHistogramF64 ¶
type DatumHistogramF64 struct {
// Datum is a simple type for managing a histogram metric.
//
// A histogram maintains the count of any number of samples, over a set of bins. Bins are specified on construction via their _left_ edges, inclusive. There can't be any "gaps" in the bins, and an additional bin may be added to the left, right, or both so that the bins extend to the entire range of the support.
//
// Note that any gaps, unsorted bins, or non-finite values will result in an error.
//
// Example ------- “`rust use oximeter::histogram::{BinRange, Histogram};
//
// let edges = [0i64, 10, 20]; let mut hist = Histogram::new(&edges).unwrap(); assert_eq!(hist.n_bins(), 4); // One additional bin for the range (20..) assert_eq!(hist.n_samples(), 0); hist.sample(4); hist.sample(100); assert_eq!(hist.n_samples(), 2);
//
// let data = hist.iter().collect::<Vec<_>>(); assert_eq!(data[0].range, BinRange::range(i64::MIN, 0)); // An additional bin for `..0` assert_eq!(data[0].count, 0); // Nothing is in this bin
//
// assert_eq!(data[1].range, BinRange::range(0, 10)); // The range `0..10` assert_eq!(data[1].count, 1); // 4 is sampled into this bin “`
//
// Notes -----
//
// Histograms may be constructed either from their left bin edges, or from a sequence of ranges. In either case, the left-most bin may be converted upon construction. In particular, if the left-most value is not equal to the minimum of the support, a new bin will be added from the minimum to that provided value. If the left-most value _is_ the support's minimum, because the provided bin was unbounded below, such as `(..0)`, then that bin will be converted into one bounded below, `(MIN..0)` in this case.
//
// The short of this is that, most of the time, it shouldn't matter. If one specifies the extremes of the support as their bins, be aware that the left-most may be converted from a `BinRange::RangeTo` into a `BinRange::Range`. In other words, the first bin of a histogram is _always_ a `Bin::Range` or a `Bin::RangeFrom` after construction. In fact, every bin is one of those variants, the `BinRange::RangeTo` is only provided as a convenience during construction.
Datum Histogramdouble `json:"datum,omitempty" yaml:"datum,omitempty"`
Type DatumType `json:"type,omitempty" yaml:"type,omitempty"`
}
DatumHistogramF64 is the type definition for a DatumHistogramF64.
type DatumHistogramI64 ¶
type DatumHistogramI64 struct {
// Datum is a simple type for managing a histogram metric.
//
// A histogram maintains the count of any number of samples, over a set of bins. Bins are specified on construction via their _left_ edges, inclusive. There can't be any "gaps" in the bins, and an additional bin may be added to the left, right, or both so that the bins extend to the entire range of the support.
//
// Note that any gaps, unsorted bins, or non-finite values will result in an error.
//
// Example ------- “`rust use oximeter::histogram::{BinRange, Histogram};
//
// let edges = [0i64, 10, 20]; let mut hist = Histogram::new(&edges).unwrap(); assert_eq!(hist.n_bins(), 4); // One additional bin for the range (20..) assert_eq!(hist.n_samples(), 0); hist.sample(4); hist.sample(100); assert_eq!(hist.n_samples(), 2);
//
// let data = hist.iter().collect::<Vec<_>>(); assert_eq!(data[0].range, BinRange::range(i64::MIN, 0)); // An additional bin for `..0` assert_eq!(data[0].count, 0); // Nothing is in this bin
//
// assert_eq!(data[1].range, BinRange::range(0, 10)); // The range `0..10` assert_eq!(data[1].count, 1); // 4 is sampled into this bin “`
//
// Notes -----
//
// Histograms may be constructed either from their left bin edges, or from a sequence of ranges. In either case, the left-most bin may be converted upon construction. In particular, if the left-most value is not equal to the minimum of the support, a new bin will be added from the minimum to that provided value. If the left-most value _is_ the support's minimum, because the provided bin was unbounded below, such as `(..0)`, then that bin will be converted into one bounded below, `(MIN..0)` in this case.
//
// The short of this is that, most of the time, it shouldn't matter. If one specifies the extremes of the support as their bins, be aware that the left-most may be converted from a `BinRange::RangeTo` into a `BinRange::Range`. In other words, the first bin of a histogram is _always_ a `Bin::Range` or a `Bin::RangeFrom` after construction. In fact, every bin is one of those variants, the `BinRange::RangeTo` is only provided as a convenience during construction.
Datum Histogramint64 `json:"datum,omitempty" yaml:"datum,omitempty"`
Type DatumType `json:"type,omitempty" yaml:"type,omitempty"`
}
DatumHistogramI64 is the type definition for a DatumHistogramI64.
type DatumI64 ¶
type DatumI64 struct {
Datum int `json:"datum,omitempty" yaml:"datum,omitempty"`
Type DatumType `json:"type,omitempty" yaml:"type,omitempty"`
}
DatumI64 is the type definition for a DatumI64.
type DatumString ¶
type DatumString struct {
Datum string `json:"datum,omitempty" yaml:"datum,omitempty"`
Type DatumType `json:"type,omitempty" yaml:"type,omitempty"`
}
DatumString is the type definition for a DatumString.
type DatumType ¶
type DatumType string
DatumType is the type definition for a DatumType.
const DatumTypeBool DatumType = "bool"
DatumTypeBool represents the DatumType `"bool"`.
const DatumTypeBytes DatumType = "bytes"
DatumTypeBytes represents the DatumType `"bytes"`.
const DatumTypeCumulativeF64 DatumType = "cumulative_f64"
DatumTypeCumulativeF64 represents the DatumType `"cumulative_f64"`.
const DatumTypeCumulativeI64 DatumType = "cumulative_i64"
DatumTypeCumulativeI64 represents the DatumType `"cumulative_i64"`.
const DatumTypeF64 DatumType = "f64"
DatumTypeF64 represents the DatumType `"f64"`.
const DatumTypeHistogramF64 DatumType = "histogram_f64"
DatumTypeHistogramF64 represents the DatumType `"histogram_f64"`.
const DatumTypeHistogramI64 DatumType = "histogram_i64"
DatumTypeHistogramI64 represents the DatumType `"histogram_i64"`.
const DatumTypeI64 DatumType = "i64"
DatumTypeI64 represents the DatumType `"i64"`.
const DatumTypeString DatumType = "string"
DatumTypeString represents the DatumType `"string"`.
type DerEncodedKeyPair ¶
type DerEncodedKeyPair struct {
// PrivateKey is request signing private key (base64 encoded der file)
PrivateKey string `json:"private_key,omitempty" yaml:"private_key,omitempty"`
// PublicCert is request signing public certificate (base64 encoded der file)
PublicCert string `json:"public_cert,omitempty" yaml:"public_cert,omitempty"`
}
DerEncodedKeyPair is the type definition for a DerEncodedKeyPair.
type DeviceAccessTokenRequest ¶
type DeviceAccessTokenRequest struct {
ClientId string `json:"client_id,omitempty" yaml:"client_id,omitempty"`
DeviceCode string `json:"device_code,omitempty" yaml:"device_code,omitempty"`
GrantType string `json:"grant_type,omitempty" yaml:"grant_type,omitempty"`
}
DeviceAccessTokenRequest is the type definition for a DeviceAccessTokenRequest.
type DeviceAuthRequest ¶
type DeviceAuthRequest struct {
ClientId string `json:"client_id,omitempty" yaml:"client_id,omitempty"`
}
DeviceAuthRequest is the type definition for a DeviceAuthRequest.
type DeviceAuthVerify ¶
type DeviceAuthVerify struct {
UserCode string `json:"user_code,omitempty" yaml:"user_code,omitempty"`
}
DeviceAuthVerify is the type definition for a DeviceAuthVerify.
type Digest ¶
type Digest struct {
// Type is the type definition for a Type.
Type DigestType `json:"type,omitempty" yaml:"type,omitempty"`
// Value is the type definition for a Value.
Value string `json:"value,omitempty" yaml:"value,omitempty"`
}
Digest is the type definition for a Digest.
type DigestSha256 ¶
type DigestSha256 struct {
Type DigestType `json:"type,omitempty" yaml:"type,omitempty"`
Value string `json:"value,omitempty" yaml:"value,omitempty"`
}
DigestSha256 is the type definition for a DigestSha256.
type DigestType ¶
type DigestType string
DigestType is the type definition for a DigestType.
const DigestTypeSha256 DigestType = "sha256"
DigestTypeSha256 represents the DigestType `"sha256"`.
type Disk ¶
type Disk struct {
// BlockSize is 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.
BlockSize ByteCount `json:"block_size,omitempty" yaml:"block_size,omitempty"`
// Description is human-readable free-form text about a resource
Description string `json:"description,omitempty" yaml:"description,omitempty"`
DevicePath string `json:"device_path,omitempty" yaml:"device_path,omitempty"`
// Id is unique, immutable, system-controlled identifier for each resource
Id string `json:"id,omitempty" yaml:"id,omitempty"`
ImageId string `json:"image_id,omitempty" yaml:"image_id,omitempty"`
// Name is unique, mutable, user-controlled identifier for each resource
Name Name `json:"name,omitempty" yaml:"name,omitempty"`
ProjectId string `json:"project_id,omitempty" yaml:"project_id,omitempty"`
// Size is 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"`
SnapshotId string `json:"snapshot_id,omitempty" yaml:"snapshot_id,omitempty"`
// State is state of a Disk (primarily: attached or not)
State DiskState `json:"state,omitempty" yaml:"state,omitempty"`
// TimeCreated is timestamp when this resource was created
TimeCreated *time.Time `json:"time_created,omitempty" yaml:"time_created,omitempty"`
// TimeModified is timestamp when this resource was last modified
TimeModified *time.Time `json:"time_modified,omitempty" yaml:"time_modified,omitempty"`
}
Disk is client view of a [`Disk`]
type DiskCreate ¶
type DiskCreate struct {
Description string `json:"description,omitempty" yaml:"description,omitempty"`
// DiskSource is initial source for this disk
DiskSource DiskSource `json:"disk_source,omitempty" yaml:"disk_source,omitempty"`
// Name is names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.
Name Name `json:"name,omitempty" yaml:"name,omitempty"`
// Size is total size of the Disk in bytes
Size ByteCount `json:"size,omitempty" yaml:"size,omitempty"`
}
DiskCreate is create-time parameters for a [`Disk`](omicron_common::api::external::Disk)
type DiskIdentifier ¶
type DiskIdentifier struct {
// Name is names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.
Name Name `json:"name,omitempty" yaml:"name,omitempty"`
}
DiskIdentifier is parameters for the [`Disk`](omicron_common::api::external::Disk) to be attached or detached to an instance
type DiskMetricName ¶
type DiskMetricName string
DiskMetricName is the type definition for a DiskMetricName.
const DiskMetricNameActivated DiskMetricName = "activated"
DiskMetricNameActivated represents the DiskMetricName `"activated"`.
const DiskMetricNameFlush DiskMetricName = "flush"
DiskMetricNameFlush represents the DiskMetricName `"flush"`.
const DiskMetricNameRead DiskMetricName = "read"
DiskMetricNameRead represents the DiskMetricName `"read"`.
const DiskMetricNameReadBytes DiskMetricName = "read_bytes"
DiskMetricNameReadBytes represents the DiskMetricName `"read_bytes"`.
const DiskMetricNameWrite DiskMetricName = "write"
DiskMetricNameWrite represents the DiskMetricName `"write"`.
const DiskMetricNameWriteBytes DiskMetricName = "write_bytes"
DiskMetricNameWriteBytes represents the DiskMetricName `"write_bytes"`.
type DiskResultsPage ¶
type DiskResultsPage struct {
// Items is list of items on this page of results
Items []Disk `json:"items,omitempty" yaml:"items,omitempty"`
// NextPage is token used to fetch the next page of results (if any)
NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty"`
}
DiskResultsPage is a single page of results
type DiskSource ¶
type DiskSource struct {
// BlockSize is size of blocks for this Disk. valid values are: 512, 2048, or 4096
BlockSize BlockSize `json:"block_size,omitempty" yaml:"block_size,omitempty"`
// Type is the type definition for a Type.
Type DiskSourceType `json:"type,omitempty" yaml:"type,omitempty"`
// SnapshotId is the type definition for a SnapshotId.
SnapshotId string `json:"snapshot_id,omitempty" yaml:"snapshot_id,omitempty"`
// ImageId is the type definition for a ImageId.
ImageId string `json:"image_id,omitempty" yaml:"image_id,omitempty"`
}
DiskSource is different sources for a disk
type DiskSourceBlank ¶
type DiskSourceBlank struct {
// BlockSize is size of blocks for this Disk. valid values are: 512, 2048, or 4096
BlockSize BlockSize `json:"block_size,omitempty" yaml:"block_size,omitempty"`
Type DiskSourceType `json:"type,omitempty" yaml:"type,omitempty"`
}
DiskSourceBlank is create a blank disk
type DiskSourceGlobalImage ¶
type DiskSourceGlobalImage struct {
ImageId string `json:"image_id,omitempty" yaml:"image_id,omitempty"`
Type DiskSourceType `json:"type,omitempty" yaml:"type,omitempty"`
}
DiskSourceGlobalImage is create a disk from a global image
type DiskSourceImage ¶
type DiskSourceImage struct {
ImageId string `json:"image_id,omitempty" yaml:"image_id,omitempty"`
Type DiskSourceType `json:"type,omitempty" yaml:"type,omitempty"`
}
DiskSourceImage is create a disk from a project image
type DiskSourceSnapshot ¶
type DiskSourceSnapshot struct {
SnapshotId string `json:"snapshot_id,omitempty" yaml:"snapshot_id,omitempty"`
Type DiskSourceType `json:"type,omitempty" yaml:"type,omitempty"`
}
DiskSourceSnapshot is create a disk from a disk snapshot
type DiskSourceType ¶
type DiskSourceType string
DiskSourceType is the type definition for a DiskSourceType.
const DiskSourceTypeBlank DiskSourceType = "blank"
DiskSourceTypeBlank represents the DiskSourceType `"blank"`.
const DiskSourceTypeGlobalImage DiskSourceType = "global_image"
DiskSourceTypeGlobalImage represents the DiskSourceType `"global_image"`.
const DiskSourceTypeImage DiskSourceType = "image"
DiskSourceTypeImage represents the DiskSourceType `"image"`.
const DiskSourceTypeSnapshot DiskSourceType = "snapshot"
DiskSourceTypeSnapshot represents the DiskSourceType `"snapshot"`.
type DiskState ¶
type DiskState struct {
// State is the type definition for a State.
State DiskStateState `json:"state,omitempty" yaml:"state,omitempty"`
// Instance is the type definition for a Instance.
Instance string `json:"instance,omitempty" yaml:"instance,omitempty"`
}
DiskState is state of a Disk (primarily: attached or not)
type DiskStateAttached ¶
type DiskStateAttached struct {
Instance string `json:"instance,omitempty" yaml:"instance,omitempty"`
State DiskStateState `json:"state,omitempty" yaml:"state,omitempty"`
}
DiskStateAttached is disk is attached to the given Instance
type DiskStateAttaching ¶
type DiskStateAttaching struct {
Instance string `json:"instance,omitempty" yaml:"instance,omitempty"`
State DiskStateState `json:"state,omitempty" yaml:"state,omitempty"`
}
DiskStateAttaching is disk is being attached to the given Instance
type DiskStateCreating ¶
type DiskStateCreating struct {
State DiskStateState `json:"state,omitempty" yaml:"state,omitempty"`
}
DiskStateCreating is disk is being initialized
type DiskStateDestroyed ¶
type DiskStateDestroyed struct {
State DiskStateState `json:"state,omitempty" yaml:"state,omitempty"`
}
DiskStateDestroyed is disk has been destroyed
type DiskStateDetached ¶
type DiskStateDetached struct {
State DiskStateState `json:"state,omitempty" yaml:"state,omitempty"`
}
DiskStateDetached is disk is ready but detached from any Instance
type DiskStateDetaching ¶
type DiskStateDetaching struct {
Instance string `json:"instance,omitempty" yaml:"instance,omitempty"`
State DiskStateState `json:"state,omitempty" yaml:"state,omitempty"`
}
DiskStateDetaching is disk is being detached from the given Instance
type DiskStateFaulted ¶
type DiskStateFaulted struct {
State DiskStateState `json:"state,omitempty" yaml:"state,omitempty"`
}
DiskStateFaulted is disk is unavailable
type DiskStateState ¶
type DiskStateState string
DiskStateState is the type definition for a DiskStateState.
const DiskStateStateAttached DiskStateState = "attached"
DiskStateStateAttached represents the DiskStateState `"attached"`.
const DiskStateStateAttaching DiskStateState = "attaching"
DiskStateStateAttaching represents the DiskStateState `"attaching"`.
const DiskStateStateCreating DiskStateState = "creating"
DiskStateStateCreating represents the DiskStateState `"creating"`.
const DiskStateStateDestroyed DiskStateState = "destroyed"
DiskStateStateDestroyed represents the DiskStateState `"destroyed"`.
const DiskStateStateDetached DiskStateState = "detached"
DiskStateStateDetached represents the DiskStateState `"detached"`.
const DiskStateStateDetaching DiskStateState = "detaching"
DiskStateStateDetaching represents the DiskStateState `"detaching"`.
const DiskStateStateFaulted DiskStateState = "faulted"
DiskStateStateFaulted represents the DiskStateState `"faulted"`.
type Distribution ¶
type Distribution struct {
// Name is the name of the distribution (e.g. "alpine" or "ubuntu")
Name Name `json:"name,omitempty" yaml:"name,omitempty"`
// Version is the version of the distribution (e.g. "3.10" or "18.04")
Version string `json:"version,omitempty" yaml:"version,omitempty"`
}
Distribution is oS image distribution
type Error ¶
type Error struct {
ErrorCode string `json:"error_code,omitempty" yaml:"error_code,omitempty"`
Message string `json:"message,omitempty" yaml:"message,omitempty"`
RequestId string `json:"request_id,omitempty" yaml:"request_id,omitempty"`
}
Error is error information from a response.
type ExternalIp ¶
type ExternalIp struct {
Ip string `json:"ip,omitempty" yaml:"ip,omitempty"`
// Kind is the kind of an external IP address for an instance
Kind IpKind `json:"kind,omitempty" yaml:"kind,omitempty"`
}
ExternalIp is the type definition for a ExternalIp.
type ExternalIpCreate ¶
type ExternalIpCreate struct {
// PoolName is the type definition for a PoolName.
PoolName Name `json:"pool_name,omitempty" yaml:"pool_name,omitempty"`
// Type is the type definition for a Type.
Type ExternalIpCreateType `json:"type,omitempty" yaml:"type,omitempty"`
}
ExternalIpCreate is parameters for creating an external IP address for instances.
type ExternalIpCreateEphemeral ¶
type ExternalIpCreateEphemeral struct {
PoolName Name `json:"pool_name,omitempty" yaml:"pool_name,omitempty"`
Type ExternalIpCreateType `json:"type,omitempty" yaml:"type,omitempty"`
}
ExternalIpCreateEphemeral is an IP address providing both inbound and outbound access. The address is automatically-assigned from the provided IP Pool, or all available pools if not specified.
type ExternalIpCreateType ¶
type ExternalIpCreateType string
ExternalIpCreateType is the type definition for a ExternalIpCreateType.
const ExternalIpCreateTypeEphemeral ExternalIpCreateType = "ephemeral"
ExternalIpCreateTypeEphemeral represents the ExternalIpCreateType `"ephemeral"`.
type ExternalIpResultsPage ¶
type ExternalIpResultsPage struct {
// Items is list of items on this page of results
Items []ExternalIp `json:"items,omitempty" yaml:"items,omitempty"`
// NextPage is token used to fetch the next page of results (if any)
NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty"`
}
ExternalIpResultsPage is a single page of results
type FieldSchema ¶
type FieldSchema struct {
Name string `json:"name,omitempty" yaml:"name,omitempty"`
// Source is the source from which a field is derived, the target or metric.
Source FieldSource `json:"source,omitempty" yaml:"source,omitempty"`
// Ty is the `FieldType` identifies the data type of a target or metric field.
Ty FieldType `json:"ty,omitempty" yaml:"ty,omitempty"`
}
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 FieldSourceMetric FieldSource = "metric"
FieldSourceMetric represents the FieldSource `"metric"`.
const FieldSourceTarget FieldSource = "target"
FieldSourceTarget represents the FieldSource `"target"`.
type FieldType ¶
type FieldType string
FieldType is the `FieldType` identifies the data type of a target or metric field.
const FieldTypeBool FieldType = "bool"
FieldTypeBool represents the FieldType `"bool"`.
const FieldTypeI64 FieldType = "i64"
FieldTypeI64 represents the FieldType `"i64"`.
const FieldTypeIpAddr FieldType = "ip_addr"
FieldTypeIpAddr represents the FieldType `"ip_addr"`.
const FieldTypeString FieldType = "string"
FieldTypeString represents the FieldType `"string"`.
const FieldTypeUuid FieldType = "uuid"
FieldTypeUuid represents the FieldType `"uuid"`.
type FleetRole ¶
type FleetRole string
FleetRole is the type definition for a FleetRole.
const FleetRoleAdmin FleetRole = "admin"
FleetRoleAdmin represents the FleetRole `"admin"`.
const FleetRoleCollaborator FleetRole = "collaborator"
FleetRoleCollaborator represents the FleetRole `"collaborator"`.
const FleetRoleViewer FleetRole = "viewer"
FleetRoleViewer represents the FleetRole `"viewer"`.
type FleetRolePolicy ¶
type FleetRolePolicy struct {
// RoleAssignments is roles directly assigned on this resource
RoleAssignments []FleetRoleRoleAssignment `json:"role_assignments,omitempty" yaml:"role_assignments,omitempty"`
}
FleetRolePolicy is client view of a [`Policy`], which describes how this resource may be accessed
Note that the Policy only describes access granted explicitly for this resource. The policies of parent resources can also cause a user to have access to this resource.
type FleetRoleRoleAssignment ¶
type FleetRoleRoleAssignment struct {
IdentityId string `json:"identity_id,omitempty" yaml:"identity_id,omitempty"`
// IdentityType is describes what kind of identity is described by an id
IdentityType IdentityType `json:"identity_type,omitempty" yaml:"identity_type,omitempty"`
RoleName FleetRole `json:"role_name,omitempty" yaml:"role_name,omitempty"`
}
FleetRoleRoleAssignment is describes the assignment of a particular role on a particular resource to a particular identity (user, group, etc.)
The resource is not part of this structure. Rather, [`RoleAssignment`]s are put into a [`Policy`] and that Policy is applied to a particular resource.
type GlobalImage ¶
type GlobalImage struct {
// BlockSize is size of blocks in bytes
BlockSize ByteCount `json:"block_size,omitempty" yaml:"block_size,omitempty"`
// Description is human-readable free-form text about a resource
Description string `json:"description,omitempty" yaml:"description,omitempty"`
// Digest is hash of the image contents, if applicable
Digest Digest `json:"digest,omitempty" yaml:"digest,omitempty"`
// Distribution is image distribution
Distribution string `json:"distribution,omitempty" yaml:"distribution,omitempty"`
// Id is unique, immutable, system-controlled identifier for each resource
Id string `json:"id,omitempty" yaml:"id,omitempty"`
// Name is unique, mutable, user-controlled identifier for each resource
Name Name `json:"name,omitempty" yaml:"name,omitempty"`
// Size is total size in bytes
Size ByteCount `json:"size,omitempty" yaml:"size,omitempty"`
// TimeCreated is timestamp when this resource was created
TimeCreated *time.Time `json:"time_created,omitempty" yaml:"time_created,omitempty"`
// TimeModified is timestamp when this resource was last modified
TimeModified *time.Time `json:"time_modified,omitempty" yaml:"time_modified,omitempty"`
// Url is uRL source of this image, if any
Url string `json:"url,omitempty" yaml:"url,omitempty"`
// Version is image version
Version string `json:"version,omitempty" yaml:"version,omitempty"`
}
GlobalImage is client view of global Images
type GlobalImageCreate ¶
type GlobalImageCreate struct {
// BlockSize is block size in bytes
BlockSize BlockSize `json:"block_size,omitempty" yaml:"block_size,omitempty"`
Description string `json:"description,omitempty" yaml:"description,omitempty"`
// Distribution is oS image distribution
Distribution Distribution `json:"distribution,omitempty" yaml:"distribution,omitempty"`
// Name is names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.
Name Name `json:"name,omitempty" yaml:"name,omitempty"`
// Source is the source of the image's contents.
Source ImageSource `json:"source,omitempty" yaml:"source,omitempty"`
}
GlobalImageCreate is create-time parameters for an [`GlobalImage`](crate::external_api::views::GlobalImage)
type GlobalImageResultsPage ¶
type GlobalImageResultsPage struct {
// Items is list of items on this page of results
Items []GlobalImage `json:"items,omitempty" yaml:"items,omitempty"`
// NextPage is token used to fetch the next page of results (if any)
NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty"`
}
GlobalImageResultsPage is a single page of results
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 Histogramdouble ¶
type Histogramdouble struct {
Bins []Bindouble `json:"bins,omitempty" yaml:"bins,omitempty"`
NSamples int `json:"n_samples,omitempty" yaml:"n_samples,omitempty"`
StartTime *time.Time `json:"start_time,omitempty" yaml:"start_time,omitempty"`
}
Histogramdouble is a simple type for managing a histogram metric.
A histogram maintains the count of any number of samples, over a set of bins. Bins are specified on construction via their _left_ edges, inclusive. There can't be any "gaps" in the bins, and an additional bin may be added to the left, right, or both so that the bins extend to the entire range of the support.
Note that any gaps, unsorted bins, or non-finite values will result in an error.
Example ------- ```rust use oximeter::histogram::{BinRange, Histogram};
let edges = [0i64, 10, 20]; let mut hist = Histogram::new(&edges).unwrap(); assert_eq!(hist.n_bins(), 4); // One additional bin for the range (20..) assert_eq!(hist.n_samples(), 0); hist.sample(4); hist.sample(100); assert_eq!(hist.n_samples(), 2);
let data = hist.iter().collect::<Vec<_>>(); assert_eq!(data[0].range, BinRange::range(i64::MIN, 0)); // An additional bin for `..0` assert_eq!(data[0].count, 0); // Nothing is in this bin
assert_eq!(data[1].range, BinRange::range(0, 10)); // The range `0..10` assert_eq!(data[1].count, 1); // 4 is sampled into this bin ```
Notes -----
Histograms may be constructed either from their left bin edges, or from a sequence of ranges. In either case, the left-most bin may be converted upon construction. In particular, if the left-most value is not equal to the minimum of the support, a new bin will be added from the minimum to that provided value. If the left-most value _is_ the support's minimum, because the provided bin was unbounded below, such as `(..0)`, then that bin will be converted into one bounded below, `(MIN..0)` in this case.
The short of this is that, most of the time, it shouldn't matter. If one specifies the extremes of the support as their bins, be aware that the left-most may be converted from a `BinRange::RangeTo` into a `BinRange::Range`. In other words, the first bin of a histogram is _always_ a `Bin::Range` or a `Bin::RangeFrom` after construction. In fact, every bin is one of those variants, the `BinRange::RangeTo` is only provided as a convenience during construction.
type Histogramint64 ¶
type Histogramint64 struct {
Bins []Binint64 `json:"bins,omitempty" yaml:"bins,omitempty"`
NSamples int `json:"n_samples,omitempty" yaml:"n_samples,omitempty"`
StartTime *time.Time `json:"start_time,omitempty" yaml:"start_time,omitempty"`
}
Histogramint64 is a simple type for managing a histogram metric.
A histogram maintains the count of any number of samples, over a set of bins. Bins are specified on construction via their _left_ edges, inclusive. There can't be any "gaps" in the bins, and an additional bin may be added to the left, right, or both so that the bins extend to the entire range of the support.
Note that any gaps, unsorted bins, or non-finite values will result in an error.
Example ------- ```rust use oximeter::histogram::{BinRange, Histogram};
let edges = [0i64, 10, 20]; let mut hist = Histogram::new(&edges).unwrap(); assert_eq!(hist.n_bins(), 4); // One additional bin for the range (20..) assert_eq!(hist.n_samples(), 0); hist.sample(4); hist.sample(100); assert_eq!(hist.n_samples(), 2);
let data = hist.iter().collect::<Vec<_>>(); assert_eq!(data[0].range, BinRange::range(i64::MIN, 0)); // An additional bin for `..0` assert_eq!(data[0].count, 0); // Nothing is in this bin
assert_eq!(data[1].range, BinRange::range(0, 10)); // The range `0..10` assert_eq!(data[1].count, 1); // 4 is sampled into this bin ```
Notes -----
Histograms may be constructed either from their left bin edges, or from a sequence of ranges. In either case, the left-most bin may be converted upon construction. In particular, if the left-most value is not equal to the minimum of the support, a new bin will be added from the minimum to that provided value. If the left-most value _is_ the support's minimum, because the provided bin was unbounded below, such as `(..0)`, then that bin will be converted into one bounded below, `(MIN..0)` in this case.
The short of this is that, most of the time, it shouldn't matter. If one specifies the extremes of the support as their bins, be aware that the left-most may be converted from a `BinRange::RangeTo` into a `BinRange::Range`. In other words, the first bin of a histogram is _always_ a `Bin::Range` or a `Bin::RangeFrom` after construction. In fact, every bin is one of those variants, the `BinRange::RangeTo` is only provided as a convenience during construction.
type IdSortMode ¶
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 IdSortMode = "id_ascending"
IdSortModeIdAscending represents the IdSortMode `"id_ascending"`.
type IdentityProvider ¶
type IdentityProvider struct {
// Description is human-readable free-form text about a resource
Description string `json:"description,omitempty" yaml:"description,omitempty"`
// Id is unique, immutable, system-controlled identifier for each resource
Id string `json:"id,omitempty" yaml:"id,omitempty"`
// Name is unique, mutable, user-controlled identifier for each resource
Name Name `json:"name,omitempty" yaml:"name,omitempty"`
// ProviderType is identity provider type
ProviderType IdentityProviderType `json:"provider_type,omitempty" yaml:"provider_type,omitempty"`
// TimeCreated is timestamp when this resource was created
TimeCreated *time.Time `json:"time_created,omitempty" yaml:"time_created,omitempty"`
// TimeModified is timestamp when this resource was last modified
TimeModified *time.Time `json:"time_modified,omitempty" yaml:"time_modified,omitempty"`
}
IdentityProvider is client view of an [`IdentityProvider`]
type IdentityProviderResultsPage ¶
type IdentityProviderResultsPage struct {
// Items is list of items on this page of results
Items []IdentityProvider `json:"items,omitempty" yaml:"items,omitempty"`
// NextPage is token used to fetch the next page of results (if any)
NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty"`
}
IdentityProviderResultsPage is a single page of results
type IdentityProviderType ¶
type IdentityProviderType string
IdentityProviderType is the type definition for a IdentityProviderType.
const IdentityProviderTypeSaml IdentityProviderType = "saml"
IdentityProviderTypeSaml represents the IdentityProviderType `"saml"`.
type IdentityType ¶
type IdentityType string
IdentityType is describes what kind of identity is described by an id
const IdentityTypeSiloGroup IdentityType = "silo_group"
IdentityTypeSiloGroup represents the IdentityType `"silo_group"`.
const IdentityTypeSiloUser IdentityType = "silo_user"
IdentityTypeSiloUser represents the IdentityType `"silo_user"`.
type IdpMetadataSource ¶
type IdpMetadataSource struct {
// Type is the type definition for a Type.
Type IdpMetadataSourceType `json:"type,omitempty" yaml:"type,omitempty"`
// Url is the type definition for a Url.
Url string `json:"url,omitempty" yaml:"url,omitempty"`
// Data is the type definition for a Data.
Data string `json:"data,omitempty" yaml:"data,omitempty"`
}
IdpMetadataSource is the type definition for a IdpMetadataSource.
type IdpMetadataSourceBase64EncodedXml ¶
type IdpMetadataSourceBase64EncodedXml struct {
Data string `json:"data,omitempty" yaml:"data,omitempty"`
Type IdpMetadataSourceType `json:"type,omitempty" yaml:"type,omitempty"`
}
IdpMetadataSourceBase64EncodedXml is the type definition for a IdpMetadataSourceBase64EncodedXml.
type IdpMetadataSourceType ¶
type IdpMetadataSourceType string
IdpMetadataSourceType is the type definition for a IdpMetadataSourceType.
const IdpMetadataSourceTypeBase64EncodedXml IdpMetadataSourceType = "base64_encoded_xml"
IdpMetadataSourceTypeBase64EncodedXml represents the IdpMetadataSourceType `"base64_encoded_xml"`.
const IdpMetadataSourceTypeUrl IdpMetadataSourceType = "url"
IdpMetadataSourceTypeUrl represents the IdpMetadataSourceType `"url"`.
type IdpMetadataSourceUrl ¶
type IdpMetadataSourceUrl struct {
Type IdpMetadataSourceType `json:"type,omitempty" yaml:"type,omitempty"`
Url string `json:"url,omitempty" yaml:"url,omitempty"`
}
IdpMetadataSourceUrl is the type definition for a IdpMetadataSourceUrl.
type Image ¶
type Image struct {
// BlockSize is size of blocks in bytes
BlockSize ByteCount `json:"block_size,omitempty" yaml:"block_size,omitempty"`
// Description is human-readable free-form text about a resource
Description string `json:"description,omitempty" yaml:"description,omitempty"`
// Digest is hash of the image contents, if applicable
Digest Digest `json:"digest,omitempty" yaml:"digest,omitempty"`
// Id is unique, immutable, system-controlled identifier for each resource
Id string `json:"id,omitempty" yaml:"id,omitempty"`
// Name is unique, mutable, user-controlled identifier for each resource
Name Name `json:"name,omitempty" yaml:"name,omitempty"`
// ProjectId is the project the disk belongs to
ProjectId string `json:"project_id,omitempty" yaml:"project_id,omitempty"`
// Size is total size in bytes
Size ByteCount `json:"size,omitempty" yaml:"size,omitempty"`
// TimeCreated is timestamp when this resource was created
TimeCreated *time.Time `json:"time_created,omitempty" yaml:"time_created,omitempty"`
// TimeModified is timestamp when this resource was last modified
TimeModified *time.Time `json:"time_modified,omitempty" yaml:"time_modified,omitempty"`
// Url is uRL source of this image, if any
Url string `json:"url,omitempty" yaml:"url,omitempty"`
// Version is version of this, if any
Version string `json:"version,omitempty" yaml:"version,omitempty"`
}
Image is client view of project Images
type ImageCreate ¶
type ImageCreate struct {
// BlockSize is block size in bytes
BlockSize BlockSize `json:"block_size,omitempty" yaml:"block_size,omitempty"`
Description string `json:"description,omitempty" yaml:"description,omitempty"`
// Name is names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.
Name Name `json:"name,omitempty" yaml:"name,omitempty"`
// Source is the source of the image's contents.
Source ImageSource `json:"source,omitempty" yaml:"source,omitempty"`
}
ImageCreate is create-time parameters for an [`Image`](crate::external_api::views::Image)
type ImageResultsPage ¶
type ImageResultsPage struct {
// Items is list of items on this page of results
Items []Image `json:"items,omitempty" yaml:"items,omitempty"`
// NextPage is token used to fetch the next page of results (if any)
NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty"`
}
ImageResultsPage is a single page of results
type ImageSource ¶
type ImageSource struct {
// Type is the type definition for a Type.
Type ImageSourceType `json:"type,omitempty" yaml:"type,omitempty"`
// Url is the type definition for a Url.
Url string `json:"url,omitempty" yaml:"url,omitempty"`
// Id is the type definition for a Id.
Id string `json:"id,omitempty" yaml:"id,omitempty"`
}
ImageSource is the source of the underlying image.
type ImageSourceSnapshot ¶
type ImageSourceSnapshot struct {
Id string `json:"id,omitempty" yaml:"id,omitempty"`
Type ImageSourceType `json:"type,omitempty" yaml:"type,omitempty"`
}
ImageSourceSnapshot is the type definition for a ImageSourceSnapshot.
type ImageSourceType ¶
type ImageSourceType string
ImageSourceType is the type definition for a ImageSourceType.
const ImageSourceTypeSnapshot ImageSourceType = "snapshot"
ImageSourceTypeSnapshot represents the ImageSourceType `"snapshot"`.
const ImageSourceTypeUrl ImageSourceType = "url"
ImageSourceTypeUrl represents the ImageSourceType `"url"`.
const ImageSourceTypeYouCanBootAnythingAsLongAsItsAlpine ImageSourceType = "you_can_boot_anything_as_long_as_its_alpine"
ImageSourceTypeYouCanBootAnythingAsLongAsItsAlpine represents the ImageSourceType `"you_can_boot_anything_as_long_as_its_alpine"`.
type ImageSourceUrl ¶
type ImageSourceUrl struct {
Type ImageSourceType `json:"type,omitempty" yaml:"type,omitempty"`
Url string `json:"url,omitempty" yaml:"url,omitempty"`
}
ImageSourceUrl is the type definition for a ImageSourceUrl.
type ImageSourceYouCanBootAnythingAsLongAsItsAlpine ¶
type ImageSourceYouCanBootAnythingAsLongAsItsAlpine struct {
Type ImageSourceType `json:"type,omitempty" yaml:"type,omitempty"`
}
ImageSourceYouCanBootAnythingAsLongAsItsAlpine is boot the Alpine ISO that ships with the Propolis zone. Intended for development purposes only.
type Instance ¶
type Instance struct {
// Description is human-readable free-form text about a resource
Description string `json:"description,omitempty" yaml:"description,omitempty"`
// Hostname is rFC1035-compliant hostname for the Instance.
Hostname string `json:"hostname,omitempty" yaml:"hostname,omitempty"`
// Id is unique, immutable, system-controlled identifier for each resource
Id string `json:"id,omitempty" yaml:"id,omitempty"`
// Memory is memory allocated for this Instance
Memory ByteCount `json:"memory,omitempty" yaml:"memory,omitempty"`
// Name is unique, mutable, user-controlled identifier for each resource
Name Name `json:"name,omitempty" yaml:"name,omitempty"`
// Ncpus is number of CPUs allocated for this Instance
Ncpus InstanceCpuCount `json:"ncpus,omitempty" yaml:"ncpus,omitempty"`
// ProjectId is id for the project containing this Instance
ProjectId string `json:"project_id,omitempty" yaml:"project_id,omitempty"`
// RunState is running state of an Instance (primarily: booted or stopped)
//
// This typically reflects whether it's starting, running, stopping, or stopped, but also includes states related to the Instance's lifecycle
RunState InstanceState `json:"run_state,omitempty" yaml:"run_state,omitempty"`
// TimeCreated is timestamp when this resource was created
TimeCreated *time.Time `json:"time_created,omitempty" yaml:"time_created,omitempty"`
// TimeModified is timestamp when this resource was last modified
TimeModified *time.Time `json:"time_modified,omitempty" yaml:"time_modified,omitempty"`
TimeRunStateUpdated *time.Time `json:"time_run_state_updated,omitempty" yaml:"time_run_state_updated,omitempty"`
}
Instance is client view of an [`Instance`]
type InstanceCpuCount ¶
type InstanceCpuCount int64
InstanceCpuCount is the number of CPUs in an Instance
type InstanceCreate ¶
type InstanceCreate struct {
Description string `json:"description,omitempty" yaml:"description,omitempty"`
// Disks is the disks to be created or attached for this instance.
Disks []InstanceDiskAttachment `json:"disks,omitempty" yaml:"disks,omitempty"`
// ExternalIps is the external IP addresses provided to this instance.
//
// By default, all instances have outbound connectivity, but no inbound connectivity. These external addresses can be used to provide a fixed, known IP address for making inbound connections to the instance.
ExternalIps []ExternalIpCreate `json:"external_ips,omitempty" yaml:"external_ips,omitempty"`
Hostname string `json:"hostname,omitempty" yaml:"hostname,omitempty"`
// Memory is 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"`
// Name is names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.
Name Name `json:"name,omitempty" yaml:"name,omitempty"`
// Ncpus is the number of CPUs in an Instance
Ncpus InstanceCpuCount `json:"ncpus,omitempty" yaml:"ncpus,omitempty"`
// NetworkInterfaces is the network interfaces to be created for this instance.
NetworkInterfaces InstanceNetworkInterfaceAttachment `json:"network_interfaces,omitempty" yaml:"network_interfaces,omitempty"`
// Start is should this instance be started upon creation; true by default.
Start bool `json:"start,omitempty" yaml:"start,omitempty"`
// UserData is user data for instance initialization systems (such as cloud-init). Must be a Base64-encoded string, as specified in RFC 4648 § 4 (+ and / characters with padding). Maximum 32 KiB unencoded data.
UserData string `json:"user_data,omitempty" yaml:"user_data,omitempty"`
}
InstanceCreate is create-time parameters for an [`Instance`](omicron_common::api::external::Instance)
type InstanceDiskAttachment ¶
type InstanceDiskAttachment struct {
// Description is the type definition for a Description.
Description string `json:"description,omitempty" yaml:"description,omitempty"`
// DiskSource is initial source for this disk
DiskSource DiskSource `json:"disk_source,omitempty" yaml:"disk_source,omitempty"`
// Name is names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.
Name Name `json:"name,omitempty" yaml:"name,omitempty"`
// Size is total size of the Disk in bytes
Size ByteCount `json:"size,omitempty" yaml:"size,omitempty"`
// Type is the type definition for a Type.
Type InstanceDiskAttachmentType `json:"type,omitempty" yaml:"type,omitempty"`
}
InstanceDiskAttachment is describe the instance's disks at creation time
type InstanceDiskAttachmentAttach ¶
type InstanceDiskAttachmentAttach struct {
// Name is a disk name to attach
Name Name `json:"name,omitempty" yaml:"name,omitempty"`
Type InstanceDiskAttachmentType `json:"type,omitempty" yaml:"type,omitempty"`
}
InstanceDiskAttachmentAttach is during instance creation, attach this disk
type InstanceDiskAttachmentCreate ¶
type InstanceDiskAttachmentCreate struct {
Description string `json:"description,omitempty" yaml:"description,omitempty"`
// DiskSource is initial source for this disk
DiskSource DiskSource `json:"disk_source,omitempty" yaml:"disk_source,omitempty"`
// Name is names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.
Name Name `json:"name,omitempty" yaml:"name,omitempty"`
// Size is total size of the Disk in bytes
Size ByteCount `json:"size,omitempty" yaml:"size,omitempty"`
Type InstanceDiskAttachmentType `json:"type,omitempty" yaml:"type,omitempty"`
}
InstanceDiskAttachmentCreate is during instance creation, create and attach disks
type InstanceDiskAttachmentType ¶
type InstanceDiskAttachmentType string
InstanceDiskAttachmentType is the type definition for a InstanceDiskAttachmentType.
const InstanceDiskAttachmentTypeAttach InstanceDiskAttachmentType = "attach"
InstanceDiskAttachmentTypeAttach represents the InstanceDiskAttachmentType `"attach"`.
const InstanceDiskAttachmentTypeCreate InstanceDiskAttachmentType = "create"
InstanceDiskAttachmentTypeCreate represents the InstanceDiskAttachmentType `"create"`.
type InstanceMigrate ¶
type InstanceMigrate struct {
DstSledId string `json:"dst_sled_id,omitempty" yaml:"dst_sled_id,omitempty"`
}
InstanceMigrate is migration parameters for an [`Instance`](omicron_common::api::external::Instance)
type InstanceNetworkInterfaceAttachment ¶
type InstanceNetworkInterfaceAttachment struct {
// Params is the type definition for a Params.
Params []NetworkInterfaceCreate `json:"params,omitempty" yaml:"params,omitempty"`
// Type is the type definition for a Type.
Type InstanceNetworkInterfaceAttachmentType `json:"type,omitempty" yaml:"type,omitempty"`
}
InstanceNetworkInterfaceAttachment is describes an attachment of a `NetworkInterface` to an `Instance`, at the time the instance is created.
type InstanceNetworkInterfaceAttachmentCreate ¶
type InstanceNetworkInterfaceAttachmentCreate struct {
Params []NetworkInterfaceCreate `json:"params,omitempty" yaml:"params,omitempty"`
Type InstanceNetworkInterfaceAttachmentType `json:"type,omitempty" yaml:"type,omitempty"`
}
InstanceNetworkInterfaceAttachmentCreate is create one or more `NetworkInterface`s for the `Instance`.
If more than one interface is provided, then the first will be designated the primary interface for the instance.
type InstanceNetworkInterfaceAttachmentDefault ¶
type InstanceNetworkInterfaceAttachmentDefault struct {
Type InstanceNetworkInterfaceAttachmentType `json:"type,omitempty" yaml:"type,omitempty"`
}
InstanceNetworkInterfaceAttachmentDefault is the default networking configuration for an instance is to create a single primary interface with an automatically-assigned IP address. The IP will be pulled from the Project's default VPC / VPC Subnet.
type InstanceNetworkInterfaceAttachmentNone ¶
type InstanceNetworkInterfaceAttachmentNone struct {
Type InstanceNetworkInterfaceAttachmentType `json:"type,omitempty" yaml:"type,omitempty"`
}
InstanceNetworkInterfaceAttachmentNone is no network interfaces at all will be created for the instance.
type InstanceNetworkInterfaceAttachmentType ¶
type InstanceNetworkInterfaceAttachmentType string
InstanceNetworkInterfaceAttachmentType is the type definition for a InstanceNetworkInterfaceAttachmentType.
const InstanceNetworkInterfaceAttachmentTypeCreate InstanceNetworkInterfaceAttachmentType = "create"
InstanceNetworkInterfaceAttachmentTypeCreate represents the InstanceNetworkInterfaceAttachmentType `"create"`.
const InstanceNetworkInterfaceAttachmentTypeDefault InstanceNetworkInterfaceAttachmentType = "default"
InstanceNetworkInterfaceAttachmentTypeDefault represents the InstanceNetworkInterfaceAttachmentType `"default"`.
const InstanceNetworkInterfaceAttachmentTypeNone InstanceNetworkInterfaceAttachmentType = "none"
InstanceNetworkInterfaceAttachmentTypeNone represents the InstanceNetworkInterfaceAttachmentType `"none"`.
type InstanceResultsPage ¶
type InstanceResultsPage struct {
// Items is list of items on this page of results
Items []Instance `json:"items,omitempty" yaml:"items,omitempty"`
// NextPage is token used to fetch the next page of results (if any)
NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty"`
}
InstanceResultsPage is a single page of results
type InstanceSerialConsoleData ¶
type InstanceSerialConsoleData struct {
// Data is the bytes starting from the requested offset up to either the end of the buffer or the request's `max_bytes`. Provided as a u8 array rather than a string, as it may not be UTF-8.
Data []string `json:"data,omitempty" yaml:"data,omitempty"`
// LastByteOffset is the absolute offset since boot (suitable for use as `byte_offset` in a subsequent request) of the last byte returned in `data`.
LastByteOffset int `json:"last_byte_offset,omitempty" yaml:"last_byte_offset,omitempty"`
}
InstanceSerialConsoleData is contents of an Instance's serial console buffer.
type 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 InstanceState = "creating"
InstanceStateCreating represents the InstanceState `"creating"`.
const InstanceStateDestroyed InstanceState = "destroyed"
InstanceStateDestroyed represents the InstanceState `"destroyed"`.
const InstanceStateFailed InstanceState = "failed"
InstanceStateFailed represents the InstanceState `"failed"`.
const InstanceStateMigrating InstanceState = "migrating"
InstanceStateMigrating represents the InstanceState `"migrating"`.
const InstanceStateRebooting InstanceState = "rebooting"
InstanceStateRebooting represents the InstanceState `"rebooting"`.
const InstanceStateRepairing InstanceState = "repairing"
InstanceStateRepairing represents the InstanceState `"repairing"`.
const InstanceStateRunning InstanceState = "running"
InstanceStateRunning represents the InstanceState `"running"`.
const InstanceStateStarting InstanceState = "starting"
InstanceStateStarting represents the InstanceState `"starting"`.
const InstanceStateStopped InstanceState = "stopped"
InstanceStateStopped represents the InstanceState `"stopped"`.
const InstanceStateStopping InstanceState = "stopping"
InstanceStateStopping represents the InstanceState `"stopping"`.
type IpKind ¶
type IpKind string
IpKind is the kind of an external IP address for an instance
const IpKindEphemeral IpKind = "ephemeral"
IpKindEphemeral represents the IpKind `"ephemeral"`.
const IpKindFloating IpKind = "floating"
IpKindFloating represents the IpKind `"floating"`.
type IpPool ¶
type IpPool struct {
// Description is human-readable free-form text about a resource
Description string `json:"description,omitempty" yaml:"description,omitempty"`
// Id is unique, immutable, system-controlled identifier for each resource
Id string `json:"id,omitempty" yaml:"id,omitempty"`
// Name is unique, mutable, user-controlled identifier for each resource
Name Name `json:"name,omitempty" yaml:"name,omitempty"`
ProjectId string `json:"project_id,omitempty" yaml:"project_id,omitempty"`
// TimeCreated is timestamp when this resource was created
TimeCreated *time.Time `json:"time_created,omitempty" yaml:"time_created,omitempty"`
// TimeModified is timestamp when this resource was last modified
TimeModified *time.Time `json:"time_modified,omitempty" yaml:"time_modified,omitempty"`
}
IpPool is identity-related metadata that's included in nearly all public API objects
type IpPoolCreate ¶
type IpPoolCreate struct {
Description string `json:"description,omitempty" yaml:"description,omitempty"`
// Name is names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.
Name Name `json:"name,omitempty" yaml:"name,omitempty"`
// Organization is names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.
Organization Name `json:"organization,omitempty" yaml:"organization,omitempty"`
// Project is names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.
Project Name `json:"project,omitempty" yaml:"project,omitempty"`
}
IpPoolCreate is create-time parameters for an IP Pool.
See [`IpPool`](crate::external_api::views::IpPool)
type IpPoolRange ¶
type IpPoolRange struct {
Id string `json:"id,omitempty" yaml:"id,omitempty"`
Range IpRange `json:"range,omitempty" yaml:"range,omitempty"`
TimeCreated *time.Time `json:"time_created,omitempty" yaml:"time_created,omitempty"`
}
IpPoolRange is the type definition for a IpPoolRange.
type IpPoolRangeResultsPage ¶
type IpPoolRangeResultsPage struct {
// Items is list of items on this page of results
Items []IpPoolRange `json:"items,omitempty" yaml:"items,omitempty"`
// NextPage is token used to fetch the next page of results (if any)
NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty"`
}
IpPoolRangeResultsPage is a single page of results
type IpPoolResultsPage ¶
type IpPoolResultsPage struct {
// Items is list of items on this page of results
Items []IpPool `json:"items,omitempty" yaml:"items,omitempty"`
// NextPage is token used to fetch the next page of results (if any)
NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty"`
}
IpPoolResultsPage is a single page of results
type IpPoolUpdate ¶
type IpPoolUpdate struct {
Description string `json:"description,omitempty" yaml:"description,omitempty"`
Name Name `json:"name,omitempty" yaml:"name,omitempty"`
}
IpPoolUpdate is parameters for updating an IP Pool
type Ipv4Range ¶
type Ipv4Range struct {
First string `json:"first,omitempty" yaml:"first,omitempty"`
Last string `json:"last,omitempty" yaml:"last,omitempty"`
}
Ipv4Range is a non-decreasing IPv4 address range, inclusive of both ends.
The first address must be less than or equal to the last address.
type Ipv6Range ¶
type Ipv6Range struct {
First string `json:"first,omitempty" yaml:"first,omitempty"`
Last string `json:"last,omitempty" yaml:"last,omitempty"`
}
Ipv6Range is a non-decreasing IPv6 address range, inclusive of both ends.
The first address must be less than or equal to the last address.
type L4PortRange ¶
type L4PortRange string
L4PortRange is an inclusive-inclusive range of IP ports. The second port may be omitted to represent a single port
type Measurement ¶
type Measurement struct {
// Datum is a `Datum` is a single sampled data point from a metric.
Datum Datum `json:"datum,omitempty" yaml:"datum,omitempty"`
Timestamp *time.Time `json:"timestamp,omitempty" yaml:"timestamp,omitempty"`
}
Measurement is a `Measurement` is a timestamped datum from a single metric
type MeasurementResultsPage ¶
type MeasurementResultsPage struct {
// Items is list of items on this page of results
Items []Measurement `json:"items,omitempty" yaml:"items,omitempty"`
// NextPage is token used to fetch the next page of results (if any)
NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty"`
}
MeasurementResultsPage is a single page of results
type Name ¶
type Name string
Name is names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.
type NameOrIdSortMode ¶
type NameOrIdSortMode string
NameOrIdSortMode is supported set of sort modes for scanning by name or id
const NameOrIdSortModeIdAscending NameOrIdSortMode = "id_ascending"
NameOrIdSortModeIdAscending represents the NameOrIdSortMode `"id_ascending"`.
const NameOrIdSortModeNameAscending NameOrIdSortMode = "name_ascending"
NameOrIdSortModeNameAscending represents the NameOrIdSortMode `"name_ascending"`.
const NameOrIdSortModeNameDescending NameOrIdSortMode = "name_descending"
NameOrIdSortModeNameDescending represents the NameOrIdSortMode `"name_descending"`.
type NameSortMode ¶
type NameSortMode string
NameSortMode is supported set of sort modes for scanning by name only
Currently, we only support scanning in ascending order.
const NameSortModeNameAscending NameSortMode = "name_ascending"
NameSortModeNameAscending represents the 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"`
// Id is unique, immutable, system-controlled identifier for each resource
Id string `json:"id,omitempty" yaml:"id,omitempty"`
// InstanceId is the Instance to which the interface belongs.
InstanceId string `json:"instance_id,omitempty" yaml:"instance_id,omitempty"`
// Ip is the IP address assigned to this interface.
Ip string `json:"ip,omitempty" yaml:"ip,omitempty"`
// Mac is the MAC address assigned to this interface.
Mac MacAddr `json:"mac,omitempty" yaml:"mac,omitempty"`
// Name is unique, mutable, user-controlled identifier for each resource
Name Name `json:"name,omitempty" yaml:"name,omitempty"`
// Primary is true if this interface is the primary for the instance to which it's attached.
Primary bool `json:"primary,omitempty" yaml:"primary,omitempty"`
// SubnetId is the subnet to which the interface belongs.
SubnetId string `json:"subnet_id,omitempty" yaml:"subnet_id,omitempty"`
// TimeCreated is timestamp when this resource was created
TimeCreated *time.Time `json:"time_created,omitempty" yaml:"time_created,omitempty"`
// TimeModified is timestamp when this resource was last modified
TimeModified *time.Time `json:"time_modified,omitempty" yaml:"time_modified,omitempty"`
// VpcId is the VPC to which the interface belongs.
VpcId string `json:"vpc_id,omitempty" yaml:"vpc_id,omitempty"`
}
NetworkInterface is a `NetworkInterface` represents a virtual network interface device.
type NetworkInterfaceCreate ¶
type NetworkInterfaceCreate struct {
Description string `json:"description,omitempty" yaml:"description,omitempty"`
// Ip is the IP address for the interface. One will be auto-assigned if not provided.
Ip string `json:"ip,omitempty" yaml:"ip,omitempty"`
// Name is names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.
Name Name `json:"name,omitempty" yaml:"name,omitempty"`
// SubnetName is the VPC Subnet in which to create the interface.
SubnetName Name `json:"subnet_name,omitempty" yaml:"subnet_name,omitempty"`
// VpcName is the VPC in which to create the interface.
VpcName Name `json:"vpc_name,omitempty" yaml:"vpc_name,omitempty"`
}
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"`
// NextPage is token used to fetch the next page of results (if any)
NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty"`
}
NetworkInterfaceResultsPage is a single page of results
type NetworkInterfaceUpdate ¶
type NetworkInterfaceUpdate struct {
Description string `json:"description,omitempty" yaml:"description,omitempty"`
Name Name `json:"name,omitempty" yaml:"name,omitempty"`
// Primary is make a secondary interface the instance's primary interface.
//
// If applied to a secondary interface, that interface will become the primary on the next reboot of the instance. Note that this may have implications for routing between instances, as the new primary interface will be on a distinct subnet from the previous primary interface.
//
// Note that this can only be used to select a new primary interface for an instance. Requests to change the primary interface into a secondary will return an error.
Primary bool `json:"primary,omitempty" yaml:"primary,omitempty"`
}
NetworkInterfaceUpdate is parameters for updating a [`NetworkInterface`](omicron_common::api::external::NetworkInterface).
Note that modifying IP addresses for an interface is not yet supported, a new interface must be created instead.
type NodeName ¶
type NodeName string
NodeName is unique name for a saga [`Node`]
Each node requires a string name that's unique within its DAG. The name is used to identify its output. Nodes that depend on a given node (either directly or indirectly) can access the node's output using its name.
type Organization ¶
type Organization struct {
// Description is human-readable free-form text about a resource
Description string `json:"description,omitempty" yaml:"description,omitempty"`
// Id is unique, immutable, system-controlled identifier for each resource
Id string `json:"id,omitempty" yaml:"id,omitempty"`
// Name is unique, mutable, user-controlled identifier for each resource
Name Name `json:"name,omitempty" yaml:"name,omitempty"`
// TimeCreated is timestamp when this resource was created
TimeCreated *time.Time `json:"time_created,omitempty" yaml:"time_created,omitempty"`
// TimeModified is timestamp when this resource was last modified
TimeModified *time.Time `json:"time_modified,omitempty" yaml:"time_modified,omitempty"`
}
Organization is client view of an [`Organization`]
type OrganizationCreate ¶
type OrganizationCreate struct {
Description string `json:"description,omitempty" yaml:"description,omitempty"`
// Name is names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.
Name Name `json:"name,omitempty" yaml:"name,omitempty"`
}
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"`
// NextPage is token used to fetch the next page of results (if any)
NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty"`
}
OrganizationResultsPage is a single page of results
type OrganizationRole ¶
type OrganizationRole string
OrganizationRole is the type definition for a OrganizationRole.
const OrganizationRoleAdmin OrganizationRole = "admin"
OrganizationRoleAdmin represents the OrganizationRole `"admin"`.
const OrganizationRoleCollaborator OrganizationRole = "collaborator"
OrganizationRoleCollaborator represents the OrganizationRole `"collaborator"`.
const OrganizationRoleViewer OrganizationRole = "viewer"
OrganizationRoleViewer represents the OrganizationRole `"viewer"`.
type OrganizationRolePolicy ¶
type OrganizationRolePolicy struct {
// RoleAssignments is roles directly assigned on this resource
RoleAssignments []OrganizationRoleRoleAssignment `json:"role_assignments,omitempty" yaml:"role_assignments,omitempty"`
}
OrganizationRolePolicy is client view of a [`Policy`], which describes how this resource may be accessed
Note that the Policy only describes access granted explicitly for this resource. The policies of parent resources can also cause a user to have access to this resource.
type OrganizationRoleRoleAssignment ¶
type OrganizationRoleRoleAssignment struct {
IdentityId string `json:"identity_id,omitempty" yaml:"identity_id,omitempty"`
// IdentityType is describes what kind of identity is described by an id
IdentityType IdentityType `json:"identity_type,omitempty" yaml:"identity_type,omitempty"`
RoleName OrganizationRole `json:"role_name,omitempty" yaml:"role_name,omitempty"`
}
OrganizationRoleRoleAssignment is describes the assignment of a particular role on a particular resource to a particular identity (user, group, etc.)
The resource is not part of this structure. Rather, [`RoleAssignment`]s are put into a [`Policy`] and that Policy is applied to a particular resource.
type OrganizationUpdate ¶
type OrganizationUpdate struct {
Description string `json:"description,omitempty" yaml:"description,omitempty"`
Name Name `json:"name,omitempty" yaml:"name,omitempty"`
}
OrganizationUpdate is updateable properties of an [`Organization`](crate::external_api::views::Organization)
type Project ¶
type Project struct {
// Description is human-readable free-form text about a resource
Description string `json:"description,omitempty" yaml:"description,omitempty"`
// Id is unique, immutable, system-controlled identifier for each resource
Id string `json:"id,omitempty" yaml:"id,omitempty"`
// Name is unique, mutable, user-controlled identifier for each resource
Name Name `json:"name,omitempty" yaml:"name,omitempty"`
OrganizationId string `json:"organization_id,omitempty" yaml:"organization_id,omitempty"`
// TimeCreated is timestamp when this resource was created
TimeCreated *time.Time `json:"time_created,omitempty" yaml:"time_created,omitempty"`
// TimeModified is timestamp when this resource was last modified
TimeModified *time.Time `json:"time_modified,omitempty" yaml:"time_modified,omitempty"`
}
Project is client view of a [`Project`]
type ProjectCreate ¶
type ProjectCreate struct {
Description string `json:"description,omitempty" yaml:"description,omitempty"`
// Name is names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.
Name Name `json:"name,omitempty" yaml:"name,omitempty"`
}
ProjectCreate is create-time parameters for a [`Project`](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"`
// NextPage is token used to fetch the next page of results (if any)
NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty"`
}
ProjectResultsPage is a single page of results
type ProjectRole ¶
type ProjectRole string
ProjectRole is the type definition for a ProjectRole.
const ProjectRoleAdmin ProjectRole = "admin"
ProjectRoleAdmin represents the ProjectRole `"admin"`.
const ProjectRoleCollaborator ProjectRole = "collaborator"
ProjectRoleCollaborator represents the ProjectRole `"collaborator"`.
const ProjectRoleViewer ProjectRole = "viewer"
ProjectRoleViewer represents the ProjectRole `"viewer"`.
type ProjectRolePolicy ¶
type ProjectRolePolicy struct {
// RoleAssignments is roles directly assigned on this resource
RoleAssignments []ProjectRoleRoleAssignment `json:"role_assignments,omitempty" yaml:"role_assignments,omitempty"`
}
ProjectRolePolicy is client view of a [`Policy`], which describes how this resource may be accessed
Note that the Policy only describes access granted explicitly for this resource. The policies of parent resources can also cause a user to have access to this resource.
type ProjectRoleRoleAssignment ¶
type ProjectRoleRoleAssignment struct {
IdentityId string `json:"identity_id,omitempty" yaml:"identity_id,omitempty"`
// IdentityType is describes what kind of identity is described by an id
IdentityType IdentityType `json:"identity_type,omitempty" yaml:"identity_type,omitempty"`
RoleName ProjectRole `json:"role_name,omitempty" yaml:"role_name,omitempty"`
}
ProjectRoleRoleAssignment is describes the assignment of a particular role on a particular resource to a particular identity (user, group, etc.)
The resource is not part of this structure. Rather, [`RoleAssignment`]s are put into a [`Policy`] and that Policy is applied to a particular resource.
type ProjectUpdate ¶
type ProjectUpdate struct {
Description string `json:"description,omitempty" yaml:"description,omitempty"`
Name Name `json:"name,omitempty" yaml:"name,omitempty"`
}
ProjectUpdate is updateable properties of a [`Project`](crate::external_api::views::Project)
type Rack ¶
type Rack struct {
// Id is unique, immutable, system-controlled identifier for each resource
Id string `json:"id,omitempty" yaml:"id,omitempty"`
// TimeCreated is timestamp when this resource was created
TimeCreated *time.Time `json:"time_created,omitempty" yaml:"time_created,omitempty"`
// TimeModified is timestamp when this resource was last modified
TimeModified *time.Time `json:"time_modified,omitempty" yaml:"time_modified,omitempty"`
}
Rack is 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"`
// NextPage is token used to fetch the next page of results (if any)
NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty"`
}
RackResultsPage is a single page of results
type Role ¶
type Role struct {
Description string `json:"description,omitempty" yaml:"description,omitempty"`
// Name is role names consist of two string components separated by dot (".").
Name RoleName `json:"name,omitempty" yaml:"name,omitempty"`
}
Role is 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"`
// NextPage is token used to fetch the next page of results (if any)
NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty"`
}
RoleResultsPage is a single page of results
type RouteDestination ¶
type RouteDestination struct {
// Type is the type definition for a Type.
Type RouteDestinationType `json:"type,omitempty" yaml:"type,omitempty"`
// Value is the type definition for a Value.
Value string `json:"value,omitempty" yaml:"value,omitempty"`
}
RouteDestination is a `RouteDestination` is used to match traffic with a routing rule, on the destination of that traffic.
When traffic is to be sent to a destination that is within a given `RouteDestination`, the corresponding [`RouterRoute`] applies, and traffic will be forward to the [`RouteTarget`] for that rule.
type RouteDestinationIp ¶
type RouteDestinationIp struct {
Type RouteDestinationType `json:"type,omitempty" yaml:"type,omitempty"`
Value string `json:"value,omitempty" yaml:"value,omitempty"`
}
RouteDestinationIp is route applies to traffic destined for a specific IP address
type RouteDestinationIpNet ¶
type RouteDestinationIpNet struct {
Type RouteDestinationType `json:"type,omitempty" yaml:"type,omitempty"`
Value IpNet `json:"value,omitempty" yaml:"value,omitempty"`
}
RouteDestinationIpNet is route applies to traffic destined for a specific IP subnet
type RouteDestinationSubnet ¶
type RouteDestinationSubnet struct {
Type RouteDestinationType `json:"type,omitempty" yaml:"type,omitempty"`
// Value is names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.
Value Name `json:"value,omitempty" yaml:"value,omitempty"`
}
RouteDestinationSubnet is route applies to traffic
type RouteDestinationType ¶
type RouteDestinationType string
RouteDestinationType is the type definition for a RouteDestinationType.
const RouteDestinationTypeIp RouteDestinationType = "ip"
RouteDestinationTypeIp represents the RouteDestinationType `"ip"`.
const RouteDestinationTypeIpNet RouteDestinationType = "ip_net"
RouteDestinationTypeIpNet represents the RouteDestinationType `"ip_net"`.
const RouteDestinationTypeSubnet RouteDestinationType = "subnet"
RouteDestinationTypeSubnet represents the RouteDestinationType `"subnet"`.
const RouteDestinationTypeVpc RouteDestinationType = "vpc"
RouteDestinationTypeVpc represents the RouteDestinationType `"vpc"`.
type RouteDestinationVpc ¶
type RouteDestinationVpc struct {
Type RouteDestinationType `json:"type,omitempty" yaml:"type,omitempty"`
// Value is names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.
Value Name `json:"value,omitempty" yaml:"value,omitempty"`
}
RouteDestinationVpc is route applies to traffic destined for the given VPC.
type RouteTarget ¶
type RouteTarget struct {
// Type is the type definition for a Type.
Type RouteTargetType `json:"type,omitempty" yaml:"type,omitempty"`
// Value is the type definition for a Value.
Value string `json:"value,omitempty" yaml:"value,omitempty"`
}
RouteTarget is a `RouteTarget` describes the possible locations that traffic matching a route destination can be sent.
type RouteTargetInstance ¶
type RouteTargetInstance struct {
Type RouteTargetType `json:"type,omitempty" yaml:"type,omitempty"`
// Value is names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.
Value Name `json:"value,omitempty" yaml:"value,omitempty"`
}
RouteTargetInstance is forward traffic to a specific instance
type RouteTargetInternetGateway ¶
type RouteTargetInternetGateway struct {
Type RouteTargetType `json:"type,omitempty" yaml:"type,omitempty"`
// Value is names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.
Value Name `json:"value,omitempty" yaml:"value,omitempty"`
}
RouteTargetInternetGateway is forward traffic to an internet gateway
type RouteTargetIp ¶
type RouteTargetIp struct {
Type RouteTargetType `json:"type,omitempty" yaml:"type,omitempty"`
Value string `json:"value,omitempty" yaml:"value,omitempty"`
}
RouteTargetIp is forward traffic to a particular IP address.
type RouteTargetSubnet ¶
type RouteTargetSubnet struct {
Type RouteTargetType `json:"type,omitempty" yaml:"type,omitempty"`
// Value is names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.
Value Name `json:"value,omitempty" yaml:"value,omitempty"`
}
RouteTargetSubnet is forward traffic to a VPC Subnet
type RouteTargetType ¶
type RouteTargetType string
RouteTargetType is the type definition for a RouteTargetType.
const RouteTargetTypeInstance RouteTargetType = "instance"
RouteTargetTypeInstance represents the RouteTargetType `"instance"`.
const RouteTargetTypeInternetGateway RouteTargetType = "internet_gateway"
RouteTargetTypeInternetGateway represents the RouteTargetType `"internet_gateway"`.
const RouteTargetTypeIp RouteTargetType = "ip"
RouteTargetTypeIp represents the RouteTargetType `"ip"`.
const RouteTargetTypeSubnet RouteTargetType = "subnet"
RouteTargetTypeSubnet represents the RouteTargetType `"subnet"`.
const RouteTargetTypeVpc RouteTargetType = "vpc"
RouteTargetTypeVpc represents the RouteTargetType `"vpc"`.
type RouteTargetVpc ¶
type RouteTargetVpc struct {
Type RouteTargetType `json:"type,omitempty" yaml:"type,omitempty"`
// Value is names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.
Value Name `json:"value,omitempty" yaml:"value,omitempty"`
}
RouteTargetVpc is forward traffic to a VPC
type RouterRoute ¶
type RouterRoute struct {
// Description is human-readable free-form text about a resource
Description string `json:"description,omitempty" yaml:"description,omitempty"`
// Destination is a `RouteDestination` is used to match traffic with a routing rule, on the destination of that traffic.
//
// When traffic is to be sent to a destination that is within a given `RouteDestination`, the corresponding [`RouterRoute`] applies, and traffic will be forward to the [`RouteTarget`] for that rule.
Destination RouteDestination `json:"destination,omitempty" yaml:"destination,omitempty"`
// Id is unique, immutable, system-controlled identifier for each resource
Id string `json:"id,omitempty" yaml:"id,omitempty"`
// Kind is describes the kind of router. Set at creation. `read-only`
Kind RouterRouteKind `json:"kind,omitempty" yaml:"kind,omitempty"`
// Name is unique, mutable, user-controlled identifier for each resource
Name Name `json:"name,omitempty" yaml:"name,omitempty"`
// Target is a `RouteTarget` describes the possible locations that traffic matching a route destination can be sent.
Target RouteTarget `json:"target,omitempty" yaml:"target,omitempty"`
// TimeCreated is timestamp when this resource was created
TimeCreated *time.Time `json:"time_created,omitempty" yaml:"time_created,omitempty"`
// TimeModified is timestamp when this resource was last modified
TimeModified *time.Time `json:"time_modified,omitempty" yaml:"time_modified,omitempty"`
// VpcRouterId is the VPC Router to which the route belongs.
VpcRouterId string `json:"vpc_router_id,omitempty" yaml:"vpc_router_id,omitempty"`
}
RouterRoute is a route defines a rule that governs where traffic should be sent based on its destination.
type RouterRouteCreateParams ¶
type RouterRouteCreateParams struct {
Description string `json:"description,omitempty" yaml:"description,omitempty"`
// Destination is a `RouteDestination` is used to match traffic with a routing rule, on the destination of that traffic.
//
// When traffic is to be sent to a destination that is within a given `RouteDestination`, the corresponding [`RouterRoute`] applies, and traffic will be forward to the [`RouteTarget`] for that rule.
Destination RouteDestination `json:"destination,omitempty" yaml:"destination,omitempty"`
// Name is names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.
Name Name `json:"name,omitempty" yaml:"name,omitempty"`
// Target is a `RouteTarget` describes the possible locations that traffic matching a route destination can be sent.
Target RouteTarget `json:"target,omitempty" yaml:"target,omitempty"`
}
RouterRouteCreateParams is create-time parameters for a [`RouterRoute`]
type RouterRouteKind ¶
type RouterRouteKind string
RouterRouteKind 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 RouterRouteKindCustom RouterRouteKind = "custom"
RouterRouteKindCustom represents the RouterRouteKind `"custom"`.
const RouterRouteKindDefault RouterRouteKind = "default"
RouterRouteKindDefault represents the RouterRouteKind `"default"`.
const RouterRouteKindVpcPeering RouterRouteKind = "vpc_peering"
RouterRouteKindVpcPeering represents the RouterRouteKind `"vpc_peering"`.
const RouterRouteKindVpcSubnet RouterRouteKind = "vpc_subnet"
RouterRouteKindVpcSubnet represents the RouterRouteKind `"vpc_subnet"`.
type RouterRouteResultsPage ¶
type RouterRouteResultsPage struct {
// Items is list of items on this page of results
Items []RouterRoute `json:"items,omitempty" yaml:"items,omitempty"`
// NextPage is token used to fetch the next page of results (if any)
NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty"`
}
RouterRouteResultsPage is a single page of results
type RouterRouteUpdateParams ¶
type RouterRouteUpdateParams struct {
Description string `json:"description,omitempty" yaml:"description,omitempty"`
// Destination is a `RouteDestination` is used to match traffic with a routing rule, on the destination of that traffic.
//
// When traffic is to be sent to a destination that is within a given `RouteDestination`, the corresponding [`RouterRoute`] applies, and traffic will be forward to the [`RouteTarget`] for that rule.
Destination RouteDestination `json:"destination,omitempty" yaml:"destination,omitempty"`
Name Name `json:"name,omitempty" yaml:"name,omitempty"`
// Target is a `RouteTarget` describes the possible locations that traffic matching a route destination can be sent.
Target RouteTarget `json:"target,omitempty" yaml:"target,omitempty"`
}
RouterRouteUpdateParams is updateable properties of a [`RouterRoute`]
type Saga ¶
type Saga struct {
Id string `json:"id,omitempty" yaml:"id,omitempty"`
State SagaState `json:"state,omitempty" yaml:"state,omitempty"`
}
Saga is the type definition for a Saga.
type SagaErrorInfo ¶
type SagaErrorInfo struct {
// Error is the type definition for a Error.
Error SagaErrorInfoError `json:"error,omitempty" yaml:"error,omitempty"`
// SourceError is the type definition for a SourceError.
SourceError interface{} `json:"source_error,omitempty" yaml:"source_error,omitempty"`
// Message is the type definition for a Message.
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"`
SourceError interface{} `json:"source_error,omitempty" yaml:"source_error,omitempty"`
}
SagaErrorInfoActionFailed is the type definition for a SagaErrorInfoActionFailed.
type SagaErrorInfoDeserializeFailed ¶
type SagaErrorInfoDeserializeFailed struct {
Error SagaErrorInfoError `json:"error,omitempty" yaml:"error,omitempty"`
Message string `json:"message,omitempty" yaml:"message,omitempty"`
}
SagaErrorInfoDeserializeFailed is the type definition for a SagaErrorInfoDeserializeFailed.
type SagaErrorInfoError ¶
type SagaErrorInfoError string
SagaErrorInfoError is the type definition for a SagaErrorInfoError.
const SagaErrorInfoErrorActionFailed SagaErrorInfoError = "action_failed"
SagaErrorInfoErrorActionFailed represents the SagaErrorInfoError `"action_failed"`.
const SagaErrorInfoErrorDeserializeFailed SagaErrorInfoError = "deserialize_failed"
SagaErrorInfoErrorDeserializeFailed represents the SagaErrorInfoError `"deserialize_failed"`.
const SagaErrorInfoErrorInjectedError SagaErrorInfoError = "injected_error"
SagaErrorInfoErrorInjectedError represents the SagaErrorInfoError `"injected_error"`.
const SagaErrorInfoErrorSerializeFailed SagaErrorInfoError = "serialize_failed"
SagaErrorInfoErrorSerializeFailed represents the SagaErrorInfoError `"serialize_failed"`.
const SagaErrorInfoErrorSubsagaCreateFailed SagaErrorInfoError = "subsaga_create_failed"
SagaErrorInfoErrorSubsagaCreateFailed represents the SagaErrorInfoError `"subsaga_create_failed"`.
type SagaErrorInfoInjectedError ¶
type SagaErrorInfoInjectedError struct {
Error SagaErrorInfoError `json:"error,omitempty" yaml:"error,omitempty"`
}
SagaErrorInfoInjectedError is the type definition for a SagaErrorInfoInjectedError.
type SagaErrorInfoSerializeFailed ¶
type SagaErrorInfoSerializeFailed struct {
Error SagaErrorInfoError `json:"error,omitempty" yaml:"error,omitempty"`
Message string `json:"message,omitempty" yaml:"message,omitempty"`
}
SagaErrorInfoSerializeFailed is the type definition for a SagaErrorInfoSerializeFailed.
type SagaErrorInfoSubsagaCreateFailed ¶
type SagaErrorInfoSubsagaCreateFailed struct {
Error SagaErrorInfoError `json:"error,omitempty" yaml:"error,omitempty"`
Message string `json:"message,omitempty" yaml:"message,omitempty"`
}
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"`
// NextPage is token used to fetch the next page of results (if any)
NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty"`
}
SagaResultsPage is a single page of results
type SagaState ¶
type SagaState struct {
// State is the type definition for a State.
State SagaStateState `json:"state,omitempty" yaml:"state,omitempty"`
// ErrorInfo is the type definition for a ErrorInfo.
ErrorInfo SagaErrorInfo `json:"error_info,omitempty" yaml:"error_info,omitempty"`
// ErrorNodeName is unique name for a saga [`Node`]
//
// Each node requires a string name that's unique within its DAG. The name is used to identify its output. Nodes that depend on a given node (either directly or indirectly) can access the node's output using its name.
ErrorNodeName NodeName `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"`
// ErrorNodeName is unique name for a saga [`Node`]
//
// Each node requires a string name that's unique within its DAG. The name is used to identify its output. Nodes that depend on a given node (either directly or indirectly) can access the node's output using its name.
ErrorNodeName NodeName `json:"error_node_name,omitempty" yaml:"error_node_name,omitempty"`
State SagaStateState `json:"state,omitempty" yaml:"state,omitempty"`
}
SagaStateFailed is the type definition for a SagaStateFailed.
type SagaStateRunning ¶
type SagaStateRunning struct {
State SagaStateState `json:"state,omitempty" yaml:"state,omitempty"`
}
SagaStateRunning is the type definition for a SagaStateRunning.
type SagaStateState ¶
type SagaStateState string
SagaStateState is the type definition for a SagaStateState.
const SagaStateStateFailed SagaStateState = "failed"
SagaStateStateFailed represents the SagaStateState `"failed"`.
const SagaStateStateRunning SagaStateState = "running"
SagaStateStateRunning represents the SagaStateState `"running"`.
const SagaStateStateSucceeded SagaStateState = "succeeded"
SagaStateStateSucceeded represents the SagaStateState `"succeeded"`.
type SagaStateSucceeded ¶
type SagaStateSucceeded struct {
State SagaStateState `json:"state,omitempty" yaml:"state,omitempty"`
}
SagaStateSucceeded is the type definition for a SagaStateSucceeded.
type SamlIdentityProvider ¶
type SamlIdentityProvider struct {
// AcsUrl is service provider endpoint where the response will be sent
AcsUrl string `json:"acs_url,omitempty" yaml:"acs_url,omitempty"`
// Description is human-readable free-form text about a resource
Description string `json:"description,omitempty" yaml:"description,omitempty"`
// Id is unique, immutable, system-controlled identifier for each resource
Id string `json:"id,omitempty" yaml:"id,omitempty"`
// IdpEntityId is idp's entity id
IdpEntityId string `json:"idp_entity_id,omitempty" yaml:"idp_entity_id,omitempty"`
// Name is unique, mutable, user-controlled identifier for each resource
Name Name `json:"name,omitempty" yaml:"name,omitempty"`
// PublicCert is optional request signing public certificate (base64 encoded der file)
PublicCert string `json:"public_cert,omitempty" yaml:"public_cert,omitempty"`
// SloUrl is service provider endpoint where the idp should send log out requests
SloUrl string `json:"slo_url,omitempty" yaml:"slo_url,omitempty"`
// SpClientId is sp's client id
SpClientId string `json:"sp_client_id,omitempty" yaml:"sp_client_id,omitempty"`
// TechnicalContactEmail is customer's technical contact for saml configuration
TechnicalContactEmail string `json:"technical_contact_email,omitempty" yaml:"technical_contact_email,omitempty"`
// TimeCreated is timestamp when this resource was created
TimeCreated *time.Time `json:"time_created,omitempty" yaml:"time_created,omitempty"`
// TimeModified is timestamp when this resource was last modified
TimeModified *time.Time `json:"time_modified,omitempty" yaml:"time_modified,omitempty"`
}
SamlIdentityProvider is identity-related metadata that's included in nearly all public API objects
type SamlIdentityProviderCreate ¶
type SamlIdentityProviderCreate struct {
// AcsUrl is service provider endpoint where the response will be sent
AcsUrl string `json:"acs_url,omitempty" yaml:"acs_url,omitempty"`
Description string `json:"description,omitempty" yaml:"description,omitempty"`
// GroupAttributeName is if set, SAML attributes with this name will be considered to denote a user's group membership, where the attribute value(s) should be a comma-separated list of group names.
GroupAttributeName string `json:"group_attribute_name,omitempty" yaml:"group_attribute_name,omitempty"`
// IdpEntityId is idp's entity id
IdpEntityId string `json:"idp_entity_id,omitempty" yaml:"idp_entity_id,omitempty"`
// IdpMetadataSource is the source of an identity provider metadata descriptor
IdpMetadataSource IdpMetadataSource `json:"idp_metadata_source,omitempty" yaml:"idp_metadata_source,omitempty"`
// Name is names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.
Name Name `json:"name,omitempty" yaml:"name,omitempty"`
// SigningKeypair is optional request signing key pair
SigningKeypair DerEncodedKeyPair `json:"signing_keypair,omitempty" yaml:"signing_keypair,omitempty"`
// SloUrl is service provider endpoint where the idp should send log out requests
SloUrl string `json:"slo_url,omitempty" yaml:"slo_url,omitempty"`
// SpClientId is sp's client id
SpClientId string `json:"sp_client_id,omitempty" yaml:"sp_client_id,omitempty"`
// TechnicalContactEmail is customer's technical contact for saml configuration
TechnicalContactEmail string `json:"technical_contact_email,omitempty" yaml:"technical_contact_email,omitempty"`
}
SamlIdentityProviderCreate is create-time identity-related parameters
type Silo ¶
type Silo struct {
// Description is human-readable free-form text about a resource
Description string `json:"description,omitempty" yaml:"description,omitempty"`
// Discoverable is a silo where discoverable is false can be retrieved only by its id - it will not be part of the "list all silos" output.
Discoverable bool `json:"discoverable,omitempty" yaml:"discoverable,omitempty"`
// Id is unique, immutable, system-controlled identifier for each resource
Id string `json:"id,omitempty" yaml:"id,omitempty"`
// Name is unique, mutable, user-controlled identifier for each resource
Name Name `json:"name,omitempty" yaml:"name,omitempty"`
// TimeCreated is timestamp when this resource was created
TimeCreated *time.Time `json:"time_created,omitempty" yaml:"time_created,omitempty"`
// TimeModified is timestamp when this resource was last modified
TimeModified *time.Time `json:"time_modified,omitempty" yaml:"time_modified,omitempty"`
// UserProvisionType is user provision type
UserProvisionType UserProvisionType `json:"user_provision_type,omitempty" yaml:"user_provision_type,omitempty"`
}
Silo is client view of a ['Silo']
type SiloCreate ¶
type SiloCreate struct {
// AdminGroupName is if set, this group will be created during Silo creation and granted the "Silo Admin" role. Identity providers can assert that users belong to this group and those users can log in and further initialize the Silo.
//
// Note that if configuring a SAML based identity provider, group_attribute_name must be set for users to be considered part of a group. See [`SamlIdentityProviderCreate`] for more information.
AdminGroupName string `json:"admin_group_name,omitempty" yaml:"admin_group_name,omitempty"`
Description string `json:"description,omitempty" yaml:"description,omitempty"`
Discoverable bool `json:"discoverable,omitempty" yaml:"discoverable,omitempty"`
// Name is names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.
Name Name `json:"name,omitempty" yaml:"name,omitempty"`
// UserProvisionType is how users will be provisioned in a silo during authentication.
UserProvisionType UserProvisionType `json:"user_provision_type,omitempty" yaml:"user_provision_type,omitempty"`
}
SiloCreate is create-time parameters for a [`Silo`](crate::external_api::views::Silo)
type SiloResultsPage ¶
type SiloResultsPage struct {
// Items is list of items on this page of results
Items []Silo `json:"items,omitempty" yaml:"items,omitempty"`
// NextPage is token used to fetch the next page of results (if any)
NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty"`
}
SiloResultsPage is a single page of results
type SiloRole ¶
type SiloRole string
SiloRole is the type definition for a SiloRole.
const SiloRoleAdmin SiloRole = "admin"
SiloRoleAdmin represents the SiloRole `"admin"`.
const SiloRoleCollaborator SiloRole = "collaborator"
SiloRoleCollaborator represents the SiloRole `"collaborator"`.
const SiloRoleViewer SiloRole = "viewer"
SiloRoleViewer represents the SiloRole `"viewer"`.
type SiloRolePolicy ¶
type SiloRolePolicy struct {
// RoleAssignments is roles directly assigned on this resource
RoleAssignments []SiloRoleRoleAssignment `json:"role_assignments,omitempty" yaml:"role_assignments,omitempty"`
}
SiloRolePolicy is client view of a [`Policy`], which describes how this resource may be accessed
Note that the Policy only describes access granted explicitly for this resource. The policies of parent resources can also cause a user to have access to this resource.
type SiloRoleRoleAssignment ¶
type SiloRoleRoleAssignment struct {
IdentityId string `json:"identity_id,omitempty" yaml:"identity_id,omitempty"`
// IdentityType is describes what kind of identity is described by an id
IdentityType IdentityType `json:"identity_type,omitempty" yaml:"identity_type,omitempty"`
RoleName SiloRole `json:"role_name,omitempty" yaml:"role_name,omitempty"`
}
SiloRoleRoleAssignment is describes the assignment of a particular role on a particular resource to a particular identity (user, group, etc.)
The resource is not part of this structure. Rather, [`RoleAssignment`]s are put into a [`Policy`] and that Policy is applied to a particular resource.
type Sled ¶
type Sled struct {
// Id is unique, immutable, system-controlled identifier for each resource
Id string `json:"id,omitempty" yaml:"id,omitempty"`
ServiceAddress string `json:"service_address,omitempty" yaml:"service_address,omitempty"`
// TimeCreated is timestamp when this resource was created
TimeCreated *time.Time `json:"time_created,omitempty" yaml:"time_created,omitempty"`
// TimeModified is timestamp when this resource was last modified
TimeModified *time.Time `json:"time_modified,omitempty" yaml:"time_modified,omitempty"`
}
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"`
// NextPage is token used to fetch the next page of results (if any)
NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty"`
}
SledResultsPage is a single page of results
type Snapshot ¶
type Snapshot struct {
// Description is human-readable free-form text about a resource
Description string `json:"description,omitempty" yaml:"description,omitempty"`
DiskId string `json:"disk_id,omitempty" yaml:"disk_id,omitempty"`
// Id is unique, immutable, system-controlled identifier for each resource
Id string `json:"id,omitempty" yaml:"id,omitempty"`
// Name is unique, mutable, user-controlled identifier for each resource
Name Name `json:"name,omitempty" yaml:"name,omitempty"`
ProjectId string `json:"project_id,omitempty" yaml:"project_id,omitempty"`
// Size is 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"`
State SnapshotState `json:"state,omitempty" yaml:"state,omitempty"`
// TimeCreated is timestamp when this resource was created
TimeCreated *time.Time `json:"time_created,omitempty" yaml:"time_created,omitempty"`
// TimeModified is timestamp when this resource was last modified
TimeModified *time.Time `json:"time_modified,omitempty" yaml:"time_modified,omitempty"`
}
Snapshot is client view of a Snapshot
type SnapshotCreate ¶
type SnapshotCreate struct {
Description string `json:"description,omitempty" yaml:"description,omitempty"`
// Disk is the name of the disk to be snapshotted
Disk Name `json:"disk,omitempty" yaml:"disk,omitempty"`
// Name is names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.
Name Name `json:"name,omitempty" yaml:"name,omitempty"`
}
SnapshotCreate is create-time parameters for a [`Snapshot`](crate::external_api::views::Snapshot)
type SnapshotResultsPage ¶
type SnapshotResultsPage struct {
// Items is list of items on this page of results
Items []Snapshot `json:"items,omitempty" yaml:"items,omitempty"`
// NextPage is token used to fetch the next page of results (if any)
NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty"`
}
SnapshotResultsPage is a single page of results
type SnapshotState ¶
type SnapshotState string
SnapshotState is the type definition for a SnapshotState.
const SnapshotStateCreating SnapshotState = "creating"
SnapshotStateCreating represents the SnapshotState `"creating"`.
const SnapshotStateDestroyed SnapshotState = "destroyed"
SnapshotStateDestroyed represents the SnapshotState `"destroyed"`.
const SnapshotStateFaulted SnapshotState = "faulted"
SnapshotStateFaulted represents the SnapshotState `"faulted"`.
const SnapshotStateReady SnapshotState = "ready"
SnapshotStateReady represents the SnapshotState `"ready"`.
type SpoofLoginBody ¶
type SpoofLoginBody struct {
Username string `json:"username,omitempty" yaml:"username,omitempty"`
}
SpoofLoginBody is the type definition for a SpoofLoginBody.
type SshKey ¶
type SshKey struct {
// Description is human-readable free-form text about a resource
Description string `json:"description,omitempty" yaml:"description,omitempty"`
// Id is unique, immutable, system-controlled identifier for each resource
Id string `json:"id,omitempty" yaml:"id,omitempty"`
// Name is unique, mutable, user-controlled identifier for each resource
Name Name `json:"name,omitempty" yaml:"name,omitempty"`
// PublicKey is sSH public key, e.g., `"ssh-ed25519 AAAAC3NzaC..."`
PublicKey string `json:"public_key,omitempty" yaml:"public_key,omitempty"`
// SiloUserId is the user to whom this key belongs
SiloUserId string `json:"silo_user_id,omitempty" yaml:"silo_user_id,omitempty"`
// TimeCreated is timestamp when this resource was created
TimeCreated *time.Time `json:"time_created,omitempty" yaml:"time_created,omitempty"`
// TimeModified is timestamp when this resource was last modified
TimeModified *time.Time `json:"time_modified,omitempty" yaml:"time_modified,omitempty"`
}
SshKey is client view of a [`SshKey`]
type SshKeyCreate ¶
type SshKeyCreate struct {
Description string `json:"description,omitempty" yaml:"description,omitempty"`
// Name is names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.
Name Name `json:"name,omitempty" yaml:"name,omitempty"`
// PublicKey is sSH public key, e.g., `"ssh-ed25519 AAAAC3NzaC..."`
PublicKey string `json:"public_key,omitempty" yaml:"public_key,omitempty"`
}
SshKeyCreate is create-time parameters for an [`SshKey`](crate::external_api::views::SshKey)
type SshKeyResultsPage ¶
type SshKeyResultsPage struct {
// Items is list of items on this page of results
Items []SshKey `json:"items,omitempty" yaml:"items,omitempty"`
// NextPage is token used to fetch the next page of results (if any)
NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty"`
}
SshKeyResultsPage is a single page of results
type 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"`
// DatumType is the type of an individual datum of a metric.
DatumType DatumType `json:"datum_type,omitempty" yaml:"datum_type,omitempty"`
FieldSchema []FieldSchema `json:"field_schema,omitempty" yaml:"field_schema,omitempty"`
// 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"`
}
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"`
// NextPage is token used to fetch the next page of results (if any)
NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty"`
}
TimeseriesSchemaResultsPage is a single page of results
type User ¶
type User struct {
// DisplayName is human-readable name that can identify the user
DisplayName string `json:"display_name,omitempty" yaml:"display_name,omitempty"`
Id string `json:"id,omitempty" yaml:"id,omitempty"`
}
User is client view of a [`User`]
type UserBuiltin ¶
type UserBuiltin struct {
// Description is human-readable free-form text about a resource
Description string `json:"description,omitempty" yaml:"description,omitempty"`
// Id is unique, immutable, system-controlled identifier for each resource
Id string `json:"id,omitempty" yaml:"id,omitempty"`
// Name is unique, mutable, user-controlled identifier for each resource
Name Name `json:"name,omitempty" yaml:"name,omitempty"`
// TimeCreated is timestamp when this resource was created
TimeCreated *time.Time `json:"time_created,omitempty" yaml:"time_created,omitempty"`
// TimeModified is timestamp when this resource was last modified
TimeModified *time.Time `json:"time_modified,omitempty" yaml:"time_modified,omitempty"`
}
UserBuiltin is client view of a [`UserBuiltin`]
type UserBuiltinResultsPage ¶
type UserBuiltinResultsPage struct {
// Items is list of items on this page of results
Items []UserBuiltin `json:"items,omitempty" yaml:"items,omitempty"`
// NextPage is token used to fetch the next page of results (if any)
NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty"`
}
UserBuiltinResultsPage is a single page of results
type UserProvisionType ¶
type UserProvisionType string
UserProvisionType is how users will be provisioned in a silo during authentication.
const UserProvisionTypeFixed UserProvisionType = "fixed"
UserProvisionTypeFixed represents the UserProvisionType `"fixed"`.
const UserProvisionTypeJit UserProvisionType = "jit"
UserProvisionTypeJit represents the UserProvisionType `"jit"`.
type UserResultsPage ¶
type UserResultsPage struct {
// Items is list of items on this page of results
Items []User `json:"items,omitempty" yaml:"items,omitempty"`
// NextPage is token used to fetch the next page of results (if any)
NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty"`
}
UserResultsPage is a single page of results
type Vpc ¶
type Vpc struct {
// Description is human-readable free-form text about a resource
Description string `json:"description,omitempty" yaml:"description,omitempty"`
// DnsName is the name used for the VPC in DNS.
DnsName Name `json:"dns_name,omitempty" yaml:"dns_name,omitempty"`
// Id is unique, immutable, system-controlled identifier for each resource
Id string `json:"id,omitempty" yaml:"id,omitempty"`
// Ipv6Prefix is the unique local IPv6 address range for subnets in this VPC
Ipv6Prefix Ipv6Net `json:"ipv6_prefix,omitempty" yaml:"ipv6_prefix,omitempty"`
// Name is unique, mutable, user-controlled identifier for each resource
Name Name `json:"name,omitempty" yaml:"name,omitempty"`
// ProjectId is id for the project containing this VPC
ProjectId string `json:"project_id,omitempty" yaml:"project_id,omitempty"`
// SystemRouterId is id for the system router where subnet default routes are registered
SystemRouterId string `json:"system_router_id,omitempty" yaml:"system_router_id,omitempty"`
// TimeCreated is timestamp when this resource was created
TimeCreated *time.Time `json:"time_created,omitempty" yaml:"time_created,omitempty"`
// TimeModified is timestamp when this resource was last modified
TimeModified *time.Time `json:"time_modified,omitempty" yaml:"time_modified,omitempty"`
}
Vpc is client view of a [`Vpc`]
type VpcCreate ¶
type VpcCreate struct {
Description string `json:"description,omitempty" yaml:"description,omitempty"`
// DnsName is names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.
DnsName Name `json:"dns_name,omitempty" yaml:"dns_name,omitempty"`
// Ipv6Prefix is the IPv6 prefix for this VPC.
//
// All IPv6 subnets created from this VPC must be taken from this range, which 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"`
// Name is names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.
Name Name `json:"name,omitempty" yaml:"name,omitempty"`
}
VpcCreate is create-time parameters for a [`Vpc`](crate::external_api::views::Vpc)
type VpcFirewallRule ¶
type VpcFirewallRule struct {
// Action is whether traffic matching the rule should be allowed or dropped
Action VpcFirewallRuleAction `json:"action,omitempty" yaml:"action,omitempty"`
// Description is human-readable free-form text about a resource
Description string `json:"description,omitempty" yaml:"description,omitempty"`
// Direction is whether this rule is for incoming or outgoing traffic
Direction VpcFirewallRuleDirection `json:"direction,omitempty" yaml:"direction,omitempty"`
// Filters is reductions on the scope of the rule
Filters VpcFirewallRuleFilter `json:"filters,omitempty" yaml:"filters,omitempty"`
// Id is unique, immutable, system-controlled identifier for each resource
Id string `json:"id,omitempty" yaml:"id,omitempty"`
// Name is unique, mutable, user-controlled identifier for each resource
Name Name `json:"name,omitempty" yaml:"name,omitempty"`
// Priority is the relative priority of this rule
Priority int `json:"priority,omitempty" yaml:"priority,omitempty"`
// Status is whether this rule is in effect
Status VpcFirewallRuleStatus `json:"status,omitempty" yaml:"status,omitempty"`
// Targets is list of sets of instances that the rule applies to
Targets []VpcFirewallRuleTarget `json:"targets,omitempty" yaml:"targets,omitempty"`
// TimeCreated is timestamp when this resource was created
TimeCreated *time.Time `json:"time_created,omitempty" yaml:"time_created,omitempty"`
// TimeModified is timestamp when this resource was last modified
TimeModified *time.Time `json:"time_modified,omitempty" yaml:"time_modified,omitempty"`
// VpcId is the VPC to which this rule belongs
VpcId string `json:"vpc_id,omitempty" yaml:"vpc_id,omitempty"`
}
VpcFirewallRule is a single rule in a VPC firewall
type VpcFirewallRuleAction ¶
type VpcFirewallRuleAction string
VpcFirewallRuleAction is the type definition for a VpcFirewallRuleAction.
const VpcFirewallRuleActionAllow VpcFirewallRuleAction = "allow"
VpcFirewallRuleActionAllow represents the VpcFirewallRuleAction `"allow"`.
const VpcFirewallRuleActionDeny VpcFirewallRuleAction = "deny"
VpcFirewallRuleActionDeny represents the VpcFirewallRuleAction `"deny"`.
type VpcFirewallRuleDirection ¶
type VpcFirewallRuleDirection string
VpcFirewallRuleDirection is the type definition for a VpcFirewallRuleDirection.
const VpcFirewallRuleDirectionInbound VpcFirewallRuleDirection = "inbound"
VpcFirewallRuleDirectionInbound represents the VpcFirewallRuleDirection `"inbound"`.
const VpcFirewallRuleDirectionOutbound VpcFirewallRuleDirection = "outbound"
VpcFirewallRuleDirectionOutbound represents the VpcFirewallRuleDirection `"outbound"`.
type VpcFirewallRuleFilter ¶
type VpcFirewallRuleFilter struct {
// Hosts is if present, the sources (if incoming) or destinations (if outgoing) this rule applies to.
Hosts []VpcFirewallRuleHostFilter `json:"hosts,omitempty" yaml:"hosts,omitempty"`
// Ports is if present, the destination ports this rule applies to.
Ports []L4PortRange `json:"ports,omitempty" yaml:"ports,omitempty"`
// Protocols is if present, the networking protocols this rule applies to.
Protocols []VpcFirewallRuleProtocol `json:"protocols,omitempty" yaml:"protocols,omitempty"`
}
VpcFirewallRuleFilter is filter for a firewall rule. A given packet must match every field that is present for the rule to apply to it. A packet matches a field if any entry in that field matches the packet.
type VpcFirewallRuleHostFilter ¶
type VpcFirewallRuleHostFilter struct {
// Type is the type definition for a Type.
Type VpcFirewallRuleHostFilterType `json:"type,omitempty" yaml:"type,omitempty"`
// Value is names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.
Value Name `json:"value,omitempty" yaml:"value,omitempty"`
}
VpcFirewallRuleHostFilter is the `VpcFirewallRuleHostFilter` is used to filter traffic on the basis of its source or destination host.
type VpcFirewallRuleHostFilterInstance ¶
type VpcFirewallRuleHostFilterInstance struct {
Type VpcFirewallRuleHostFilterType `json:"type,omitempty" yaml:"type,omitempty"`
// Value is names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.
Value Name `json:"value,omitempty" yaml:"value,omitempty"`
}
VpcFirewallRuleHostFilterInstance is the rule applies to traffic from/to this specific instance
type VpcFirewallRuleHostFilterIp ¶
type VpcFirewallRuleHostFilterIp struct {
Type VpcFirewallRuleHostFilterType `json:"type,omitempty" yaml:"type,omitempty"`
Value string `json:"value,omitempty" yaml:"value,omitempty"`
}
VpcFirewallRuleHostFilterIp is the rule applies to traffic from/to a specific IP address
type VpcFirewallRuleHostFilterIpNet ¶
type VpcFirewallRuleHostFilterIpNet struct {
Type VpcFirewallRuleHostFilterType `json:"type,omitempty" yaml:"type,omitempty"`
Value IpNet `json:"value,omitempty" yaml:"value,omitempty"`
}
VpcFirewallRuleHostFilterIpNet is the rule applies to traffic from/to a specific IP subnet
type VpcFirewallRuleHostFilterSubnet ¶
type VpcFirewallRuleHostFilterSubnet struct {
Type VpcFirewallRuleHostFilterType `json:"type,omitempty" yaml:"type,omitempty"`
// Value is names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.
Value Name `json:"value,omitempty" yaml:"value,omitempty"`
}
VpcFirewallRuleHostFilterSubnet is the rule applies to traffic from/to all instances in the VPC Subnet
type VpcFirewallRuleHostFilterType ¶
type VpcFirewallRuleHostFilterType string
VpcFirewallRuleHostFilterType is the type definition for a VpcFirewallRuleHostFilterType.
const VpcFirewallRuleHostFilterTypeInstance VpcFirewallRuleHostFilterType = "instance"
VpcFirewallRuleHostFilterTypeInstance represents the VpcFirewallRuleHostFilterType `"instance"`.
const VpcFirewallRuleHostFilterTypeIp VpcFirewallRuleHostFilterType = "ip"
VpcFirewallRuleHostFilterTypeIp represents the VpcFirewallRuleHostFilterType `"ip"`.
const VpcFirewallRuleHostFilterTypeIpNet VpcFirewallRuleHostFilterType = "ip_net"
VpcFirewallRuleHostFilterTypeIpNet represents the VpcFirewallRuleHostFilterType `"ip_net"`.
const VpcFirewallRuleHostFilterTypeSubnet VpcFirewallRuleHostFilterType = "subnet"
VpcFirewallRuleHostFilterTypeSubnet represents the VpcFirewallRuleHostFilterType `"subnet"`.
const VpcFirewallRuleHostFilterTypeVpc VpcFirewallRuleHostFilterType = "vpc"
VpcFirewallRuleHostFilterTypeVpc represents the VpcFirewallRuleHostFilterType `"vpc"`.
type VpcFirewallRuleHostFilterVpc ¶
type VpcFirewallRuleHostFilterVpc struct {
Type VpcFirewallRuleHostFilterType `json:"type,omitempty" yaml:"type,omitempty"`
// Value is names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.
Value Name `json:"value,omitempty" yaml:"value,omitempty"`
}
VpcFirewallRuleHostFilterVpc is the rule applies to traffic from/to all instances in the VPC
type VpcFirewallRuleProtocol ¶
type VpcFirewallRuleProtocol string
VpcFirewallRuleProtocol is the protocols that may be specified in a firewall rule's filter
const VpcFirewallRuleProtocolICMP VpcFirewallRuleProtocol = "ICMP"
VpcFirewallRuleProtocolICMP represents the VpcFirewallRuleProtocol `"ICMP"`.
const VpcFirewallRuleProtocolTCP VpcFirewallRuleProtocol = "TCP"
VpcFirewallRuleProtocolTCP represents the VpcFirewallRuleProtocol `"TCP"`.
const VpcFirewallRuleProtocolUDP VpcFirewallRuleProtocol = "UDP"
VpcFirewallRuleProtocolUDP represents the VpcFirewallRuleProtocol `"UDP"`.
type VpcFirewallRuleStatus ¶
type VpcFirewallRuleStatus string
VpcFirewallRuleStatus is the type definition for a VpcFirewallRuleStatus.
const VpcFirewallRuleStatusDisabled VpcFirewallRuleStatus = "disabled"
VpcFirewallRuleStatusDisabled represents the VpcFirewallRuleStatus `"disabled"`.
const VpcFirewallRuleStatusEnabled VpcFirewallRuleStatus = "enabled"
VpcFirewallRuleStatusEnabled represents the VpcFirewallRuleStatus `"enabled"`.
type VpcFirewallRuleTarget ¶
type VpcFirewallRuleTarget struct {
// Type is the type definition for a Type.
Type VpcFirewallRuleTargetType `json:"type,omitempty" yaml:"type,omitempty"`
// Value is names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.
Value Name `json:"value,omitempty" yaml:"value,omitempty"`
}
VpcFirewallRuleTarget is a `VpcFirewallRuleTarget` is used to specify the set of [`Instance`]s to which a firewall rule applies.
type VpcFirewallRuleTargetInstance ¶
type VpcFirewallRuleTargetInstance struct {
Type VpcFirewallRuleTargetType `json:"type,omitempty" yaml:"type,omitempty"`
// Value is names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.
Value Name `json:"value,omitempty" yaml:"value,omitempty"`
}
VpcFirewallRuleTargetInstance is the rule applies to this specific instance
type VpcFirewallRuleTargetIp ¶
type VpcFirewallRuleTargetIp struct {
Type VpcFirewallRuleTargetType `json:"type,omitempty" yaml:"type,omitempty"`
Value string `json:"value,omitempty" yaml:"value,omitempty"`
}
VpcFirewallRuleTargetIp is the rule applies to a specific IP address
type VpcFirewallRuleTargetIpNet ¶
type VpcFirewallRuleTargetIpNet struct {
Type VpcFirewallRuleTargetType `json:"type,omitempty" yaml:"type,omitempty"`
Value IpNet `json:"value,omitempty" yaml:"value,omitempty"`
}
VpcFirewallRuleTargetIpNet is the rule applies to a specific IP subnet
type VpcFirewallRuleTargetSubnet ¶
type VpcFirewallRuleTargetSubnet struct {
Type VpcFirewallRuleTargetType `json:"type,omitempty" yaml:"type,omitempty"`
// Value is names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.
Value Name `json:"value,omitempty" yaml:"value,omitempty"`
}
VpcFirewallRuleTargetSubnet is the rule applies to all instances in the VPC Subnet
type VpcFirewallRuleTargetType ¶
type VpcFirewallRuleTargetType string
VpcFirewallRuleTargetType is the type definition for a VpcFirewallRuleTargetType.
const VpcFirewallRuleTargetTypeInstance VpcFirewallRuleTargetType = "instance"
VpcFirewallRuleTargetTypeInstance represents the VpcFirewallRuleTargetType `"instance"`.
const VpcFirewallRuleTargetTypeIp VpcFirewallRuleTargetType = "ip"
VpcFirewallRuleTargetTypeIp represents the VpcFirewallRuleTargetType `"ip"`.
const VpcFirewallRuleTargetTypeIpNet VpcFirewallRuleTargetType = "ip_net"
VpcFirewallRuleTargetTypeIpNet represents the VpcFirewallRuleTargetType `"ip_net"`.
const VpcFirewallRuleTargetTypeSubnet VpcFirewallRuleTargetType = "subnet"
VpcFirewallRuleTargetTypeSubnet represents the VpcFirewallRuleTargetType `"subnet"`.
const VpcFirewallRuleTargetTypeVpc VpcFirewallRuleTargetType = "vpc"
VpcFirewallRuleTargetTypeVpc represents the VpcFirewallRuleTargetType `"vpc"`.
type VpcFirewallRuleTargetVpc ¶
type VpcFirewallRuleTargetVpc struct {
Type VpcFirewallRuleTargetType `json:"type,omitempty" yaml:"type,omitempty"`
// Value is names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.
Value Name `json:"value,omitempty" yaml:"value,omitempty"`
}
VpcFirewallRuleTargetVpc is the rule applies to all instances in the VPC
type VpcFirewallRuleUpdate ¶
type VpcFirewallRuleUpdate struct {
// Action is whether traffic matching the rule should be allowed or dropped
Action VpcFirewallRuleAction `json:"action,omitempty" yaml:"action,omitempty"`
// Description is human-readable free-form text about a resource
Description string `json:"description,omitempty" yaml:"description,omitempty"`
// Direction is whether this rule is for incoming or outgoing traffic
Direction VpcFirewallRuleDirection `json:"direction,omitempty" yaml:"direction,omitempty"`
// Filters is reductions on the scope of the rule
Filters VpcFirewallRuleFilter `json:"filters,omitempty" yaml:"filters,omitempty"`
// Name is name of the rule, unique to this VPC
Name Name `json:"name,omitempty" yaml:"name,omitempty"`
// Priority is the relative priority of this rule
Priority int `json:"priority,omitempty" yaml:"priority,omitempty"`
// Status is whether this rule is in effect
Status VpcFirewallRuleStatus `json:"status,omitempty" yaml:"status,omitempty"`
// Targets is list of sets of instances that the rule applies to
Targets []VpcFirewallRuleTarget `json:"targets,omitempty" yaml:"targets,omitempty"`
}
VpcFirewallRuleUpdate is a single rule in a VPC firewall
type VpcFirewallRuleUpdateParams ¶
type VpcFirewallRuleUpdateParams struct {
Rules []VpcFirewallRuleUpdate `json:"rules,omitempty" yaml:"rules,omitempty"`
}
VpcFirewallRuleUpdateParams is updateable properties of a `Vpc`'s firewall Note that VpcFirewallRules are implicitly created along with a Vpc, so there is no explicit creation.
type VpcFirewallRules ¶
type VpcFirewallRules struct {
Rules []VpcFirewallRule `json:"rules,omitempty" yaml:"rules,omitempty"`
}
VpcFirewallRules is collection of a Vpc's firewall rules
type VpcResultsPage ¶
type VpcResultsPage struct {
// Items is list of items on this page of results
Items []Vpc `json:"items,omitempty" yaml:"items,omitempty"`
// NextPage is token used to fetch the next page of results (if any)
NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty"`
}
VpcResultsPage is a single page of results
type VpcRouter ¶
type VpcRouter struct {
// Description is human-readable free-form text about a resource
Description string `json:"description,omitempty" yaml:"description,omitempty"`
// Id is unique, immutable, system-controlled identifier for each resource
Id string `json:"id,omitempty" yaml:"id,omitempty"`
Kind VpcRouterKind `json:"kind,omitempty" yaml:"kind,omitempty"`
// Name is unique, mutable, user-controlled identifier for each resource
Name Name `json:"name,omitempty" yaml:"name,omitempty"`
// TimeCreated is timestamp when this resource was created
TimeCreated *time.Time `json:"time_created,omitempty" yaml:"time_created,omitempty"`
// TimeModified is timestamp when this resource was last modified
TimeModified *time.Time `json:"time_modified,omitempty" yaml:"time_modified,omitempty"`
// VpcId is the VPC to which the router belongs.
VpcId string `json:"vpc_id,omitempty" yaml:"vpc_id,omitempty"`
}
VpcRouter is a VPC router defines a series of rules that indicate where traffic should be sent depending on its destination.
type VpcRouterCreate ¶
type VpcRouterCreate struct {
Description string `json:"description,omitempty" yaml:"description,omitempty"`
// Name is names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.
Name Name `json:"name,omitempty" yaml:"name,omitempty"`
}
VpcRouterCreate is create-time parameters for a [`VpcRouter`](crate::external_api::views::VpcRouter)
type VpcRouterKind ¶
type VpcRouterKind string
VpcRouterKind is the type definition for a VpcRouterKind.
const VpcRouterKindCustom VpcRouterKind = "custom"
VpcRouterKindCustom represents the VpcRouterKind `"custom"`.
const VpcRouterKindSystem VpcRouterKind = "system"
VpcRouterKindSystem represents the VpcRouterKind `"system"`.
type VpcRouterResultsPage ¶
type VpcRouterResultsPage struct {
// Items is list of items on this page of results
Items []VpcRouter `json:"items,omitempty" yaml:"items,omitempty"`
// NextPage is token used to fetch the next page of results (if any)
NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty"`
}
VpcRouterResultsPage is a single page of results
type VpcRouterUpdate ¶
type VpcRouterUpdate struct {
Description string `json:"description,omitempty" yaml:"description,omitempty"`
Name Name `json:"name,omitempty" yaml:"name,omitempty"`
}
VpcRouterUpdate is updateable properties of a [`VpcRouter`](crate::external_api::views::VpcRouter)
type VpcSubnet ¶
type VpcSubnet struct {
// Description is human-readable free-form text about a resource
Description string `json:"description,omitempty" yaml:"description,omitempty"`
// Id is unique, immutable, system-controlled identifier for each resource
Id string `json:"id,omitempty" yaml:"id,omitempty"`
// Ipv4Block is the IPv4 subnet CIDR block.
Ipv4Block Ipv4Net `json:"ipv4_block,omitempty" yaml:"ipv4_block,omitempty"`
// Ipv6Block is the IPv6 subnet CIDR block.
Ipv6Block Ipv6Net `json:"ipv6_block,omitempty" yaml:"ipv6_block,omitempty"`
// Name is unique, mutable, user-controlled identifier for each resource
Name Name `json:"name,omitempty" yaml:"name,omitempty"`
// TimeCreated is timestamp when this resource was created
TimeCreated *time.Time `json:"time_created,omitempty" yaml:"time_created,omitempty"`
// TimeModified is timestamp when this resource was last modified
TimeModified *time.Time `json:"time_modified,omitempty" yaml:"time_modified,omitempty"`
// VpcId is the VPC to which the subnet belongs.
VpcId string `json:"vpc_id,omitempty" yaml:"vpc_id,omitempty"`
}
VpcSubnet is a VPC subnet represents a logical grouping for instances that allows network traffic between them, within a IPv4 subnetwork or optionall an IPv6 subnetwork.
type VpcSubnetCreate ¶
type VpcSubnetCreate struct {
Description string `json:"description,omitempty" yaml:"description,omitempty"`
// Ipv4Block is the IPv4 address range for this subnet.
//
// It must be allocated from an RFC 1918 private address range, and must not overlap with any other existing subnet in the VPC.
Ipv4Block Ipv4Net `json:"ipv4_block,omitempty" yaml:"ipv4_block,omitempty"`
// Ipv6Block is the IPv6 address range for this subnet.
//
// It must be allocated from the RFC 4193 Unique Local Address range, with the prefix equal to the parent VPC's prefix. A random `/64` block will be assigned if one is not provided. It must not overlap with any existing subnet in the VPC.
Ipv6Block Ipv6Net `json:"ipv6_block,omitempty" yaml:"ipv6_block,omitempty"`
// Name is names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.
Name Name `json:"name,omitempty" yaml:"name,omitempty"`
}
VpcSubnetCreate is create-time parameters for a [`VpcSubnet`](crate::external_api::views::VpcSubnet)
type VpcSubnetResultsPage ¶
type VpcSubnetResultsPage struct {
// Items is list of items on this page of results
Items []VpcSubnet `json:"items,omitempty" yaml:"items,omitempty"`
// NextPage is token used to fetch the next page of results (if any)
NextPage string `json:"next_page,omitempty" yaml:"next_page,omitempty"`
}
VpcSubnetResultsPage is a single page of results
type VpcSubnetUpdate ¶
type VpcSubnetUpdate struct {
Description string `json:"description,omitempty" yaml:"description,omitempty"`
Name Name `json:"name,omitempty" yaml:"name,omitempty"`
}
VpcSubnetUpdate is updateable properties of a [`VpcSubnet`](crate::external_api::views::VpcSubnet)
type VpcUpdate ¶
type VpcUpdate struct {
Description string `json:"description,omitempty" yaml:"description,omitempty"`
DnsName Name `json:"dns_name,omitempty" yaml:"dns_name,omitempty"`
Name Name `json:"name,omitempty" yaml:"name,omitempty"`
}
VpcUpdate is updateable properties of a [`Vpc`](crate::external_api::views::Vpc)