Documentation
¶
Index ¶
- func CacheExpires(r *http.Response) time.Time
- func IsNil(i interface{}) bool
- func NewConfiguration() *config.Configuration
- func ParameterValueToString(obj interface{}, key string) string
- func PtrBool(v bool) *bool
- func PtrFloat32(v float32) *float32
- func PtrFloat64(v float64) *float64
- func PtrInt(v int) *int
- func PtrInt32(v int32) *int32
- func PtrInt64(v int64) *int64
- func PtrString(v string) *string
- func PtrTime(v time.Time) *time.Time
- type APIClient
- func (a *APIClient) CreateCredentials(ctx context.Context, projectId string) ApiCreateCredentialsRequest
- func (a *APIClient) CreateCredentialsExecute(ctx context.Context, projectId string) (*CreateCredentialsResponse, error)
- func (a *APIClient) CreateLoadBalancer(ctx context.Context, projectId string) ApiCreateLoadBalancerRequest
- func (a *APIClient) CreateLoadBalancerExecute(ctx context.Context, projectId string) (*LoadBalancer, error)
- func (a *APIClient) DeleteCredentials(ctx context.Context, projectId string, credentialsRef string) ApiDeleteCredentialsRequest
- func (a *APIClient) DeleteCredentialsExecute(ctx context.Context, projectId string, credentialsRef string) (map[string]interface{}, error)
- func (a *APIClient) DeleteLoadBalancer(ctx context.Context, projectId string, name string) ApiDeleteLoadBalancerRequest
- func (a *APIClient) DeleteLoadBalancerExecute(ctx context.Context, projectId string, name string) (map[string]interface{}, error)
- func (a *APIClient) DisableService(ctx context.Context, projectId string) ApiDisableServiceRequest
- func (a *APIClient) DisableServiceExecute(ctx context.Context, projectId string) (map[string]interface{}, error)
- func (a *APIClient) EnableService(ctx context.Context, projectId string) ApiEnableServiceRequest
- func (a *APIClient) EnableServiceExecute(ctx context.Context, projectId string) (map[string]interface{}, error)
- func (c *APIClient) GetConfig() *config.Configuration
- func (a *APIClient) GetCredentials(ctx context.Context, projectId string, credentialsRef string) ApiGetCredentialsRequest
- func (a *APIClient) GetCredentialsExecute(ctx context.Context, projectId string, credentialsRef string) (*GetCredentialsResponse, error)
- func (a *APIClient) GetLoadBalancer(ctx context.Context, projectId string, name string) ApiGetLoadBalancerRequest
- func (a *APIClient) GetLoadBalancerExecute(ctx context.Context, projectId string, name string) (*LoadBalancer, error)
- func (a *APIClient) GetServiceStatus(ctx context.Context, projectId string) ApiGetServiceStatusRequest
- func (a *APIClient) GetServiceStatusExecute(ctx context.Context, projectId string) (*GetServiceStatusResponse, error)
- func (a *APIClient) ListCredentials(ctx context.Context, projectId string) ApiListCredentialsRequest
- func (a *APIClient) ListCredentialsExecute(ctx context.Context, projectId string) (*ListCredentialsResponse, error)
- func (a *APIClient) ListLoadBalancers(ctx context.Context, projectId string) ApiListLoadBalancersRequest
- func (a *APIClient) ListLoadBalancersExecute(ctx context.Context, projectId string) (*ListLoadBalancersResponse, error)
- func (a *APIClient) UpdateLoadBalancer(ctx context.Context, projectId string, name string) ApiUpdateLoadBalancerRequest
- func (a *APIClient) UpdateLoadBalancerExecute(ctx context.Context, projectId string, name string) (*LoadBalancer, error)
- func (a *APIClient) UpdateTargetPool(ctx context.Context, projectId string, name string, targetPoolName string) ApiUpdateTargetPoolRequest
- func (a *APIClient) UpdateTargetPoolExecute(ctx context.Context, projectId string, name string, targetPoolName string) (*TargetPool, error)
- type ActiveHealthCheck
- type ApiCreateCredentialsRequest
- func (r ApiCreateCredentialsRequest) CreateCredentialsPayload(createCredentialsPayload CreateCredentialsPayload) ApiCreateCredentialsRequest
- func (r ApiCreateCredentialsRequest) Execute() (*CreateCredentialsResponse, error)
- func (r ApiCreateCredentialsRequest) XRequestID(xRequestID string) ApiCreateCredentialsRequest
- type ApiCreateLoadBalancerRequest
- func (r ApiCreateLoadBalancerRequest) CreateLoadBalancerPayload(createLoadBalancerPayload CreateLoadBalancerPayload) ApiCreateLoadBalancerRequest
- func (r ApiCreateLoadBalancerRequest) Execute() (*LoadBalancer, error)
- func (r ApiCreateLoadBalancerRequest) XRequestID(xRequestID string) ApiCreateLoadBalancerRequest
- type ApiDeleteCredentialsRequest
- type ApiDeleteLoadBalancerRequest
- type ApiDisableServiceRequest
- type ApiEnableServiceRequest
- type ApiGetCredentialsRequest
- type ApiGetLoadBalancerRequest
- type ApiGetServiceStatusRequest
- type ApiListCredentialsRequest
- type ApiListLoadBalancersRequest
- type ApiUpdateLoadBalancerRequest
- type ApiUpdateTargetPoolRequest
- type CreateCredentialsPayload
- type CreateCredentialsResponse
- type CreateLoadBalancerPayload
- type CreateMigrationBody
- type CreateMigrationResponse
- type Credentials
- type CredentialsResponse
- type DefaultApiService
- type GetCredentialsResponse
- type GetMigrationResponse
- type GetQuotaResponse
- type GetServiceStatusResponse
- type HealthzResponse
- type ListCredentialsResponse
- type ListLoadBalancersResponse
- type Listener
- type LoadBalancer
- type LoadBalancerError
- type LoadBalancerOptions
- type LoadbalancerOptionAccessControl
- type LoadbalancerOptionLogs
- type LoadbalancerOptionMetrics
- type LoadbalancerOptionObservability
- type MappedNullable
- type MigrationParams
- type Network
- type NullableBool
- type NullableFloat32
- type NullableFloat64
- type NullableInt
- type NullableInt32
- type NullableInt64
- type NullableString
- type NullableTime
- type OptionsTCP
- type OptionsUDP
- type PingResponse
- type ServerNameIndicator
- type SessionPersistence
- type Target
- type TargetPool
- type UpdateCredentialsResponse
- type UpdateLoadBalancerPayload
- type UpdateMigrationBody
- type UpdateMigrationResponse
- type UpdateQuotaRequest
- type UpdateQuotaResponse
- type UpdateTargetPoolPayload
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CacheExpires ¶
CacheExpires helper function to determine remaining time before repeating a request.
func NewConfiguration ¶
func NewConfiguration() *config.Configuration
NewConfiguration returns a new Configuration object
func ParameterValueToString ¶
func PtrFloat32 ¶
PtrFloat32 is a helper routine that returns a pointer to given float value.
func PtrFloat64 ¶
PtrFloat64 is a helper routine that returns a pointer to given float value.
Types ¶
type APIClient ¶
type APIClient struct {
// contains filtered or unexported fields
}
APIClient manages communication with the Load Balancer API API v1.6.4 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 can be used to store existing credentials, which are valid to be used for Load Balancer Observability.
This means, e.g. when using ARGUS, that credentials first must be created for that ARGUS instance (by using their API) and then can be provided to the Load Balancer by storing them with this endpoint. @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 (*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.
The default load balancing algorithm is round robin unless useSourceIpAddress in session persistence is enabled for a target pool then it is Maglev. @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 (*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 (*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 (*APIClient) DisableService ¶
func (a *APIClient) DisableService(ctx context.Context, projectId string) ApiDisableServiceRequest
DisableService Disables the functionality of load balancers for the project specified.
DEPRECATED! Disabling the load balancer functionality is now automatic. The endpoint is kept for compatibility.
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
Deprecated
func (*APIClient) DisableServiceExecute ¶
func (*APIClient) EnableService ¶
func (a *APIClient) EnableService(ctx context.Context, projectId string) ApiEnableServiceRequest
EnableService Enables the functionality of load balancers for the project specified.
DEPRECATED! Use CreateLoadBalancer directly instead.
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
Deprecated
func (*APIClient) EnableServiceExecute ¶
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 (*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. This contains all the information set during
creation or updates. Additionally, it will have information about the state of the load balancer in the form of a status field and error description feedback. @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 (*APIClient) GetServiceStatus ¶
func (a *APIClient) GetServiceStatus(ctx context.Context, projectId string) ApiGetServiceStatusRequest
GetServiceStatus Return the status of load balancer functionality for the project specified.
DEPRECATED! Projects are auto-enabled on SE side, meaning status is always enabled.
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
Deprecated
func (*APIClient) GetServiceStatusExecute ¶
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 (*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. This contains information set during
creation or updates for every load balancer in the project. Additionally, it will have information about the state of the load balancer in the form of a status field and error description feedback. @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 (*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. The default load balancing algorithm is round robin unless useSourceIpAddress in session persistence is enabled for a target pool then it is Maglev. @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 (*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 ¶
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 (r ApiCreateCredentialsRequest) Execute() (*CreateCredentialsResponse, error)
func (ApiCreateCredentialsRequest) XRequestID ¶
func (r ApiCreateCredentialsRequest) XRequestID(xRequestID string) ApiCreateCredentialsRequest
type ApiCreateLoadBalancerRequest ¶
type ApiCreateLoadBalancerRequest struct {
// contains filtered or unexported fields
}
func (ApiCreateLoadBalancerRequest) CreateLoadBalancerPayload ¶
func (r ApiCreateLoadBalancerRequest) CreateLoadBalancerPayload(createLoadBalancerPayload CreateLoadBalancerPayload) ApiCreateLoadBalancerRequest
func (ApiCreateLoadBalancerRequest) Execute ¶
func (r ApiCreateLoadBalancerRequest) Execute() (*LoadBalancer, error)
func (ApiCreateLoadBalancerRequest) XRequestID ¶
func (r ApiCreateLoadBalancerRequest) XRequestID(xRequestID string) ApiCreateLoadBalancerRequest
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 ¶
func (r ApiGetCredentialsRequest) Execute() (*GetCredentialsResponse, error)
type ApiGetLoadBalancerRequest ¶
type ApiGetLoadBalancerRequest struct {
// contains filtered or unexported fields
}
func (ApiGetLoadBalancerRequest) Execute ¶
func (r ApiGetLoadBalancerRequest) Execute() (*LoadBalancer, error)
type ApiGetServiceStatusRequest ¶
type ApiGetServiceStatusRequest struct {
// contains filtered or unexported fields
}
func (ApiGetServiceStatusRequest) Execute ¶
func (r ApiGetServiceStatusRequest) Execute() (*GetServiceStatusResponse, error)
type ApiListCredentialsRequest ¶
type ApiListCredentialsRequest struct {
// contains filtered or unexported fields
}
func (ApiListCredentialsRequest) Execute ¶
func (r ApiListCredentialsRequest) Execute() (*ListCredentialsResponse, error)
type ApiListLoadBalancersRequest ¶
type ApiListLoadBalancersRequest struct {
// contains filtered or unexported fields
}
func (ApiListLoadBalancersRequest) Execute ¶
func (r ApiListLoadBalancersRequest) Execute() (*ListLoadBalancersResponse, error)
type ApiUpdateLoadBalancerRequest ¶
type ApiUpdateLoadBalancerRequest struct {
// contains filtered or unexported fields
}
func (ApiUpdateLoadBalancerRequest) Execute ¶
func (r ApiUpdateLoadBalancerRequest) Execute() (*LoadBalancer, error)
func (ApiUpdateLoadBalancerRequest) UpdateLoadBalancerPayload ¶
func (r ApiUpdateLoadBalancerRequest) UpdateLoadBalancerPayload(updateLoadBalancerPayload UpdateLoadBalancerPayload) ApiUpdateLoadBalancerRequest
type ApiUpdateTargetPoolRequest ¶
type ApiUpdateTargetPoolRequest struct {
// contains filtered or unexported fields
}
func (ApiUpdateTargetPoolRequest) Execute ¶
func (r ApiUpdateTargetPoolRequest) Execute() (*TargetPool, error)
func (ApiUpdateTargetPoolRequest) UpdateTargetPoolPayload ¶
func (r ApiUpdateTargetPoolRequest) UpdateTargetPoolPayload(updateTargetPoolPayload UpdateTargetPoolPayload) ApiUpdateTargetPoolRequest
type CreateCredentialsPayload ¶
type CreateCredentialsPayload struct {
// Credential name
DisplayName *string `json:"displayName,omitempty"`
// A valid password used for an existing ARGUS instance, which is used during basic auth.
Password *string `json:"password,omitempty"`
// A valid username used for an existing ARGUS instance, which is used during basic auth.
Username *string `json:"username,omitempty"`
}
type CreateCredentialsResponse ¶
type CreateCredentialsResponse struct {
Credential *CredentialsResponse `json:"credential,omitempty"`
}
type CreateLoadBalancerPayload ¶
type CreateLoadBalancerPayload struct {
// Reports all errors a load balancer has.
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"`
// There is a maximum listener count of 20. Port and protocol limitations: - UDP listeners cannot have the same port. - TCP-derived listeners cannot have the same port. A TCP-derived listener is any listener that listens on a TCP port. As of now those are: TCP, TCP_PROXY, and PROTOCOL_TLS_PASSTHROUGH. The only exception is, if all listeners for the same port are PROTOCOL_TLS_PASSTHROUGH. - PROTOCOL_TLS_PASSTHROUGH listeners cannot have the same port and at least one common domain name. - PROTOCOL_TLS_PASSTHROUGH listeners can have the same domain name and different ports though (e.g. ports 443 and 8443 for domain example.com). - PROTOCOL_TLS_PASSTHROUGH listeners without a domain name serve as a default listener and you can have only one default listener.
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"`
// A valid password used for an existing ARGUS instance, which is used during basic auth.
Password *string `json:"password,omitempty"`
// A valid username used for an existing ARGUS instance, which is used during basic auth.
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 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 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"`
Tcp *OptionsTCP `json:"tcp,omitempty"`
Udp *OptionsUDP `json:"udp,omitempty"`
}
type LoadBalancer ¶
type LoadBalancer struct {
// Reports all errors a load balancer has.
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"`
// There is a maximum listener count of 20. Port and protocol limitations: - UDP listeners cannot have the same port. - TCP-derived listeners cannot have the same port. A TCP-derived listener is any listener that listens on a TCP port. As of now those are: TCP, TCP_PROXY, and PROTOCOL_TLS_PASSTHROUGH. The only exception is, if all listeners for the same port are PROTOCOL_TLS_PASSTHROUGH. - PROTOCOL_TLS_PASSTHROUGH listeners cannot have the same port and at least one common domain name. - PROTOCOL_TLS_PASSTHROUGH listeners can have the same domain name and different ports though (e.g. ports 443 and 8443 for domain example.com). - PROTOCOL_TLS_PASSTHROUGH listeners without a domain name serve as a default listener and you can have only one default listener.
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 {
// The error description contains additional helpful user information to fix the error state of the load balancer. For example the IP 45.135.247.139 does not exist in the project, then the description will report: Floating IP \"45.135.247.139\" could not be found.
Description *string `json:"description,omitempty"`
// The error type specifies which part of the load balancer encountered the error. I.e. the API will not check if a provided public IP is actually available in the project. Instead the load balancer with try to use the provided IP and if not available reports TYPE_FIP_NOT_CONFIGURED error.
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 logging. This reference is created via the observability create endpoint and the credential needs to contain the basic auth username and password for the logging solution the push URL points to. Then this enables monitoring via remote write for the Load Balancer.
CredentialsRef *string `json:"credentialsRef,omitempty"`
// The ARGUS/Loki remote write Push URL you want the logs to be shipped to.
PushUrl *string `json:"pushUrl,omitempty"`
}
type LoadbalancerOptionMetrics ¶
type LoadbalancerOptionMetrics struct {
// Credentials reference for metrics. This reference is created via the observability create endpoint and the credential needs to contain the basic auth username and password for the metrics solution the push URL points to. Then this 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 shipped to.
PushUrl *string `json:"pushUrl,omitempty"`
}
type LoadbalancerOptionObservability ¶
type LoadbalancerOptionObservability struct {
Logs *LoadbalancerOptionLogs `json:"logs,omitempty"`
Metrics *LoadbalancerOptionMetrics `json:"metrics,omitempty"`
}
type MappedNullable ¶
type MigrationParams ¶
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 OptionsTCP ¶ added in v0.10.0
type OptionsTCP struct {
// The connection idle timeout to be used with the protocol. The default value is set to 5 minutes, and the maximum value is one hour.
IdleTimeout *string `json:"idleTimeout,omitempty"`
}
type OptionsUDP ¶ added in v0.10.0
type OptionsUDP struct {
// The connection idle timeout to be used with the protocol. The default value is set to 1 minute, and the maximum value is 2 minutes.
IdleTimeout *string `json:"idleTimeout,omitempty"`
}
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 {
// If enabled then all connections from one source IP address are redirected to the same target. This setting changes the load balancing algorithm to Maglev.
UseSourceIpAddress *bool `json:"useSourceIpAddress,omitempty"`
}
type TargetPool ¶
type TargetPool struct {
ActiveHealthCheck *ActiveHealthCheck `json:"activeHealthCheck,omitempty"`
// Target pool name
Name *string `json:"name,omitempty"`
SessionPersistence *SessionPersistence `json:"sessionPersistence,omitempty"`
// The number identifying the port 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 UpdateCredentialsResponse ¶ added in v0.10.0
type UpdateCredentialsResponse struct {
Credential *CredentialsResponse `json:"credential,omitempty"`
}
type UpdateLoadBalancerPayload ¶
type UpdateLoadBalancerPayload struct {
// Reports all errors a load balancer has.
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"`
// There is a maximum listener count of 20. Port and protocol limitations: - UDP listeners cannot have the same port. - TCP-derived listeners cannot have the same port. A TCP-derived listener is any listener that listens on a TCP port. As of now those are: TCP, TCP_PROXY, and PROTOCOL_TLS_PASSTHROUGH. The only exception is, if all listeners for the same port are PROTOCOL_TLS_PASSTHROUGH. - PROTOCOL_TLS_PASSTHROUGH listeners cannot have the same port and at least one common domain name. - PROTOCOL_TLS_PASSTHROUGH listeners can have the same domain name and different ports though (e.g. ports 443 and 8443 for domain example.com). - PROTOCOL_TLS_PASSTHROUGH listeners without a domain name serve as a default listener and you can have only one default listener.
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 UpdateQuotaResponse ¶
type UpdateTargetPoolPayload ¶
type UpdateTargetPoolPayload struct {
ActiveHealthCheck *ActiveHealthCheck `json:"activeHealthCheck,omitempty"`
// Target pool name
Name *string `json:"name,omitempty"`
SessionPersistence *SessionPersistence `json:"sessionPersistence,omitempty"`
// The number identifying the port 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"`
}
Source Files
¶
- api_default.go
- client.go
- configuration.go
- model_active_health_check.go
- model_create_credentials_payload.go
- model_create_credentials_response.go
- model_create_load_balancer_payload.go
- model_create_migration_body.go
- model_create_migration_response.go
- model_credentials.go
- model_credentials_response.go
- model_get_credentials_response.go
- model_get_migration_response.go
- model_get_quota_response.go
- model_get_service_status_response.go
- model_healthz_response.go
- model_list_credentials_response.go
- model_list_load_balancers_response.go
- model_listener.go
- model_load_balancer.go
- model_load_balancer_error.go
- model_load_balancer_options.go
- model_loadbalancer_option_access_control.go
- model_loadbalancer_option_logs.go
- model_loadbalancer_option_metrics.go
- model_loadbalancer_option_observability.go
- model_migration_params.go
- model_network.go
- model_options_tcp.go
- model_options_udp.go
- model_ping_response.go
- model_server_name_indicator.go
- model_session_persistence.go
- model_target.go
- model_target_pool.go
- model_update_credentials_response.go
- model_update_load_balancer_payload.go
- model_update_migration_body.go
- model_update_migration_response.go
- model_update_quota_request.go
- model_update_quota_response.go
- model_update_target_pool_payload.go
- utils.go