loadbalancer

package module
v0.9.3 Latest Latest
Warning

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

Go to latest
Published: Mar 20, 2024 License: Apache-2.0 Imports: 22 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CacheExpires

func CacheExpires(r *http.Response) time.Time

CacheExpires helper function to determine remaining time before repeating a request.

func IsNil

func IsNil(i interface{}) bool

IsNil checks if an input is nil

func NewConfiguration

func NewConfiguration() *config.Configuration

NewConfiguration returns a new Configuration object

func ParameterValueToString

func ParameterValueToString(obj interface{}, key string) string

func PtrBool

func PtrBool(v bool) *bool

PtrBool is a helper routine that returns a pointer to given boolean value.

func PtrFloat32

func PtrFloat32(v float32) *float32

PtrFloat32 is a helper routine that returns a pointer to given float value.

func PtrFloat64

func PtrFloat64(v float64) *float64

PtrFloat64 is a helper routine that returns a pointer to given float value.

func PtrInt

func PtrInt(v int) *int

PtrInt is a helper routine that returns a pointer to given integer value.

func PtrInt32

func PtrInt32(v int32) *int32

PtrInt32 is a helper routine that returns a pointer to given integer value.

func PtrInt64

func PtrInt64(v int64) *int64

PtrInt64 is a helper routine that returns a pointer to given integer value.

func PtrString

func PtrString(v string) *string

PtrString is a helper routine that returns a pointer to given string value.

func PtrTime

func PtrTime(v time.Time) *time.Time

PtrTime is helper routine that returns a pointer to given Time value.

Types

type APIClient

type APIClient struct {
	// contains filtered or unexported fields
}

APIClient manages communication with the Load Balancer API API v1.6.0 In most cases there should be only one, shared, APIClient.

func NewAPIClient

func NewAPIClient(opts ...config.ConfigurationOption) (*APIClient, error)

NewAPIClient creates a new API client. Optionally receives configuration options

func (*APIClient) CreateCredentials

func (a *APIClient) CreateCredentials(ctx context.Context, projectId string) ApiCreateCredentialsRequest

CreateCredentials Create credentials for observability of the Load Balancer

Create credentials will create credentials, which can be used for load balancer observability

@param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
@param projectId
@return ApiCreateCredentialsRequest

func (*APIClient) CreateCredentialsExecute

func (a *APIClient) CreateCredentialsExecute(ctx context.Context, projectId string) (*CreateCredentialsResponse, error)

func (*APIClient) CreateLoadBalancer

func (a *APIClient) CreateLoadBalancer(ctx context.Context, projectId string) ApiCreateLoadBalancerRequest

CreateLoadBalancer Create a load balancer in a project.

Create Load Balancer will create a load balancer.

@param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
@param projectId
@return ApiCreateLoadBalancerRequest

func (*APIClient) CreateLoadBalancerExecute

func (a *APIClient) CreateLoadBalancerExecute(ctx context.Context, projectId string) (*LoadBalancer, error)

func (*APIClient) DeleteCredentials

func (a *APIClient) DeleteCredentials(ctx context.Context, projectId string, credentialsRef string) ApiDeleteCredentialsRequest

DeleteCredentials Delete a single credential in a project.

Delete Credential

@param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
@param projectId
@param credentialsRef
@return ApiDeleteCredentialsRequest

func (*APIClient) DeleteCredentialsExecute

func (a *APIClient) DeleteCredentialsExecute(ctx context.Context, projectId string, credentialsRef string) (map[string]interface{}, error)

func (*APIClient) DeleteLoadBalancer

func (a *APIClient) DeleteLoadBalancer(ctx context.Context, projectId string, name string) ApiDeleteLoadBalancerRequest

DeleteLoadBalancer Delete a given load balancer in a project.

DeleteLoadBalancer will delete a given load balancer.

@param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
@param projectId
@param name
@return ApiDeleteLoadBalancerRequest

func (*APIClient) DeleteLoadBalancerExecute

func (a *APIClient) DeleteLoadBalancerExecute(ctx context.Context, projectId string, name string) (map[string]interface{}, error)

func (*APIClient) DisableService

func (a *APIClient) DisableService(ctx context.Context, projectId string) ApiDisableServiceRequest

DisableService Disables the functionality of load balancers for the project specified.

Disable will disable the load balancer functionality for the project specified.

@param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
@param projectId
@return ApiDisableServiceRequest

func (*APIClient) DisableServiceExecute

func (a *APIClient) DisableServiceExecute(ctx context.Context, projectId string) (map[string]interface{}, error)

func (*APIClient) EnableService

func (a *APIClient) EnableService(ctx context.Context, projectId string) ApiEnableServiceRequest

EnableService Enables the functionality of load balancers for the project specified.

Enable will enable the load balancer functionality for the project specified.

@param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
@param projectId
@return ApiEnableServiceRequest

func (*APIClient) EnableServiceExecute

func (a *APIClient) EnableServiceExecute(ctx context.Context, projectId string) (map[string]interface{}, error)

func (*APIClient) GetConfig

func (c *APIClient) GetConfig() *config.Configuration

Allow modification of underlying config for alternate implementations and testing Caution: modifying the configuration while live can cause data races and potentially unwanted behavior

func (*APIClient) GetCredentials

func (a *APIClient) GetCredentials(ctx context.Context, projectId string, credentialsRef string) ApiGetCredentialsRequest

GetCredentials Get a single credential reference in a project.

Get Credentials

@param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
@param projectId
@param credentialsRef
@return ApiGetCredentialsRequest

func (*APIClient) GetCredentialsExecute

func (a *APIClient) GetCredentialsExecute(ctx context.Context, projectId string, credentialsRef string) (*GetCredentialsResponse, error)

func (*APIClient) GetLoadBalancer

func (a *APIClient) GetLoadBalancer(ctx context.Context, projectId string, name string) ApiGetLoadBalancerRequest

GetLoadBalancer Get a single load balancer in a project.

Get Load Balancer will get a single load balancer of a project.

@param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
@param projectId
@param name
@return ApiGetLoadBalancerRequest

func (*APIClient) GetLoadBalancerExecute

func (a *APIClient) GetLoadBalancerExecute(ctx context.Context, projectId string, name string) (*LoadBalancer, error)

func (*APIClient) GetServiceStatus

func (a *APIClient) GetServiceStatus(ctx context.Context, projectId string) ApiGetServiceStatusRequest

GetServiceStatus Return the status of load balancer functionality for the project specified.

Status will return the load balancer functionality status for the project specified.

@param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
@param projectId
@return ApiGetServiceStatusRequest

func (*APIClient) GetServiceStatusExecute

func (a *APIClient) GetServiceStatusExecute(ctx context.Context, projectId string) (*GetServiceStatusResponse, error)

func (*APIClient) ListCredentials

func (a *APIClient) ListCredentials(ctx context.Context, projectId string) ApiListCredentialsRequest

ListCredentials List all credentials in a project.

List Credentials

@param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
@param projectId
@return ApiListCredentialsRequest

func (*APIClient) ListCredentialsExecute

func (a *APIClient) ListCredentialsExecute(ctx context.Context, projectId string) (*ListCredentialsResponse, error)

func (*APIClient) ListLoadBalancers

func (a *APIClient) ListLoadBalancers(ctx context.Context, projectId string) ApiListLoadBalancersRequest

ListLoadBalancers List load balancers in a project.

ListLoadBalancer will list load balancers of a project.

@param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
@param projectId
@return ApiListLoadBalancersRequest

func (*APIClient) ListLoadBalancersExecute

func (a *APIClient) ListLoadBalancersExecute(ctx context.Context, projectId string) (*ListLoadBalancersResponse, error)

func (*APIClient) UpdateLoadBalancer

func (a *APIClient) UpdateLoadBalancer(ctx context.Context, projectId string, name string) ApiUpdateLoadBalancerRequest

UpdateLoadBalancer Update a load balancer in a project.

Update Load Balancer allows the change of listeners and target pools of an existing Load Balancer.

The Load balancer resource version needs to be the current version to ensure concurrency safe updates.

@param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
@param projectId
@param name
@return ApiUpdateLoadBalancerRequest

func (*APIClient) UpdateLoadBalancerExecute

func (a *APIClient) UpdateLoadBalancerExecute(ctx context.Context, projectId string, name string) (*LoadBalancer, error)

func (*APIClient) UpdateTargetPool

func (a *APIClient) UpdateTargetPool(ctx context.Context, projectId string, name string, targetPoolName string) ApiUpdateTargetPoolRequest

UpdateTargetPool Update a single target pool of a load balancer in a project.

ReplaceTargetPool will replace a specific target pool of a load balancer with new content.

Useful to  add/remove target servers. will update a load balancer.
Only replaces the mentioned target pools and leaves others unchanged.
Cannot be used to create or rename a target pool.

@param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
@param projectId
@param name
@param targetPoolName
@return ApiUpdateTargetPoolRequest

func (*APIClient) UpdateTargetPoolExecute

func (a *APIClient) UpdateTargetPoolExecute(ctx context.Context, projectId string, name string, targetPoolName string) (*TargetPool, error)

type ActiveHealthCheck

type ActiveHealthCheck struct {
	// Healthy threshold of the health checking
	HealthyThreshold *int64 `json:"healthyThreshold,omitempty"`
	// Interval duration of health checking in seconds
	Interval *string `json:"interval,omitempty"`
	// Interval duration threshold of the health checking in seconds
	IntervalJitter *string `json:"intervalJitter,omitempty"`
	// Active health checking timeout duration in seconds
	Timeout *string `json:"timeout,omitempty"`
	// Unhealthy threshold of the health checking
	UnhealthyThreshold *int64 `json:"unhealthyThreshold,omitempty"`
}

type ApiCreateCredentialsRequest

type ApiCreateCredentialsRequest struct {
	// contains filtered or unexported fields
}

func (ApiCreateCredentialsRequest) CreateCredentialsPayload

func (r ApiCreateCredentialsRequest) CreateCredentialsPayload(createCredentialsPayload CreateCredentialsPayload) ApiCreateCredentialsRequest

func (ApiCreateCredentialsRequest) Execute

func (ApiCreateCredentialsRequest) XRequestID

type ApiCreateLoadBalancerRequest

type ApiCreateLoadBalancerRequest struct {
	// contains filtered or unexported fields
}

func (ApiCreateLoadBalancerRequest) CreateLoadBalancerPayload

func (r ApiCreateLoadBalancerRequest) CreateLoadBalancerPayload(createLoadBalancerPayload CreateLoadBalancerPayload) ApiCreateLoadBalancerRequest

func (ApiCreateLoadBalancerRequest) Execute

func (ApiCreateLoadBalancerRequest) XRequestID

type ApiDeleteCredentialsRequest

type ApiDeleteCredentialsRequest struct {
	// contains filtered or unexported fields
}

func (ApiDeleteCredentialsRequest) Execute

func (r ApiDeleteCredentialsRequest) Execute() (map[string]interface{}, error)

type ApiDeleteLoadBalancerRequest

type ApiDeleteLoadBalancerRequest struct {
	// contains filtered or unexported fields
}

func (ApiDeleteLoadBalancerRequest) Execute

func (r ApiDeleteLoadBalancerRequest) Execute() (map[string]interface{}, error)

type ApiDisableServiceRequest

type ApiDisableServiceRequest struct {
	// contains filtered or unexported fields
}

func (ApiDisableServiceRequest) Execute

func (r ApiDisableServiceRequest) Execute() (map[string]interface{}, error)

type ApiEnableServiceRequest

type ApiEnableServiceRequest struct {
	// contains filtered or unexported fields
}

func (ApiEnableServiceRequest) Execute

func (r ApiEnableServiceRequest) Execute() (map[string]interface{}, error)

func (ApiEnableServiceRequest) XRequestID

func (r ApiEnableServiceRequest) XRequestID(xRequestID string) ApiEnableServiceRequest

type ApiGetCredentialsRequest

type ApiGetCredentialsRequest struct {
	// contains filtered or unexported fields
}

func (ApiGetCredentialsRequest) Execute

type ApiGetLoadBalancerRequest

type ApiGetLoadBalancerRequest struct {
	// contains filtered or unexported fields
}

func (ApiGetLoadBalancerRequest) Execute

type ApiGetServiceStatusRequest

type ApiGetServiceStatusRequest struct {
	// contains filtered or unexported fields
}

func (ApiGetServiceStatusRequest) Execute

type ApiListCredentialsRequest

type ApiListCredentialsRequest struct {
	// contains filtered or unexported fields
}

func (ApiListCredentialsRequest) Execute

type ApiListLoadBalancersRequest

type ApiListLoadBalancersRequest struct {
	// contains filtered or unexported fields
}

func (ApiListLoadBalancersRequest) Execute

type ApiUpdateLoadBalancerRequest

type ApiUpdateLoadBalancerRequest struct {
	// contains filtered or unexported fields
}

func (ApiUpdateLoadBalancerRequest) Execute

func (ApiUpdateLoadBalancerRequest) UpdateLoadBalancerPayload

func (r ApiUpdateLoadBalancerRequest) UpdateLoadBalancerPayload(updateLoadBalancerPayload UpdateLoadBalancerPayload) ApiUpdateLoadBalancerRequest

type ApiUpdateTargetPoolRequest

type ApiUpdateTargetPoolRequest struct {
	// contains filtered or unexported fields
}

func (ApiUpdateTargetPoolRequest) Execute

func (ApiUpdateTargetPoolRequest) UpdateTargetPoolPayload

func (r ApiUpdateTargetPoolRequest) UpdateTargetPoolPayload(updateTargetPoolPayload UpdateTargetPoolPayload) ApiUpdateTargetPoolRequest

type CreateCredentialsPayload

type CreateCredentialsPayload struct {
	// Credential name
	DisplayName *string `json:"displayName,omitempty"`
	// The password used for the ARGUS instance
	Password *string `json:"password,omitempty"`
	// The username used for the ARGUS instance
	Username *string `json:"username,omitempty"`
}

type CreateCredentialsResponse

type CreateCredentialsResponse struct {
	Credential *CredentialsResponse `json:"credential,omitempty"`
}

type CreateLoadBalancerPayload

type CreateLoadBalancerPayload struct {
	Errors *[]LoadBalancerError `json:"errors,omitempty"`
	// External load balancer IP address where this load balancer is exposed. Not changeable after creation.
	ExternalAddress *string `json:"externalAddress,omitempty"`
	// List of all listeners which will accept traffic. Limited to 20.
	Listeners *[]Listener `json:"listeners,omitempty"`
	// Load balancer name. Not changeable after creation.
	Name *string `json:"name,omitempty"`
	// List of networks that listeners and targets reside in. Currently limited to one. Not changeable after creation.
	Networks *[]Network           `json:"networks,omitempty"`
	Options  *LoadBalancerOptions `json:"options,omitempty"`
	// Transient private load balancer IP address that can change any time.
	PrivateAddress *string `json:"privateAddress,omitempty"`
	Status         *string `json:"status,omitempty"`
	// List of all target pools which will be used in the load balancer. Limited to 20.
	TargetPools *[]TargetPool `json:"targetPools,omitempty"`
	// Load balancer resource version. Must be empty or unset for creating load balancers, non-empty for updating load balancers. Semantics: While retrieving load balancers, this is the current version of this load balancer resource that changes during updates of the load balancers. On updates this field specified the load balancer version you calculated your update for instead of the future version to enable concurrency safe updates. Update calls will then report the new version in their result as you would see with a load balancer retrieval call later. There exist no total order of the version, so you can only compare it for equality, but not for less/greater than another version. Since the creation of load balancer is always intended to create the first version of it, there should be no existing version. That's why this field must by empty of not present in that case.
	Version *string `json:"version,omitempty"`
}

type CreateMigrationBody

type CreateMigrationBody struct {
	LoadBalancer    *LoadBalancer    `json:"loadBalancer,omitempty"`
	MigrationParams *MigrationParams `json:"migrationParams,omitempty"`
}

type CreateMigrationResponse

type CreateMigrationResponse struct {
	LoadBalancer    *LoadBalancer    `json:"loadBalancer,omitempty"`
	MigrationParams *MigrationParams `json:"migrationParams,omitempty"`
	MigrationState  *string          `json:"migrationState,omitempty"`
}

type Credentials

type Credentials struct {
	// Credential name
	DisplayName *string `json:"displayName,omitempty"`
	// The password used for the ARGUS instance
	Password *string `json:"password,omitempty"`
	// The username used for the ARGUS instance
	Username *string `json:"username,omitempty"`
}

type CredentialsResponse

type CredentialsResponse struct {
	// The credentials reference can be used for observability of the Load Balancer.
	CredentialsRef *string `json:"credentialsRef,omitempty"`
	// Credential name
	DisplayName *string `json:"displayName,omitempty"`
	// The username used for the ARGUS instance
	Username *string `json:"username,omitempty"`
}

type DefaultApiService

type DefaultApiService service

DefaultApiService DefaultApi service

type GetCredentialsResponse

type GetCredentialsResponse struct {
	Credential *CredentialsResponse `json:"credential,omitempty"`
}

type GetMigrationResponse added in v0.9.0

type GetMigrationResponse struct {
	LoadBalancer    *LoadBalancer    `json:"loadBalancer,omitempty"`
	MigrationParams *MigrationParams `json:"migrationParams,omitempty"`
	MigrationState  *string          `json:"migrationState,omitempty"`
}

type GetQuotaResponse

type GetQuotaResponse struct {
	// The maximum number of load balancing servers in this project. Unlimited if set to -1.
	MaxLoadBalancers *int64 `json:"maxLoadBalancers,omitempty"`
	// Project identifier
	ProjectId *string `json:"projectId,omitempty"`
}

type GetServiceStatusResponse

type GetServiceStatusResponse struct {
	// status of the project
	Status *string `json:"status,omitempty"`
}

type HealthzResponse

type HealthzResponse struct {
	// Human readable explanation about the response.
	Message *string `json:"message,omitempty"`
}

type ListCredentialsResponse

type ListCredentialsResponse struct {
	Credentials *[]CredentialsResponse `json:"credentials,omitempty"`
}

type ListLoadBalancersResponse

type ListLoadBalancersResponse struct {
	LoadBalancers *[]LoadBalancer `json:"loadBalancers,omitempty"`
}

type Listener

type Listener struct {
	DisplayName *string `json:"displayName,omitempty"`
	// Will be used to reference a listener and will replace display name in the future. Currently uses <protocol>-<port> as the name if no display name is given.
	Name *string `json:"name,omitempty"`
	// Port number where we listen for traffic
	Port *int64 `json:"port,omitempty"`
	// Protocol is the highest network protocol we understand to load balance. Currently only PROTOCOL_TCP, PROTOCOL_TCP_PROXY and PROTOCOL_TLS_PASSTHROUGH are supported.
	Protocol *string `json:"protocol,omitempty"`
	// Server Name Idicators config for domains to be routed to the desired target pool for this listener.
	ServerNameIndicators *[]ServerNameIndicator `json:"serverNameIndicators,omitempty"`
	// Reference target pool by target pool name.
	TargetPool *string `json:"targetPool,omitempty"`
}

type LoadBalancer

type LoadBalancer struct {
	Errors *[]LoadBalancerError `json:"errors,omitempty"`
	// External load balancer IP address where this load balancer is exposed. Not changeable after creation.
	ExternalAddress *string `json:"externalAddress,omitempty"`
	// List of all listeners which will accept traffic. Limited to 20.
	Listeners *[]Listener `json:"listeners,omitempty"`
	// Load balancer name. Not changeable after creation.
	Name *string `json:"name,omitempty"`
	// List of networks that listeners and targets reside in. Currently limited to one. Not changeable after creation.
	Networks *[]Network           `json:"networks,omitempty"`
	Options  *LoadBalancerOptions `json:"options,omitempty"`
	// Transient private load balancer IP address that can change any time.
	PrivateAddress *string `json:"privateAddress,omitempty"`
	Status         *string `json:"status,omitempty"`
	// List of all target pools which will be used in the load balancer. Limited to 20.
	TargetPools *[]TargetPool `json:"targetPools,omitempty"`
	// Load balancer resource version. Must be empty or unset for creating load balancers, non-empty for updating load balancers. Semantics: While retrieving load balancers, this is the current version of this load balancer resource that changes during updates of the load balancers. On updates this field specified the load balancer version you calculated your update for instead of the future version to enable concurrency safe updates. Update calls will then report the new version in their result as you would see with a load balancer retrieval call later. There exist no total order of the version, so you can only compare it for equality, but not for less/greater than another version. Since the creation of load balancer is always intended to create the first version of it, there should be no existing version. That's why this field must by empty of not present in that case.
	Version *string `json:"version,omitempty"`
}

type LoadBalancerError

type LoadBalancerError struct {
	Description *string `json:"description,omitempty"`
	Type        *string `json:"type,omitempty"`
}

type LoadBalancerOptions

type LoadBalancerOptions struct {
	AccessControl    *LoadbalancerOptionAccessControl `json:"accessControl,omitempty"`
	EphemeralAddress *bool                            `json:"ephemeralAddress,omitempty"`
	Observability    *LoadbalancerOptionObservability `json:"observability,omitempty"`
	// Load Balancer is accessible only via a private network ip address. Not changeable after creation.
	PrivateNetworkOnly *bool `json:"privateNetworkOnly,omitempty"`
}

type LoadbalancerOptionAccessControl

type LoadbalancerOptionAccessControl struct {
	// Load Balancer is accessible only from an IP address in this range
	AllowedSourceRanges *[]string `json:"allowedSourceRanges,omitempty"`
}

type LoadbalancerOptionLogs

type LoadbalancerOptionLogs struct {
	// Credentials reference for metrics. Enables monitoring via logs for the Load Balancer.
	CredentialsRef *string `json:"credentialsRef,omitempty"`
	// The ARGUS/Loki Push URL you want the logs to be send to.
	PushUrl *string `json:"pushUrl,omitempty"`
}

type LoadbalancerOptionMetrics

type LoadbalancerOptionMetrics struct {
	// Credentials reference for metrics. Enables monitoring via remote write for the Load Balancer.
	CredentialsRef *string `json:"credentialsRef,omitempty"`
	// The ARGUS/Prometheus remote write Push URL you want the metrics to be send to.
	PushUrl *string `json:"pushUrl,omitempty"`
}

type LoadbalancerOptionObservability

type LoadbalancerOptionObservability struct {
	Logs    *LoadbalancerOptionLogs    `json:"logs,omitempty"`
	Metrics *LoadbalancerOptionMetrics `json:"metrics,omitempty"`
}

type MappedNullable

type MappedNullable interface {
	ToMap() (map[string]interface{}, error)
}

type MigrationParams

type MigrationParams struct {
	FipId        *string `json:"fipId,omitempty"`
	PortId       *string `json:"portId,omitempty"`
	SecGroupId   *string `json:"secGroupId,omitempty"`
	SecGroupName *string `json:"secGroupName,omitempty"`
}

type Network

type Network struct {
	// Openstack network ID
	NetworkId *string `json:"networkId,omitempty"`
	// The role defines how the load balancer is using the network. Currently only ROLE_LISTENERS_AND_TARGETS is supported.
	Role *string `json:"role,omitempty"`
}

type NullableBool

type NullableBool struct {
	// contains filtered or unexported fields
}

func NewNullableBool

func NewNullableBool(val *bool) *NullableBool

func (NullableBool) Get

func (v NullableBool) Get() *bool

func (NullableBool) IsSet

func (v NullableBool) IsSet() bool

func (NullableBool) MarshalJSON

func (v NullableBool) MarshalJSON() ([]byte, error)

func (*NullableBool) Set

func (v *NullableBool) Set(val *bool)

func (*NullableBool) UnmarshalJSON

func (v *NullableBool) UnmarshalJSON(src []byte) error

func (*NullableBool) Unset

func (v *NullableBool) Unset()

type NullableFloat32

type NullableFloat32 struct {
	// contains filtered or unexported fields
}

func NewNullableFloat32

func NewNullableFloat32(val *float32) *NullableFloat32

func (NullableFloat32) Get

func (v NullableFloat32) Get() *float32

func (NullableFloat32) IsSet

func (v NullableFloat32) IsSet() bool

func (NullableFloat32) MarshalJSON

func (v NullableFloat32) MarshalJSON() ([]byte, error)

func (*NullableFloat32) Set

func (v *NullableFloat32) Set(val *float32)

func (*NullableFloat32) UnmarshalJSON

func (v *NullableFloat32) UnmarshalJSON(src []byte) error

func (*NullableFloat32) Unset

func (v *NullableFloat32) Unset()

type NullableFloat64

type NullableFloat64 struct {
	// contains filtered or unexported fields
}

func NewNullableFloat64

func NewNullableFloat64(val *float64) *NullableFloat64

func (NullableFloat64) Get

func (v NullableFloat64) Get() *float64

func (NullableFloat64) IsSet

func (v NullableFloat64) IsSet() bool

func (NullableFloat64) MarshalJSON

func (v NullableFloat64) MarshalJSON() ([]byte, error)

func (*NullableFloat64) Set

func (v *NullableFloat64) Set(val *float64)

func (*NullableFloat64) UnmarshalJSON

func (v *NullableFloat64) UnmarshalJSON(src []byte) error

func (*NullableFloat64) Unset

func (v *NullableFloat64) Unset()

type NullableInt

type NullableInt struct {
	// contains filtered or unexported fields
}

func NewNullableInt

func NewNullableInt(val *int) *NullableInt

func (NullableInt) Get

func (v NullableInt) Get() *int

func (NullableInt) IsSet

func (v NullableInt) IsSet() bool

func (NullableInt) MarshalJSON

func (v NullableInt) MarshalJSON() ([]byte, error)

func (*NullableInt) Set

func (v *NullableInt) Set(val *int)

func (*NullableInt) UnmarshalJSON

func (v *NullableInt) UnmarshalJSON(src []byte) error

func (*NullableInt) Unset

func (v *NullableInt) Unset()

type NullableInt32

type NullableInt32 struct {
	// contains filtered or unexported fields
}

func NewNullableInt32

func NewNullableInt32(val *int32) *NullableInt32

func (NullableInt32) Get

func (v NullableInt32) Get() *int32

func (NullableInt32) IsSet

func (v NullableInt32) IsSet() bool

func (NullableInt32) MarshalJSON

func (v NullableInt32) MarshalJSON() ([]byte, error)

func (*NullableInt32) Set

func (v *NullableInt32) Set(val *int32)

func (*NullableInt32) UnmarshalJSON

func (v *NullableInt32) UnmarshalJSON(src []byte) error

func (*NullableInt32) Unset

func (v *NullableInt32) Unset()

type NullableInt64

type NullableInt64 struct {
	// contains filtered or unexported fields
}

func NewNullableInt64

func NewNullableInt64(val *int64) *NullableInt64

func (NullableInt64) Get

func (v NullableInt64) Get() *int64

func (NullableInt64) IsSet

func (v NullableInt64) IsSet() bool

func (NullableInt64) MarshalJSON

func (v NullableInt64) MarshalJSON() ([]byte, error)

func (*NullableInt64) Set

func (v *NullableInt64) Set(val *int64)

func (*NullableInt64) UnmarshalJSON

func (v *NullableInt64) UnmarshalJSON(src []byte) error

func (*NullableInt64) Unset

func (v *NullableInt64) Unset()

type NullableString

type NullableString struct {
	// contains filtered or unexported fields
}

func NewNullableString

func NewNullableString(val *string) *NullableString

func (NullableString) Get

func (v NullableString) Get() *string

func (NullableString) IsSet

func (v NullableString) IsSet() bool

func (NullableString) MarshalJSON

func (v NullableString) MarshalJSON() ([]byte, error)

func (*NullableString) Set

func (v *NullableString) Set(val *string)

func (*NullableString) UnmarshalJSON

func (v *NullableString) UnmarshalJSON(src []byte) error

func (*NullableString) Unset

func (v *NullableString) Unset()

type NullableTime

type NullableTime struct {
	// contains filtered or unexported fields
}

func NewNullableTime

func NewNullableTime(val *time.Time) *NullableTime

func (NullableTime) Get

func (v NullableTime) Get() *time.Time

func (NullableTime) IsSet

func (v NullableTime) IsSet() bool

func (NullableTime) MarshalJSON

func (v NullableTime) MarshalJSON() ([]byte, error)

func (*NullableTime) Set

func (v *NullableTime) Set(val *time.Time)

func (*NullableTime) UnmarshalJSON

func (v *NullableTime) UnmarshalJSON(src []byte) error

func (*NullableTime) Unset

func (v *NullableTime) Unset()

type PingResponse

type PingResponse struct {
	// Same project identifier as passed in on request.
	ProjectId *string `json:"projectId,omitempty"`
}

type ServerNameIndicator added in v0.9.0

type ServerNameIndicator struct {
	// The domain name for this SNI config.
	Name *string `json:"name,omitempty"`
}

type SessionPersistence added in v0.9.0

type SessionPersistence struct {
	// Enable using source IP address to persist sessions from a single IP
	UseSourceIpAddress *bool `json:"useSourceIpAddress,omitempty"`
}

type Target

type Target struct {
	// Target name
	DisplayName *string `json:"displayName,omitempty"`
	// Target IP
	Ip *string `json:"ip,omitempty"`
}

type TargetPool

type TargetPool struct {
	ActiveHealthCheck *ActiveHealthCheck `json:"activeHealthCheck,omitempty"`
	// Target pool name
	Name               *string             `json:"name,omitempty"`
	SessionPersistence *SessionPersistence `json:"sessionPersistence,omitempty"`
	// Identical port number where each target listens for traffic.
	TargetPort *int64 `json:"targetPort,omitempty"`
	// List of all targets which will be used in the pool. Limited to 250.
	Targets *[]Target `json:"targets,omitempty"`
}

type UpdateLoadBalancerPayload

type UpdateLoadBalancerPayload struct {
	Errors *[]LoadBalancerError `json:"errors,omitempty"`
	// External load balancer IP address where this load balancer is exposed. Not changeable after creation.
	ExternalAddress *string `json:"externalAddress,omitempty"`
	// List of all listeners which will accept traffic. Limited to 20.
	Listeners *[]Listener `json:"listeners,omitempty"`
	// Load balancer name. Not changeable after creation.
	Name *string `json:"name,omitempty"`
	// List of networks that listeners and targets reside in. Currently limited to one. Not changeable after creation.
	Networks *[]Network           `json:"networks,omitempty"`
	Options  *LoadBalancerOptions `json:"options,omitempty"`
	// Transient private load balancer IP address that can change any time.
	PrivateAddress *string `json:"privateAddress,omitempty"`
	Status         *string `json:"status,omitempty"`
	// List of all target pools which will be used in the load balancer. Limited to 20.
	TargetPools *[]TargetPool `json:"targetPools,omitempty"`
	// Load balancer resource version. Must be empty or unset for creating load balancers, non-empty for updating load balancers. Semantics: While retrieving load balancers, this is the current version of this load balancer resource that changes during updates of the load balancers. On updates this field specified the load balancer version you calculated your update for instead of the future version to enable concurrency safe updates. Update calls will then report the new version in their result as you would see with a load balancer retrieval call later. There exist no total order of the version, so you can only compare it for equality, but not for less/greater than another version. Since the creation of load balancer is always intended to create the first version of it, there should be no existing version. That's why this field must by empty of not present in that case.
	Version *string `json:"version,omitempty"`
}

type UpdateMigrationBody

type UpdateMigrationBody struct {
	// The new migration state of the loadbalancer. Allowed transitions are: - MIGRATION_STATE_PREPARE → MIGRATION_STATE_MIGRATE - MIGRATION_STATE_MIGRATE → MIGRATION_STATE_PREPARE - MIGRATION_STATE_MIGRATE → MIGRATION_STATE_COMPLETE Updates other than the migration state should be done by the regular update endpoints.Aborting a migration can be done by deleting the loadbalancer.
	State *string `json:"state,omitempty"`
}

type UpdateMigrationResponse

type UpdateMigrationResponse struct {
	LoadBalancer    *LoadBalancer    `json:"loadBalancer,omitempty"`
	MigrationParams *MigrationParams `json:"migrationParams,omitempty"`
	MigrationState  *string          `json:"migrationState,omitempty"`
}

type UpdateQuotaRequest

type UpdateQuotaRequest struct {
	// The maximum number of load balancing servers in this project. Unlimited if set to -1.
	MaxLoadBalancers *int64 `json:"maxLoadBalancers,omitempty"`
	// Project identifier
	ProjectId *string `json:"projectId,omitempty"`
}

type UpdateQuotaResponse

type UpdateQuotaResponse struct {
	// The maximum number of load balancing servers in this project. Unlimited if set to -1.
	MaxLoadBalancers *int64 `json:"maxLoadBalancers,omitempty"`
	// Project identifier
	ProjectId *string `json:"projectId,omitempty"`
}

type UpdateTargetPoolPayload

type UpdateTargetPoolPayload struct {
	ActiveHealthCheck *ActiveHealthCheck `json:"activeHealthCheck,omitempty"`
	// Target pool name
	Name               *string             `json:"name,omitempty"`
	SessionPersistence *SessionPersistence `json:"sessionPersistence,omitempty"`
	// Identical port number where each target listens for traffic.
	TargetPort *int64 `json:"targetPort,omitempty"`
	// List of all targets which will be used in the pool. Limited to 250.
	Targets *[]Target `json:"targets,omitempty"`
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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