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) ApiDisableServiceRequestdeprecated
- func (a *APIClient) DisableServiceExecute(ctx context.Context, projectId string) (map[string]interface{}, error)deprecated
- func (a *APIClient) EnableService(ctx context.Context, projectId string) ApiEnableServiceRequestdeprecated
- func (a *APIClient) EnableServiceExecute(ctx context.Context, projectId string) (map[string]interface{}, error)deprecated
- 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) GetQuota(ctx context.Context, projectId string) ApiGetQuotaRequest
- func (a *APIClient) GetQuotaExecute(ctx context.Context, projectId string) (*GetQuotaResponse, error)
- func (a *APIClient) GetServiceStatus(ctx context.Context, projectId string) ApiGetServiceStatusRequestdeprecated
- func (a *APIClient) GetServiceStatusExecute(ctx context.Context, projectId string) (*GetServiceStatusResponse, error)deprecated
- 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) UpdateCredentials(ctx context.Context, projectId string, credentialsRef string) ApiUpdateCredentialsRequest
- func (a *APIClient) UpdateCredentialsExecute(ctx context.Context, projectId string, credentialsRef string) (*UpdateCredentialsResponse, 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 ApiGetQuotaRequest
- type ApiGetServiceStatusRequest
- type ApiListCredentialsRequest
- type ApiListLoadBalancersRequest
- type ApiUpdateCredentialsRequest
- type ApiUpdateLoadBalancerRequest
- type ApiUpdateTargetPoolRequest
- type CreateCredentialsPayload
- type CreateCredentialsResponse
- type CreateLoadBalancerPayload
- type CredentialsResponse
- type DefaultApiService
- type GetCredentialsResponse
- type GetQuotaResponse
- type GetServiceStatusResponse
- type GoogleProtobufAny
- type ListCredentialsResponse
- type ListLoadBalancersResponse
- type Listener
- type LoadBalancer
- type LoadBalancerError
- type LoadBalancerOptions
- type LoadbalancerOptionAccessControl
- type LoadbalancerOptionLogs
- type LoadbalancerOptionMetrics
- type LoadbalancerOptionObservability
- type MappedNullable
- type Network
- type NullableBool
- type NullableFloat32
- type NullableFloat64
- type NullableInt
- type NullableInt32
- type NullableInt64
- type NullableString
- type NullableTime
- type OptionsTCP
- type OptionsUDP
- type ServerNameIndicator
- type SessionPersistence
- type Status
- type Target
- type TargetPool
- type UpdateCredentialsPayload
- type UpdateCredentialsResponse
- type UpdateLoadBalancerPayload
- 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.7.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 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
deprecated
func (a *APIClient) DisableService(ctx context.Context, projectId string) ApiDisableServiceRequest
DisableService: Disables the functionality of load balancers for the project specified.
Deprecated: 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
func (*APIClient) DisableServiceExecute
deprecated
func (a *APIClient) DisableServiceExecute(ctx context.Context, projectId string) (map[string]interface{}, error)
Deprecated: 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.
func (*APIClient) EnableService
deprecated
func (a *APIClient) EnableService(ctx context.Context, projectId string) ApiEnableServiceRequest
EnableService: Enables the functionality of load balancers for the project specified.
Deprecated: 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
func (*APIClient) EnableServiceExecute
deprecated
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) GetQuota ¶ added in v0.12.0
func (a *APIClient) GetQuota(ctx context.Context, projectId string) ApiGetQuotaRequest
GetQuota: Get the quota of Load Balancers and Target Pools in a project.
GetQuota gets the configured load balancer quota for the project. Default is 3.
@param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). @param projectId @return ApiGetQuotaRequest
func (*APIClient) GetQuotaExecute ¶ added in v0.12.0
func (*APIClient) GetServiceStatus
deprecated
func (a *APIClient) GetServiceStatus(ctx context.Context, projectId string) ApiGetServiceStatusRequest
GetServiceStatus: Return the status of load balancer functionality for the project specified.
Deprecated: 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
func (*APIClient) GetServiceStatusExecute
deprecated
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) UpdateCredentials ¶ added in v0.12.0
func (a *APIClient) UpdateCredentials(ctx context.Context, projectId string, credentialsRef string) ApiUpdateCredentialsRequest
UpdateCredentials: Update credentials for observability in a project.
Update Credentials
@param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). @param projectId @param credentialsRef @return ApiUpdateCredentialsRequest
func (*APIClient) UpdateCredentialsExecute ¶ added in v0.12.0
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 ApiGetQuotaRequest ¶ added in v0.12.0
type ApiGetQuotaRequest struct {
// contains filtered or unexported fields
}
func (ApiGetQuotaRequest) Execute ¶ added in v0.12.0
func (r ApiGetQuotaRequest) Execute() (*GetQuotaResponse, 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 ApiUpdateCredentialsRequest ¶ added in v0.12.0
type ApiUpdateCredentialsRequest struct {
// contains filtered or unexported fields
}
func (ApiUpdateCredentialsRequest) Execute ¶ added in v0.12.0
func (r ApiUpdateCredentialsRequest) Execute() (*UpdateCredentialsResponse, error)
func (ApiUpdateCredentialsRequest) UpdateCredentialsPayload ¶ added in v0.12.0
func (r ApiUpdateCredentialsRequest) UpdateCredentialsPayload(updateCredentialsPayload UpdateCredentialsPayload) ApiUpdateCredentialsRequest
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"` // Service Plan configures the size of the Load Balancer. Currently supported plans are p10, p25, p50, p250 and p750. This list can change in the future where plan ids will be removed and new plans by added. That is the reason this is not an enum. PlanId *string `json:"planId,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 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 GetQuotaResponse ¶
type GetServiceStatusResponse ¶
type GetServiceStatusResponse struct { // status of the project Status *string `json:"status,omitempty"` }
type GoogleProtobufAny ¶ added in v0.14.0
type GoogleProtobufAny struct { // The type of the serialized message. Type *string `json:"@type,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"` // Service Plan configures the size of the Load Balancer. Currently supported plans are p10, p25, p50, p250 and p750. This list can change in the future where plan ids will be removed and new plans by added. That is the reason this is not an enum. PlanId *string `json:"planId,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 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 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 Status ¶ added in v0.14.0
type Status struct { // The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code]. // Can be cast to int32 without loss of precision. Code *int64 `json:"code,omitempty"` // A list of messages that carry the error details. There is a common set of message types for APIs to use. Details *[]GoogleProtobufAny `json:"details,omitempty"` // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client. Message *string `json:"message,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 UpdateCredentialsPayload ¶ added in v0.12.0
type UpdateCredentialsPayload 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 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"` // Service Plan configures the size of the Load Balancer. Currently supported plans are p10, p25, p50, p250 and p750. This list can change in the future where plan ids will be removed and new plans by added. That is the reason this is not an enum. PlanId *string `json:"planId,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 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_credentials_response.go
- model_get_credentials_response.go
- model_get_quota_response.go
- model_get_service_status_response.go
- model_google_protobuf_any.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_network.go
- model_options_tcp.go
- model_options_udp.go
- model_server_name_indicator.go
- model_session_persistence.go
- model_status.go
- model_target.go
- model_target_pool.go
- model_update_credentials_payload.go
- model_update_credentials_response.go
- model_update_load_balancer_payload.go
- model_update_target_pool_payload.go
- utils.go