Documentation ¶
Index ¶
- func DefaultEndpoint() string
- type AnsibleBundle
- type Client
- func (c *Client) DriveArrayCreate(infrastructureID int, driveArray DriveArray) (*DriveArray, error)
- func (c *Client) DriveArrayCreateByLabel(infrastructureLabel string, driveArray DriveArray) (*DriveArray, error)
- func (c *Client) DriveArrayDelete(driveArrayID int) error
- func (c *Client) DriveArrayDeleteByLabel(driveArrayLabel string) error
- func (c *Client) DriveArrayEdit(driveArrayID int, driveArrayOperation DriveArrayOperation) (*DriveArray, error)
- func (c *Client) DriveArrayEditByLabel(driveArrayLabel string, driveArrayOperation DriveArrayOperation) (*DriveArray, error)
- func (c *Client) DriveArrayGet(driveArrayID int) (*DriveArray, error)
- func (c *Client) DriveArrayGetByLabel(driveArrayLabel string) (*DriveArray, error)
- func (c *Client) DriveArrays(infrastructureID int) (*map[string]DriveArray, error)
- func (c *Client) DriveArraysByLabel(infrastructureLabel string) (*map[string]DriveArray, error)
- func (c *Client) GetEndpoint() string
- func (c *Client) GetUserEmail() string
- func (c *Client) InfrastructureCreate(infrastructure Infrastructure) (*Infrastructure, error)
- func (c *Client) InfrastructureDelete(infrastructureID int) error
- func (c *Client) InfrastructureDeleteByLabel(infrastructureLabel string) error
- func (c *Client) InfrastructureDeploy(infrastructureID int, shutdownOptions ShutdownOptions, allowDataLoss bool, ...) error
- func (c *Client) InfrastructureDeployByLabel(infrastructureLabel string, shutdownOptions ShutdownOptions, ...) error
- func (c *Client) InfrastructureEdit(infrastructureID int, infrastructureOperation InfrastructureOperation) (*Infrastructure, error)
- func (c *Client) InfrastructureEditByLabel(infrastructureLabel string, infrastructureOperation InfrastructureOperation) (*Infrastructure, error)
- func (c *Client) InfrastructureGet(infrastructureID int) (*Infrastructure, error)
- func (c *Client) InfrastructureGetByLabel(infrastructureLabel string) (*Infrastructure, error)
- func (c *Client) InfrastructureOperationCancel(infrastructureID int) error
- func (c *Client) InfrastructureOperationCancelByLabel(infrastructureLabel string) error
- func (c *Client) InfrastructureUserLimits(infrastructureID int) (*map[string]interface{}, error)
- func (c *Client) InfrastructureUserLimitsByLabel(infrastructureLabel string) (*map[string]interface{}, error)
- func (c *Client) Infrastructures() (*map[string]Infrastructure, error)
- func (c *Client) InstanceArrayCreate(infrastructureID int, instanceArray InstanceArray) (*InstanceArray, error)
- func (c *Client) InstanceArrayCreateByLabel(infrastructureLabel string, instanceArray InstanceArray) (*InstanceArray, error)
- func (c *Client) InstanceArrayDelete(instanceArrayID int) error
- func (c *Client) InstanceArrayDeleteByLabel(instanceArrayLabel string) error
- func (c *Client) InstanceArrayEdit(instanceArrayID int, instanceArrayOperation InstanceArrayOperation, ...) (*InstanceArray, error)
- func (c *Client) InstanceArrayEditByLabel(instanceArrayLabel string, instanceArrayOperation InstanceArrayOperation, ...) (*InstanceArray, error)
- func (c *Client) InstanceArrayGet(instanceArrayID int) (*InstanceArray, error)
- func (c *Client) InstanceArrayGetByLabel(instanceArrayLabel string) (*InstanceArray, error)
- func (c *Client) InstanceArrayInstances(instanceArrayID int) (*map[string]Instance, error)
- func (c *Client) InstanceArrayInstancesByLabel(instanceArrayLabel string) (*map[string]Instance, error)
- func (c *Client) InstanceArrayInterfaceAttachNetwork(instanceArrayID int, instanceArrayInterfaceIndex int, networkID int) (*InstanceArray, error)
- func (c *Client) InstanceArrayInterfaceDetach(instanceArrayID int, instanceArrayInterfaceIndex int) (*InstanceArray, error)
- func (c *Client) InstanceArrays(infrastructureID int) (*map[string]InstanceArray, error)
- func (c *Client) InstanceArraysByLabel(infrastructureLabel string) (*map[string]InstanceArray, error)
- func (c *Client) InstanceGet(instanceID int) (*Instance, error)
- func (c *Client) InstanceGetByLabel(instanceLabel string) (*Instance, error)
- func (c *Client) NetworkCreate(infrastructureID int, network Network) (*Network, error)
- func (c *Client) NetworkCreateByLabel(infrastructureLabel string, network Network) (*Network, error)
- func (c *Client) NetworkDelete(networkID int) error
- func (c *Client) NetworkDeleteByLabel(networkLabel string) error
- func (c *Client) NetworkEdit(networkID int, networkOperation NetworkOperation) (*Network, error)
- func (c *Client) NetworkEditByLabel(networkLabel string, networkOperation NetworkOperation) (*Network, error)
- func (c *Client) NetworkGet(networkID int) (*Network, error)
- func (c *Client) NetworkGetByLabel(networkLabel string) (*Network, error)
- func (c *Client) NetworkJoin(networkID int, networkToBeDeletedID int) error
- func (c *Client) NetworkJoinByLabel(networkLabel string, networkToBeDeletedID int) error
- func (c *Client) Networks(infrastructureID int) (*map[string]Network, error)
- func (c *Client) NetworksByLabel(infrastructureLabel string) (*map[string]Network, error)
- func (c *Client) OSAssetCreate(osAsset OSAsset) (*OSAsset, error)
- func (c *Client) OSAssetDelete(osAssetID int) error
- func (c *Client) OSAssetGet(osAssetID int) (*OSAsset, error)
- func (c *Client) OSAssetUpdate(osAssetID int, osAsset OSAsset) (*OSAsset, error)
- func (c *Client) OSAssets() (*map[string]OSAsset, error)
- func (c *Client) OSTemplateAddOSAsset(osTemplateID int, osAssetID int, path string) error
- func (c *Client) OSTemplateCreate(osTemplate OSTemplate) (*OSTemplate, error)
- func (c *Client) OSTemplateDelete(osTemplateID int) error
- func (c *Client) OSTemplateGet(osTemplateID int, decryptPasswd bool) (*OSTemplate, error)
- func (c *Client) OSTemplateOSAssets(osTemplateID int) (*map[string]OSTemplate, error)
- func (c *Client) OSTemplateUpdate(osTemplateID int, osTemplate OSTemplate) (*OSTemplate, error)
- func (c *Client) OSTemplates() (*map[string]OSTemplate, error)
- func (c *Client) SecretCreate(secret Secret) (*Secret, error)
- func (c *Client) SecretDelete(secretID int) error
- func (c *Client) SecretGet(secretID int) (*Secret, error)
- func (c *Client) SecretUpdate(secretID int, secret Secret) (*Secret, error)
- func (c *Client) Secrets(usage string) (*map[string]Secret, error)
- func (c *Client) ServerGet(serverID int, decryptPasswd bool) (*Server, error)
- func (c *Client) ServerTypeDatacenter(datacenterName string) (*[]int, error)
- func (c *Client) ServerTypeGet(serverTypeID int) (*ServerType, error)
- func (c *Client) ServerTypeGetByLabel(serverTypeLabel string) (*ServerType, error)
- func (c *Client) ServerTypes(datacenterName string, bOnlyAvailable bool) (*map[int]ServerType, error)
- func (c *Client) ServerTypesMatchHardwareConfiguration(datacenterName string, hardwareConfiguration HardwareConfiguration) (*map[int]ServerType, error)
- func (c *Client) ServerTypesMatches(infrastructureID int, hardwareConfiguration HardwareConfiguration, ...) (*map[string]ServerType, error)
- func (c *Client) ServerTypesMatchesByLabel(infrastructureLabel string, hardwareConfiguration HardwareConfiguration, ...) (*map[string]ServerType, error)
- func (c *Client) ServersSearch(filter string) (*[]ServerSearchResult, error)
- func (c *Client) StageDefinitionCreate(stageDefinition StageDefinition) (*StageDefinition, error)
- func (c *Client) StageDefinitionDelete(stageDefinitionID int) error
- func (c *Client) StageDefinitionGet(stageDefinitionID int) (*StageDefinition, error)
- func (c *Client) StageDefinitionUpdate(stageDefinitionID int, stageDefinition StageDefinition) (*StageDefinition, error)
- func (c *Client) StageDefinitions() (*map[string]StageDefinition, error)
- func (c *Client) UserEmailToUserID(userEmail string) (*int, error)
- func (c *Client) UserGet(userID int) (*User, error)
- func (c *Client) UserGetByEmail(userLabel string) (*User, error)
- func (c *Client) VariableCreate(variable Variable) (*Variable, error)
- func (c *Client) VariableDelete(variableID int) error
- func (c *Client) VariableGet(variableID int) (*Variable, error)
- func (c *Client) VariableUpdate(variableID int, variable Variable) (*Variable, error)
- func (c *Client) Variables(usage string) (*map[string]Variable, error)
- func (c *Client) VolumeTemplateGet(volumeTemplateID int) (*VolumeTemplate, error)
- func (c *Client) VolumeTemplateGetByLabel(volumeTemplateLabel string) (*VolumeTemplate, error)
- func (c *Client) VolumeTemplates() (*map[string]VolumeTemplate, error)
- type DriveArray
- type DriveArrayOperation
- type FirewallRule
- type HTTPRequest
- type HardwareConfiguration
- type IDRAC
- type ILO
- type IP
- type IPMI
- type IPOperation
- type ISCSI
- type ISCSIInitiator
- type Infrastructure
- type InfrastructureOperation
- type Instance
- type InstanceArray
- type InstanceArrayInterface
- type InstanceArrayInterfaceOperation
- type InstanceArrayOperation
- type InstanceCredentials
- type InstanceInterface
- type InstanceInterfaceOperation
- type InstanceOperation
- type Network
- type NetworkOperation
- type OSAsset
- type OSTemplate
- type OSTemplateCredentials
- type OperatingSystem
- type RDP
- type RemoteConsole
- type SSH
- type SSHKey
- type SearchResultForServers
- type Secret
- type Server
- type ServerDisk
- type ServerInterface
- type ServerSearchResult
- type ServerType
- type ShutdownOptions
- type StageDefinition
- type User
- type Variable
- type VolumeTemplate
- type WebFetchAAPIOptions
- type WebFetchAPIRequestHeaders
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DefaultEndpoint ¶
func DefaultEndpoint() string
DefaultEndpoint returns the default Bigstep Metalcloud endpoint
Types ¶
type AnsibleBundle ¶ added in v1.0.8
type AnsibleBundle struct { AnsibleBundleArchiveFilename string `json:"ansible_bundle_archive_filename,omitempty"` AnsibleBundleArchiveContentsBase64 string `json:"ansible_bundle_archive_contents_base64,omitempty"` }
AnsibleBundle contains an Ansible project as a single archive file, usually .zip
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client sruct defines a metalcloud client
func GetMetalcloudClient ¶
func GetMetalcloudClient(user string, apiKey string, endpoint string, loggingEnabled bool) (*Client, error)
GetMetalcloudClient returns a metal cloud client
func (*Client) DriveArrayCreate ¶
func (c *Client) DriveArrayCreate(infrastructureID int, driveArray DriveArray) (*DriveArray, error)
DriveArrayCreate creates a drive array. Requires deploy.
func (*Client) DriveArrayCreateByLabel ¶ added in v1.0.2
func (c *Client) DriveArrayCreateByLabel(infrastructureLabel string, driveArray DriveArray) (*DriveArray, error)
DriveArrayCreateByLabel creates a drive array. Requires deploy.
func (*Client) DriveArrayDelete ¶
DriveArrayDelete deletes a Drive Array with specified id
func (*Client) DriveArrayDeleteByLabel ¶ added in v1.0.2
DriveArrayDeleteByLabel deletes a Drive Array with specified id
func (*Client) DriveArrayEdit ¶
func (c *Client) DriveArrayEdit(driveArrayID int, driveArrayOperation DriveArrayOperation) (*DriveArray, error)
DriveArrayEdit alters a deployed drive array. Requires deploy.
func (*Client) DriveArrayEditByLabel ¶ added in v1.0.2
func (c *Client) DriveArrayEditByLabel(driveArrayLabel string, driveArrayOperation DriveArrayOperation) (*DriveArray, error)
DriveArrayEditByLabel alters a deployed drive array. Requires deploy.
func (*Client) DriveArrayGet ¶
func (c *Client) DriveArrayGet(driveArrayID int) (*DriveArray, error)
DriveArrayGet retrieves a DriveArray object with specified ids
func (*Client) DriveArrayGetByLabel ¶ added in v1.0.2
func (c *Client) DriveArrayGetByLabel(driveArrayLabel string) (*DriveArray, error)
DriveArrayGetByLabel retrieves a DriveArray object with specified ids
func (*Client) DriveArrays ¶
func (c *Client) DriveArrays(infrastructureID int) (*map[string]DriveArray, error)
DriveArrays retrieves the list of drives arrays of an infrastructure
func (*Client) DriveArraysByLabel ¶ added in v1.0.2
func (c *Client) DriveArraysByLabel(infrastructureLabel string) (*map[string]DriveArray, error)
DriveArraysByLabel retrieves the list of drives arrays of an infrastructure
func (*Client) GetEndpoint ¶
GetEndpoint returns the endpoint configured for this connection
func (*Client) GetUserEmail ¶
GetUserEmail returns the user configured for this connection
func (*Client) InfrastructureCreate ¶
func (c *Client) InfrastructureCreate(infrastructure Infrastructure) (*Infrastructure, error)
InfrastructureCreate creates an infrastructure
func (*Client) InfrastructureDelete ¶
InfrastructureDelete deletes an infrastructure and all associated elements. Requires deploy
func (*Client) InfrastructureDeleteByLabel ¶ added in v1.0.2
InfrastructureDeleteByLabel deletes an infrastructure and all associated elements. Requires deploy
func (*Client) InfrastructureDeploy ¶
func (c *Client) InfrastructureDeploy(infrastructureID int, shutdownOptions ShutdownOptions, allowDataLoss bool, skipAnsible bool) error
InfrastructureDeploy initiates a deploy operation that will apply all registered changes for the respective infrastructure
func (*Client) InfrastructureDeployByLabel ¶ added in v1.0.2
func (c *Client) InfrastructureDeployByLabel(infrastructureLabel string, shutdownOptions ShutdownOptions, allowDataLoss bool, skipAnsible bool) error
InfrastructureDeployByLabel initiates a deploy operation that will apply all registered changes for the respective infrastructure
func (*Client) InfrastructureEdit ¶
func (c *Client) InfrastructureEdit(infrastructureID int, infrastructureOperation InfrastructureOperation) (*Infrastructure, error)
InfrastructureEdit alters an infrastructure
func (*Client) InfrastructureEditByLabel ¶ added in v1.0.2
func (c *Client) InfrastructureEditByLabel(infrastructureLabel string, infrastructureOperation InfrastructureOperation) (*Infrastructure, error)
InfrastructureEditByLabel alters an infrastructure
func (*Client) InfrastructureGet ¶
func (c *Client) InfrastructureGet(infrastructureID int) (*Infrastructure, error)
InfrastructureGet returns a specific infrastructure by id
func (*Client) InfrastructureGetByLabel ¶ added in v1.0.2
func (c *Client) InfrastructureGetByLabel(infrastructureLabel string) (*Infrastructure, error)
InfrastructureGetByLabel returns a specific infrastructure by id
func (*Client) InfrastructureOperationCancel ¶
InfrastructureOperationCancel reverts (undos) alterations done before deploy
func (*Client) InfrastructureOperationCancelByLabel ¶ added in v1.0.2
InfrastructureOperationCancelByLabel reverts (undos) alterations done before deploy
func (*Client) InfrastructureUserLimits ¶
InfrastructureUserLimits returns user metadata
func (*Client) InfrastructureUserLimitsByLabel ¶ added in v1.0.2
func (c *Client) InfrastructureUserLimitsByLabel(infrastructureLabel string) (*map[string]interface{}, error)
InfrastructureUserLimitsByLabel returns user metadata
func (*Client) Infrastructures ¶
func (c *Client) Infrastructures() (*map[string]Infrastructure, error)
Infrastructures returns a list of infrastructures
func (*Client) InstanceArrayCreate ¶
func (c *Client) InstanceArrayCreate(infrastructureID int, instanceArray InstanceArray) (*InstanceArray, error)
InstanceArrayCreate creates an instance array (colletion of identical instances). Requires Deploy.
func (*Client) InstanceArrayCreateByLabel ¶ added in v1.0.2
func (c *Client) InstanceArrayCreateByLabel(infrastructureLabel string, instanceArray InstanceArray) (*InstanceArray, error)
InstanceArrayCreateByLabel creates an instance array (colletion of identical instances). Requires Deploy.
func (*Client) InstanceArrayDelete ¶
InstanceArrayDelete deletes an instance array. Requires deploy.
func (*Client) InstanceArrayDeleteByLabel ¶ added in v1.0.2
InstanceArrayDeleteByLabel deletes an instance array. Requires deploy.
func (*Client) InstanceArrayEdit ¶
func (c *Client) InstanceArrayEdit(instanceArrayID int, instanceArrayOperation InstanceArrayOperation, bSwapExistingInstancesHardware *bool, bKeepDetachingDrives *bool, objServerTypeMatches *[]ServerType, arrInstancesToBeDeleted *[]int) (*InstanceArray, error)
InstanceArrayEdit alterns a deployed instance array. Requires deploy.
func (*Client) InstanceArrayEditByLabel ¶ added in v1.0.2
func (c *Client) InstanceArrayEditByLabel(instanceArrayLabel string, instanceArrayOperation InstanceArrayOperation, bSwapExistingInstancesHardware *bool, bKeepDetachingDrives *bool, objServerTypeMatches *[]ServerType, arrInstancesToBeDeleted *[]int) (*InstanceArray, error)
InstanceArrayEditByLabel alterns a deployed instance array. Requires deploy.
func (*Client) InstanceArrayGet ¶
func (c *Client) InstanceArrayGet(instanceArrayID int) (*InstanceArray, error)
InstanceArrayGet returns an InstanceArray with specified id
func (*Client) InstanceArrayGetByLabel ¶ added in v1.0.2
func (c *Client) InstanceArrayGetByLabel(instanceArrayLabel string) (*InstanceArray, error)
InstanceArrayGetByLabel returns an InstanceArray with specified id
func (*Client) InstanceArrayInstances ¶ added in v1.0.3
InstanceArrayInstances retrieves a list of all the Instance objects associated with a specified InstanceArray.
func (*Client) InstanceArrayInstancesByLabel ¶ added in v1.0.3
func (c *Client) InstanceArrayInstancesByLabel(instanceArrayLabel string) (*map[string]Instance, error)
InstanceArrayInstancesByLabel retrieves a list of all the Instance objects associated with a specified InstanceArray.
func (*Client) InstanceArrayInterfaceAttachNetwork ¶
func (c *Client) InstanceArrayInterfaceAttachNetwork(instanceArrayID int, instanceArrayInterfaceIndex int, networkID int) (*InstanceArray, error)
InstanceArrayInterfaceAttachNetwork attaches an InstanceArrayInterface to a Network
func (*Client) InstanceArrayInterfaceDetach ¶
func (c *Client) InstanceArrayInterfaceDetach(instanceArrayID int, instanceArrayInterfaceIndex int) (*InstanceArray, error)
InstanceArrayInterfaceDetach detaches an InstanceArrayInterface from any Network element that is attached to.
func (*Client) InstanceArrays ¶
func (c *Client) InstanceArrays(infrastructureID int) (*map[string]InstanceArray, error)
InstanceArrays returns list of instance arrays of specified infrastructure
func (*Client) InstanceArraysByLabel ¶ added in v1.0.2
func (c *Client) InstanceArraysByLabel(infrastructureLabel string) (*map[string]InstanceArray, error)
InstanceArraysByLabel returns list of instance arrays of specified infrastructure
func (*Client) InstanceGet ¶ added in v1.0.3
InstanceGet returns a specific instance by id
func (*Client) InstanceGetByLabel ¶ added in v1.0.3
InstanceGetByLabel returns a specific instance by id
func (*Client) NetworkCreate ¶
NetworkCreate creates a network
func (*Client) NetworkCreateByLabel ¶ added in v1.0.2
func (c *Client) NetworkCreateByLabel(infrastructureLabel string, network Network) (*Network, error)
NetworkCreateByLabel creates a network
func (*Client) NetworkDelete ¶
NetworkDelete deletes a network.
func (*Client) NetworkDeleteByLabel ¶ added in v1.0.2
NetworkDeleteByLabel deletes a network.
func (*Client) NetworkEdit ¶
func (c *Client) NetworkEdit(networkID int, networkOperation NetworkOperation) (*Network, error)
NetworkEdit applies a change to an existing network
func (*Client) NetworkEditByLabel ¶ added in v1.0.2
func (c *Client) NetworkEditByLabel(networkLabel string, networkOperation NetworkOperation) (*Network, error)
NetworkEditByLabel applies a change to an existing network
func (*Client) NetworkGet ¶
NetworkGet retrieves a network object
func (*Client) NetworkGetByLabel ¶ added in v1.0.2
NetworkGetByLabel retrieves a network object
func (*Client) NetworkJoin ¶
NetworkJoin merges two specified Network objects.
func (*Client) NetworkJoinByLabel ¶ added in v1.0.2
NetworkJoinByLabel merges two specified Network objects.
func (*Client) NetworksByLabel ¶ added in v1.0.2
NetworksByLabel returns a list of all network objects of an infrastructure
func (*Client) OSAssetCreate ¶ added in v1.0.4
OSAssetCreate creates a osAsset object
func (*Client) OSAssetDelete ¶ added in v1.0.4
OSAssetDelete permanently destroys a OSAsset.
func (*Client) OSAssetGet ¶ added in v1.0.4
OSAssetGet returns a OSAsset specified by nOSAssetID. The OSAsset's protected value is never returned.
func (*Client) OSAssetUpdate ¶ added in v1.0.4
OSAssetUpdate updates a osAsset
func (*Client) OSAssets ¶ added in v1.0.4
OSAssets retrieves a list of all the OSAsset objects which a specified User is allowed to see through ownership or delegation. The OSAsset objects never return the actual protected OSAsset value.
func (*Client) OSTemplateAddOSAsset ¶ added in v1.0.4
OSTemplateAddOSAsset returns the OSAssets assigned to an OSTemplate.
func (*Client) OSTemplateCreate ¶ added in v1.0.4
func (c *Client) OSTemplateCreate(osTemplate OSTemplate) (*OSTemplate, error)
OSTemplateCreate creates a osTemplate object
func (*Client) OSTemplateDelete ¶ added in v1.0.4
OSTemplateDelete permanently destroys a OSTemplate.
func (*Client) OSTemplateGet ¶ added in v1.0.4
func (c *Client) OSTemplateGet(osTemplateID int, decryptPasswd bool) (*OSTemplate, error)
OSTemplateGet returns a OSTemplate specified by nOSTemplateID. The OSTemplate's protected value is never returned.
func (*Client) OSTemplateOSAssets ¶ added in v1.0.4
func (c *Client) OSTemplateOSAssets(osTemplateID int) (*map[string]OSTemplate, error)
OSTemplateOSAssets returns the OSAssets assigned to an OSTemplate.
func (*Client) OSTemplateUpdate ¶ added in v1.0.4
func (c *Client) OSTemplateUpdate(osTemplateID int, osTemplate OSTemplate) (*OSTemplate, error)
OSTemplateUpdate updates a osTemplate
func (*Client) OSTemplates ¶ added in v1.0.4
func (c *Client) OSTemplates() (*map[string]OSTemplate, error)
OSTemplates retrieves a list of all the OSTemplate objects which a specified User is allowed to see through ownership or delegation. The OSTemplate objects never return the actual protected OSTemplate value.
func (*Client) SecretCreate ¶ added in v1.0.4
SecretCreate creates a secret
func (*Client) SecretDelete ¶ added in v1.0.4
SecretDelete Permanently destroys a Secret.
func (*Client) SecretGet ¶ added in v1.0.4
SecretGet returns a Secret specified by nSecretID. The secret's protected value is never returned.
func (*Client) SecretUpdate ¶ added in v1.0.4
SecretUpdate This function allows updating the secret_usage, secret_label and secret_base64 of a Secret
func (*Client) Secrets ¶ added in v1.0.4
Secrets retrieves a list of all the Secret objects which a specified User is allowed to see through ownership or delegation. The secret objects never return the actual protected secret value.
func (*Client) ServerTypeDatacenter ¶
ServerTypeDatacenter retrieves all the server type IDs for servers found in a specified Datacenter
func (*Client) ServerTypeGet ¶
func (c *Client) ServerTypeGet(serverTypeID int) (*ServerType, error)
ServerTypeGet retrieves a server type by id
func (*Client) ServerTypeGetByLabel ¶ added in v1.0.2
func (c *Client) ServerTypeGetByLabel(serverTypeLabel string) (*ServerType, error)
ServerTypeGetByLabel retrieves a server type by id
func (*Client) ServerTypes ¶
func (c *Client) ServerTypes(datacenterName string, bOnlyAvailable bool) (*map[int]ServerType, error)
ServerTypes retrieves all ServerType objects from the database.
func (*Client) ServerTypesMatchHardwareConfiguration ¶
func (c *Client) ServerTypesMatchHardwareConfiguration(datacenterName string, hardwareConfiguration HardwareConfiguration) (*map[int]ServerType, error)
ServerTypesMatchHardwareConfiguration Retrieves a list of server types that match the provided hardware configuration. The function does not check for availability, only compatibility, so physical servers associated with the returned server types might be unavailable.
func (*Client) ServerTypesMatches ¶
func (c *Client) ServerTypesMatches(infrastructureID int, hardwareConfiguration HardwareConfiguration, instanceArrayID *int, bAllowServerSwap bool) (*map[string]ServerType, error)
ServerTypesMatches matches available servers with a certain Instance's configuration, using the properties specified in the objHardwareConfiguration object, and returns the number of compatible servers for each server_type_id.
func (*Client) ServerTypesMatchesByLabel ¶ added in v1.0.2
func (c *Client) ServerTypesMatchesByLabel(infrastructureLabel string, hardwareConfiguration HardwareConfiguration, instanceArrayID *int, bAllowServerSwap bool) (*map[string]ServerType, error)
ServerTypesMatchesByLabel matches available servers with a certain Instance's configuration, using the properties specified in the objHardwareConfiguration object, and returns the number of compatible servers for each server_type_id.
func (*Client) ServersSearch ¶ added in v1.0.4
func (c *Client) ServersSearch(filter string) (*[]ServerSearchResult, error)
ServersSearch searches for servers matching certain filter
func (*Client) StageDefinitionCreate ¶ added in v1.0.8
func (c *Client) StageDefinitionCreate(stageDefinition StageDefinition) (*StageDefinition, error)
StageDefinitionCreate creates a stageDefinition
func (*Client) StageDefinitionDelete ¶ added in v1.0.8
StageDefinitionDelete Permanently destroys a StageDefinition.
func (*Client) StageDefinitionGet ¶ added in v1.0.8
func (c *Client) StageDefinitionGet(stageDefinitionID int) (*StageDefinition, error)
StageDefinitionGet returns a StageDefinition specified by nStageDefinitionID. The stageDefinition's protected value is never returned.
func (*Client) StageDefinitionUpdate ¶ added in v1.0.8
func (c *Client) StageDefinitionUpdate(stageDefinitionID int, stageDefinition StageDefinition) (*StageDefinition, error)
StageDefinitionUpdate This function allows updating the stageDefinition_usage, stageDefinition_label and stageDefinition_base64 of a StageDefinition
func (*Client) StageDefinitions ¶ added in v1.0.8
func (c *Client) StageDefinitions() (*map[string]StageDefinition, error)
StageDefinitions retrieves a list of all the StageDefinition objects which a specified User is allowed to see through ownership or delegation. The stageDefinition objects never return the actual protected stageDefinition value.
func (*Client) UserEmailToUserID ¶ added in v1.0.4
UserEmailToUserID returns the user id of an user given an email
func (*Client) UserGetByEmail ¶ added in v1.0.4
UserGetByEmail describes returns user account specifications.
func (*Client) VariableCreate ¶ added in v1.0.4
VariableCreate creates a variable object
func (*Client) VariableDelete ¶ added in v1.0.4
VariableDelete permanently destroys a Variable.
func (*Client) VariableGet ¶ added in v1.0.4
VariableGet returns a Variable specified by nVariableID. The Variable's protected value is never returned.
func (*Client) VariableUpdate ¶ added in v1.0.4
VariableUpdate updates a variable
func (*Client) Variables ¶ added in v1.0.4
Variables retrieves a list of all the Variable objects which a specified User is allowed to see through ownership or delegation. The Variable objects never return the actual protected Variable value.
func (*Client) VolumeTemplateGet ¶
func (c *Client) VolumeTemplateGet(volumeTemplateID int) (*VolumeTemplate, error)
VolumeTemplateGet returns the specified volume template
func (*Client) VolumeTemplateGetByLabel ¶ added in v1.0.2
func (c *Client) VolumeTemplateGetByLabel(volumeTemplateLabel string) (*VolumeTemplate, error)
VolumeTemplateGetByLabel returns the specified volume template
func (*Client) VolumeTemplates ¶
func (c *Client) VolumeTemplates() (*map[string]VolumeTemplate, error)
VolumeTemplates retrives the list of available templates
type DriveArray ¶
type DriveArray struct { DriveArrayID int `json:"drive_array_id,omitempty"` DriveArrayLabel string `json:"drive_array_label,omitempty"` VolumeTemplateID int `json:"volume_template_id,omitempty"` DriveArrayStorageType string `json:"drive_array_storage_type,omitempty"` DriveSizeMBytesDefault int `json:"drive_size_mbytes_default,omitempty"` InstanceArrayID int `json:"instance_array_id,omitempty"` InfrastructureID int `json:"infrastructure_id,omitempty"` DriveArrayServiceStatus string `json:"drive_array_service_status,omitempty"` DriveArrayCount int `json:"drive_array_count,omitempty"` DriveArrayExpandWithInstanceArray bool `json:"drive_array_expand_with_instance_array,omitempty"` DriveArrayOperation *DriveArrayOperation `json:"drive_array_operation,omitempty"` }
DriveArray represents a collection of identical drives
type DriveArrayOperation ¶
type DriveArrayOperation struct { DriveArrayID int `json:"drive_array_id,omitempty"` DriveArrayLabel string `json:"drive_array_label,omitempty"` VolumeTemplateID int `json:"volume_template_id,omitempty"` DriveArrayStorageType string `json:"drive_array_storage_type,omitempty"` DriveSizeMBytesDefault int `json:"drive_size_mbytes_default,omitempty"` InstanceArrayID int `json:"instance_array_id,omitempty"` InfrastructureID int `json:"infrastructure_id,omitempty"` DriveArrayCount int `json:"drive_array_count,omitempty"` DriveArrayExpandWithInstanceArray bool `json:"drive_array_expand_with_instance_array,omitempty"` DriveArrayDeployType string `json:"drive_array_deploy_type,omitempty"` DriveArrayDeployStatus string `json:"drive_array_deploy_status,omitempty"` DriveArrayChangeID int `json:"drive_array_change_id,omitempty"` }
DriveArrayOperation defines changes to be applied to a DriveArray
type FirewallRule ¶
type FirewallRule struct { FirewallRuleDescription string `json:"firewall_rule_description,omitempty"` FirewallRulePortRangeStart int `json:"firewall_rule_port_range_start,omitempty"` FirewallRulePortRangeEnd int `json:"firewall_rule_port_range_end,omitempty"` FirewallRuleSourceIPAddressRangeStart string `json:"firewall_rule_source_ip_address_range_start,omitempty"` FirewallRuleSourceIPAddressRangeEnd string `json:"firewall_rule_source_ip_address_range_end,omitempty"` FirewallRuleDestinationIPAddressRangeStart string `json:"firewall_rule_destination_ip_address_range_start,omitempty"` FirewallRuleDestinationIPAddressRangeEnd string `json:"firewall_rule_destination_ip_address_range_end,omitempty"` FirewallRuleProtocol string `json:"firewall_rule_protocol,omitempty"` FirewallRuleIPAddressType string `json:"firewall_rule_ip_address_type,omitempty"` FirewallRuleEnabled bool `json:"firewall_rule_enabled,omitempty"` }
FirewallRule describes a firewall rule that is to be applied on all instances of an array
type HTTPRequest ¶ added in v1.0.8
type HTTPRequest struct { URL string `json:"url,omitempty"` Options WebFetchAAPIOptions `json:"options,omitempty"` }
HTTPRequest represents an HTTP request definition compatible with the standard Web Fetch API.
type HardwareConfiguration ¶
type HardwareConfiguration struct { InstanceArrayRAMGbytes int `json:"instance_array_ram_gbytes,omitempty"` InstanceArrayProcessorCount int `json:"instance_array_processor_count,omitempty"` InstanceArrayProcessorCoreMHZ int `json:"instance_array_processor_core_mhz,omitempty"` InstanceArrayProcessorCoreCount int `json:"instance_array_processor_core_count,omitempty"` InstanceArrayDiskCount int `json:"instance_array_disk_count,omitempty"` InstanceArrayDiskSizeMBytes int `json:"instance_array_disk_size_mbytes,omitempty"` InstanceArrayTotalMhz int `json:"instance_array_total_mhz,omitempty"` InstanceArrayDiskTypes []string `json:"instance_array_disk_types,omitempty"` InstanceArrayInstanceCount int `json:"instance_array_instance_count,omitempty"` }
HardwareConfiguration holds the desired hardware configuration when trying to find available servers for provisioning.
type IDRAC ¶ added in v1.0.3
type IDRAC struct { ControlPanelURL string `json:"control_panel_url,omitempty"` Username string `json:"username,omitempty"` InitialPassword string `json:"initial_password,omitempty"` }
IDRAC control panel credentials.
type ILO ¶ added in v1.0.3
type ILO struct { ControlPanelURL string `json:"control_panel_url,omitempty"` Username string `json:"username,omitempty"` InitialPassword string `json:"initial_password,omitempty"` }
ILO control panel credentials
type IP ¶ added in v1.0.3
type IP struct { IPID int `json:"ip_id,omitempty"` IPType string `json:"ip_type,omitempty"` IPHumanReadable string `json:"ip_human_readable,omitempty"` IPHex string `json:"ip_hex,omitempty"` IPLeaseExpires string `json:"ip_lease_expires,omitempty"` IPOperation IPOperation `json:"ip_operation,omitempty"` SubnetID int `json:"subnet_id,omitempty"` SubnetDestination string `json:"subnet_destination,omitempty"` SubnetGatewayHumanReadable string `json:"subnet_gateway_human_readable,omitempty"` SubnetNetmaskHumanReadable string `json:"subnet_netmask_human_readable,omitempty"` InstanceInterfaceID int `json:"instance_interface_id,omitempty"` IPChangeID int `json:"ip_change_id,omitempty"` }
IP object contains information regarding an IP address.
type IPMI ¶ added in v1.0.3
type IPMI struct { IPAddress string `json:"ip_address,omitempty"` Version string `json:"version,omitempty"` Username string `json:"username,omitempty"` InitialPassword string `json:"initial_password,omitempty"` }
IPMI credentials.
type IPOperation ¶ added in v1.0.3
type IPOperation struct { InstanceInterfaceID int `json:"instance_interface_id,omitempty"` IPDeployStatus string `json:"ip_deploy_status,omitempty"` IPDeployType string `json:"ip_deploy_type,omitempty"` IPID int `json:"ip_id,omitempty"` IPType string `json:"ip_type,omitempty"` IPHumanReadable string `json:"ip_human_readable,omitempty"` IPHex string `json:"ip_hex,omitempty"` IPLabel string `json:"ip_label,omitempty"` IPSubdomain string `json:"ip_subdomain,omitempty"` IPLeaseExpires string `json:"ip_lease_expires,omitempty"` IPUpdatedTimestamp string `json:"ip_updated_timestamp,omitempty"` SubnetID int `json:"subnet_id,omitempty"` IPChangeID int `json:"ip_change_id,omitempty"` }
IPOperation contains information regarding the changes that are to be made to a product. Edit and deploy functions have to be called in order to apply the changes. The operation type and status are unique to each operation object.
type ISCSI ¶ added in v1.0.3
type ISCSI struct { TargetIQN string `json:"target_iqn,omitempty"` StorageIPAddress string `json:"storage_ip_address,omitempty"` StoragePort int `json:"storage_port,omitempty"` LunID int `json:"lun_id,omitempty"` }
ISCSI provides target IQN, IP address, port number and the LUN ID.
type ISCSIInitiator ¶ added in v1.0.3
type ISCSIInitiator struct { Username string `json:"username,omitempty"` Password string `json:"password,omitempty"` InitiatorIQN string `json:"initiator_iqn,omitempty"` Gateway string `json:"gateway,omitempty"` Netmask string `json:"netmask,omitempty"` InitiatorIPAddress string `json:"initiator_ip_address,omitempty"` }
ISCSIInitiator provides initiator IQN, username and password and other iSCSI connection details.
type Infrastructure ¶
type Infrastructure struct { InfrastructureID int `json:"infrastructure_id,omitempty"` InfrastructureLabel string `json:"infrastructure_label"` DatacenterName string `json:"datacenter_name"` InfrastructureSubdomain string `json:"infrastructure_subdomain,omitempty"` UserIDowner int `json:"user_id_owner,omitempty"` UserEmailOwner string `json:"user_email_owner,omitempty"` InfrastructureTouchUnixtime string `json:"infrastructure_touch_unixtime,omitempty"` InfrastructureServiceStatus string `json:"infrastructure_service_status,omitempty"` InfrastructureCreatedTimestamp string `json:"infrastructure_created_timestamp,omitempty"` InfrastructureUpdatedTimestamp string `json:"infrastructure_updated_timestamp,omitempty"` InfrastructureChangeID int `json:"infrastructure_change_id,omitempty"` InfrastructureDeployID int `json:"infrastructure_deploy_id,omitempty"` InfrastructureDesignIsLocked bool `json:"infrastructure_design_is_locked,omitempty"` InfrastructureOperation InfrastructureOperation `json:"infrastructure_operation,omitempty"` }
Infrastructure - the main infrastructure object
type InfrastructureOperation ¶
type InfrastructureOperation struct { InfrastructureID int `json:"infrastructure_id,omitempty"` InfrastructureLabel string `json:"infrastructure_label"` DatacenterName string `json:"datacenter_name"` InfrastructureDeployStatus string `json:"infrastructure_deploy_status,omitempty"` InfrastructureDeployType string `json:"infrastructure_deploy_type,omitempty"` InfrastructureSubdomain string `json:"infrastructure_subdomain,omitempty"` UserIDOwner int `json:"user_id_owner,omitempty"` InfrastructureUpdatedTimestamp string `json:"infrastructure_updated_timestamp,omitempty"` InfrastructureChangeID int `json:"infrastructure_change_id,omitempty"` InfrastructureDeployID int `json:"infrastructure_deploy_id,omitempty"` }
InfrastructureOperation - object with alternations to be applied
type Instance ¶ added in v1.0.3
type Instance struct { InstanceID int `json:"instance_id,omitempty"` InstanceLabel string `json:"instance_label,omitempty"` InstanceSubdomain string `json:"instance_subdomain,omitempty"` InstanceSubdomainPermanent string `json:"instance_subdomain_permanent,omitempty"` InstanceArrayID int `json:"instance_array_id,omitempty"` ServerID int `json:"server_id,omitempty"` ServerTypeID int `json:"server_type_id,omitempty"` InstanceServiceStatus string `json:"instance_service_status,omitempty"` InstanceCredentials InstanceCredentials `json:"instance_credentials,omitempty"` InstanceOperation InstanceOperation `json:"instance_operation,omitempty"` InstanceInterfaces []InstanceInterface `json:"instance_interfaces,omitempty"` InstanceCreatedTimestamp string `json:"instance_created_timestamp,omitempty"` InstanceUpdatedTimestamp string `json:"instance_updated_timestamp,omitempty"` DriveIDBootable int `json:"drive_id_bootable,omitempty"` InstanceChangeID int `json:"instance_change_id,omitempty"` TemplateIDOrigin int `json:"template_id_origin,omitempty"` }
Instance object describes an instance
type InstanceArray ¶
type InstanceArray struct { InstanceArrayID int `json:"instance_array_id,omitempty"` InstanceArrayLabel string `json:"instance_array_label,omitempty"` InstanceArraySubdomain string `json:"instance_array_subdomain,omitempty"` InstanceArrayBootMethod string `json:"instance_array_boot_method,omitempty"` InstanceArrayInstanceCount int `json:"instance_array_instance_count,omitempty"` InstanceArrayRAMGbytes int `json:"instance_array_ram_gbytes,omitempty"` InstanceArrayProcessorCount int `json:"instance_array_processor_count,omitempty"` InstanceArrayProcessorCoreMHZ int `json:"instance_array_processor_core_mhz,omitempty"` InstanceArrayProcessorCoreCount int `json:"instance_array_processor_core_count,omitempty"` InstanceArrayDiskCount int `json:"instance_array_disk_count,omitempty"` InstanceArrayDiskSizeMBytes int `json:"instance_array_disk_size_mbytes,omitempty"` InstanceArrayDiskTypes []string `json:"instance_array_disk_types,omitempty"` InfrastructureID int `json:"infrastructure_id,omitempty"` InstanceArrayServiceStatus string `json:"instance_array_service_status,omitempty"` InstanceArrayInterfaces []InstanceArrayInterface `json:"instance_array_interfaces,omitempty"` ClusterID int `json:"cluster_id,omitempty"` ClusterRoleGroup string `json:"cluster_role_group,omitempty"` InstanceArrayFirewallManaged bool `json:"instance_array_firewall_managed,omitempty"` InstanceArrayFirewallRules []FirewallRule `json:"instance_array_firewall_rules,omitempty"` VolumeTemplateID int `json:"volume_template_id,omitempty"` InstanceArrayOperation *InstanceArrayOperation `json:"instance_array_operation,omitempty"` }
InstanceArray object describes a collection of identical instances
type InstanceArrayInterface ¶
type InstanceArrayInterface struct { InstanceArrayInterfaceLabel string `json:"instance_array_interface_label,omitempty"` InstanceArrayInterfaceSubdomain string `json:"instance_array_interface_subdomain,omitempty"` InstanceArrayInterfaceID int `json:"instance_array_interface_id,omitempty"` InstanceArrayID int `json:"instance_array_id,omitempty"` NetworkID int `json:"network_id,omitempty"` InstanceArrayInterfaceLAGGIndexes []interface{} `json:"instance_array_interface_lagg_indexes,omitempty"` InstanceArrayInterfaceIndex int `json:"instance_array_interface_index,omitempty"` InstanceArrayInterfaceServiceStatus string `json:"instance_array_interface_service_status,omitempty"` InstanceArrayInterfaceCreatedTimestamp string `json:"instance_array_interface_created_timestamp,omitempty"` InstanceArrayInterfaceUpdatedTimestamp string `json:"instance_array_interface_updated_timestamp,omitempty"` InstanceArrayInterfaceOperation *InstanceArrayInterfaceOperation `json:"instance_array_interface_operation,omitempty"` }
InstanceArrayInterface describes a network interface of the array. It's properties will be applied to all InstanceInterfaces of the array's instances.
type InstanceArrayInterfaceOperation ¶
type InstanceArrayInterfaceOperation struct { InstanceArrayInterfaceLabel string `json:"instance_array_interface_label,omitempty"` InstanceArrayInterfaceSubdomain string `json:"instance_array_interface_subdomain,omitempty"` InstanceArrayInterfaceID int `json:"instance_array_interface_id,omitempty"` InstanceArrayID int `json:"instance_array_id,omitempty"` NetworkID int `json:"network_id,omitempty"` InstanceArrayInterfaceLAGGIndexes []interface{} `json:"instance_array_interface_lagg_indexes,omitempty"` InstanceArrayInterfaceIndex int `json:"instance_array_interface_index,omitempty"` InstanceArrayInterfaceServiceStatus string `json:"instance_array_interface_service_status,omitempty"` InstanceArrayInterfaceCreatedTimestamp string `json:"instance_array_interface_created_timestamp,omitempty"` InstanceArrayInterfaceUpdatedTimestamp string `json:"instance_array_interface_updated_timestamp,omitempty"` InstanceArrayInterfaceChangeID int `json:"instance_array_interface_change_id,omitempty"` }
InstanceArrayInterfaceOperation describes changes to a network array interface
type InstanceArrayOperation ¶
type InstanceArrayOperation struct { InstanceArrayID int `json:"instance_array_id,omitempty"` InstanceArrayLabel string `json:"instance_array_label,omitempty"` InstanceArraySubdomain string `json:"instance_array_subdomain,omitempty"` InstanceArrayBootMethod string `json:"instance_array_boot_method,omitempty"` InstanceArrayInstanceCount int `json:"instance_array_instance_count,omitempty"` InstanceArrayRAMGbytes int `json:"instance_array_ram_gbytes,omitempty"` InstanceArrayProcessorCount int `json:"instance_array_processor_count,omitempty"` InstanceArrayProcessorCoreMHZ int `json:"instance_array_processor_core_mhz,omitempty"` InstanceArrayProcessorCoreCount int `json:"instance_array_processor_core_count,omitempty"` InstanceArrayDiskCount int `json:"instance_array_disk_count,omitempty"` InstanceArrayDiskSizeMBytes int `json:"instance_array_disk_size_mbytes,omitempty"` InstanceArrayDiskTypes []string `json:"instance_array_disk_types,omitempty"` InstanceArrayServiceStatus string `json:"instance_array_service_status,omitempty"` InstanceArrayInterfaces []InstanceArrayInterfaceOperation `json:"instance_array_interfaces,omitempty"` ClusterID int `json:"cluster_id,omitempty"` ClusterRoleGroup string `json:"cluster_role_group,omitempty"` InstanceArrayFirewallManaged bool `json:"instance_array_firewall_managed,omitempty"` InstanceArrayFirewallRules []FirewallRule `json:"instance_array_firewall_rules,omitempty"` VolumeTemplateID int `json:"volume_template_id,omitempty"` InstanceArrayDeployType string `json:"instance_array_deploy_type,omitempty"` InstanceArrayDeployStatus string `json:"instance_array_deploy_status,omitempty"` InstanceArrayChangeID int `json:"instance_array_change_id,omitempty"` }
InstanceArrayOperation object describes the changes that will be applied to an instance array
type InstanceCredentials ¶ added in v1.0.3
type InstanceCredentials struct { SSH *SSH `json:"ssh,omitempty"` RDP *RDP `json:"rdp,omitempty"` IPMI *IPMI `json:"ipmi,omitempty"` ILO *ILO `json:"ilo,omitempty"` IDRAC *IDRAC `json:"idrac,omitempty"` ISCSI *ISCSIInitiator `json:"iscsi,omitempty"` RemoteConsole *RemoteConsole `json:"remote_console,omitempty"` IPAddressesPublic []IP `json:"ip_addresses_public,omitempty"` IPAddressesPrivate []IP `json:"ip_addresses_private,omitempty"` }
InstanceCredentials contains information needed to connect to the server via IPMI, iLO etc.
type InstanceInterface ¶ added in v1.0.3
type InstanceInterface struct { InstanceInterfaceLabel string `json:"instance_interface_label,omitempty"` InstanceInterfaceSubdomain string `json:"instance_interface_subdomain,omitempty"` InstanceInterfaceID int `json:"instance_interface_id,omitempty"` InstanceID int `json:"instance_id,omitempty"` NetworkID int `json:"network_id,omitempty"` InstanceInterfaceLaggIndexes []int `json:"instance_interface_lagg_indexes,omitempty"` InstanceInterfaceIndex int `json:"instance_interface_index,omitempty"` InstanceInterfaceCapacityMbps int `json:"instance_interface_capacity_mbps,omitempty"` InstanceInterfaceServiceStatus string `json:"instance_interface_service_status,omitempty"` ServerInterface ServerInterface `json:"server_interface,omitempty"` InstanceInterfaceOperation InstanceInterfaceOperation `json:"instance_interface_operation,omitempty"` InstanceInterfaceIPs []IP `json:"instance_interface_ips,omitempty"` InstanceInterfaceChangeID int `json:"instance_interface_change_id,omitempty"` }
InstanceInterface objects are created automatically when instances are created. Subnets are added on networks and then IP addresses are associated automatically or manually through the API to instance interfaces.
type InstanceInterfaceOperation ¶ added in v1.0.3
type InstanceInterfaceOperation struct { InstanceInterfaceLabel string `json:"instance_interface_label,omitempty"` InstanceInterfaceSubdomain string `json:"instance_interface_subdomain,omitempty"` InstanceInterfaceDeployStatus string `json:"instance_interface_deploy_status,omitempty"` InstanceInterfaceDeployType string `json:"instance_interface_deploy_type,omitempty"` InstanceInterfaceID int `json:"instance_interface_id,omitempty"` InstanceID int `json:"instance_id,omitempty"` NetworkID int `json:"network_id,omitempty"` InstanceInterfaceLaggIndexes []int `json:"instance_interface_lagg_indexes,omitempty"` InstanceInterfaceIndex int `json:"instance_interface_index,omitempty"` InstanceInterfaceCapacityMbps int `json:"instance_interface_capacity_mbps,omitempty"` InstanceInterfaceChangeID int `json:"instance_interface_change_id,omitempty"` }
InstanceInterfaceOperation objects are created automatically when instances are created. Subnets are added on networks and then IP addresses are associated automatically or manually through the API to instance interfaces.
type InstanceOperation ¶ added in v1.0.3
type InstanceOperation struct { InstanceID int `json:"instance_id,omitempty"` InstanceDeployType string `json:"instance_deploy_type,omitempty"` InstanceDeployStatus string `json:"instance_deploy_status,omitempty"` InstanceLabel string `json:"instance_label,omitempty"` InstanceSubdomain string `json:"instance_subdomain,omitempty"` InstanceSubdomainPermanent string `json:"instance_subdomain_permanent,omitempty"` InstanceArrayID int `json:"instance_array_id,omitempty"` ServerID int `json:"server_id,omitempty"` ServerTypeID int `json:"server_type_id,omitempty"` InstanceChangeID int `json:"instance_change_id,omitempty"` TemplateIDOrigin int `json:"template_id_origin,omitempty"` }
InstanceOperation contains information regarding the changes that are to be made to a product. Edit and deploy functions have to be called in order to apply the changes. The operation type and status are unique to each operation object.
type Network ¶
type Network struct { NetworkID int `json:"network_id,omitempty"` NetworkLabel string `json:"network_label,omitempty"` NetworkSubdomain string `json:"network_subdomain,omitempty"` NetworkType string `json:"network_type,omitempty"` InfrastructureID int `json:"infrastructure_id,omitempty"` NetworkCreatedTimestamp string `json:"network_created_timestamp,omitempty"` NetworkUpdatedTimestamp string `json:"network_updated_timestamp,omitempty"` NetworkLANAutoAllocateIPs bool `json:"network_lan_autoallocate_ips,omitempty"` NetworkOperation *NetworkOperation `json:"network_operation,omitempty"` }
Network object describes an high level connection construct
type NetworkOperation ¶
type NetworkOperation struct { NetworkID int `json:"network_id,omitempty"` NetworkLabel string `json:"network_label,omitempty"` NetworkSubdomain string `json:"network_subdomain,omitempty"` NetworkType string `json:"network_type,omitempty"` InfrastructureID int `json:"infrastructure_id,omitempty"` NetworkLANAutoAllocateIPs bool `json:"network_lan_autoallocate_ips,omitempty"` NetworkDeployType string `json:"network_deploy_type,omitempty"` NetworkChangeID int `json:"network_change_id,omitempty"` }
NetworkOperation object describes the change(s) required to be applied to a Network
type OSAsset ¶ added in v1.0.4
type OSAsset struct { OSAssetID int `json:"os_asset_id,omitempty"` UserIDOwner int `json:"user_id_owner,omitempty"` UserIDAuthenticated int `json:"user_id_authenticated,omitempty"` OSAssetISPublic bool `json:"os_asset_is_public,omitempty"` OSAssetFileName string `json:"os_asset_filename,omitempty"` OSAssetFileSizeBytes int `json:"os_asset_file_size_bytes,omitempty"` OSAssetFileMime string `json:"os_asset_file_mime,omitempty"` OSAssetContentsBase64 string `json:"os_asset_contents_base64,omitempty"` OSAssetContentsSHA256Hex string `json:"os_asset_contents_sha256_hex,omitempty"` OSAssetUsage string `json:"os_asset_usage,omitempty"` OSAssetSourceURL string `json:"os_asset_source_url,omitempty"` OSAssetCreatedTimestamp string `json:"os_asset_created_timestamp,omitempty"` OSAssetUpdatedTimestamp string `json:"os_asset_updated_timestamp,omitempty"` }
OSAsset struct defines a server type
type OSTemplate ¶ added in v1.0.4
type OSTemplate struct { VolumeTemplateID int `json:"volume_template_id,omitempty"` VolumeTemplateLabel string `json:"volume_template_label,omitempty"` VolumeTemplateDisplayName string `json:"volume_template_display_name,omitempty"` VolumeTemplateSizeMBytes int `json:"volume_template_size_mbytes,omitempty"` VolumeTemplateLocalDiskSupported bool `json:"volume_template_local_disk_supported,omitempty"` VolumeTemplateIsOSTemplate bool `json:"volume_template_is_os_template,omitempty"` VolumeTemplateBootMethodsSupported string `json:"volume_template_boot_methods_supported,omitempty"` VolumeTemplateBootType string `json:"volume_template_boot_type,omitempty"` VolumeTemplateDescription string `json:"volume_template_description,omitempty"` VolumeTemplateCreatedTimestamp string `json:"volume_template_created_timestamp,omitempty"` VolumeTemplateUpdatedTimestamp string `json:"volume_template_updated_timestamp,omitempty"` UserID int `json:"user_id,omitempty"` VolumeTemplateOperatingSystem *OperatingSystem `json:"volume_template_operating_system,omitempty"` VolumeTemplateRepoURL string `json:"volume_template_repo_url,omitempty"` VolumeTemplateDeprecationStatus string `json:"volume_template_deprecation_status,omitempty"` OSTemplateCredentials *OSTemplateCredentials `json:"os_template_credentials,omitempty"` VolumeTemplateTags []string `json:"volume_template_tags,omitempty"` OSTemplateArchitecture string `json:"os_template_architecture,omitempty"` OSAssetIDBootloaderLocalInstall int `json:"os_asset_id_bootloader_local_install,omitempty"` OSAssetIDBootloaderOSBoot int `json:"os_asset_id_bootloader_os_boot,omitempty"` }
OSTemplate A template can be created based on a drive and it has the same characteristics and holds the same information as the parent drive.
type OSTemplateCredentials ¶ added in v1.0.4
type OSTemplateCredentials struct { InitialUser string `json:"initial_user,omitempty"` InitialPasswordEncrypted string `json:"initial_password_encrypted,omitempty"` InitialPassword string `json:"initial_password,omitempty"` InitialSSHPort int `json:"initial_ssh_port,omitempty"` ChangePasswordAfterDeploy bool `json:"change_password_after_deploy,omitempty"` }
OSTemplateCredentials holds information needed to connect to an OS installed by an OSTemplate.
type OperatingSystem ¶
type OperatingSystem struct { OperatingSystemType string `json:"operating_system_type,omitempty"` OperatingSystemVersion string `json:"operating_system_version,omitempty"` OperatingSystemArchitecture string `json:"operating_system_architecture,omitempty"` }
OperatingSystem describes an OS
type RDP ¶ added in v1.0.3
type RDP struct { Port int `json:"port,omitempty"` Username string `json:"username,omitempty"` InitialPassword string `json:"initial_password,omitempty"` }
RDP credentials for the installed OS.
type RemoteConsole ¶ added in v1.0.3
type RemoteConsole struct { RemoteProtocol string `json:"remote_protocol,omitempty"` TunnelPathURL string `json:"tunnel_path_url,omitempty"` RemoteControlPanelURL string `json:"remote_control_panel_url,omitempty"` }
RemoteConsole provides credentials needed to connect to the server via the HTML interface
type SSH ¶ added in v1.0.3
type SSH struct { Port int `json:"port,omitempty"` Username string `json:"username,omitempty"` InitialPassword string `json:"initial_password,omitempty"` InitialSSHKeys *SSHKey `json:"initial_ssh_keys,omitempty"` }
SSH credentials for the installed OS.
type SSHKey ¶ added in v1.0.3
type SSHKey struct { UserSSHKeyID int `json:"user_ssh_key_id,omitempty"` UserID int `json:"user_id,omitempty"` UserSSHKey string `json:"user_ssh_key,omitempty"` UserSSHKeyCreatedTimeStamp string `json:"user_ssh_key_created_timestamp,omitempty"` UserSSHKeyStatus string `json:"user_ssh_key_status,omitempty"` }
SSHKey represents an SSH key added by a user
type SearchResultForServers ¶ added in v1.0.4
type SearchResultForServers struct { DurationMilliseconds int `json:"duration_millisecnds,omitempty"` Rows []ServerSearchResult `json:"rows,omitempty"` RowsOrder [][]string `json:"rows_order,omitempty"` RowsTotal int `json:"rows_total,omitempty"` }
SearchResultForServers describes a serach result
type Secret ¶ added in v1.0.4
type Secret struct { SecretID int `json:"secret_id,omitempty"` UserIDOwner int `json:"user_id_owner,omitempty"` UserIDAuthenticated int `json:"user_id_authenticated,omitempty"` SecretName string `json:"secret_name,omitempty"` SecretUsage string `json:"secret_usage,omitempty"` SecretBase64 string `json:"secret_base64,omitempty"` SecretCreatedTimestamp string `json:"secret_created_timestamp,omitempty"` SecretUpdatedTimestamp string `json:"secret_updated_timestamp,omitempty"` }
Secret struct defines a server type
type Server ¶ added in v1.0.4
type Server struct { ServerID int `json:"server_id,omitempty"` ServerUUID string `json:"server_uuid,omitempty"` ServerNetworkTotalCapacityMbps int `json:"server_network_total_capacity_mbps,omitempty"` ServerPowerStatus string `json:"server_power_status,omitempty"` ServerProcessorCoreCount int `json:"server_processor_core_count,omitempty"` ServerProcessorCoreMhz int `json:"server_processor_core_mhz,omitempty"` ServerProcessorCount int `json:"server_processor_count,omitempty"` ServerRAMGbytes int `json:"server_ram_gbytes,omitempty"` ServerDiskCount int `json:"server_disk_count,omitempty"` ServerDiskSizeMbytes int `json:"server_disk_size_mbytes,omitempty"` ServerDiskType string `json:"server_disk_type,omitempty"` ServerProcessorName string `json:"server_processor_name,omitempty"` ServerProductName string `json:"server_product_name,omitempty"` ServerTypeID int `json:"server_type_id,omitempty"` ServerInterfaces []ServerInterface `json:"server_interfaces,omitempty"` ServerDisks []ServerDisk `json:"server_disks,omitempty"` ServerTags []string `json:"server_tags,omitempty"` ServerIPMIHost string `json:"server_ipmi_host,omitempty"` ServerIPMInternalUsername string `json:"server_ipmi_internal_username,omitempty"` ServerIPMInternalPassword string `json:"server_ipmi_internal_password,omitempty"` ServerStatus string `json:"server_status,omitempty"` ServerSerialNumber string `json:"server_serial_number,omitempty"` ServerVendor string `json:"server_vendor,omitempty"` ServerVendorSKUID string `json:"server_vendor_sku_id,omitempty"` ServerComments string `json:"server_comments,omitempty"` DatacenterName string `json:"datacenter_name,omitempty"` }
Server represents a server in a datacenter.
type ServerDisk ¶ added in v1.0.4
type ServerDisk struct { ServerDiskType string `json:"server_disk_type,omitempty"` ServerDiskSizeGB string `json:"server_disk_size_gb,omitempty"` }
ServerDisk describes a disk
type ServerInterface ¶ added in v1.0.3
type ServerInterface struct {
ServerInterfaceMACAddress string `json:"server_interface_mac_address,omitempty"`
}
ServerInterface contains server connectivity information.
type ServerSearchResult ¶ added in v1.0.4
type ServerSearchResult struct { ServerID int `json:"server_id,omitempty"` ServerUUID string `json:"server_uuid,omitempty"` ServerNetworkTotalCapacityMbps int `json:"server_network_total_capacity_mbps,omitempty"` ServerPowerStatus string `json:"server_power_status,omitempty"` ServerProcessorCoreCount int `json:"server_processor_core_count,omitempty"` ServerProcessorCoreMhz int `json:"server_processor_core_mhz,omitempty"` ServerProcessorCount int `json:"server_processor_count,omitempty"` ServerRAMGbytes int `json:"server_ram_gbytes,omitempty"` ServerDiskCount int `json:"server_disk_count,omitempty"` ServerDiskSizeMbytes int `json:"server_disk_size_mbytes,omitempty"` ServerDiskType string `json:"server_disk_type,omitempty"` ServerProcessorName string `json:"server_processor_name,omitempty"` ServerProductName string `json:"server_product_name,omitempty"` ServerTypeID int `json:"server_type_id,omitempty"` ServerTypeName string `json:"server_type_name,omitempty"` ServerTypeBootType string `json:"server_type_boot_type,omitempty"` ServerInterfaces []ServerInterface `json:"server_interfaces,omitempty"` ServerDisks []ServerDisk `json:"server_disks,omitempty"` ServerTags []string `json:"server_tags,omitempty"` ServerIPMIHost string `json:"server_ipmi_host,omitempty"` ServerIPMInternalUsername string `json:"server_ipmi_internal_username,omitempty"` ServerIPMInternalPasswordEncrypted string `json:"server_ipmi_internal_password_encrypted,omitempty"` ServerStatus string `json:"server_status,omitempty"` ServerSerialNumber string `json:"server_serial_number,omitempty"` ServerVendor string `json:"server_vendor,omitempty"` ServerVendorSKUID string `json:"server_vendor_sku_id,omitempty"` ServerComments string `json:"server_comments,omitempty"` InstanceLabel string `json:"instance_label,omitempty"` InstanceID int `json:"instance_id,omitempty"` InstanceArrayID int `json:"instance_array_id,omitempty"` InfrastructureID int `json:"infrastructure_id,omitempty"` DatacenterName string `json:"datacenter_name,omitempty"` }
ServerSearchResult represents a server in a datacenter.
type ServerType ¶
type ServerType struct { ServerTypeID int `json:"server_type_id,omitempty"` ServerNetworkTotalCapacityMBps int `json:"server_network_total_capacity_mbps,omitempty"` ServerTypeName string `json:"server_type_name,omitempty"` ServerTypeDisplayName string `json:"server_type_display_name,omitempty"` ServerTypeLabel string `json:"server_type_label,omitempty"` ServerProcessorCoreCount int `json:"server_processor_core_count,omitempty"` ServerProcessorCoreMHz int `json:"server_processor_core_mhz,omitempty"` ServerProcessorCount int `json:"server_processor_count,omitempty"` ServerRAMGbytes int `json:"server_ram_gbytes,omitempty"` ServerDiskCount int `json:"server_disk_count,omitempty"` ServerDiskType string `json:"server_disk_type,omitempty"` ServerDiskSizeMBytes int `json:"server_disk_size_mbytes,omitempty"` ServerProcessorNamesJSON string `json:"server_processor_names_json,omitempty"` ServerProcessorName string `json:"server_processor_name,omitempty"` ServerClass string `json:"server_class,omitempty"` ServerTypeIsExperimental bool `json:"server_type_is_experimental,omitempty"` ServerCount int `json:"server_count,omitempty"` }
ServerType struct defines a server type
type ShutdownOptions ¶
type ShutdownOptions struct { HardShutdownAfterTimeout bool `json:"hard_shutdown_after_timeout"` AttemptSoftShutdown bool `json:"attempt_soft_shutdown"` SoftShutdownTimeoutSeconds int `json:"soft_shutdown_timeout_seconds"` }
ShutdownOptions controls how the deploy engine handles running instances
type StageDefinition ¶ added in v1.0.8
type StageDefinition struct { StageDefinitionID int `json:"stage_definition_id,omitempty"` UserIDOwner int `json:"user_id_owner,omitempty"` UserIDAuthenticated int `json:"user_id_authenticated,omitempty"` StageDefinitionLabel string `json:"stage_definition_label,omitempty"` IconAssetDataURI string `json:"icon_asset_data_uri,omitempty"` StageDefinitionTitle string `json:"stage_definition_title,omitempty"` StageDefinitionDescription string `json:"stage_definition_description,omitempty"` StageDefinitionType string `json:"stage_definition_type,omitempty"` StageDefinitionVariablesNamesRequired []string `json:"stage_definition_variable_names_required,omitempty"` StageDefinition interface{} `json:"stage_definition,omitempty"` StageDefinitionCreatedTimestamp string `json:"stage_definition_created_timestamp,omitempty"` StageDefinitionUpdatedTimestamp string `json:"stage_definition_updated_timestamp,omitempty"` }
StageDefinition contains a JavaScript file, HTTP request url and options, an AnsibleBundle or an API call template.
func (*StageDefinition) UnmarshalJSON ¶ added in v1.0.8
func (s *StageDefinition) UnmarshalJSON(b []byte) error
UnmarshalJSON custom json marshaling
type User ¶ added in v1.0.4
type User struct { UserID int `json:"user_id,omitempty"` UserDisplayName string `json:"user_display_name,omitempty"` UserEmail string `json:"user_email,omitempty"` }
User describes user account specifications.
type Variable ¶ added in v1.0.4
type Variable struct { VariableID int `json:"variable_id,omitempty"` UserIDOwner int `json:"user_id_owner,omitempty"` UserIDAuthenticated int `json:"user_id_authenticated,omitempty"` VariableName string `json:"variable_name,omitempty"` VariableUsage string `json:"variable_usage,omitempty"` VariableJSON string `json:"variable_json,omitempty"` VariableCreatedTimestamp string `json:"variable_created_timestamp,omitempty"` VariableUpdatedTimestamp string `json:"variable_updated_timestamp,omitempty"` }
Variable struct defines a Variable type
type VolumeTemplate ¶
type VolumeTemplate struct { VolumeTemplateID int `json:"volume_template_id,omitempty"` VolumeTemplateLabel string `json:"volume_template_label,omitempty"` VolumeTemplateSizeMBytes int `json:"volume_template_size_mbytes,omitempty"` VolumeTemplateDisplayName string `json:"volume_template_display_name,omitempty"` VolumeTemplateDescription string `json:"volume_template_description,omitempty"` VolumeTemplateLocalDiskSupported bool `json:"volume_template_local_supported,omitempty"` VolumeTemplateBootMethodsSupported string `json:"volume_template_boot_methods_supported,omitempty"` VolumeTemplateDeprecationStatus string `json:"volume_template_deprecation_status,omitempty"` VolumeTemplateRepoURL string `json:"volume_template_repo_url,omitempty"` VolumeTemplateOperatingSystem OperatingSystem `json:"volume_template_operating_system,omitempty"` }
VolumeTemplate describes an OS template
type WebFetchAAPIOptions ¶ added in v1.0.8
type WebFetchAAPIOptions struct { Method string `json:"method,omitempty"` Redirect string `json:"redirect,omitempty"` Follow int `json:"follow,omitempty"` Compress bool `json:"compress,omitempty"` Timeout int `json:"timeout,omitempty"` Size int `json:"size,omitempty"` Headers WebFetchAPIRequestHeaders `json:"headers,omitempty"` Body string `json:"body,omitempty"` BodyBufferBase64 string `json:"bodyBufferBase64,omitempty"` }
WebFetchAAPIOptions represents node-fetch options which is follows the Web API Fetch specification. See https://github.com/node-fetch/node-fetch
type WebFetchAPIRequestHeaders ¶ added in v1.0.8
type WebFetchAPIRequestHeaders struct { Accept string `json:"Accept,omitempty"` UserAgent string `json:"User-Agent,omitempty"` ContentType string `json:"Content-Type,omitempty"` Cookie string `json:"Cookie,omitempty"` Authorization string `json:"Authorization,omitempty"` ProxyAuthorization string `json:"Proxy-Authorization,omitempty"` ContentMD5 string `json:"Content-MD5,omitempty"` }
WebFetchAPIRequestHeaders HTTP request headers. null means undefined (the default for most) so the header will not be included with the request.
Source Files ¶
- drive_array.go
- drive_array_exports.go
- id.go
- infrastructure.go
- infrastructure_exports.go
- instance.go
- instance_array.go
- instance_array_exports.go
- instance_exports.go
- metalcloud_client.go
- network.go
- network_exports.go
- os_asset.go
- os_template.go
- secret.go
- server.go
- server_type.go
- server_type_exports.go
- stage_definition.go
- user.go
- variable.go
- volume_template.go
- volume_template_exports.go