request

package
v8.11.0 Latest Latest
Warning

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

Go to latest
Published: Oct 23, 2024 License: MIT Imports: 7 Imported by: 1

Documentation

Index

Examples

Constants

View Source
const (
	PageSizeMax       int = 100
	PageResultMaxSize int = 1000
)
View Source
const (
	PasswordDeliveryNone  = "none"
	PasswordDeliveryEmail = "email"
	PasswordDeliverySMS   = "sms"

	ServerStopTypeSoft = "soft"
	ServerStopTypeHard = "hard"

	RestartTimeoutActionDestroy = "destroy"
	RestartTimeoutActionIgnore  = "ignore"

	CreateServerStorageDeviceActionCreate = "create"
	CreateServerStorageDeviceActionClone  = "clone"
	CreateServerStorageDeviceActionAttach = "attach"
)

Constants

Variables

View Source
var DefaultPage = &Page{Number: 1, Size: PageSizeMax}

Functions

func NewLoadBalancerBodySizeRangeMatcher

func NewLoadBalancerBodySizeRangeMatcher(start, end int) upcloud.LoadBalancerMatcher

func NewLoadBalancerCookieMatcher

func NewLoadBalancerCookieMatcher(m upcloud.LoadBalancerStringMatcherMethod, name, value string, ignoreCase *bool) upcloud.LoadBalancerMatcher

func NewLoadBalancerHTTPRedirectAction

func NewLoadBalancerHTTPRedirectAction(location string) upcloud.LoadBalancerAction

func NewLoadBalancerHTTPReturnAction

func NewLoadBalancerHTTPReturnAction(statusCode int, contentType, payload string) upcloud.LoadBalancerAction

func NewLoadBalancerHTTPStatusMatcher added in v8.11.0

func NewLoadBalancerHTTPStatusMatcher(m upcloud.LoadBalancerIntegerMatcherMethod, status int) upcloud.LoadBalancerMatcher

func NewLoadBalancerHTTPStatusRangeMatcher added in v8.11.0

func NewLoadBalancerHTTPStatusRangeMatcher(start, end int) upcloud.LoadBalancerMatcher

func NewLoadBalancerHeaderMatcher deprecated

func NewLoadBalancerHeaderMatcher(m upcloud.LoadBalancerStringMatcherMethod, name, value string, ignoreCase *bool) upcloud.LoadBalancerMatcher

Deprecated: Use NewLoadBalancerRequestHeaderMatcher instead

func NewLoadBalancerHostMatcher

func NewLoadBalancerHostMatcher(host string) upcloud.LoadBalancerMatcher

func NewLoadBalancerInverseMatcher

func NewLoadBalancerInverseMatcher(m upcloud.LoadBalancerMatcher) upcloud.LoadBalancerMatcher

NewLoadBalancerInverseMatcher helper converts matcher to inverse matcher.

Usage: inverseIPMatch := NewLoadBalancerInverseMatcher(NewLoadBalancerSrcIPMatcher("127.0.0.2"))

func NewLoadBalancerPathMatcher

func NewLoadBalancerPathMatcher(m upcloud.LoadBalancerStringMatcherMethod, path string, ignoreCase *bool) upcloud.LoadBalancerMatcher

func NewLoadBalancerRequestHeaderMatcher added in v8.11.0

func NewLoadBalancerRequestHeaderMatcher(m upcloud.LoadBalancerStringMatcherMethod, name, value string, ignoreCase *bool) upcloud.LoadBalancerMatcher

func NewLoadBalancerResponseHeaderMatcher added in v8.11.0

func NewLoadBalancerResponseHeaderMatcher(m upcloud.LoadBalancerStringMatcherMethod, name, value string, ignoreCase *bool) upcloud.LoadBalancerMatcher

func NewLoadBalancerSetForwardedHeadersAction

func NewLoadBalancerSetForwardedHeadersAction() upcloud.LoadBalancerAction

func NewLoadBalancerSetRequestHeaderAction added in v8.11.0

func NewLoadBalancerSetRequestHeaderAction(header, value string) upcloud.LoadBalancerAction

func NewLoadBalancerSetResponseHeaderAction added in v8.11.0

func NewLoadBalancerSetResponseHeaderAction(header, value string) upcloud.LoadBalancerAction

func NewLoadBalancerSrcIPMatcher

func NewLoadBalancerSrcIPMatcher(IP string) upcloud.LoadBalancerMatcher

func NewLoadBalancerSrcPortRangeMatcher

func NewLoadBalancerSrcPortRangeMatcher(start, end int) upcloud.LoadBalancerMatcher

func NewLoadBalancerTCPRejectAction

func NewLoadBalancerTCPRejectAction() upcloud.LoadBalancerAction

func NewLoadBalancerURLParamMatcher

func NewLoadBalancerURLParamMatcher(m upcloud.LoadBalancerStringMatcherMethod, name, value string, ignoreCase *bool) upcloud.LoadBalancerMatcher

func NewLoadBalancerURLQueryMatcher

func NewLoadBalancerURLQueryMatcher(m upcloud.LoadBalancerStringMatcherMethod, query string, ignoreCase *bool) upcloud.LoadBalancerMatcher

func NewLoadBalancerUseBackendAction

func NewLoadBalancerUseBackendAction(name string) upcloud.LoadBalancerAction

Types

type AddServerToServerGroupRequest

type AddServerToServerGroupRequest struct {
	ServerUUID string `json:"uuid,omitempty"`
	UUID       string `json:"-"`
}

AddServerToServerGroupRequest represents a request to add server to a server group

func (AddServerToServerGroupRequest) MarshalJSON

func (r AddServerToServerGroupRequest) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaller that deals with deeply embedded values.

func (AddServerToServerGroupRequest) RequestURL

func (s AddServerToServerGroupRequest) RequestURL() string

type AssignIPAddressRequest

type AssignIPAddressRequest struct {
	Access     string          `json:"access,omitempty"`
	Family     string          `json:"family,omitempty"`
	ServerUUID string          `json:"server,omitempty"`
	Floating   upcloud.Boolean `json:"floating,omitempty"`
	MAC        string          `json:"mac,omitempty"`
	Zone       string          `json:"zone,omitempty"`
}

AssignIPAddressRequest represents a request to assign a new IP address to a server

func (AssignIPAddressRequest) MarshalJSON

func (r AssignIPAddressRequest) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaller that deals with deeply embedded values.

func (*AssignIPAddressRequest) RequestURL

func (r *AssignIPAddressRequest) RequestURL() string

RequestURL implements the Request interface

type AttachManagedObjectStorageUserPolicyRequest

type AttachManagedObjectStorageUserPolicyRequest struct {
	ServiceUUID string `json:"-"`
	Username    string `json:"-"`
	Name        string `json:"name"`
}

AttachManagedObjectStorageUserPolicyRequest represents a request for attaching a policy to a user

func (*AttachManagedObjectStorageUserPolicyRequest) RequestURL

RequestURL implements the Request interface

type AttachNetworkRouterRequest

type AttachNetworkRouterRequest struct {
	NetworkUUID string `json:"-"`
	RouterUUID  string `json:"router"`
}

AttachNetworkRouterRequest represents a request to attach a particular router to a network

func (AttachNetworkRouterRequest) MarshalJSON

func (r AttachNetworkRouterRequest) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaler interface

func (*AttachNetworkRouterRequest) RequestURL

func (r *AttachNetworkRouterRequest) RequestURL() string

RequestURL implements the Request interface

type AttachStorageRequest

type AttachStorageRequest struct {
	ServerUUID string `json:"-"`

	Type        string `json:"type,omitempty"`
	Address     string `json:"address,omitempty"`
	StorageUUID string `json:"storage,omitempty"`
	BootDisk    int    `json:"boot_disk,omitempty,string"`
}

AttachStorageRequest represents a request to attach a storage device to a server

func (AttachStorageRequest) MarshalJSON

func (r AttachStorageRequest) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaller that deals with deeply embedded values.

func (*AttachStorageRequest) RequestURL

func (r *AttachStorageRequest) RequestURL() string

RequestURL implements the Request interface

type CancelManagedDatabaseSession

type CancelManagedDatabaseSession struct {
	// UUID selects a managed database instance to manage queries of
	UUID string
	// Pid selects a connection pid to cancel or terminate
	Pid int
	// Terminate selects whether the connection will be forcefully terminated
	Terminate bool
}

CancelManagedDatabaseSession represents a request to cancel the current query of a connection or terminate the entire connection.

func (*CancelManagedDatabaseSession) RequestURL

func (c *CancelManagedDatabaseSession) RequestURL() string

RequestURL implements the request.Request interface

type CloneManagedDatabaseRequest

type CloneManagedDatabaseRequest struct {
	// UUID selects an existing managed database instance to clone
	UUID string `json:"-"`
	// CloneTime selects a point-in-time from where to clone the data. Zero value selects the most recent available.
	CloneTime time.Time `json:"clone_time"`

	// Only for Redis. Create a clone of your database service data from the backups by name.
	BackupName string `json:"backup_name,omitempty"`

	HostNamePrefix string                                `json:"hostname_prefix"`
	Maintenance    ManagedDatabaseMaintenanceTimeRequest `json:"maintenance,omitempty"`
	Plan           string                                `json:"plan"`
	Properties     ManagedDatabasePropertiesRequest      `json:"properties,omitempty"`
	Title          string                                `json:"title,omitempty"`
	Zone           string                                `json:"zone"`
}

CloneManagedDatabaseRequest represents a request to cancel

func (CloneManagedDatabaseRequest) MarshalJSON

func (c CloneManagedDatabaseRequest) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*CloneManagedDatabaseRequest) RequestURL

func (c *CloneManagedDatabaseRequest) RequestURL() string

RequestURL implements the request.Request interface

type CloneStorageRequest

type CloneStorageRequest struct {
	UUID string `json:"-"`

	Encrypted upcloud.Boolean `json:"encrypted,omitempty"`
	Zone      string          `json:"zone"`
	Tier      string          `json:"tier,omitempty"`
	Title     string          `json:"title"`
}

CloneStorageRequest represents a requests to clone a storage device

func (CloneStorageRequest) MarshalJSON

func (r CloneStorageRequest) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaller that deals with deeply embedded values.

func (*CloneStorageRequest) RequestURL

func (r *CloneStorageRequest) RequestURL() string

RequestURL implements the Request interface

type CreateBackupRequest

type CreateBackupRequest struct {
	UUID string `json:"-"`

	Title string `json:"title"`
}

CreateBackupRequest represents a request to create a backup of a storage device

func (CreateBackupRequest) MarshalJSON

func (r CreateBackupRequest) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaller that deals with deeply embedded values.

func (*CreateBackupRequest) RequestURL

func (r *CreateBackupRequest) RequestURL() string

RequestURL implements the Request interface

type CreateFirewallRuleRequest

type CreateFirewallRuleRequest struct {
	upcloud.FirewallRule

	ServerUUID string `json:"-"`
}

CreateFirewallRuleRequest represents a request to create a new firewall rule for a specific server

func (CreateFirewallRuleRequest) MarshalJSON

func (r CreateFirewallRuleRequest) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaller that deals with deeply embedded values.

func (*CreateFirewallRuleRequest) RequestURL

func (r *CreateFirewallRuleRequest) RequestURL() string

RequestURL implements the Request interface

type CreateFirewallRulesRequest

type CreateFirewallRulesRequest struct {
	ServerUUID string `json:"-"`

	FirewallRules FirewallRuleSlice `json:"firewall_rules"`
}

CreateFirewallRulesRequest represents a request to create (and replace) the entire firewall rule set.

func (*CreateFirewallRulesRequest) RequestURL

func (r *CreateFirewallRulesRequest) RequestURL() string

RequestURL implements the Request interface

type CreateGatewayConnectionRequest added in v8.3.0

type CreateGatewayConnectionRequest struct {
	ServiceUUID string `json:"-"`
	Connection  GatewayConnection
}

func (*CreateGatewayConnectionRequest) MarshalJSON added in v8.3.0

func (r *CreateGatewayConnectionRequest) MarshalJSON() ([]byte, error)

func (*CreateGatewayConnectionRequest) RequestURL added in v8.3.0

func (r *CreateGatewayConnectionRequest) RequestURL() string

type CreateGatewayConnectionTunnelRequest added in v8.3.0

type CreateGatewayConnectionTunnelRequest struct {
	ServiceUUID    string `json:"-"`
	ConnectionUUID string `json:"-"`
	Tunnel         GatewayTunnel
}

func (*CreateGatewayConnectionTunnelRequest) MarshalJSON added in v8.3.0

func (r *CreateGatewayConnectionTunnelRequest) MarshalJSON() ([]byte, error)

func (*CreateGatewayConnectionTunnelRequest) RequestURL added in v8.3.0

type CreateGatewayRequest

type CreateGatewayRequest struct {
	Name             string                          `json:"name,omitempty"`
	Zone             string                          `json:"zone,omitempty"`
	Features         []upcloud.GatewayFeature        `json:"features,omitempty"`
	Routers          []GatewayRouter                 `json:"routers,omitempty"`
	Labels           []upcloud.Label                 `json:"labels,omitempty"`
	ConfiguredStatus upcloud.GatewayConfiguredStatus `json:"configured_status,omitempty"`
	Plan             string                          `json:"plan,omitempty"`
	Addresses        []upcloud.GatewayAddress        `json:"addresses,omitempty"`
	Connections      []GatewayConnection             `json:"connections,omitempty"`
}

func (*CreateGatewayRequest) RequestURL

func (r *CreateGatewayRequest) RequestURL() string

type CreateKubernetesClusterRequest

type CreateKubernetesClusterRequest struct {
	ControlPlaneIPFilter []string              `json:"control_plane_ip_filter"`
	Labels               []upcloud.Label       `json:"labels,omitempty"`
	Name                 string                `json:"name"`
	Network              string                `json:"network"`
	NetworkCIDR          string                `json:"network_cidr"`
	NodeGroups           []KubernetesNodeGroup `json:"node_groups"`
	Version              string                `json:"version"`
	Zone                 string                `json:"zone"`
	Plan                 string                `json:"plan,omitempty"`
	PrivateNodeGroups    bool                  `json:"private_node_groups"`
	// The default storage encryption strategy for all node groups (optional).
	StorageEncryption upcloud.StorageEncryption `json:"storage_encryption,omitempty"`
}

CreateKubernetesClusterRequest represents a request to create a Kubernetes cluster

func (*CreateKubernetesClusterRequest) RequestURL

func (r *CreateKubernetesClusterRequest) RequestURL() string

type CreateKubernetesNodeGroupRequest

type CreateKubernetesNodeGroupRequest struct {
	ClusterUUID string `json:"-"`
	NodeGroup   KubernetesNodeGroup
}

func (*CreateKubernetesNodeGroupRequest) MarshalJSON

func (r *CreateKubernetesNodeGroupRequest) MarshalJSON() ([]byte, error)

func (*CreateKubernetesNodeGroupRequest) RequestURL

func (r *CreateKubernetesNodeGroupRequest) RequestURL() string

type CreateLoadBalancerBackendMemberRequest

type CreateLoadBalancerBackendMemberRequest struct {
	ServiceUUID string `json:"-"`
	BackendName string `json:"-"`
	Member      LoadBalancerBackendMember
}

CreateLoadBalancerBackendMemberRequest represents a request to create load balancer backend member

func (*CreateLoadBalancerBackendMemberRequest) MarshalJSON

func (r *CreateLoadBalancerBackendMemberRequest) MarshalJSON() ([]byte, error)

func (*CreateLoadBalancerBackendMemberRequest) RequestURL

type CreateLoadBalancerBackendRequest

type CreateLoadBalancerBackendRequest struct {
	ServiceUUID string `json:"-"`
	Backend     LoadBalancerBackend
}

CreateLoadBalancerBackendRequest represents a request to create load balancer backend

func (*CreateLoadBalancerBackendRequest) MarshalJSON

func (r *CreateLoadBalancerBackendRequest) MarshalJSON() ([]byte, error)

func (*CreateLoadBalancerBackendRequest) RequestURL

func (r *CreateLoadBalancerBackendRequest) RequestURL() string

type CreateLoadBalancerBackendTLSConfigRequest

type CreateLoadBalancerBackendTLSConfigRequest struct {
	ServiceUUID string `json:"-"`
	BackendName string `json:"-"`
	Config      LoadBalancerBackendTLSConfig
}

CreateLoadBalancerBackendTLSConfigRequest represents a request to create backend TLS config

func (*CreateLoadBalancerBackendTLSConfigRequest) MarshalJSON

func (*CreateLoadBalancerBackendTLSConfigRequest) RequestURL

type CreateLoadBalancerCertificateBundleRequest

type CreateLoadBalancerCertificateBundleRequest struct {
	Type upcloud.LoadBalancerCertificateBundleType `json:"type,omitempty"`

	Name          string   `json:"name,omitempty"`
	Certificate   string   `json:"certificate,omitempty"`
	Intermediates string   `json:"intermediates,omitempty"`
	PrivateKey    string   `json:"private_key,omitempty"`
	KeyType       string   `json:"key_type,omitempty"`
	Hostnames     []string `json:"hostnames,omitempty"`
}

CreateLoadBalancerCertificateBundleRequest represents a request to create certificate bundle

func NewCreateLoadBalancerDynamicCertificateBundleRequest

func NewCreateLoadBalancerDynamicCertificateBundleRequest(name, keyType string, hostnames []string) CreateLoadBalancerCertificateBundleRequest

func NewCreateLoadBalancerManualCertificateBundleRequest

func NewCreateLoadBalancerManualCertificateBundleRequest(name, certificate, intermediates, privateKey string) CreateLoadBalancerCertificateBundleRequest

func (*CreateLoadBalancerCertificateBundleRequest) RequestURL

type CreateLoadBalancerFrontendRequest

type CreateLoadBalancerFrontendRequest struct {
	ServiceUUID string
	Frontend    LoadBalancerFrontend
}

CreateLoadBalancerFrontendRequest represents a request to create load balancer frontend

func (*CreateLoadBalancerFrontendRequest) MarshalJSON

func (r *CreateLoadBalancerFrontendRequest) MarshalJSON() ([]byte, error)

func (*CreateLoadBalancerFrontendRequest) RequestURL

func (r *CreateLoadBalancerFrontendRequest) RequestURL() string

type CreateLoadBalancerFrontendRuleRequest

type CreateLoadBalancerFrontendRuleRequest struct {
	ServiceUUID  string `json:"-"`
	FrontendName string `json:"-"`
	Rule         LoadBalancerFrontendRule
}

CreateLoadBalancerFrontendRuleRequest represents a request to create frontend rule

func (*CreateLoadBalancerFrontendRuleRequest) MarshalJSON

func (r *CreateLoadBalancerFrontendRuleRequest) MarshalJSON() ([]byte, error)

func (*CreateLoadBalancerFrontendRuleRequest) RequestURL

type CreateLoadBalancerFrontendTLSConfigRequest

type CreateLoadBalancerFrontendTLSConfigRequest struct {
	ServiceUUID  string `json:"-"`
	FrontendName string `json:"-"`
	Config       LoadBalancerFrontendTLSConfig
}

CreateLoadBalancerFrontendTLSConfigRequest represents a request to create frontend TLS config

func (*CreateLoadBalancerFrontendTLSConfigRequest) MarshalJSON

func (*CreateLoadBalancerFrontendTLSConfigRequest) RequestURL

type CreateLoadBalancerRequest

type CreateLoadBalancerRequest struct {
	Name             string                               `json:"name,omitempty"`
	Plan             string                               `json:"plan,omitempty"`
	Zone             string                               `json:"zone,omitempty"`
	NetworkUUID      string                               `json:"network_uuid,omitempty"`
	Networks         []LoadBalancerNetwork                `json:"networks,omitempty"`
	ConfiguredStatus upcloud.LoadBalancerConfiguredStatus `json:"configured_status,omitempty"`
	Frontends        []LoadBalancerFrontend               `json:"frontends"`
	Backends         []LoadBalancerBackend                `json:"backends"`
	Resolvers        []LoadBalancerResolver               `json:"resolvers"`
	Labels           []upcloud.Label                      `json:"labels,omitempty"`
	MaintenanceDOW   upcloud.LoadBalancerMaintenanceDOW   `json:"maintenance_dow,omitempty"`
	MaintenanceTime  string                               `json:"maintenance_time,omitempty"`
}

CreateLoadBalancerRequest represents a request to create load balancer

Example
request := CreateLoadBalancerRequest{
	Name:             "example-service",
	Plan:             "development",
	Zone:             "fi-hel1",
	NetworkUUID:      "03631160-d57a-4926-ad48-a2f828229dcb",
	ConfiguredStatus: upcloud.LoadBalancerConfiguredStatusStarted,
	Frontends: []LoadBalancerFrontend{{
		Name:           "example-frontend",
		Mode:           upcloud.LoadBalancerModeHTTP,
		Port:           443,
		DefaultBackend: "example-backend-1",
		Rules: []LoadBalancerFrontendRule{
			{
				Name:     "rule-name",
				Priority: 0,
				Matchers: []upcloud.LoadBalancerMatcher{
					NewLoadBalancerHostMatcher("example.com"),
					NewLoadBalancerSrcPortRangeMatcher(8000, 9000),
				},
				Actions: []upcloud.LoadBalancerAction{
					NewLoadBalancerUseBackendAction("example-backend-1"),
				},
			},
		},
	}},
	Backends: []LoadBalancerBackend{{
		Name: "example-backend-1",
		Members: []LoadBalancerBackendMember{{
			Name:        "example-member-1",
			Weight:      100,
			MaxSessions: 1000,
			Type:        upcloud.LoadBalancerBackendMemberTypeStatic,
			IP:          "172.16.1.4",
			Port:        8000,
			Enabled:     true,
		}},
	}},
	Resolvers: []LoadBalancerResolver{{
		Name:         "example-resolver",
		Nameservers:  []string{"172.16.1.4:53"},
		Retries:      5,
		Timeout:      30,
		TimeoutRetry: 10,
		CacheValid:   180,
		CacheInvalid: 10,
	}},
}
if js, err := json.Marshal(request); err == nil {
	fmt.Println(string(js))
}
Output:

func (*CreateLoadBalancerRequest) RequestURL

func (r *CreateLoadBalancerRequest) RequestURL() string

type CreateLoadBalancerResolverRequest

type CreateLoadBalancerResolverRequest struct {
	ServiceUUID string `json:"-"`
	Resolver    LoadBalancerResolver
}

CreateLoadBalancerResolverRequest represents a request to create load balancer resolver

func (*CreateLoadBalancerResolverRequest) MarshalJSON

func (r *CreateLoadBalancerResolverRequest) MarshalJSON() ([]byte, error)

func (*CreateLoadBalancerResolverRequest) RequestURL

func (r *CreateLoadBalancerResolverRequest) RequestURL() string

type CreateManagedDatabaseLogicalDatabaseRequest

type CreateManagedDatabaseLogicalDatabaseRequest struct {
	// ServiceUUID selects a managed database service to modify
	ServiceUUID string `json:"-"`
	Name        string `json:"name"`
	// LCCollate represents a default string sort order of a logical database
	LCCollate string `json:"lc_collate"`
	// LCCType represents a default character classification of a logical database
	LCCType string `json:"lc_ctype"`
}

CreateManagedDatabaseLogicalDatabaseRequest represents a request to create a new logical database to an existing managed database instance

func (*CreateManagedDatabaseLogicalDatabaseRequest) RequestURL

RequestURL implements the request.Request interface

type CreateManagedDatabaseRequest

type CreateManagedDatabaseRequest struct {
	HostNamePrefix string                                `json:"hostname_prefix"`
	Labels         []upcloud.Label                       `json:"labels,omitempty"`
	Maintenance    ManagedDatabaseMaintenanceTimeRequest `json:"maintenance,omitempty"`
	Networks       []upcloud.ManagedDatabaseNetwork      `json:"networks,omitempty"`
	Plan           string                                `json:"plan"`
	Properties     ManagedDatabasePropertiesRequest      `json:"properties,omitempty"`
	Title          string                                `json:"title,omitempty"`
	Type           upcloud.ManagedDatabaseServiceType    `json:"type"`
	Zone           string                                `json:"zone"`
}

CreateManagedDatabaseRequest represents a request to create a new managed database instance

func (CreateManagedDatabaseRequest) MarshalJSON

func (c CreateManagedDatabaseRequest) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*CreateManagedDatabaseRequest) RequestURL

func (c *CreateManagedDatabaseRequest) RequestURL() string

RequestURL implements the request.Request interface

type CreateManagedDatabaseUserRequest

type CreateManagedDatabaseUserRequest struct {
	// ServiceUUID selects a managed database service to modify
	ServiceUUID string `json:"-"`
	Username    string `json:"username"`
	Password    string `json:"password,omitempty"`
	// Authentication selects authentication type for the user. See following constants for more information:
	// 	upcloud.ManagedDatabaseUserAuthenticationCachingSHA2Password
	// 	upcloud.ManagedDatabaseUserAuthenticationMySQLNativePassword
	Authentication          upcloud.ManagedDatabaseUserAuthenticationType       `json:"authentication,omitempty"`
	OpenSearchAccessControl *upcloud.ManagedDatabaseUserOpenSearchAccessControl `json:"opensearch_access_control,omitempty"`
	PGAccessControl         *upcloud.ManagedDatabaseUserPGAccessControl         `json:"pg_access_control,omitempty"`
	RedisAccessControl      *upcloud.ManagedDatabaseUserRedisAccessControl      `json:"redis_access_control,omitempty"`
}

CreateManagedDatabaseUserRequest represents a request to create a new normal user to an existing managed database instance

func (*CreateManagedDatabaseUserRequest) RequestURL

func (m *CreateManagedDatabaseUserRequest) RequestURL() string

RequestURL implements the request.Request interface

type CreateManagedObjectStorageBucketRequest added in v8.9.0

type CreateManagedObjectStorageBucketRequest struct {
	ServiceUUID string `json:"-"`
	Name        string `json:"name"`
}

func (*CreateManagedObjectStorageBucketRequest) RequestURL added in v8.9.0

RequestURL implements the Request interface

type CreateManagedObjectStorageCustomDomainRequest added in v8.8.0

type CreateManagedObjectStorageCustomDomainRequest struct {
	DomainName  string `json:"domain_name"`
	Type        string `json:"type"`
	ServiceUUID string `json:"-"`
}

CreateManagedObjectStorageCustomDomainRequest represents a request for creating a policy

func (*CreateManagedObjectStorageCustomDomainRequest) RequestURL added in v8.8.0

RequestURL implements the Request interface

type CreateManagedObjectStorageNetworkRequest

type CreateManagedObjectStorageNetworkRequest struct {
	Family      string `json:"family"`
	Name        string `json:"name"`
	ServiceUUID string `json:"-"`
	Type        string `json:"type"`
	UUID        string `json:"uuid,omitempty"`
}

CreateManagedObjectStorageNetworkRequest represents a request for creating a network

func (*CreateManagedObjectStorageNetworkRequest) RequestURL

RequestURL implements the Request interface

type CreateManagedObjectStoragePolicyRequest

type CreateManagedObjectStoragePolicyRequest struct {
	Name        string `json:"name"`
	Description string `json:"description,omitempty"`
	Document    string `json:"document"`
	ServiceUUID string `json:"-"`
}

CreateManagedObjectStoragePolicyRequest represents a request for creating a policy

func (*CreateManagedObjectStoragePolicyRequest) RequestURL

RequestURL implements the Request interface

type CreateManagedObjectStorageRequest

type CreateManagedObjectStorageRequest struct {
	ConfiguredStatus upcloud.ManagedObjectStorageConfiguredStatus `json:"configured_status"`
	Labels           []upcloud.Label                              `json:"labels,omitempty"`
	Name             string                                       `json:"name,omitempty"`
	Networks         []upcloud.ManagedObjectStorageNetwork        `json:"networks"`
	Region           string                                       `json:"region"`
}

CreateManagedObjectStorageRequest represents a request for creating a new Managed Object Storage service

func (*CreateManagedObjectStorageRequest) RequestURL

func (r *CreateManagedObjectStorageRequest) RequestURL() string

RequestURL implements the Request interface

type CreateManagedObjectStorageUserAccessKeyRequest

type CreateManagedObjectStorageUserAccessKeyRequest struct {
	Username    string `json:"-"`
	ServiceUUID string `json:"-"`
}

CreateManagedObjectStorageUserAccessKeyRequest represents a request for creating an access key

func (*CreateManagedObjectStorageUserAccessKeyRequest) RequestURL

RequestURL implements the Request interface

type CreateManagedObjectStorageUserRequest

type CreateManagedObjectStorageUserRequest struct {
	Username    string `json:"username"`
	ServiceUUID string `json:"-"`
}

CreateManagedObjectStorageUserRequest represents a request for creating a user

func (*CreateManagedObjectStorageUserRequest) RequestURL

RequestURL implements the Request interface

type CreateNetworkInterfaceIPAddress

type CreateNetworkInterfaceIPAddress struct {
	Family  string `json:"family"`
	Address string `json:"address,omitempty"`
}

CreateNetworkInterfaceIPAddress represents an IP Address object that is needed to create a network interface.

type CreateNetworkInterfaceIPAddressSlice

type CreateNetworkInterfaceIPAddressSlice []CreateNetworkInterfaceIPAddress

CreateNetworkInterfaceIPAddressSlice is a slice of CreateNetworkInterfaceIPAddress. It exists to allow for a custom JSON marshaller.

func (CreateNetworkInterfaceIPAddressSlice) MarshalJSON

func (s CreateNetworkInterfaceIPAddressSlice) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaller that deals with deeply embedded values.

type CreateNetworkInterfaceRequest

type CreateNetworkInterfaceRequest struct {
	ServerUUID string `json:"-"`

	Type              string                               `json:"type"`
	NetworkUUID       string                               `json:"network,omitempty"`
	Index             int                                  `json:"index,omitempty"`
	IPAddresses       CreateNetworkInterfaceIPAddressSlice `json:"ip_addresses"`
	SourceIPFiltering upcloud.Boolean                      `json:"source_ip_filtering,omitempty"`
	Bootable          upcloud.Boolean                      `json:"bootable,omitempty"`
}

CreateNetworkInterfaceRequest represents a request to create a new network interface on a server.

func (CreateNetworkInterfaceRequest) MarshalJSON

func (r CreateNetworkInterfaceRequest) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaller that deals with deeply embedded values.

func (*CreateNetworkInterfaceRequest) RequestURL

func (r *CreateNetworkInterfaceRequest) RequestURL() string

RequestURL implements the Request interface.

type CreateNetworkPeeringRequest

type CreateNetworkPeeringRequest struct {
	Name             string                                 `json:"name,omitempty"`
	ConfiguredStatus upcloud.NetworkPeeringConfiguredStatus `json:"configured_status,omitempty"`
	Network          NetworkPeeringNetwork                  `json:"network,omitempty"`
	PeerNetwork      NetworkPeeringNetwork                  `json:"peer_network,omitempty"`
	Labels           []upcloud.Label                        `json:"labels,omitempty"`
}

func (*CreateNetworkPeeringRequest) MarshalJSON

func (r *CreateNetworkPeeringRequest) MarshalJSON() ([]byte, error)

func (*CreateNetworkPeeringRequest) RequestURL

func (r *CreateNetworkPeeringRequest) RequestURL() string

type CreateNetworkRequest

type CreateNetworkRequest struct {
	Name       string                 `json:"name,omitempty"`
	Zone       string                 `json:"zone,omitempty"`
	Router     string                 `json:"router,omitempty"`
	IPNetworks upcloud.IPNetworkSlice `json:"ip_networks,omitempty"`
	Labels     []upcloud.Label        `json:"labels,omitempty"`
}

CreateNetworkRequest represents a request to create a new network.

func (CreateNetworkRequest) MarshalJSON

func (r CreateNetworkRequest) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaller that deals with deeply embedded values.

func (*CreateNetworkRequest) RequestURL

func (r *CreateNetworkRequest) RequestURL() string

RequestURL implements the Request interface.

type CreateObjectStorageRequest

type CreateObjectStorageRequest struct {
	Name        string `json:"name,omitempty"`
	Description string `json:"description,omitempty"`
	Zone        string `json:"zone"`
	AccessKey   string `json:"access_key"`
	SecretKey   string `json:"secret_key"`
	Size        int    `json:"size"`
}

CreateObjectStorageRequest represents a request for creating a new Object Storage device

func (CreateObjectStorageRequest) MarshalJSON

func (r CreateObjectStorageRequest) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaller that deals with deeply embedded values.

func (*CreateObjectStorageRequest) RequestURL

func (r *CreateObjectStorageRequest) RequestURL() string

RequestURL implements the Request interface

type CreateRouterRequest

type CreateRouterRequest struct {
	Name         string                `json:"name"`
	Labels       []upcloud.Label       `json:"labels,omitempty"`
	StaticRoutes []upcloud.StaticRoute `json:"static_routes,omitempty"`
}

CreateRouterRequest represents a request to create a new router.

func (CreateRouterRequest) MarshalJSON

func (r CreateRouterRequest) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaller that deals with deeply embedded values.

func (*CreateRouterRequest) RequestURL

func (r *CreateRouterRequest) RequestURL() string

RequestURL implements the Request interface.

type CreateServerGroupRequest

type CreateServerGroupRequest struct {
	Labels             *upcloud.LabelSlice                   `json:"labels,omitempty"`
	Members            upcloud.ServerUUIDSlice               `json:"servers,omitempty"`
	AntiAffinityPolicy upcloud.ServerGroupAntiAffinityPolicy `json:"anti_affinity,omitempty"`
	Title              string                                `json:"title,omitempty"`
}

CreateServerGroupRequest represents a request to create server group

func (CreateServerGroupRequest) MarshalJSON

func (r CreateServerGroupRequest) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaller that deals with deeply embedded values.

func (CreateServerGroupRequest) RequestURL

func (s CreateServerGroupRequest) RequestURL() string

type CreateServerIPAddress

type CreateServerIPAddress struct {
	Family  string `json:"family"`
	Address string `json:"address,omitempty"`
}

CreateServerIPAddress represents an IP address for a CreateServerRequest

type CreateServerIPAddressSlice

type CreateServerIPAddressSlice []CreateServerIPAddress

CreateServerIPAddressSlice is a slice of strings It exists to allow for a custom JSON marshaller.

func (CreateServerIPAddressSlice) MarshalJSON

func (s CreateServerIPAddressSlice) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaller that deals with deeply embedded values.

type CreateServerInterface

type CreateServerInterface struct {
	Index             int                        `json:"index,omitempty"`
	IPAddresses       CreateServerIPAddressSlice `json:"ip_addresses"`
	Type              string                     `json:"type"`
	Network           string                     `json:"network,omitempty"`
	SourceIPFiltering upcloud.Boolean            `json:"source_ip_filtering,omitempty"`
	Bootable          upcloud.Boolean            `json:"bootable,omitempty"`
}

CreateServerInterface represents a server network interface that is needed during server creation.

type CreateServerInterfaceSlice

type CreateServerInterfaceSlice []CreateServerInterface

CreateServerInterfaceSlice is a slice of CreateServerInterfaces. It exists to allow for a custom JSON marshaller.

func (CreateServerInterfaceSlice) MarshalJSON

func (s CreateServerInterfaceSlice) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaller that deals with deeply embedded values.

type CreateServerNetworking

type CreateServerNetworking struct {
	Interfaces CreateServerInterfaceSlice `json:"interfaces"`
}

CreateServerNetworking represents the networking details of a server needed during server creation.

type CreateServerRequest

type CreateServerRequest struct {
	AvoidHost  int    `json:"avoid_host,omitempty"`
	Host       int    `json:"host,omitempty"`
	BootOrder  string `json:"boot_order,omitempty"`
	CoreNumber int    `json:"core_number,omitempty"`
	// TODO: Convert to boolean
	Firewall             string                         `json:"firewall,omitempty"`
	Hostname             string                         `json:"hostname"`
	Labels               *upcloud.LabelSlice            `json:"labels,omitempty"`
	LoginUser            *LoginUser                     `json:"login_user,omitempty"`
	MemoryAmount         int                            `json:"memory_amount,omitempty"`
	Metadata             upcloud.Boolean                `json:"metadata"`
	NICModel             string                         `json:"nic_model,omitempty"`
	Networking           *CreateServerNetworking        `json:"networking"`
	PasswordDelivery     string                         `json:"password_delivery,omitempty"`
	Plan                 string                         `json:"plan,omitempty"`
	ServerGroup          string                         `json:"server_group,omitempty"`
	SimpleBackup         string                         `json:"simple_backup,omitempty"`
	StorageDevices       CreateServerStorageDeviceSlice `json:"storage_devices"`
	TimeZone             string                         `json:"timezone,omitempty"`
	Title                string                         `json:"title"`
	UserData             string                         `json:"user_data,omitempty"`
	VideoModel           string                         `json:"video_model,omitempty"`
	RemoteAccessEnabled  upcloud.Boolean                `json:"remote_access_enabled"`
	RemoteAccessType     string                         `json:"remote_access_type,omitempty"`
	RemoteAccessPassword string                         `json:"remote_access_password,omitempty"`
	Zone                 string                         `json:"zone"`
}

CreateServerRequest represents a request for creating a new server

func (CreateServerRequest) MarshalJSON

func (r CreateServerRequest) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaller that deals with deeply embedded values.

func (*CreateServerRequest) RequestURL

func (r *CreateServerRequest) RequestURL() string

RequestURL implements the Request interface

type CreateServerStorageDevice

type CreateServerStorageDevice struct {
	Action    string          `json:"action"`
	Address   string          `json:"address,omitempty"`
	Encrypted upcloud.Boolean `json:"encrypted,omitempty"`
	Storage   string          `json:"storage"`
	Title     string          `json:"title,omitempty"`
	// Storage size in gigabytes
	Size       int                 `json:"size,omitempty"`
	Tier       string              `json:"tier,omitempty"`
	Type       string              `json:"type,omitempty"`
	BackupRule *upcloud.BackupRule `json:"backup_rule,omitempty"`
}

CreateServerStorageDevice represents a storage device for a CreateServerRequest

type CreateServerStorageDeviceSlice

type CreateServerStorageDeviceSlice []CreateServerStorageDevice

CreateServerStorageDeviceSlice is a slice of CreateServerStorageDevices It exists to allow for a custom JSON marshaller.

func (CreateServerStorageDeviceSlice) MarshalJSON

func (s CreateServerStorageDeviceSlice) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaller that deals with deeply embedded values.

type CreateStorageImportRequest

type CreateStorageImportRequest struct {
	StorageUUID string `json:"-"`
	// ContentType can be given when using the StorageImportSourceDirectUpload mode
	ContentType string `json:"-"`

	Source         string               `json:"source"`
	SourceLocation ImportSourceLocation `json:"source_location,omitempty"`
}

CreateStorageImportRequest represent a request to import storage.

func (CreateStorageImportRequest) MarshalJSON

func (r CreateStorageImportRequest) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaller that deals with deeply embedded values.

func (*CreateStorageImportRequest) RequestURL

func (r *CreateStorageImportRequest) RequestURL() string

RequestURL implements the Request interface

type CreateStorageRequest

type CreateStorageRequest struct {
	Size       int                 `json:"size,string"`
	Encrypted  upcloud.Boolean     `json:"encrypted,omitempty"`
	Tier       string              `json:"tier,omitempty"`
	Title      string              `json:"title,omitempty"`
	Zone       string              `json:"zone"`
	BackupRule *upcloud.BackupRule `json:"backup_rule,omitempty"`
	Labels     []upcloud.Label     `json:"labels,omitempty"`
}

CreateStorageRequest represents a request to create a storage device

func (CreateStorageRequest) MarshalJSON

func (r CreateStorageRequest) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaller that deals with deeply embedded values.

func (*CreateStorageRequest) RequestURL

func (r *CreateStorageRequest) RequestURL() string

RequestURL implements the Request interface

type CreateSubaccount

type CreateSubaccount struct {
	Username   string `json:"username"`
	Password   string `json:"password"`
	FirstName  string `json:"first_name"`
	LastName   string `json:"last_name"`
	Company    string `json:"company"`
	Address    string `json:"address"`
	PostalCode string `json:"postal_code"`
	City       string `json:"city"`
	Email      string `json:"email"`

	// Phone number in international format, country code and national part separated by a period
	Phone string `json:"phone"`

	// U.S. state if applicable
	State string `json:"state"`

	// ISO 3166-1 three character country code
	Country       string                       `json:"country"`
	Currency      string                       `json:"currency"`
	Language      string                       `json:"language"`
	VATNnumber    string                       `json:"vat_number"`
	Timezone      string                       `json:"timezone"`
	AllowAPI      upcloud.Boolean              `json:"allow_api"`
	AllowGUI      upcloud.Boolean              `json:"allow_gui"`
	TagAccess     upcloud.AccountTagAccess     `json:"tag_access"`
	Roles         upcloud.AccountRoles         `json:"roles"`
	ServerAccess  upcloud.AccountServerAccess  `json:"server_access"`
	StorageAccess upcloud.AccountStorageAccess `json:"storage_access"`
	NetworkAccess upcloud.AccountNetworkAccess `json:"network_access"`
	IPFilters     upcloud.AccountIPFilters     `json:"ip_filters"`
}

CreateSubaccount represents data required to create a sub account

type CreateSubaccountRequest

type CreateSubaccountRequest struct {
	Subaccount CreateSubaccount `json:"sub_account"`
}

CreateSubaccountRequest represents a request to create a sub account

func (CreateSubaccountRequest) RequestURL

func (r CreateSubaccountRequest) RequestURL() string

type CreateTagRequest

type CreateTagRequest struct {
	upcloud.Tag
}

CreateTagRequest represents a request to create a tag and assign it to zero or more servers

func (CreateTagRequest) MarshalJSON

func (r CreateTagRequest) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaller that deals with deeply embedded values.

func (*CreateTagRequest) RequestURL

func (r *CreateTagRequest) RequestURL() string

RequestURL implements the Request interface

type DeleteFirewallRuleRequest

type DeleteFirewallRuleRequest struct {
	ServerUUID string
	Position   int
}

DeleteFirewallRuleRequest represents a request to remove a firewall rule

func (*DeleteFirewallRuleRequest) RequestURL

func (r *DeleteFirewallRuleRequest) RequestURL() string

RequestURL implements the Request interface

type DeleteGatewayConnectionRequest added in v8.3.0

type DeleteGatewayConnectionRequest struct {
	ServiceUUID string `json:"-"`
	UUID        string `json:"-"`
}

func (*DeleteGatewayConnectionRequest) RequestURL added in v8.3.0

func (r *DeleteGatewayConnectionRequest) RequestURL() string

type DeleteGatewayConnectionTunnelRequest added in v8.3.0

type DeleteGatewayConnectionTunnelRequest struct {
	ServiceUUID    string `json:"-"`
	ConnectionUUID string `json:"-"`
	UUID           string `json:"-"`
}

func (*DeleteGatewayConnectionTunnelRequest) RequestURL added in v8.3.0

type DeleteGatewayRequest

type DeleteGatewayRequest struct {
	UUID string
}

func (*DeleteGatewayRequest) RequestURL

func (r *DeleteGatewayRequest) RequestURL() string

type DeleteKubernetesClusterRequest

type DeleteKubernetesClusterRequest struct {
	UUID string `json:"-"`
}

DeleteKubernetesClusterRequest represents a request to delete a Kubernetes cluster

func (*DeleteKubernetesClusterRequest) RequestURL

func (r *DeleteKubernetesClusterRequest) RequestURL() string

type DeleteKubernetesNodeGroupNodeRequest

type DeleteKubernetesNodeGroupNodeRequest struct {
	ClusterUUID string
	Name        string
	NodeName    string
}

func (*DeleteKubernetesNodeGroupNodeRequest) RequestURL

type DeleteKubernetesNodeGroupRequest

type DeleteKubernetesNodeGroupRequest struct {
	ClusterUUID string
	Name        string
}

func (*DeleteKubernetesNodeGroupRequest) RequestURL

func (r *DeleteKubernetesNodeGroupRequest) RequestURL() string

type DeleteLoadBalancerBackendMemberRequest

type DeleteLoadBalancerBackendMemberRequest struct {
	ServiceUUID string `json:"-"`
	BackendName string `json:"-"`
	Name        string `json:"-"`
}

DeleteLoadBalancerBackendMemberRequest represents a request to delete load balancer backend member

func (*DeleteLoadBalancerBackendMemberRequest) RequestURL

type DeleteLoadBalancerBackendRequest

type DeleteLoadBalancerBackendRequest struct {
	ServiceUUID string `json:"-"`
	Name        string `json:"-"`
}

DeleteLoadBalancerBackendRequest represents a request to delete load balancer backend

func (*DeleteLoadBalancerBackendRequest) RequestURL

func (r *DeleteLoadBalancerBackendRequest) RequestURL() string

type DeleteLoadBalancerBackendTLSConfigRequest

type DeleteLoadBalancerBackendTLSConfigRequest struct {
	ServiceUUID string `json:"-"`
	BackendName string `json:"-"`
	Name        string `json:"-"`
}

DeleteLoadBalancerBackendTLSConfigRequest represents a request to delete backend TLS config

func (*DeleteLoadBalancerBackendTLSConfigRequest) RequestURL

type DeleteLoadBalancerCertificateBundleRequest

type DeleteLoadBalancerCertificateBundleRequest struct {
	UUID string `json:"-"`
}

DeleteLoadBalancerCertificateBundleRequest represents a request to delete certificate bundle

func (*DeleteLoadBalancerCertificateBundleRequest) RequestURL

type DeleteLoadBalancerFrontendRequest

type DeleteLoadBalancerFrontendRequest struct {
	ServiceUUID string `json:"-"`
	Name        string `json:"-"`
}

DeleteLoadBalancerFrontendRequest represents a request to delete load balancer frontend

func (*DeleteLoadBalancerFrontendRequest) RequestURL

func (r *DeleteLoadBalancerFrontendRequest) RequestURL() string

type DeleteLoadBalancerFrontendRuleRequest

type DeleteLoadBalancerFrontendRuleRequest struct {
	ServiceUUID  string `json:"-"`
	FrontendName string `json:"-"`
	Name         string `json:"-"`
}

DeleteLoadBalancerFrontendRuleRequest represents a request to delete frontend rule

func (*DeleteLoadBalancerFrontendRuleRequest) RequestURL

type DeleteLoadBalancerFrontendTLSConfigRequest

type DeleteLoadBalancerFrontendTLSConfigRequest struct {
	ServiceUUID  string `json:"-"`
	FrontendName string `json:"-"`
	Name         string `json:"-"`
}

DeleteLoadBalancerFrontendTLSConfigRequest represents a request to delete frontend TLS config

func (*DeleteLoadBalancerFrontendTLSConfigRequest) RequestURL

type DeleteLoadBalancerRequest

type DeleteLoadBalancerRequest struct {
	UUID string `json:"-"`
}

DeleteLoadBalancerRequest represents a request to delete load balancer

func (*DeleteLoadBalancerRequest) RequestURL

func (r *DeleteLoadBalancerRequest) RequestURL() string

type DeleteLoadBalancerResolverRequest

type DeleteLoadBalancerResolverRequest struct {
	ServiceUUID string `json:"-"`
	Name        string `json:"-"`
}

DeleteLoadBalancerResolverRequest represents a request to delete load balancer resolver

func (*DeleteLoadBalancerResolverRequest) RequestURL

func (r *DeleteLoadBalancerResolverRequest) RequestURL() string

type DeleteManagedDatabaseIndexRequest

type DeleteManagedDatabaseIndexRequest struct {
	// ServiceUUID selects a managed database service to modify
	ServiceUUID string `json:"-"`
	// IndexName selects the index to delete
	IndexName string `json:"-"`
}

DeleteManagedDatabaseIndexRequest represents a request to delete an index from an existing managed database instance.

func (*DeleteManagedDatabaseIndexRequest) RequestURL

func (m *DeleteManagedDatabaseIndexRequest) RequestURL() string

RequestURL implements the request.Request interface

type DeleteManagedDatabaseLogicalDatabaseRequest

type DeleteManagedDatabaseLogicalDatabaseRequest struct {
	// ServiceUUID selects a managed database service to modify
	ServiceUUID string `json:"-"`
	Name        string `json:"-"`
}

DeleteManagedDatabaseLogicalDatabaseRequest represents a request to delete a logical database from an existing managed database instance

func (*DeleteManagedDatabaseLogicalDatabaseRequest) RequestURL

RequestURL implements the request.Request interface

type DeleteManagedDatabaseRequest

type DeleteManagedDatabaseRequest struct {
	UUID string
}

DeleteManagedDatabaseRequest represents a request to delete an existing managed database instance

func (*DeleteManagedDatabaseRequest) RequestURL

func (d *DeleteManagedDatabaseRequest) RequestURL() string

RequestURL implements the request.Request interface

type DeleteManagedDatabaseUserRequest

type DeleteManagedDatabaseUserRequest struct {
	// ServiceUUID selects a managed database service to modify
	ServiceUUID string `json:"-"`
	// Username selects the username to delete
	Username string `json:"-"`
}

DeleteManagedDatabaseUserRequest represents a request to delete a normal user from an existing managed database instance

func (*DeleteManagedDatabaseUserRequest) RequestURL

func (m *DeleteManagedDatabaseUserRequest) RequestURL() string

RequestURL implements the request.Request interface

type DeleteManagedObjectStorageBucketRequest added in v8.9.0

type DeleteManagedObjectStorageBucketRequest struct {
	ServiceUUID string `json:"-"`
	Name        string `json:"-"`
}

func (*DeleteManagedObjectStorageBucketRequest) RequestURL added in v8.9.0

RequestURL implements the Request interface

type DeleteManagedObjectStorageCustomDomainRequest added in v8.8.0

type DeleteManagedObjectStorageCustomDomainRequest struct {
	ServiceUUID string `json:"-"`
	DomainName  string `json:"-"`
}

DeleteManagedObjectStorageCustomDomainRequest represents a request to delete a policy

func (*DeleteManagedObjectStorageCustomDomainRequest) RequestURL added in v8.8.0

RequestURL implements the Request interface

type DeleteManagedObjectStorageNetworkRequest

type DeleteManagedObjectStorageNetworkRequest struct {
	ServiceUUID string `json:"-"`
	NetworkName string `json:"-"`
}

DeleteManagedObjectStorageNetworkRequest represents a request to delete a network

func (*DeleteManagedObjectStorageNetworkRequest) RequestURL

RequestURL implements the Request interface

type DeleteManagedObjectStoragePolicyRequest

type DeleteManagedObjectStoragePolicyRequest struct {
	ServiceUUID string `json:"-"`
	Name        string `json:"-"`
}

DeleteManagedObjectStoragePolicyRequest represents a request to delete a policy

func (*DeleteManagedObjectStoragePolicyRequest) RequestURL

RequestURL implements the Request interface

type DeleteManagedObjectStorageRequest

type DeleteManagedObjectStorageRequest struct {
	UUID string `json:"-"`
}

DeleteManagedObjectStorageRequest represents a request to delete a Managed Object Storage service

func (*DeleteManagedObjectStorageRequest) RequestURL

func (r *DeleteManagedObjectStorageRequest) RequestURL() string

RequestURL implements the Request interface

type DeleteManagedObjectStorageUserAccessKeyRequest

type DeleteManagedObjectStorageUserAccessKeyRequest struct {
	ServiceUUID string `json:"-"`
	Username    string `json:"-"`
	AccessKeyID string `json:"-"`
}

DeleteManagedObjectStorageUserAccessKeyRequest represents a request to delete a Managed Object Storage service

func (*DeleteManagedObjectStorageUserAccessKeyRequest) RequestURL

RequestURL implements the Request interface

type DeleteManagedObjectStorageUserRequest

type DeleteManagedObjectStorageUserRequest struct {
	ServiceUUID string `json:"-"`
	Username    string `json:"-"`
}

DeleteManagedObjectStorageUserRequest represents a request to delete a user

func (*DeleteManagedObjectStorageUserRequest) RequestURL

RequestURL implements the Request interface

type DeleteNetworkInterfaceRequest

type DeleteNetworkInterfaceRequest struct {
	ServerUUID string
	Index      int
}

DeleteNetworkInterfaceRequest represents a request to delete a network interface from a server.

func (*DeleteNetworkInterfaceRequest) RequestURL

func (r *DeleteNetworkInterfaceRequest) RequestURL() string

RequestURL implements the Request interface.

type DeleteNetworkPeeringRequest

type DeleteNetworkPeeringRequest GetNetworkPeeringRequest

func (*DeleteNetworkPeeringRequest) RequestURL

func (r *DeleteNetworkPeeringRequest) RequestURL() string

type DeleteNetworkRequest

type DeleteNetworkRequest struct {
	UUID string
}

DeleteNetworkRequest represents a request to delete a network.

func (*DeleteNetworkRequest) RequestURL

func (r *DeleteNetworkRequest) RequestURL() string

RequestURL implements the Request interface.

type DeleteObjectStorageRequest

type DeleteObjectStorageRequest struct {
	UUID string
}

DeleteObjectStorageRequest represents a request to delete a Object Storage

func (*DeleteObjectStorageRequest) RequestURL

func (r *DeleteObjectStorageRequest) RequestURL() string

RequestURL implements the Request interface

type DeleteRouterRequest

type DeleteRouterRequest struct {
	UUID string
}

DeleteRouterRequest represents a request to delete a router.

func (*DeleteRouterRequest) RequestURL

func (r *DeleteRouterRequest) RequestURL() string

RequestURL implements the Request interface.

type DeleteServerAndStoragesRequest

type DeleteServerAndStoragesRequest struct {
	UUID    string
	Backups DeleteStorageBackupsMode
}

DeleteServerAndStoragesRequest represents a request to delete a server and all attached storages

func (*DeleteServerAndStoragesRequest) RequestURL

func (r *DeleteServerAndStoragesRequest) RequestURL() string

RequestURL implements the Request interface

type DeleteServerGroupRequest

type DeleteServerGroupRequest struct {
	UUID string `json:"-"`
}

DeleteServerGroupRequest represents a request to delete server group

func (DeleteServerGroupRequest) RequestURL

func (s DeleteServerGroupRequest) RequestURL() string

type DeleteServerRequest

type DeleteServerRequest struct {
	UUID string
}

DeleteServerRequest represents a request to delete a server

func (*DeleteServerRequest) RequestURL

func (r *DeleteServerRequest) RequestURL() string

RequestURL implements the Request interface

type DeleteStorageBackupsMode

type DeleteStorageBackupsMode string
const (
	StorageImportSourceDirectUpload = "direct_upload"
	StorageImportSourceHTTPImport   = "http_import"

	DeleteStorageBackupsModeKeep       DeleteStorageBackupsMode = "keep"
	DeleteStorageBackupsModeKeepLatest DeleteStorageBackupsMode = "keep_latest"
	DeleteStorageBackupsModeDelete     DeleteStorageBackupsMode = "delete"
)

Constants

type DeleteStorageRequest

type DeleteStorageRequest struct {
	UUID    string
	Backups DeleteStorageBackupsMode
}

DeleteStorageRequest represents a request to delete a storage device

func (*DeleteStorageRequest) RequestURL

func (r *DeleteStorageRequest) RequestURL() string

RequestURL implements the Request interface

type DeleteSubaccountRequest

type DeleteSubaccountRequest struct {
	Username string
}

DeleteSubaccountRequest represents a request to delete a subaccount

func (*DeleteSubaccountRequest) RequestURL

func (r *DeleteSubaccountRequest) RequestURL() string

RequestURL implements the Request interface

type DeleteTagRequest

type DeleteTagRequest struct {
	Name string
}

DeleteTagRequest represents a request to delete a tag

func (*DeleteTagRequest) RequestURL

func (r *DeleteTagRequest) RequestURL() string

RequestURL implements the Request interface

type DetachManagedObjectStorageUserPolicyRequest

type DetachManagedObjectStorageUserPolicyRequest struct {
	ServiceUUID string `json:"-"`
	Username    string `json:"-"`
	Name        string `json:"-"`
}

DetachManagedObjectStorageUserPolicyRequest represents a request for detaching a policy to a user

func (*DetachManagedObjectStorageUserPolicyRequest) RequestURL

RequestURL implements the Request interface

type DetachNetworkRouterRequest

type DetachNetworkRouterRequest struct {
	NetworkUUID string `json:"-"`
}

DetachNetworkRouterRequest represents a request to detach a router from a network

func (DetachNetworkRouterRequest) MarshalJSON

func (r DetachNetworkRouterRequest) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaler interface

func (*DetachNetworkRouterRequest) RequestURL

func (r *DetachNetworkRouterRequest) RequestURL() string

RequestURL implements the Request interface

type DetachStorageRequest

type DetachStorageRequest struct {
	ServerUUID string `json:"-"`

	Address string `json:"address"`
}

DetachStorageRequest represents a request to detach a storage device from a server

func (DetachStorageRequest) MarshalJSON

func (r DetachStorageRequest) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaller that deals with deeply embedded values.

func (*DetachStorageRequest) RequestURL

func (r *DetachStorageRequest) RequestURL() string

RequestURL implements the Request interface

type EjectCDROMRequest

type EjectCDROMRequest struct {
	ServerUUID string
}

EjectCDROMRequest represents a request to load a storage as a CD-ROM in the CD-ROM device of a server

func (*EjectCDROMRequest) RequestURL

func (r *EjectCDROMRequest) RequestURL() string

RequestURL implements the Request interface

type FilterLabel

type FilterLabel struct {
	upcloud.Label
}

func (FilterLabel) ToQueryParam

func (l FilterLabel) ToQueryParam() string

type FilterLabelKey

type FilterLabelKey struct {
	Key string
}

func (FilterLabelKey) ToQueryParam

func (k FilterLabelKey) ToQueryParam() string

type FirewallRuleSlice

type FirewallRuleSlice []upcloud.FirewallRule

FirewallRuleSlice is a slice of firewall rules It exists to allow for a custom JSON marshaller.

func (FirewallRuleSlice) MarshalJSON

func (s FirewallRuleSlice) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaller that deals with deeply embedded values.

type GatewayConnection added in v8.3.0

type GatewayConnection struct {
	Name         string                        `json:"name,omitempty"`
	Type         upcloud.GatewayConnectionType `json:"type,omitempty"`
	LocalRoutes  []upcloud.GatewayRoute        `json:"local_routes,omitempty"`
	RemoteRoutes []upcloud.GatewayRoute        `json:"remote_routes,omitempty"`
	Tunnels      []GatewayTunnel               `json:"tunnels,omitempty"`
}

type GatewayRouter

type GatewayRouter struct {
	UUID string `json:"uuid,omitempty"`
}

type GatewayTunnel added in v8.3.0

type GatewayTunnel struct {
	Name             string                                `json:"name,omitempty"`
	LocalAddress     upcloud.GatewayTunnelLocalAddress     `json:"local_address,omitempty"`
	RemoteAddress    upcloud.GatewayTunnelRemoteAddress    `json:"remote_address,omitempty"`
	IPSec            upcloud.GatewayTunnelIPSec            `json:"ipsec,omitempty"`
	OperationalState upcloud.GatewayTunnelOperationalState `json:"operational_state,omitempty"`
}

type GetAccountDetailsRequest

type GetAccountDetailsRequest struct {
	Username string
}

GetAccountDetailsRequest represents a request to get account details

func (*GetAccountDetailsRequest) RequestURL

func (r *GetAccountDetailsRequest) RequestURL() string

RequestURL implements the Request interface

type GetFirewallRuleDetailsRequest

type GetFirewallRuleDetailsRequest struct {
	ServerUUID string
	Position   int
}

GetFirewallRuleDetailsRequest represents a request to get details about a specific firewall rule

func (*GetFirewallRuleDetailsRequest) RequestURL

func (r *GetFirewallRuleDetailsRequest) RequestURL() string

RequestURL implements the Request interface

type GetFirewallRulesRequest

type GetFirewallRulesRequest struct {
	ServerUUID string
}

GetFirewallRulesRequest represents a request for retrieving the firewall rules for a specific server

func (*GetFirewallRulesRequest) RequestURL

func (r *GetFirewallRulesRequest) RequestURL() string

RequestURL implements the Request interface

type GetGatewayConnectionRequest added in v8.3.0

type GetGatewayConnectionRequest struct {
	ServiceUUID string `json:"-"`
	UUID        string `json:"-"`
}

func (*GetGatewayConnectionRequest) RequestURL added in v8.3.0

func (r *GetGatewayConnectionRequest) RequestURL() string

type GetGatewayConnectionTunnelRequest added in v8.3.0

type GetGatewayConnectionTunnelRequest struct {
	ServiceUUID    string `json:"-"`
	ConnectionUUID string `json:"-"`
	UUID           string `json:"-"`
}

func (*GetGatewayConnectionTunnelRequest) RequestURL added in v8.3.0

func (r *GetGatewayConnectionTunnelRequest) RequestURL() string

type GetGatewayConnectionTunnelsRequest added in v8.3.0

type GetGatewayConnectionTunnelsRequest struct {
	ServiceUUID    string `json:"-"`
	ConnectionUUID string `json:"-"`
}

func (*GetGatewayConnectionTunnelsRequest) RequestURL added in v8.3.0

type GetGatewayConnectionsRequest added in v8.3.0

type GetGatewayConnectionsRequest struct {
	ServiceUUID string `json:"-"`
}

func (*GetGatewayConnectionsRequest) RequestURL added in v8.3.0

func (r *GetGatewayConnectionsRequest) RequestURL() string

type GetGatewayPlansRequest added in v8.3.0

type GetGatewayPlansRequest struct{}

func (*GetGatewayPlansRequest) RequestURL added in v8.3.0

func (r *GetGatewayPlansRequest) RequestURL() string

type GetGatewayRequest

type GetGatewayRequest struct {
	UUID string
}

func (*GetGatewayRequest) RequestURL

func (r *GetGatewayRequest) RequestURL() string

type GetGatewaysRequest

type GetGatewaysRequest struct {
	Filters []QueryFilter
}

func (*GetGatewaysRequest) RequestURL

func (r *GetGatewaysRequest) RequestURL() string

type GetHostDetailsRequest

type GetHostDetailsRequest struct {
	ID int
}

GetHostDetailsRequest represents the request for the details of a single private host

func (*GetHostDetailsRequest) RequestURL

func (r *GetHostDetailsRequest) RequestURL() string

RequestURL implements the Request interface

type GetIPAddressDetailsRequest

type GetIPAddressDetailsRequest struct {
	Address string
}

GetIPAddressDetailsRequest represents a request to retrieve details about a specific IP address

func (*GetIPAddressDetailsRequest) RequestURL

func (r *GetIPAddressDetailsRequest) RequestURL() string

RequestURL implements the Request interface

type GetKubernetesClusterRequest

type GetKubernetesClusterRequest struct {
	UUID string
}

GetKubernetesClusterRequest represents a request to get a Kubernetes cluster details

func (*GetKubernetesClusterRequest) RequestURL

func (r *GetKubernetesClusterRequest) RequestURL() string

type GetKubernetesClustersRequest

type GetKubernetesClustersRequest struct{}

GetKubernetesClustersRequest represents a request to list Kubernetes clusters

func (*GetKubernetesClustersRequest) RequestURL

func (r *GetKubernetesClustersRequest) RequestURL() string

type GetKubernetesClustersWithFiltersRequest

type GetKubernetesClustersWithFiltersRequest struct {
	Filters []QueryFilter
}

GetKubernetesClustersWithFiltersRequest represents a request to get all clusters using labels or label keys as filters. Using multiple filters returns only clusters that match all.

func (*GetKubernetesClustersWithFiltersRequest) RequestURL

RequestURL implements the Request interface.

type GetKubernetesKubeconfigRequest

type GetKubernetesKubeconfigRequest struct {
	UUID string `json:"-"`
}

GetKubernetesKubeconfigRequest represents a request to get kubeconfig for a Kubernetes cluster

func (*GetKubernetesKubeconfigRequest) RequestURL

func (r *GetKubernetesKubeconfigRequest) RequestURL() string

type GetKubernetesNodeGroupRequest

type GetKubernetesNodeGroupRequest struct {
	ClusterUUID string
	Name        string
}

func (*GetKubernetesNodeGroupRequest) RequestURL

func (r *GetKubernetesNodeGroupRequest) RequestURL() string

type GetKubernetesNodeGroupsRequest

type GetKubernetesNodeGroupsRequest struct {
	ClusterUUID string
}

func (*GetKubernetesNodeGroupsRequest) RequestURL

func (r *GetKubernetesNodeGroupsRequest) RequestURL() string

type GetKubernetesPlansRequest

type GetKubernetesPlansRequest struct{}

func (*GetKubernetesPlansRequest) RequestURL

func (r *GetKubernetesPlansRequest) RequestURL() string

type GetKubernetesVersionsRequest

type GetKubernetesVersionsRequest struct{}

GetKubernetesVersionsRequest represents a request to list available Kubernetes cluster versions

func (*GetKubernetesVersionsRequest) RequestURL

func (r *GetKubernetesVersionsRequest) RequestURL() string

type GetLoadBalancerBackendMemberRequest

type GetLoadBalancerBackendMemberRequest struct {
	ServiceUUID string `json:"-"`
	BackendName string `json:"-"`
	Name        string `json:"-"`
}

GetLoadBalancerBackendMemberRequest represents a request to get load balancer backend member details

func (*GetLoadBalancerBackendMemberRequest) RequestURL

type GetLoadBalancerBackendMembersRequest

type GetLoadBalancerBackendMembersRequest struct {
	ServiceUUID string `json:"-"`
	BackendName string `json:"-"`
}

GetLoadBalancerBackendMembersRequest represents a request to get load balancer backend member list

func (*GetLoadBalancerBackendMembersRequest) RequestURL

type GetLoadBalancerBackendRequest

type GetLoadBalancerBackendRequest struct {
	ServiceUUID string `json:"-"`
	Name        string `json:"-"`
}

GetLoadBalancerBackendRequest represents a request to get load balancer backend details

func (*GetLoadBalancerBackendRequest) RequestURL

func (r *GetLoadBalancerBackendRequest) RequestURL() string

type GetLoadBalancerBackendTLSConfigRequest

type GetLoadBalancerBackendTLSConfigRequest struct {
	ServiceUUID string `json:"-"`
	BackendName string `json:"-"`
	Name        string `json:"-"`
}

GetLoadBalancerBackendTLSConfigRequest represents a request to get backend TLS config

func (*GetLoadBalancerBackendTLSConfigRequest) RequestURL

type GetLoadBalancerBackendTLSConfigsRequest

type GetLoadBalancerBackendTLSConfigsRequest struct {
	ServiceUUID string `json:"-"`
	BackendName string `json:"-"`
}

GetLoadBalancerBackendTLSConfigsRequest represents a request to get backend TLS configs

func (*GetLoadBalancerBackendTLSConfigsRequest) RequestURL

type GetLoadBalancerBackendsRequest

type GetLoadBalancerBackendsRequest struct {
	ServiceUUID string `json:"-"`
}

GetLoadBalancerBackendsRequest represents a request to list load balancer backends

func (*GetLoadBalancerBackendsRequest) RequestURL

func (r *GetLoadBalancerBackendsRequest) RequestURL() string

type GetLoadBalancerCertificateBundleRequest

type GetLoadBalancerCertificateBundleRequest struct {
	UUID string `json:"-"`
}

GetLoadBalancerCertificateBundleRequest represents a request to get certificate bundle details

func (*GetLoadBalancerCertificateBundleRequest) RequestURL

type GetLoadBalancerCertificateBundlesRequest

type GetLoadBalancerCertificateBundlesRequest struct {
	Page *Page
}

GetLoadBalancerCertificateBundlesRequest represents a request to list certificate bundles List size can be filtered using optional Page object

func (*GetLoadBalancerCertificateBundlesRequest) RequestURL

type GetLoadBalancerDNSChallengeDomainRequest added in v8.8.0

type GetLoadBalancerDNSChallengeDomainRequest struct{}

GetLoadBalancerDNSChallengeDomainRequest represents a request to get domain for DNS challenge

func (*GetLoadBalancerDNSChallengeDomainRequest) RequestURL added in v8.8.0

type GetLoadBalancerFrontendRequest

type GetLoadBalancerFrontendRequest struct {
	ServiceUUID string `json:"-"`
	Name        string `json:"-"`
}

GetLoadBalancerFrontendRequest represents a request to get load balancer frontend details

func (*GetLoadBalancerFrontendRequest) RequestURL

func (r *GetLoadBalancerFrontendRequest) RequestURL() string

type GetLoadBalancerFrontendRuleRequest

type GetLoadBalancerFrontendRuleRequest struct {
	ServiceUUID  string `json:"-"`
	FrontendName string `json:"-"`
	Name         string `json:"-"`
}

GetLoadBalancerFrontendRuleRequest represents a request to get frontend rule details

func (*GetLoadBalancerFrontendRuleRequest) RequestURL

type GetLoadBalancerFrontendRulesRequest

type GetLoadBalancerFrontendRulesRequest struct {
	ServiceUUID  string `json:"-"`
	FrontendName string `json:"-"`
}

GetLoadBalancerFrontendRulesRequest represents a request to list frontend rules

func (*GetLoadBalancerFrontendRulesRequest) RequestURL

type GetLoadBalancerFrontendTLSConfigRequest

type GetLoadBalancerFrontendTLSConfigRequest struct {
	ServiceUUID  string `json:"-"`
	FrontendName string `json:"-"`
	Name         string `json:"-"`
}

GetLoadBalancerFrontendTLSConfigRequest represents a request to get frontend TLS config

func (*GetLoadBalancerFrontendTLSConfigRequest) RequestURL

type GetLoadBalancerFrontendTLSConfigsRequest

type GetLoadBalancerFrontendTLSConfigsRequest struct {
	ServiceUUID  string `json:"-"`
	FrontendName string `json:"-"`
}

GetLoadBalancerFrontendTLSConfigsRequest represents a request to get frontend TLS configs

func (*GetLoadBalancerFrontendTLSConfigsRequest) RequestURL

type GetLoadBalancerFrontendsRequest

type GetLoadBalancerFrontendsRequest struct {
	ServiceUUID string `json:"-"`
}

GetLoadBalancerFrontendsRequest represents a request to list load balancer frontends

func (*GetLoadBalancerFrontendsRequest) RequestURL

func (r *GetLoadBalancerFrontendsRequest) RequestURL() string

type GetLoadBalancerPlansRequest

type GetLoadBalancerPlansRequest struct {
	Page *Page
}

GetLoadBalancerPlansRequest represents a request to list load balancer plans List size can be filtered using optional Page object

func (*GetLoadBalancerPlansRequest) RequestURL

func (r *GetLoadBalancerPlansRequest) RequestURL() string

type GetLoadBalancerRequest

type GetLoadBalancerRequest struct {
	UUID string
}

GetLoadBalancerRequest represents a request to get load balancer details

func (*GetLoadBalancerRequest) RequestURL

func (r *GetLoadBalancerRequest) RequestURL() string

type GetLoadBalancerResolverRequest

type GetLoadBalancerResolverRequest struct {
	ServiceUUID string `json:"-"`
	Name        string `json:"-"`
}

GetLoadBalancerResolverRequest represents a request to get load balancer resolver details

func (*GetLoadBalancerResolverRequest) RequestURL

func (r *GetLoadBalancerResolverRequest) RequestURL() string

type GetLoadBalancerResolversRequest

type GetLoadBalancerResolversRequest struct {
	ServiceUUID string `json:"-"`
}

GetLoadBalancerResolversRequest represents a request to get load balancer resolver list

func (*GetLoadBalancerResolversRequest) RequestURL

func (r *GetLoadBalancerResolversRequest) RequestURL() string

type GetLoadBalancersRequest

type GetLoadBalancersRequest struct {
	Page    *Page
	Filters []QueryFilter
}

GetLoadBalancersRequest represents a request to list load balancers List size can be filtered using optional Page object

func (*GetLoadBalancersRequest) RequestURL

func (r *GetLoadBalancersRequest) RequestURL() string

type GetManagedDatabaseAccessControlRequest

type GetManagedDatabaseAccessControlRequest struct {
	// ServiceUUID selects a managed database service to query
	ServiceUUID string `json:"-"`
}

GetManagedDatabaseAccessControlRequest represents a request to get access control settings of an existing OpenSearch Managed Database service

func (*GetManagedDatabaseAccessControlRequest) RequestURL

RequestURL implements the request.Request interface

type GetManagedDatabaseIndicesRequest

type GetManagedDatabaseIndicesRequest struct {
	// ServiceUUID selects a managed database service to query
	ServiceUUID string `json:"-"`
}

GetManagedDatabaseIndicesRequest represents a request to get the indices of an existing managed database instance.

func (*GetManagedDatabaseIndicesRequest) RequestURL

func (g *GetManagedDatabaseIndicesRequest) RequestURL() string

RequestURL implements the request.Request interface

type GetManagedDatabaseLogicalDatabasesRequest

type GetManagedDatabaseLogicalDatabasesRequest struct {
	// ServiceUUID selects a managed database service to query
	ServiceUUID string `json:"-"`
}

GetManagedDatabaseLogicalDatabasesRequest represents a request to get a slice of existing logical databases of a managed database instance

func (*GetManagedDatabaseLogicalDatabasesRequest) RequestURL

RequestURL implements the request.Request interface

type GetManagedDatabaseLogsRequest

type GetManagedDatabaseLogsRequest struct {
	// UUID selects a managed database instance to query logs from
	UUID string
	// Limit sets the maximum number of logs to query in one go
	Limit int
	// Offset sets the offset from which to query logs onwards
	Offset string
	// Order sets the log sort order. See:
	// 	upcloud.ManagedDatabaseLogOrderAscending
	// 	upcloud.ManagedDatabaseLogOrderDescending
	Order upcloud.ManagedDatabaseLogOrder
}

GetManagedDatabaseLogsRequest represents a request to get managed database instance logs

func (*GetManagedDatabaseLogsRequest) RequestURL

func (g *GetManagedDatabaseLogsRequest) RequestURL() string

RequestURL implements the request.Request interface

type GetManagedDatabaseMetricsRequest

type GetManagedDatabaseMetricsRequest struct {
	// UUID selects a managed database instance to query metrics from
	UUID string
	// Period selects the observation window. See:
	// 	upcloud.ManagedDatabaseMetricPeriodHour
	// 	upcloud.ManagedDatabaseMetricPeriodDay
	// 	upcloud.ManagedDatabaseMetricPeriodWeek
	// 	upcloud.ManagedDatabaseMetricPeriodMonth
	// 	upcloud.ManagedDatabaseMetricPeriodYear
	Period upcloud.ManagedDatabaseMetricPeriod
}

GetManagedDatabaseMetricsRequest represents a request to get managed database instance performance metrics

func (*GetManagedDatabaseMetricsRequest) RequestURL

func (g *GetManagedDatabaseMetricsRequest) RequestURL() string

RequestURL implements the request.Request interface

type GetManagedDatabaseQueryStatisticsRequest

type GetManagedDatabaseQueryStatisticsRequest struct {
	// UUID selects a managed database instance to query statistics from
	UUID string
	// Limit sets the upper bound how many query stats to fetch
	Limit int
	// Offset skips n query stat rows before returning them. It can be used to iteratively fetch all.
	Offset int
}

func (*GetManagedDatabaseQueryStatisticsRequest) RequestURL

RequestURL implements the request.Request interface

type GetManagedDatabaseRequest

type GetManagedDatabaseRequest struct {
	UUID string
}

GetManagedDatabaseRequest represents a request to get details of an existing managed database instance

func (*GetManagedDatabaseRequest) RequestURL

func (g *GetManagedDatabaseRequest) RequestURL() string

RequestURL implements the request.Request interface

type GetManagedDatabaseServiceTypeRequest

type GetManagedDatabaseServiceTypeRequest struct {
	Type string
}

GetManagedDatabaseServiceTypeRequest represents a request to get details of a database type

func (*GetManagedDatabaseServiceTypeRequest) RequestURL

RequestURL implements the request.Request interface

type GetManagedDatabaseServiceTypesRequest

type GetManagedDatabaseServiceTypesRequest struct{}

GetManagedDatabaseServiceTypesRequest represents a request to get a map of available database types

func (*GetManagedDatabaseServiceTypesRequest) RequestURL

RequestURL implements the request.Request interface

type GetManagedDatabaseSessionsRequest

type GetManagedDatabaseSessionsRequest struct {
	// UUID selects a managed database instance to query connections from
	UUID string
	// Limit sets the upper bound how many connections to fetch
	Limit int
	// Offset skips n connections before returning them. It can be used to iteratively fetch connections.
	Offset int
	//  Order by Session content variable and sort retrieved results. Limited variables can be used for ordering.
	Order string
}

GetManagedDatabaseSessionsRequest represents a request to get managed database instance's current connections

func (*GetManagedDatabaseSessionsRequest) RequestURL

func (g *GetManagedDatabaseSessionsRequest) RequestURL() string

RequestURL implements the request.Request interface

type GetManagedDatabaseUserRequest

type GetManagedDatabaseUserRequest struct {
	// ServiceUUID selects a managed database service to query
	ServiceUUID string `json:"-"`
	// Username selects the username to get
	Username string `json:"-"`
}

GetManagedDatabaseUserRequest represents a request to get details of a user of an existing managed database instance. This request also returns the password of the user if it's known by the API.

func (*GetManagedDatabaseUserRequest) RequestURL

func (g *GetManagedDatabaseUserRequest) RequestURL() string

RequestURL implements the request.Request interface

type GetManagedDatabaseUsersRequest

type GetManagedDatabaseUsersRequest struct {
	// ServiceUUID selects a managed database service to query
	ServiceUUID string `json:"-"`
}

GetManagedDatabaseUsersRequest represents a request to get a slice of users of an existing managed database instance The returned response doesn't contain the passwords of the users.

func (*GetManagedDatabaseUsersRequest) RequestURL

func (g *GetManagedDatabaseUsersRequest) RequestURL() string

RequestURL implements the request.Request interface

type GetManagedDatabaseVersionsRequest

type GetManagedDatabaseVersionsRequest struct {
	UUID string `json:"-"`
}

GetManagedDatabaseVersionsRequests represents a request to list available versions of the Managed Database service by its UUID

func (*GetManagedDatabaseVersionsRequest) RequestURL

func (r *GetManagedDatabaseVersionsRequest) RequestURL() string

RequestURL implements the request.Request interface

type GetManagedDatabasesRequest

type GetManagedDatabasesRequest struct {
	Page *Page
}

GetManagedDatabasesRequest represents a request to get a slice of existing managed database instances

func (*GetManagedDatabasesRequest) RequestURL

func (g *GetManagedDatabasesRequest) RequestURL() string

RequestURL implements the request.Request interface

type GetManagedObjectStorageBucketMetricsRequest

type GetManagedObjectStorageBucketMetricsRequest struct {
	Page        *Page  `json:"-"`
	ServiceUUID string `json:"-"`
}

GetManagedObjectStorageBucketMetricsRequest represents a request for retrieving buckets' metrics

func (*GetManagedObjectStorageBucketMetricsRequest) RequestURL

RequestURL implements the Request interface

type GetManagedObjectStorageCustomDomainRequest added in v8.8.0

type GetManagedObjectStorageCustomDomainRequest struct {
	DomainName  string `json:"-"`
	ServiceUUID string `json:"-"`
}

GetManagedObjectStorageCustomDomainRequest represents a request for retrieving details about a policy

func (*GetManagedObjectStorageCustomDomainRequest) RequestURL added in v8.8.0

RequestURL implements the Request interface

type GetManagedObjectStorageCustomDomainsRequest added in v8.8.0

type GetManagedObjectStorageCustomDomainsRequest struct {
	ServiceUUID string `json:"-"`
}

GetManagedObjectStorageCustomDomainsRequest represents a request for retrieving policies

func (*GetManagedObjectStorageCustomDomainsRequest) RequestURL added in v8.8.0

RequestURL implements the Request interface

type GetManagedObjectStorageMetricsRequest

type GetManagedObjectStorageMetricsRequest struct {
	ServiceUUID string `json:"-"`
}

GetManagedObjectStorageMetricsRequest represents a request for retrieving metrics

func (*GetManagedObjectStorageMetricsRequest) RequestURL

RequestURL implements the Request interface

type GetManagedObjectStorageNetworkRequest

type GetManagedObjectStorageNetworkRequest struct {
	ServiceUUID string `json:"-"`
	NetworkName string `json:"-"`
}

GetManagedObjectStorageNetworkRequest represents a request for retrieving details about a network

func (*GetManagedObjectStorageNetworkRequest) RequestURL

RequestURL implements the Request interface

type GetManagedObjectStorageNetworksRequest

type GetManagedObjectStorageNetworksRequest struct {
	ServiceUUID string `json:"-"`
}

GetManagedObjectStorageNetworksRequest represents a request for retrieving networks

func (*GetManagedObjectStorageNetworksRequest) RequestURL

RequestURL implements the Request interface

type GetManagedObjectStoragePoliciesRequest

type GetManagedObjectStoragePoliciesRequest struct {
	ServiceUUID string `json:"-"`
}

GetManagedObjectStoragePoliciesRequest represents a request for retrieving policies

func (*GetManagedObjectStoragePoliciesRequest) RequestURL

RequestURL implements the Request interface

type GetManagedObjectStoragePolicyRequest

type GetManagedObjectStoragePolicyRequest struct {
	Name        string `json:"-"`
	ServiceUUID string `json:"-"`
}

GetManagedObjectStoragePolicyRequest represents a request for retrieving details about a policy

func (*GetManagedObjectStoragePolicyRequest) RequestURL

RequestURL implements the Request interface

type GetManagedObjectStorageRegionRequest

type GetManagedObjectStorageRegionRequest struct {
	Name string `json:"-"`
}

GetManagedObjectStorageRegionRequest represents a request for retrieving details about a Managed Object Storage region

func (*GetManagedObjectStorageRegionRequest) RequestURL

RequestURL implements the Request interface

type GetManagedObjectStorageRegionsRequest

type GetManagedObjectStorageRegionsRequest struct{}

GetManagedObjectStorageRegionsRequest represents a request for retrieving Managed Object Storage regions

func (*GetManagedObjectStorageRegionsRequest) RequestURL

RequestURL implements the Request interface

type GetManagedObjectStorageRequest

type GetManagedObjectStorageRequest struct {
	UUID string `json:"-"`
}

GetManagedObjectStorageRequest represents a request for retrieving details about a Managed Object Storage service

func (*GetManagedObjectStorageRequest) RequestURL

func (r *GetManagedObjectStorageRequest) RequestURL() string

RequestURL implements the Request interface

type GetManagedObjectStorageUserAccessKeyRequest

type GetManagedObjectStorageUserAccessKeyRequest struct {
	ServiceUUID string `json:"-"`
	Username    string `json:"-"`
	AccessKeyID string `json:"-"`
}

GetManagedObjectStorageUserAccessKeyRequest represents a request for retrieving details about an access key

func (*GetManagedObjectStorageUserAccessKeyRequest) RequestURL

RequestURL implements the Request interface

type GetManagedObjectStorageUserAccessKeysRequest

type GetManagedObjectStorageUserAccessKeysRequest struct {
	ServiceUUID string `json:"-"`
	Username    string `json:"-"`
}

GetManagedObjectStorageUserAccessKeysRequest represents a request for retrieving access keys

func (*GetManagedObjectStorageUserAccessKeysRequest) RequestURL

RequestURL implements the Request interface

type GetManagedObjectStorageUserPoliciesRequest

type GetManagedObjectStorageUserPoliciesRequest struct {
	ServiceUUID string `json:"-"`
	Username    string `json:"-"`
}

GetManagedObjectStorageUserPoliciesRequest represents a request for retrieving policies attached to a user

func (*GetManagedObjectStorageUserPoliciesRequest) RequestURL

RequestURL implements the Request interface

type GetManagedObjectStorageUserRequest

type GetManagedObjectStorageUserRequest struct {
	ServiceUUID string `json:"-"`
	Username    string `json:"-"`
}

GetManagedObjectStorageUserRequest represents a request for retrieving details about a user

func (*GetManagedObjectStorageUserRequest) RequestURL

RequestURL implements the Request interface

type GetManagedObjectStorageUsersRequest

type GetManagedObjectStorageUsersRequest struct {
	ServiceUUID string `json:"-"`
}

GetManagedObjectStorageUsersRequest represents a request for retrieving users

func (*GetManagedObjectStorageUsersRequest) RequestURL

RequestURL implements the Request interface

type GetManagedObjectStoragesRequest

type GetManagedObjectStoragesRequest struct {
	Page *Page `json:"-"`
}

GetManagedObjectStoragesRequest represents a request to list Managed Object Storage services List size can be filtered using optional Page object

func (*GetManagedObjectStoragesRequest) RequestURL

func (r *GetManagedObjectStoragesRequest) RequestURL() string

type GetNetworkDetailsRequest

type GetNetworkDetailsRequest struct {
	UUID string
}

GetNetworkDetailsRequest represents a request to the the details of a single network.

func (*GetNetworkDetailsRequest) RequestURL

func (r *GetNetworkDetailsRequest) RequestURL() string

RequestURL implements the Request interface.

type GetNetworkPeeringRequest

type GetNetworkPeeringRequest struct {
	UUID string
}

func (*GetNetworkPeeringRequest) RequestURL

func (r *GetNetworkPeeringRequest) RequestURL() string

type GetNetworkPeeringsRequest

type GetNetworkPeeringsRequest struct {
	Filters []QueryFilter
}

func (*GetNetworkPeeringsRequest) RequestURL

func (r *GetNetworkPeeringsRequest) RequestURL() string

type GetNetworksInZoneRequest

type GetNetworksInZoneRequest struct {
	Zone    string
	Filters []QueryFilter
}

GetNetworksInZoneRequest represents a request to get all networks within the specified zone.

func (*GetNetworksInZoneRequest) RequestURL

func (r *GetNetworksInZoneRequest) RequestURL() string

RequestURL implements the Request interface.

type GetNetworksRequest

type GetNetworksRequest struct {
	Filters []QueryFilter
}

GetNetworksRequest represents a rwquest to get all networks

func (*GetNetworksRequest) RequestURL

func (r *GetNetworksRequest) RequestURL() string

type GetObjectStorageDetailsRequest

type GetObjectStorageDetailsRequest struct {
	UUID string
}

GetObjectStorageDetailsRequest represents a request for retrieving details about a Object Storage device

func (*GetObjectStorageDetailsRequest) RequestURL

func (r *GetObjectStorageDetailsRequest) RequestURL() string

RequestURL implements the Request interface

type GetPermissionsRequest

type GetPermissionsRequest struct{}

GetPermissionsRequest represents a request to get permissions

func (*GetPermissionsRequest) RequestURL

func (r *GetPermissionsRequest) RequestURL() string

type GetRouterDetailsRequest

type GetRouterDetailsRequest struct {
	UUID string
}

GetRouterDetailsRequest represents a request to get details about a single router.

func (*GetRouterDetailsRequest) RequestURL

func (r *GetRouterDetailsRequest) RequestURL() string

RequestURL implements the Request interface.

type GetRoutersRequest

type GetRoutersRequest struct {
	Filters []QueryFilter
}

GetRouterssequest represents a request to list routers.

func (*GetRoutersRequest) RequestURL

func (r *GetRoutersRequest) RequestURL() string

type GetServerDetailsRequest

type GetServerDetailsRequest struct {
	UUID string
}

GetServerDetailsRequest represents a request for retrieving details about a server

func (*GetServerDetailsRequest) RequestURL

func (r *GetServerDetailsRequest) RequestURL() string

RequestURL implements the Request interface

type GetServerGroupRequest

type GetServerGroupRequest struct {
	UUID string `json:"-"`
}

GetServerGroupsRequest represents a request to get server group details

func (GetServerGroupRequest) RequestURL

func (s GetServerGroupRequest) RequestURL() string

type GetServerGroupsRequest

type GetServerGroupsRequest struct {
	Filters []QueryFilter
}

GetServerGroupsRequest represents a request to list server groups

func (GetServerGroupsRequest) RequestURL

func (s GetServerGroupsRequest) RequestURL() string

type GetServerGroupsWithFiltersRequest deprecated

type GetServerGroupsWithFiltersRequest struct {
	Filters []QueryFilter
}

Deprecated: GetServerGroupsWithFiltersRequest is deprecated. Use GetServerGroupsRequest instead.

func (*GetServerGroupsWithFiltersRequest) RequestURL

func (r *GetServerGroupsWithFiltersRequest) RequestURL() string

type GetServerNetworksRequest

type GetServerNetworksRequest struct {
	ServerUUID string
}

GetServerNetworksRequest represents a request to get the networks a server is part of.

func (*GetServerNetworksRequest) RequestURL

func (r *GetServerNetworksRequest) RequestURL() string

RequestURL implements the Request interface.

type GetServersWithFiltersRequest

type GetServersWithFiltersRequest struct {
	Filters []QueryFilter
}

GetServersWithFiltersRequest represents a request to get all servers using labels or label keys as filters. Using multiple filters returns only servers that match all.

func (*GetServersWithFiltersRequest) RequestURL

func (r *GetServersWithFiltersRequest) RequestURL() string

RequestURL implements the Request interface.

type GetStorageDetailsRequest

type GetStorageDetailsRequest struct {
	UUID string
}

GetStorageDetailsRequest represents a request for retrieving details about a piece of storage

func (*GetStorageDetailsRequest) RequestURL

func (r *GetStorageDetailsRequest) RequestURL() string

RequestURL implements the Request interface

type GetStorageImportDetailsRequest

type GetStorageImportDetailsRequest struct {
	UUID string
}

GetStorageImportDetailsRequest represents a request to get details about an import

func (*GetStorageImportDetailsRequest) RequestURL

func (r *GetStorageImportDetailsRequest) RequestURL() string

RequestURL implements the Request interface

type GetStoragesRequest

type GetStoragesRequest struct {
	// If specified, only storages with this access type will be retrieved
	Access string
	// If specified, only storages with this type will be retrieved
	Type string
	// If specified, only storages marked as favorite will be retrieved
	Favorite bool

	Filters []QueryFilter
}

GetStoragesRequest represents a request for retrieving all or some storages

func (*GetStoragesRequest) RequestURL

func (r *GetStoragesRequest) RequestURL() string

RequestURL implements the Request interface

type GrantPermissionRequest

type GrantPermissionRequest struct {
	Permission upcloud.Permission `json:"permission,omitempty"`
}

GrantPermissionRequest represents a request to grant permission

func (*GrantPermissionRequest) RequestURL

func (r *GrantPermissionRequest) RequestURL() string

type ImportSourceLocation

type ImportSourceLocation interface{}

ImportSourceLocation can be a string to a file or io.Reader in StorageImportSourceDirectUpload mode or a URL in StorageImportSourceHTTPImport mode

type KubernetesFilter deprecated

type KubernetesFilter = QueryFilter

Deprecated: KubernetesFilter filter is deprecated. Use QueryFilter instead.

type KubernetesNodeGroup

type KubernetesNodeGroup struct {
	Count                int                            `json:"count,omitempty"`
	Labels               []upcloud.Label                `json:"labels,omitempty"`
	Name                 string                         `json:"name,omitempty"`
	Plan                 string                         `json:"plan,omitempty"`
	SSHKeys              []string                       `json:"ssh_keys,omitempty"`
	Storage              string                         `json:"storage,omitempty"`
	KubeletArgs          []upcloud.KubernetesKubeletArg `json:"kubelet_args,omitempty"`
	Taints               []upcloud.KubernetesTaint      `json:"taints,omitempty"`
	AntiAffinity         bool                           `json:"anti_affinity,omitempty"`
	UtilityNetworkAccess *bool                          `json:"utility_network_access,omitempty"`
	// Node group custom plan properties. Required when plan is set as "custom".
	CustomPlan *upcloud.KubernetesNodeGroupCustomPlan `json:"custom_plan,omitempty"`
	// node group storage encryption strategy (optional).
	StorageEncryption upcloud.StorageEncryption `json:"storage_encryption,omitempty"`
}

type LoadBalancerBackend

type LoadBalancerBackend struct {
	Name       string                                 `json:"name"`
	Resolver   string                                 `json:"resolver,omitempty"`
	Members    []LoadBalancerBackendMember            `json:"members"`
	Properties *upcloud.LoadBalancerBackendProperties `json:"properties,omitempty"`
	TLSConfigs []LoadBalancerBackendTLSConfig         `json:"tls_configs,omitempty"`
}

LoadBalancerBackend represents the payload for CreateLoadBalancerBackendRequest

type LoadBalancerBackendMember

type LoadBalancerBackendMember struct {
	Name        string                                `json:"name,omitempty"`
	Weight      int                                   `json:"weight"`
	MaxSessions int                                   `json:"max_sessions"`
	Enabled     bool                                  `json:"enabled"`
	Type        upcloud.LoadBalancerBackendMemberType `json:"type,omitempty"`
	IP          string                                `json:"ip,omitempty"`
	Port        int                                   `json:"port,omitempty"`
}

LoadBalancerBackendMember represents the payload for backend member request

func NewLoadBalancerDynamicBackendMember

func NewLoadBalancerDynamicBackendMember(name string, weight int, maxSessions int, enabled bool, IP string, port int) LoadBalancerBackendMember

func NewLoadBalancerStaticBackendMember

func NewLoadBalancerStaticBackendMember(name string, weight int, maxSessions int, enabled bool, IP string, port int) LoadBalancerBackendMember

type LoadBalancerBackendTLSConfig

type LoadBalancerBackendTLSConfig struct {
	Name                  string `json:"name,omitempty"`
	CertificateBundleUUID string `json:"certificate_bundle_uuid,omitempty"`
}

LoadBalancerBackendTLSConfig represents TLS config payload

type LoadBalancerFrontend

type LoadBalancerFrontend struct {
	Name           string                                  `json:"name,omitempty"`
	Mode           upcloud.LoadBalancerMode                `json:"mode,omitempty"`
	Port           int                                     `json:"port,omitempty"`
	DefaultBackend string                                  `json:"default_backend,omitempty"`
	Rules          []LoadBalancerFrontendRule              `json:"rules,omitempty"`
	TLSConfigs     []LoadBalancerFrontendTLSConfig         `json:"tls_configs,omitempty"`
	Properties     *upcloud.LoadBalancerFrontendProperties `json:"properties,omitempty"`
	Networks       []upcloud.LoadBalancerFrontendNetwork   `json:"networks,omitempty"`
}

LoadBalancerFrontend represents frontend payload

type LoadBalancerFrontendRule

type LoadBalancerFrontendRule struct {
	Name              string                                `json:"name"`
	Priority          int                                   `json:"priority"`
	MatchingCondition upcloud.LoadBalancerMatchingCondition `json:"matching_condition,omitempty"`

	// Set of rule matchers.
	// Use NewLoadBalancer<Type>Matcher helper functions to define matcher items.
	Matchers []upcloud.LoadBalancerMatcher `json:"matchers"`

	// Set of rule actions.
	// Use NewLoadBalancer<Type>Action helper functions to define action items
	Actions []upcloud.LoadBalancerAction `json:"actions"`
}

LoadBalancerFrontendRule represents frontend rule payload

type LoadBalancerFrontendTLSConfig

type LoadBalancerFrontendTLSConfig struct {
	Name                  string `json:"name,omitempty"`
	CertificateBundleUUID string `json:"certificate_bundle_uuid,omitempty"`
}

LoadBalancerFrontendTLSConfig represents TLS config payload

type LoadBalancerNetwork

type LoadBalancerNetwork struct {
	Name   string                            `json:"name,omitempty"`
	Type   upcloud.LoadBalancerNetworkType   `json:"type,omitempty"`
	Family upcloud.LoadBalancerAddressFamily `json:"family,omitempty"`
	UUID   string                            `json:"uuid,omitempty"`
}

LoadBalancerNetwork represents the network payload for CreateLoadBalancerRequest

type LoadBalancerResolver

type LoadBalancerResolver struct {
	Name         string   `json:"name,omitempty"`
	Nameservers  []string `json:"nameservers,omitempty"`
	Retries      int      `json:"retries,omitempty"`
	Timeout      int      `json:"timeout,omitempty"`
	TimeoutRetry int      `json:"timeout_retry,omitempty"`
	CacheValid   int      `json:"cache_valid,omitempty"`
	CacheInvalid int      `json:"cache_invalid,omitempty"`
}

LoadBalancerResolver represents resolver payload

type LoadCDROMRequest

type LoadCDROMRequest struct {
	ServerUUID string `json:"-"`

	StorageUUID string `json:"storage"`
}

LoadCDROMRequest represents a request to load a storage as a CD-ROM in the CD-ROM device of a server

func (LoadCDROMRequest) MarshalJSON

func (r LoadCDROMRequest) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaller that deals with deeply embedded values.

func (*LoadCDROMRequest) RequestURL

func (r *LoadCDROMRequest) RequestURL() string

RequestURL implements the Request interface

type LoginUser

type LoginUser struct {
	CreatePassword string      `json:"create_password,omitempty"`
	Username       string      `json:"username,omitempty"`
	SSHKeys        SSHKeySlice `json:"ssh_keys,omitempty"`
}

LoginUser represents the login_user block when creating a new server

type ManagedDatabaseMaintenanceTimeRequest

type ManagedDatabaseMaintenanceTimeRequest struct {
	DayOfWeek string `json:"dow,omitempty"`
	Time      string `json:"time,omitempty"`
}

ManagedDatabaseMaintenanceTimeRequest represents the set time of week when automatic maintenance operations are allowed

type ManagedDatabasePropertiesRequest

type ManagedDatabasePropertiesRequest map[upcloud.ManagedDatabasePropertyKey]interface{}

ManagedDatabasePropertiesRequest is a Properties helper type for CreateManagedDatabaseRequest and ModifyManagedDatabaseRequest. It allows initialisation by chaining the Set methods.

For example:

req := CreateManagedDatabaseRequest{}; req.Properties.SetString("foo", "bar").Set("test", customValue)

func (*ManagedDatabasePropertiesRequest) Get

Get returns a property value by name. The underlying map is initialised if it's nil

func (*ManagedDatabasePropertiesRequest) GetAutoUtilityIPFilter

func (m *ManagedDatabasePropertiesRequest) GetAutoUtilityIPFilter() bool

GetAutoUtilityIPFilter returns the state of automatic utility network IP filtering. See upcloud.ManagedDatabasePropertyAutoUtilityIPFilter for more information.

func (*ManagedDatabasePropertiesRequest) GetBool

GetBool returns a boolean property value. The underlying map is initialised if it's nil.

func (*ManagedDatabasePropertiesRequest) GetIPFilter

func (m *ManagedDatabasePropertiesRequest) GetIPFilter() []string

GetIPFilter returns a slice of allowed hosts or networks. See upcloud.ManagedDatabasePropertyIPFilter for more information.

func (*ManagedDatabasePropertiesRequest) GetInt

GetInt returns an integer property value. The underlying map is initialised if it's nil.

func (*ManagedDatabasePropertiesRequest) GetPublicAccess

func (m *ManagedDatabasePropertiesRequest) GetPublicAccess() bool

GetPublicAccess returns the state of public access to the service. See upcloud.ManagedDatabasePropertyPublicAccess for more information.

func (*ManagedDatabasePropertiesRequest) GetString

GetString returns a string property value. The underlying map is initialised if it's nil.

func (*ManagedDatabasePropertiesRequest) GetStringSlice

GetStringSlice returns a string-slice property value. The underlying map is initialised if it's nil.

func (*ManagedDatabasePropertiesRequest) Set

Set associates key with an any type of value. The underlying map is initialised if it's nil

func (*ManagedDatabasePropertiesRequest) SetAutoUtilityIPFilter

func (m *ManagedDatabasePropertiesRequest) SetAutoUtilityIPFilter(enabled bool) *ManagedDatabasePropertiesRequest

SetAutoUtilityIPFilter enables or disables automatic utility network ip filtering. See upcloud.ManagedDatabasePropertyAutoUtilityIPFilter for more information.

func (*ManagedDatabasePropertiesRequest) SetBool

SetBool associates key with a boolean value. The underlying map is initialised if it's nil

func (*ManagedDatabasePropertiesRequest) SetIPFilter

func (m *ManagedDatabasePropertiesRequest) SetIPFilter(addressOrNetworkWithCIDRMask ...string) *ManagedDatabasePropertiesRequest

SetIPFilter sets the list of allowed host or networks that can access the service.

Use upcloud.ManagedDatabaseAllIPv4 to enable access from anywhere.

See upcloud.ManagedDatabasePropertyIPFilter for more information.

func (*ManagedDatabasePropertiesRequest) SetInt

SetInt associates key with an integer value. The underlying map is initialised if it's nil

func (*ManagedDatabasePropertiesRequest) SetPublicAccess

SetPublicAccess enables or disables public access from the internet. See upcloud.ManagedDatabasePropertyPublicAccess for more information.

func (*ManagedDatabasePropertiesRequest) SetString

SetString associates key with a string value. The underlying map is initialised if it's nil

func (*ManagedDatabasePropertiesRequest) SetStringSlice

SetStringSlice associates key with a slice of strings. The underlying map is initialised if it's nil

type ManagedObjectStorageUser

type ManagedObjectStorageUser struct {
	Username string `json:"username"`
}

ManagedObjectStorageUser represents a user

type ModifyCustomDomain added in v8.8.0

type ModifyCustomDomain struct {
	DomainName string `json:"domain_name"`
	Type       string `json:"type"`
}

type ModifyGatewayConnection added in v8.3.0

type ModifyGatewayConnection struct {
	LocalRoutes  []upcloud.GatewayRoute `json:"local_routes,omitempty"`
	RemoteRoutes []upcloud.GatewayRoute `json:"remote_routes,omitempty"`
	Tunnels      []GatewayTunnel        `json:"tunnels,omitempty"`
}

type ModifyGatewayConnectionRequest added in v8.3.0

type ModifyGatewayConnectionRequest struct {
	ServiceUUID string `json:"-"`
	UUID        string `json:"-"`
	Connection  ModifyGatewayConnection
}

func (*ModifyGatewayConnectionRequest) MarshalJSON added in v8.3.0

func (r *ModifyGatewayConnectionRequest) MarshalJSON() ([]byte, error)

func (*ModifyGatewayConnectionRequest) RequestURL added in v8.3.0

func (r *ModifyGatewayConnectionRequest) RequestURL() string

type ModifyGatewayConnectionTunnelRequest added in v8.3.0

type ModifyGatewayConnectionTunnelRequest struct {
	ServiceUUID    string `json:"-"`
	ConnectionUUID string `json:"-"`
	UUID           string `json:"-"`
	Tunnel         ModifyGatewayTunnel
}

func (*ModifyGatewayConnectionTunnelRequest) MarshalJSON added in v8.3.0

func (r *ModifyGatewayConnectionTunnelRequest) MarshalJSON() ([]byte, error)

func (*ModifyGatewayConnectionTunnelRequest) RequestURL added in v8.3.0

type ModifyGatewayRequest

type ModifyGatewayRequest struct {
	UUID             string                          `json:"-"`
	Name             string                          `json:"name,omitempty"`
	Plan             string                          `json:"plan,omitempty"`
	ConfiguredStatus upcloud.GatewayConfiguredStatus `json:"configured_status,omitempty"`
	Labels           []upcloud.Label                 `json:"labels,omitempty"`
	Connections      []GatewayConnection             `json:"connections,omitempty"`
}

func (*ModifyGatewayRequest) RequestURL

func (r *ModifyGatewayRequest) RequestURL() string

type ModifyGatewayTunnel added in v8.3.0

type ModifyGatewayTunnel struct {
	Name          string                              `json:"name,omitempty"`
	LocalAddress  *upcloud.GatewayTunnelLocalAddress  `json:"local_address,omitempty"`
	RemoteAddress *upcloud.GatewayTunnelRemoteAddress `json:"remote_address,omitempty"`
	IPSec         *upcloud.GatewayTunnelIPSec         `json:"ipsec,omitempty"`
}

type ModifyHostRequest

type ModifyHostRequest struct {
	ID          int    `json:"-"`
	Description string `json:"description"`
}

ModifyHostRequest represents the request to modify a private host

func (ModifyHostRequest) MarshalJSON

func (r ModifyHostRequest) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaller that deals with deeply embedded values.

func (*ModifyHostRequest) RequestURL

func (r *ModifyHostRequest) RequestURL() string

RequestURL implements the Request interface

type ModifyIPAddressRequest

type ModifyIPAddressRequest struct {
	IPAddress string `json:"-"`

	PTRRecord string `json:"ptr_record,omitempty"`
	MAC       string `json:"mac,omitempty"`
}

ModifyIPAddressRequest represents a request to modify the PTR DNS record of a specific IP address

func (ModifyIPAddressRequest) MarshalJSON

func (r ModifyIPAddressRequest) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaller that deals with deeply embedded values.

func (*ModifyIPAddressRequest) RequestURL

func (r *ModifyIPAddressRequest) RequestURL() string

RequestURL implements the Request interface

type ModifyKubernetesCluster

type ModifyKubernetesCluster struct {
	ControlPlaneIPFilter *[]string        `json:"control_plane_ip_filter,omitempty"`
	Labels               *[]upcloud.Label `json:"labels,omitempty"`
}

type ModifyKubernetesClusterRequest

type ModifyKubernetesClusterRequest struct {
	ClusterUUID string `json:"-"`
	Cluster     ModifyKubernetesCluster
}

func (*ModifyKubernetesClusterRequest) MarshalJSON

func (r *ModifyKubernetesClusterRequest) MarshalJSON() ([]byte, error)

func (*ModifyKubernetesClusterRequest) RequestURL

func (r *ModifyKubernetesClusterRequest) RequestURL() string

type ModifyKubernetesNodeGroup

type ModifyKubernetesNodeGroup struct {
	Count int `json:"count,omitempty"`
}

type ModifyKubernetesNodeGroupRequest

type ModifyKubernetesNodeGroupRequest struct {
	ClusterUUID string `json:"-"`
	Name        string `json:"-"`
	NodeGroup   ModifyKubernetesNodeGroup
}

func (*ModifyKubernetesNodeGroupRequest) MarshalJSON

func (r *ModifyKubernetesNodeGroupRequest) MarshalJSON() ([]byte, error)

func (*ModifyKubernetesNodeGroupRequest) RequestURL

func (r *ModifyKubernetesNodeGroupRequest) RequestURL() string

type ModifyLoadBalancerBackend

type ModifyLoadBalancerBackend struct {
	Name       string                                 `json:"name,omitempty"`
	Resolver   *string                                `json:"resolver,omitempty"`
	Properties *upcloud.LoadBalancerBackendProperties `json:"properties,omitempty"`
}

ModifyLoadBalancerBackend represents the payload for ModifyLoadBalancerBackendRequest

type ModifyLoadBalancerBackendMember

type ModifyLoadBalancerBackendMember struct {
	Type        upcloud.LoadBalancerBackendMemberType `json:"type,omitempty"`
	Name        string                                `json:"name,omitempty"`
	Weight      *int                                  `json:"weight,omitempty"`
	MaxSessions *int                                  `json:"max_sessions,omitempty"`
	Enabled     *bool                                 `json:"enabled,omitempty"`
	IP          *string                               `json:"ip,omitempty"`
	Port        int                                   `json:"port,omitempty"`
}

ModifyLoadBalancerBackendMember represents the payload for backend member modification request

type ModifyLoadBalancerBackendMemberRequest

type ModifyLoadBalancerBackendMemberRequest struct {
	ServiceUUID string `json:"-"`
	BackendName string `json:"-"`
	Name        string `json:"-"`
	Member      ModifyLoadBalancerBackendMember
}

ModifyLoadBalancerBackendMemberRequest represents a request to modify load balancer backend member

func (*ModifyLoadBalancerBackendMemberRequest) MarshalJSON

func (r *ModifyLoadBalancerBackendMemberRequest) MarshalJSON() ([]byte, error)

func (*ModifyLoadBalancerBackendMemberRequest) RequestURL

type ModifyLoadBalancerBackendRequest

type ModifyLoadBalancerBackendRequest struct {
	ServiceUUID string `json:"-"`
	Name        string `json:"-"`
	Backend     ModifyLoadBalancerBackend
}

ModifyLoadBalancerBackendRequest represents a request to modify load balancer backend

func (*ModifyLoadBalancerBackendRequest) MarshalJSON

func (r *ModifyLoadBalancerBackendRequest) MarshalJSON() ([]byte, error)

func (*ModifyLoadBalancerBackendRequest) RequestURL

func (r *ModifyLoadBalancerBackendRequest) RequestURL() string

type ModifyLoadBalancerBackendTLSConfigRequest

type ModifyLoadBalancerBackendTLSConfigRequest struct {
	ServiceUUID string `json:"-"`
	BackendName string `json:"-"`
	Name        string `json:"-"`
	Config      LoadBalancerBackendTLSConfig
}

ModifyLoadBalancerBackendTLSConfigRequest represents a request to modify backend TLS config

func (*ModifyLoadBalancerBackendTLSConfigRequest) MarshalJSON

func (*ModifyLoadBalancerBackendTLSConfigRequest) RequestURL

type ModifyLoadBalancerCertificateBundleRequest

type ModifyLoadBalancerCertificateBundleRequest struct {
	UUID          string   `json:"-"`
	Name          string   `json:"name,omitempty"`
	Certificate   string   `json:"certificate,omitempty"`
	Intermediates *string  `json:"intermediates,omitempty"`
	PrivateKey    string   `json:"private_key,omitempty"`
	Hostnames     []string `json:"hostnames,omitempty"`
}

ModifyLoadBalancerCertificateBundleRequest represents a request to modify certificate bundle

func (*ModifyLoadBalancerCertificateBundleRequest) RequestURL

type ModifyLoadBalancerFrontend

type ModifyLoadBalancerFrontend struct {
	Name           string                                  `json:"name,omitempty"`
	Mode           upcloud.LoadBalancerMode                `json:"mode,omitempty"`
	Port           int                                     `json:"port,omitempty"`
	DefaultBackend string                                  `json:"default_backend,omitempty"`
	Properties     *upcloud.LoadBalancerFrontendProperties `json:"properties,omitempty"`
	Networks       []upcloud.LoadBalancerFrontendNetwork   `json:"networks,omitempty"`
}

ModifyLoadBalancerFrontend represents payload to modify frontend

type ModifyLoadBalancerFrontendRequest

type ModifyLoadBalancerFrontendRequest struct {
	ServiceUUID string `json:"-"`
	Name        string `json:"-"`
	Frontend    ModifyLoadBalancerFrontend
}

ModifyLoadBalancerFrontendRequest represents a request to modify load balancer frontend

func (*ModifyLoadBalancerFrontendRequest) MarshalJSON

func (r *ModifyLoadBalancerFrontendRequest) MarshalJSON() ([]byte, error)

func (*ModifyLoadBalancerFrontendRequest) RequestURL

func (r *ModifyLoadBalancerFrontendRequest) RequestURL() string

type ModifyLoadBalancerFrontendRule

type ModifyLoadBalancerFrontendRule struct {
	Name              string                                `json:"name,omitempty"`
	Priority          *int                                  `json:"priority,omitempty"`
	MatchingCondition upcloud.LoadBalancerMatchingCondition `json:"matching_condition,omitempty"`
}

ModifyLoadBalancerFrontendRule represents frontend rule modification payload

type ModifyLoadBalancerFrontendRuleRequest

type ModifyLoadBalancerFrontendRuleRequest struct {
	ServiceUUID  string `json:"-"`
	FrontendName string `json:"-"`
	Name         string `json:"-"`
	Rule         ModifyLoadBalancerFrontendRule
}

ModifyLoadBalancerFrontendRuleRequest represents a request to modify frontend rule

func (*ModifyLoadBalancerFrontendRuleRequest) MarshalJSON

func (r *ModifyLoadBalancerFrontendRuleRequest) MarshalJSON() ([]byte, error)

func (*ModifyLoadBalancerFrontendRuleRequest) RequestURL

type ModifyLoadBalancerFrontendTLSConfigRequest

type ModifyLoadBalancerFrontendTLSConfigRequest struct {
	ServiceUUID  string `json:"-"`
	FrontendName string `json:"-"`
	Name         string `json:"-"`
	Config       LoadBalancerFrontendTLSConfig
}

ModifyLoadBalancerFrontendTLSConfigRequest represents a request to modify frontend TLS config

func (*ModifyLoadBalancerFrontendTLSConfigRequest) MarshalJSON

func (*ModifyLoadBalancerFrontendTLSConfigRequest) RequestURL

type ModifyLoadBalancerNetwork

type ModifyLoadBalancerNetwork struct {
	Name string `json:"name,omitempty"`
}

type ModifyLoadBalancerNetworkRequest

type ModifyLoadBalancerNetworkRequest struct {
	ServiceUUID string `json:"-"`
	Name        string `json:"_"`
	Network     ModifyLoadBalancerNetwork
}

func (*ModifyLoadBalancerNetworkRequest) MarshalJSON

func (r *ModifyLoadBalancerNetworkRequest) MarshalJSON() ([]byte, error)

func (*ModifyLoadBalancerNetworkRequest) RequestURL

func (r *ModifyLoadBalancerNetworkRequest) RequestURL() string

type ModifyLoadBalancerRequest

type ModifyLoadBalancerRequest struct {
	UUID             string                             `json:"-"`
	Name             string                             `json:"name,omitempty"`
	Plan             string                             `json:"plan,omitempty"`
	ConfiguredStatus string                             `json:"configured_status,omitempty"`
	Labels           *[]upcloud.Label                   `json:"labels,omitempty"`
	MaintenanceDOW   upcloud.LoadBalancerMaintenanceDOW `json:"maintenance_dow,omitempty"`
	MaintenanceTime  string                             `json:"maintenance_time,omitempty"`
}

ModifyLoadBalancerRequest represents a request to modify load balancer

func (*ModifyLoadBalancerRequest) RequestURL

func (r *ModifyLoadBalancerRequest) RequestURL() string

type ModifyLoadBalancerResolverRequest

type ModifyLoadBalancerResolverRequest struct {
	ServiceUUID string `json:"-"`
	Name        string `json:"-"`
	Resolver    LoadBalancerResolver
}

ModifyLoadBalancerResolverRequest represents a request to modify load balancer resolver

func (*ModifyLoadBalancerResolverRequest) MarshalJSON

func (r *ModifyLoadBalancerResolverRequest) MarshalJSON() ([]byte, error)

func (*ModifyLoadBalancerResolverRequest) RequestURL

func (r *ModifyLoadBalancerResolverRequest) RequestURL() string

type ModifyManagedDatabaseAccessControlRequest

type ModifyManagedDatabaseAccessControlRequest struct {
	// ServiceUUID selects a managed database service to modify
	ServiceUUID         string `json:"-"`
	ACLsEnabled         *bool  `json:"access_control,omitempty"`
	ExtendedACLsEnabled *bool  `json:"extended_access_control,omitempty"`
}

ModifyManagedDatabaseAccessControlRequest represents a request to modify existing user access control of an existing managed database instance

func (*ModifyManagedDatabaseAccessControlRequest) RequestURL

RequestURL implements the request.Request interface

type ModifyManagedDatabaseRequest

type ModifyManagedDatabaseRequest struct {
	Labels      *[]upcloud.Label                      `json:"labels,omitempty"`
	Maintenance ManagedDatabaseMaintenanceTimeRequest `json:"maintenance"`
	Networks    *[]upcloud.ManagedDatabaseNetwork     `json:"networks,omitempty"`
	Plan        string                                `json:"plan,omitempty"`
	Properties  ManagedDatabasePropertiesRequest      `json:"properties,omitempty"`
	Title       string                                `json:"title,omitempty"`
	UUID        string                                `json:"-"`
	Zone        string                                `json:"zone,omitempty"`
}

ModifyManagedDatabaseRequest represents a request to modify an existing managed database instance

func (ModifyManagedDatabaseRequest) MarshalJSON

func (m ModifyManagedDatabaseRequest) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*ModifyManagedDatabaseRequest) RequestURL

func (m *ModifyManagedDatabaseRequest) RequestURL() string

RequestURL implements the request.Request interface

type ModifyManagedDatabaseUserAccessControlRequest

type ModifyManagedDatabaseUserAccessControlRequest struct {
	// ServiceUUID selects a managed database service to modify
	ServiceUUID string `json:"-"`
	// Username selects the username to modify. The username itself is immutable. To change it, recreate the user.
	Username                string                                              `json:"-"`
	OpenSearchAccessControl *upcloud.ManagedDatabaseUserOpenSearchAccessControl `json:"opensearch_access_control,omitempty"`
	PGAccessControl         *upcloud.ManagedDatabaseUserPGAccessControl         `json:"pg_access_control,omitempty"`
	RedisAccessControl      *upcloud.ManagedDatabaseUserRedisAccessControl      `json:"redis_access_control,omitempty"`
}

ModifyManagedDatabaseUserAccessControlRequest represents a request to modify existing user access control of an existing managed database instance

func (*ModifyManagedDatabaseUserAccessControlRequest) RequestURL

RequestURL implements the request.Request interface

type ModifyManagedDatabaseUserRequest

type ModifyManagedDatabaseUserRequest struct {
	// ServiceUUID selects a managed database service to modify
	ServiceUUID string `json:"-"`
	// Username selects the username to modify. The username itself is immutable. To change it, recreate the user.
	Username string `json:"-"`
	Password string `json:"password,omitempty"`
	// Authentication selects authentication type for the user. See following constants for more information:
	// 	upcloud.ManagedDatabaseUserAuthenticationCachingSHA2Password
	// 	upcloud.ManagedDatabaseUserAuthenticationMySQLNativePassword
	Authentication upcloud.ManagedDatabaseUserAuthenticationType `json:"authentication,omitempty"`
}

ModifyManagedDatabaseUserRequest represents a request to modify an existing user of an existing managed database instance

func (*ModifyManagedDatabaseUserRequest) RequestURL

func (m *ModifyManagedDatabaseUserRequest) RequestURL() string

RequestURL implements the request.Request interface

type ModifyManagedObjectStorageCustomDomainRequest added in v8.8.0

type ModifyManagedObjectStorageCustomDomainRequest struct {
	DomainName   string `json:"-"`
	ServiceUUID  string `json:"-"`
	CustomDomain ModifyCustomDomain
}

ModifyManagedObjectStorageCustomDomainRequest represents a request for retrieving details about a policy

func (*ModifyManagedObjectStorageCustomDomainRequest) MarshalJSON added in v8.8.0

func (*ModifyManagedObjectStorageCustomDomainRequest) RequestURL added in v8.8.0

RequestURL implements the Request interface

type ModifyManagedObjectStorageRequest

type ModifyManagedObjectStorageRequest struct {
	ConfiguredStatus *upcloud.ManagedObjectStorageConfiguredStatus `json:"configured_status,omitempty"`
	Labels           *[]upcloud.Label                              `json:"labels,omitempty"`
	Name             *string                                       `json:"name,omitempty"`
	Networks         *[]upcloud.ManagedObjectStorageNetwork        `json:"networks,omitempty"`
	UUID             string                                        `json:"-"`
}

ModifyManagedObjectStorageRequest represents a request to modify a Object Storage

func (*ModifyManagedObjectStorageRequest) RequestURL

func (r *ModifyManagedObjectStorageRequest) RequestURL() string

RequestURL implements the Request interface

type ModifyManagedObjectStorageUserAccessKeyRequest

type ModifyManagedObjectStorageUserAccessKeyRequest struct {
	Username    string                                          `json:"-"`
	ServiceUUID string                                          `json:"-"`
	AccessKeyID string                                          `json:"-"`
	Status      upcloud.ManagedObjectStorageUserAccessKeyStatus `json:"status,omitempty"`
}

ModifyManagedObjectStorageUserAccessKeyRequest represents a request for creating an access key

func (*ModifyManagedObjectStorageUserAccessKeyRequest) RequestURL

RequestURL implements the Request interface

type ModifyNetworkInterfaceRequest

type ModifyNetworkInterfaceRequest struct {
	ServerUUID   string `json:"-"`
	CurrentIndex int    `json:"-"`

	Type              string                               `json:"type,omitempty"`
	NetworkUUID       string                               `json:"network,omitempty"`
	NewIndex          int                                  `json:"index,omitempty"`
	IPAddresses       CreateNetworkInterfaceIPAddressSlice `json:"ip_addresses,omitempty"`
	SourceIPFiltering upcloud.Boolean                      `json:"source_ip_filtering,omitempty"`
	Bootable          upcloud.Boolean                      `json:"bootable,omitempty"`
}

ModifyNetworkInterfaceRequest represents a request to modify a network interface on a server.

func (ModifyNetworkInterfaceRequest) MarshalJSON

func (r ModifyNetworkInterfaceRequest) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaller that deals with deeply embedded values.

func (*ModifyNetworkInterfaceRequest) RequestURL

func (r *ModifyNetworkInterfaceRequest) RequestURL() string

RequestURL implements the Request interface.

type ModifyNetworkPeering

type ModifyNetworkPeering struct {
	Name             string                                 `json:"name,omitempty"`
	ConfiguredStatus upcloud.NetworkPeeringConfiguredStatus `json:"configured_status,omitempty"`
	Labels           *[]upcloud.Label                       `json:"labels,omitempty"`
}

type ModifyNetworkPeeringRequest

type ModifyNetworkPeeringRequest struct {
	UUID           string               `json:"-"`
	NetworkPeering ModifyNetworkPeering `json:"network_peering,omitempty"`
}

func (*ModifyNetworkPeeringRequest) RequestURL

func (r *ModifyNetworkPeeringRequest) RequestURL() string

type ModifyNetworkRequest

type ModifyNetworkRequest struct {
	UUID string `json:"-"`

	Name       string                 `json:"name,omitempty"`
	Zone       string                 `json:"zone,omitempty"`
	IPNetworks upcloud.IPNetworkSlice `json:"ip_networks,omitempty"`
	Labels     *[]upcloud.Label       `json:"labels,omitempty"`
}

ModifyNetworkRequest represents a request to modify an existing network.

func (ModifyNetworkRequest) MarshalJSON

func (r ModifyNetworkRequest) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaller that deals with deeply embedded values.

func (*ModifyNetworkRequest) RequestURL

func (r *ModifyNetworkRequest) RequestURL() string

RequestURL implements the Request interface.

type ModifyObjectStorageRequest

type ModifyObjectStorageRequest struct {
	UUID        string `json:"-"`
	Description string `json:"description,omitempty"`
	AccessKey   string `json:"access_key,omitempty"`
	SecretKey   string `json:"secret_key,omitempty"`
	Size        int    `json:"size,omitempty"`
}

ModifyObjectStorageRequest represents a request to modify a Object Storage

func (ModifyObjectStorageRequest) MarshalJSON

func (r ModifyObjectStorageRequest) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaller that deals with deeply embedded values.

func (*ModifyObjectStorageRequest) RequestURL

func (r *ModifyObjectStorageRequest) RequestURL() string

RequestURL implements the Request interface

type ModifyRouterRequest

type ModifyRouterRequest struct {
	UUID         string                 `json:"-"`
	Name         string                 `json:"name"`
	Labels       *[]upcloud.Label       `json:"labels,omitempty"`
	StaticRoutes *[]upcloud.StaticRoute `json:"static_routes,omitempty"`
}

ModifyRouterRequest represents a request to modify an existing router.

func (ModifyRouterRequest) MarshalJSON

func (r ModifyRouterRequest) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaller that deals with deeply embedded values.

func (*ModifyRouterRequest) RequestURL

func (r *ModifyRouterRequest) RequestURL() string

RequestURL implements the Request interface.

type ModifyServerGroupRequest

type ModifyServerGroupRequest struct {
	Labels             *upcloud.LabelSlice                   `json:"labels,omitempty"`
	Members            *upcloud.ServerUUIDSlice              `json:"servers,omitempty"`
	AntiAffinityPolicy upcloud.ServerGroupAntiAffinityPolicy `json:"anti_affinity,omitempty"`
	Title              string                                `json:"title,omitempty"`
	UUID               string                                `json:"-"`
}

ModifyServerGroupRequest represents a request to modify server group

func (ModifyServerGroupRequest) MarshalJSON

func (r ModifyServerGroupRequest) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaller that deals with deeply embedded values.

func (ModifyServerGroupRequest) RequestURL

func (s ModifyServerGroupRequest) RequestURL() string

type ModifyServerRequest

type ModifyServerRequest struct {
	UUID string `json:"-"`

	BootOrder  string `json:"boot_order,omitempty"`
	CoreNumber int    `json:"core_number,omitempty,string"`
	// TODO: Convert to boolean
	Firewall             string              `json:"firewall,omitempty"`
	Hostname             string              `json:"hostname,omitempty"`
	Labels               *upcloud.LabelSlice `json:"labels,omitempty"`
	MemoryAmount         int                 `json:"memory_amount,omitempty,string"`
	Metadata             upcloud.Boolean     `json:"metadata,omitempty"`
	NICModel             string              `json:"nic_model,omitempty"`
	Plan                 string              `json:"plan,omitempty"`
	SimpleBackup         string              `json:"simple_backup,omitempty"`
	TimeZone             string              `json:"timezone,omitempty"`
	Title                string              `json:"title,omitempty"`
	VideoModel           string              `json:"video_model,omitempty"`
	RemoteAccessEnabled  upcloud.Boolean     `json:"remote_access_enabled,omitempty"`
	RemoteAccessType     string              `json:"remote_access_type,omitempty"`
	RemoteAccessPassword string              `json:"remote_access_password,omitempty"`
	Zone                 string              `json:"zone,omitempty"`
}

ModifyServerRequest represents a request to modify a server

func (ModifyServerRequest) MarshalJSON

func (r ModifyServerRequest) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaller that deals with deeply embedded values.

func (*ModifyServerRequest) RequestURL

func (r *ModifyServerRequest) RequestURL() string

RequestURL implements the Request interface

type ModifyStorageRequest

type ModifyStorageRequest struct {
	UUID string `json:"-"`

	Title      string              `json:"title,omitempty"`
	Size       int                 `json:"size,omitempty,string"`
	BackupRule *upcloud.BackupRule `json:"backup_rule,omitempty"`
	Labels     *[]upcloud.Label    `json:"labels,omitempty"`
}

ModifyStorageRequest represents a request to modify a storage device

func (ModifyStorageRequest) MarshalJSON

func (r ModifyStorageRequest) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaller that deals with deeply embedded values.

func (*ModifyStorageRequest) RequestURL

func (r *ModifyStorageRequest) RequestURL() string

RequestURL implements the Request interface

type ModifySubaccount

type ModifySubaccount struct {
	FirstName  string `json:"first_name,omitempty"`
	LastName   string `json:"last_name,omitempty"`
	Company    string `json:"company,omitempty"`
	Address    string `json:"address,omitempty"`
	PostalCode string `json:"postal_code,omitempty"`
	City       string `json:"city,omitempty"`
	Email      string `json:"email,omitempty"`

	// Phone number in international format, country code and national part separated by a period
	Phone string `json:"phone,omitempty"`

	// U.S. state if applicable
	State string `json:"state"`

	// ISO 3166-1 three character country code
	Country       string                       `json:"country,omitempty"`
	Currency      string                       `json:"currency,omitempty"`
	Language      string                       `json:"language,omitempty"`
	VATNnumber    string                       `json:"vat_number"`
	Timezone      string                       `json:"timezone,omitempty"`
	AllowAPI      upcloud.Boolean              `json:"allow_api,omitempty"`
	AllowGUI      upcloud.Boolean              `json:"allow_gui,omitempty"`
	TagAccess     upcloud.AccountTagAccess     `json:"tag_access,omitempty"`
	Roles         upcloud.AccountRoles         `json:"roles,omitempty"`
	ServerAccess  upcloud.AccountServerAccess  `json:"server_access,omitempty"`
	StorageAccess upcloud.AccountStorageAccess `json:"storage_access,omitempty"`
	NetworkAccess upcloud.AccountNetworkAccess `json:"network_access,omitempty"`
	IPFilters     upcloud.AccountIPFilters     `json:"ip_filters,omitempty"`
}

ModifySubaccount represents data required to modify a Subaccount

type ModifySubaccountRequest

type ModifySubaccountRequest struct {
	Username   string           `json:"-"`
	Subaccount ModifySubaccount `json:"account"`
}

ModifySubaccountRequest represents a request to modify a Subaccount

func (ModifySubaccountRequest) RequestURL

func (r ModifySubaccountRequest) RequestURL() string

type ModifyTagRequest

type ModifyTagRequest struct {
	upcloud.Tag

	Name string `json:"-"`
}

ModifyTagRequest represents a request to modify an existing tag. The Name is the name of the current tag, the Tag is the new values for the tag.

func (ModifyTagRequest) MarshalJSON

func (r ModifyTagRequest) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaller that deals with deeply embedded values.

func (*ModifyTagRequest) RequestURL

func (r *ModifyTagRequest) RequestURL() string

RequestURL implements the Request interface

type NetworkPeeringNetwork

type NetworkPeeringNetwork struct {
	UUID string `json:"uuid,omitempty"`
}

type Page

type Page struct {
	// Size of the page limits the number of items in the list
	Size int
	// Page number sets offset where to start returning data.
	Number int
}

Page represents list query filter that can be used to limit the number of results that are returned from the endpoint.

func (*Page) Next

func (p *Page) Next() *Page

func (*Page) Previous

func (p *Page) Previous() *Page

func (*Page) String

func (p *Page) String() string

func (*Page) ToQueryParam

func (p *Page) ToQueryParam() string

func (*Page) Values

func (p *Page) Values() url.Values

type QueryFilter

type QueryFilter interface {
	ToQueryParam() string
}

type ReleaseIPAddressRequest

type ReleaseIPAddressRequest struct {
	IPAddress string
}

ReleaseIPAddressRequest represents a request to remove a specific IP address from server

func (*ReleaseIPAddressRequest) RequestURL

func (r *ReleaseIPAddressRequest) RequestURL() string

RequestURL implements the Request interface

type RemoveServerFromServerGroupRequest

type RemoveServerFromServerGroupRequest struct {
	ServerUUID string `json:"-"`
	UUID       string `json:"-"`
}

RemoveServerFromServerGroupRequest represents a request to remove server from a server group

func (RemoveServerFromServerGroupRequest) RequestURL

type ReplaceLoadBalancerFrontendRuleRequest

type ReplaceLoadBalancerFrontendRuleRequest struct {
	ServiceUUID  string `json:"-"`
	FrontendName string `json:"-"`
	Name         string `json:"-"`
	Rule         LoadBalancerFrontendRule
}

ReplaceLoadBalancerFrontendRuleRequest represents a request to replace frontend rule

func (*ReplaceLoadBalancerFrontendRuleRequest) MarshalJSON

func (r *ReplaceLoadBalancerFrontendRuleRequest) MarshalJSON() ([]byte, error)

func (*ReplaceLoadBalancerFrontendRuleRequest) RequestURL

type ReplaceManagedObjectStorageRequest

type ReplaceManagedObjectStorageRequest struct {
	ConfiguredStatus upcloud.ManagedObjectStorageConfiguredStatus `json:"configured_status"`
	Labels           []upcloud.Label                              `json:"labels,omitempty"`
	Name             string                                       `json:"name,omitempty"`
	Networks         []upcloud.ManagedObjectStorageNetwork        `json:"networks"`
	UUID             string                                       `json:"-"`
}

ReplaceManagedObjectStorageRequest represents a request to replace a Managed Object Storage service

func (*ReplaceManagedObjectStorageRequest) RequestURL

type Request

type Request interface {
	// RequestURL returns the relative API URL for the request, excluding the API version.
	RequestURL() string
}

Request is the interface for request objects

type ResizeStorageFilesystemRequest

type ResizeStorageFilesystemRequest struct {
	UUID string
}

ResizeStorageFilesystemRequest represents a request to resize storage filesystem

func (*ResizeStorageFilesystemRequest) RequestURL

func (r *ResizeStorageFilesystemRequest) RequestURL() string

RequestURL implements the Request interface

type RestartServerRequest

type RestartServerRequest struct {
	UUID string `json:"-"`

	StopType      string        `json:"stop_type,omitempty"`
	Timeout       time.Duration `json:"timeout,omitempty,string"`
	TimeoutAction string        `json:"timeout_action,omitempty"`
	Host          int           `json:"host,omitempty"`
}

RestartServerRequest represents a request to restart a server

func (RestartServerRequest) MarshalJSON

func (r RestartServerRequest) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaller that deals with deeply embedded values.

func (*RestartServerRequest) RequestURL

func (r *RestartServerRequest) RequestURL() string

RequestURL implements the Request interface

type RestoreBackupRequest

type RestoreBackupRequest struct {
	UUID string
}

RestoreBackupRequest represents a request to restore a storage from the specified backup

func (*RestoreBackupRequest) RequestURL

func (r *RestoreBackupRequest) RequestURL() string

RequestURL implements the Request interface

type RevokePermissionRequest

type RevokePermissionRequest struct {
	Permission upcloud.Permission `json:"permission,omitempty"`
}

RevokePermissionRequest represents a request to revoke permission

func (*RevokePermissionRequest) RequestURL

func (r *RevokePermissionRequest) RequestURL() string

type SSHKeySlice

type SSHKeySlice []string

SSHKeySlice is a slice of strings It exists to allow for a custom JSON unmarshaller.

func (SSHKeySlice) MarshalJSON

func (s SSHKeySlice) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaller that deals with deeply embedded values.

func (*SSHKeySlice) UnmarshalJSON

func (s *SSHKeySlice) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaller that deals with deeply embedded values.

type ServerFilter deprecated

type ServerFilter = QueryFilter

Deprecated: ServerFilter filter is deprecated. Use QueryFilter instead.

type ServerGroupFilter deprecated

type ServerGroupFilter = QueryFilter

Deprecated: ServerGroupFilter filter is deprecated. Use QueryFilter instead.

type ShutdownManagedDatabaseRequest

type ShutdownManagedDatabaseRequest struct {
	UUID string
}

ShutdownManagedDatabaseRequest represents a request to shut down an existing managed database instance

func (*ShutdownManagedDatabaseRequest) MarshalJSON

func (m *ShutdownManagedDatabaseRequest) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*ShutdownManagedDatabaseRequest) RequestURL

func (m *ShutdownManagedDatabaseRequest) RequestURL() string

RequestURL implements the request.Request interface

type StartManagedDatabaseRequest

type StartManagedDatabaseRequest struct {
	UUID string
}

StartManagedDatabaseRequest represents a request to start an existing managed database instance

func (*StartManagedDatabaseRequest) MarshalJSON

func (m *StartManagedDatabaseRequest) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*StartManagedDatabaseRequest) RequestURL

func (m *StartManagedDatabaseRequest) RequestURL() string

RequestURL implements the request.Request interface

type StartServerRequest

type StartServerRequest struct {
	UUID      string `json:"-"`
	AvoidHost int    `json:"avoid_host,omitempty"`
	Host      int    `json:"host,omitempty"`
}

StartServerRequest represents a request to start a server

func (StartServerRequest) MarshalJSON

func (r StartServerRequest) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaller that deals with deeply embedded values.

func (*StartServerRequest) RequestURL

func (r *StartServerRequest) RequestURL() string

RequestURL implements the Request interface

type StopServerRequest

type StopServerRequest struct {
	UUID string `json:"-"`

	StopType string        `json:"stop_type,omitempty"`
	Timeout  time.Duration `json:"timeout,omitempty,string"`
}

StopServerRequest represents a request to stop a server

func (StopServerRequest) MarshalJSON

func (r StopServerRequest) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaller that deals with deeply embedded values.

func (*StopServerRequest) RequestURL

func (r *StopServerRequest) RequestURL() string

RequestURL implements the Request interface

type TagServerRequest

type TagServerRequest struct {
	UUID string
	Tags []string
}

TagServerRequest represents a request to tag a server with one or more tags

func (*TagServerRequest) RequestURL

func (r *TagServerRequest) RequestURL() string

RequestURL implements the Request interface

type TemplatizeStorageRequest

type TemplatizeStorageRequest struct {
	UUID string `json:"-"`

	Title string `json:"title"`
}

TemplatizeStorageRequest represents a request to templatize a storage device

func (TemplatizeStorageRequest) MarshalJSON

func (r TemplatizeStorageRequest) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaller that deals with deeply embedded values.

func (*TemplatizeStorageRequest) RequestURL

func (r *TemplatizeStorageRequest) RequestURL() string

RequestURL implements the Request interface

type UntagServerRequest

type UntagServerRequest struct {
	UUID string
	Tags []string
}

UntagServerRequest represents a request to remove one or more tags from a server

func (*UntagServerRequest) RequestURL

func (r *UntagServerRequest) RequestURL() string

RequestURL implements the Request interface

type UpgradeManagedDatabaseVersionRequest

type UpgradeManagedDatabaseVersionRequest struct {
	UUID          string `json:"-"`
	TargetVersion string `json:"target_version,omitempty"`
}

UpgradeManagedDatabaseVersionRequest represents a request to upgrade an existing managed database version; for a list of available versions use GetManagedDatabaseVersionsRequest

func (*UpgradeManagedDatabaseVersionRequest) RequestURL

RequestURL implements the request.Request interface

type WaitForKubernetesClusterStateRequest

type WaitForKubernetesClusterStateRequest struct {
	DesiredState upcloud.KubernetesClusterState `json:"-"`
	UUID         string                         `json:"-"`
}

WaitForKubernetesClusterStateRequest represents a request to wait for a Kubernetes cluster to enter a desired state

func (*WaitForKubernetesClusterStateRequest) RequestURL

type WaitForKubernetesNodeGroupStateRequest

type WaitForKubernetesNodeGroupStateRequest struct {
	DesiredState upcloud.KubernetesNodeGroupState `json:"-"`
	ClusterUUID  string                           `json:"-"`
	Name         string                           `json:"-"`
}

WaitForKubernetesNodeGroupStateRequest represents a request to wait for a Kubernetes node group to enter a desired state

func (*WaitForKubernetesNodeGroupStateRequest) RequestURL

type WaitForManagedDatabaseStateRequest

type WaitForManagedDatabaseStateRequest struct {
	UUID         string
	DesiredState upcloud.ManagedDatabaseState
}

WaitForManagedDatabaseStateRequest represents a request to wait for a managed database instance to enter a specific state

type WaitForManagedObjectStorageBucketDeletionRequest added in v8.9.0

type WaitForManagedObjectStorageBucketDeletionRequest struct {
	ServiceUUID string `json:"-"`
	Name        string `json:"-"`
}

WaitForManagedObjectStorageDeletionRequest represents a request to wait for a Managed Object Storage service to be deleted

func (*WaitForManagedObjectStorageBucketDeletionRequest) RequestURL added in v8.9.0

RequestURL implements the Request interface

type WaitForManagedObjectStorageDeletionRequest

type WaitForManagedObjectStorageDeletionRequest struct {
	DesiredState upcloud.ManagedObjectStorageOperationalState `json:"-"` // Deprecated: The managed object storage instance has no state after being deleted.
	UUID         string                                       `json:"-"`
}

WaitForManagedObjectStorageDeletionRequest represents a request to wait for a Managed Object Storage service to be deleted

func (*WaitForManagedObjectStorageDeletionRequest) RequestURL

RequestURL implements the Request interface

type WaitForManagedObjectStorageOperationalStateRequest

type WaitForManagedObjectStorageOperationalStateRequest struct {
	DesiredState upcloud.ManagedObjectStorageOperationalState `json:"-"`
	UUID         string                                       `json:"-"`
}

WaitForManagedObjectStorageOperationalStateRequest represents a request to wait for a Managed Object Storage service to enter a desired state

func (*WaitForManagedObjectStorageOperationalStateRequest) RequestURL

RequestURL implements the Request interface

type WaitForNetworkPeeringStateRequest added in v8.2.0

type WaitForNetworkPeeringStateRequest struct {
	UUID         string
	DesiredState upcloud.NetworkPeeringState
}

type WaitForServerStateRequest

type WaitForServerStateRequest struct {
	UUID           string
	DesiredState   string
	UndesiredState string
}

WaitForServerStateRequest represents a request to wait for a server to enter or exit a specific state

type WaitForStorageImportCompletionRequest

type WaitForStorageImportCompletionRequest struct {
	StorageUUID string
}

WaitForStorageImportCompletionRequest represents a request to wait for storage import to complete.

type WaitForStorageStateRequest

type WaitForStorageStateRequest struct {
	UUID         string
	DesiredState string
}

WaitForStorageStateRequest represents a request to wait for a storage to enter a specific state

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL