Documentation
¶
Index ¶
- Constants
- type ApplicationCookieStickinessPolicyInfo
- type Client
- type CloudGatePolicyInfo
- type ComputeSecurityArtifactsInfo
- type CreateListenerInput
- type CreateLoadBalancerInput
- type CreateOriginServerInput
- type CreateOriginServerPoolInput
- type CreatePolicyInput
- type CreateSSLCertificateInput
- type EffectiveOriginServersInfo
- type HealthCheckInfo
- type HttpMethod
- type LBaaSDisabled
- type LBaaSResourceClient
- type LBaaSState
- type LBaaSStatus
- type ListenerClient
- func (c *ListenerClient) CreateListener(lb LoadBalancerContext, input *CreateListenerInput) (*ListenerInfo, error)
- func (c *ListenerClient) DeleteListener(lb LoadBalancerContext, name string) (*ListenerInfo, error)
- func (c *ListenerClient) GetListener(lb LoadBalancerContext, name string) (*ListenerInfo, error)
- func (c *ListenerClient) UpdateListener(lb LoadBalancerContext, name string, input *UpdateListenerInput) (*ListenerInfo, error)
- func (c *ListenerClient) WaitForListenerState(lb LoadBalancerContext, name string, desiredStates, errorStates []LBaaSState) (*ListenerInfo, error)
- type ListenerInfo
- type LoadBalancerClient
- func (c *LoadBalancerClient) CreateLoadBalancer(input *CreateLoadBalancerInput) (*LoadBalancerInfo, error)
- func (c *LoadBalancerClient) DeleteLoadBalancer(lb LoadBalancerContext) (*LoadBalancerInfo, error)
- func (c *LoadBalancerClient) GetLoadBalancer(lb LoadBalancerContext) (*LoadBalancerInfo, error)
- func (c *LoadBalancerClient) UpdateLoadBalancer(lb LoadBalancerContext, input *UpdateLoadBalancerInput) (*LoadBalancerInfo, error)
- func (c *LoadBalancerClient) WaitForLoadBalancerState(lb LoadBalancerContext, desiredStates, errorStates []LBaaSState, ...) error
- type LoadBalancerContext
- type LoadBalancerCookieStickinessPolicyInfo
- type LoadBalancerEffectiveState
- type LoadBalancerInfo
- type LoadBalancerScheme
- type LoadBalancingMechanismPolicyInfo
- type OriginServerInfo
- type OriginServerPoolClient
- func (c *OriginServerPoolClient) CreateOriginServerPool(lb LoadBalancerContext, input *CreateOriginServerPoolInput) (*OriginServerPoolInfo, error)
- func (c *OriginServerPoolClient) DeleteOriginServerPool(lb LoadBalancerContext, name string) (*OriginServerPoolInfo, error)
- func (c *OriginServerPoolClient) GetOriginServerPool(lb LoadBalancerContext, name string) (*OriginServerPoolInfo, error)
- func (c *OriginServerPoolClient) UpdateOriginServerPool(lb LoadBalancerContext, name string, input *UpdateOriginServerPoolInput) (*OriginServerPoolInfo, error)
- func (c *OriginServerPoolClient) WaitForOriginServerPoolState(lb LoadBalancerContext, name string, desiredStates, errorStates []LBaaSState, ...) (*OriginServerPoolInfo, error)
- type OriginServerPoolInfo
- type OriginServerSourceInheritedFrom
- type PolicyClient
- func (c *PolicyClient) CreatePolicy(lb LoadBalancerContext, input *CreatePolicyInput) (*PolicyInfo, error)
- func (c *PolicyClient) DeletePolicy(lb LoadBalancerContext, name string) (*PolicyInfo, error)
- func (c *PolicyClient) GetPolicy(lb LoadBalancerContext, name string) (*PolicyInfo, error)
- func (c *PolicyClient) UpdatePolicy(lb LoadBalancerContext, name, policyType string, input *UpdatePolicyInput) (*PolicyInfo, error)
- func (c *PolicyClient) WaitForPolicyState(lb LoadBalancerContext, name string, desiredStates, errorStates []LBaaSState, ...) (*PolicyInfo, error)
- type PolicyInfo
- type Protocol
- type QueryProjection
- type RateLimitingRequestPolicyInfo
- type RedirectPolicyInfo
- type ResourceAccessControlPolicyInfo
- type ResourceAccessControlPolicyUpdate
- type RestURIInfo
- type SSLCertificateClient
- func (c *SSLCertificateClient) CreateSSLCertificate(input *CreateSSLCertificateInput) (*SSLCertificateInfo, error)
- func (c *SSLCertificateClient) DeleteSSLCertificate(name string) (*SSLCertificateInfo, error)
- func (c *SSLCertificateClient) GetSSLCertificate(name string) (*SSLCertificateInfo, error)
- func (c *SSLCertificateClient) WaitForSSLCertificateState(name string, desiredStates, errorStates []LBaaSState, ...) error
- type SSLCertificateInfo
- type SSLNegotiationPolicyInfo
- type SetRequestHeaderPolicyInfo
- type SetRequestHeaderPolicyUpdate
- type TrustedCertificatePolicyInfo
- type UpdateListenerInput
- type UpdateLoadBalancerInput
- type UpdateOriginServerPoolInput
- type UpdatePolicyInput
- type UpdateSSLCertificateInput
Constants ¶
const ContentTypeAppCookieSticinessPolicyJSON = "application/vnd.com.oracle.oracloud.lbaas.AppCookieStickinessPolicy+json"
Policy Specific ContentTypes for API REquests. Each type of Policy has its own ContentType
const ContentTypeCloudGatePolicyJSON = "application/vnd.com.oracle.oracloud.lbaas.CloudGatePolicy+json"
const ContentTypeLBCookieStickinessPolicyJSON = "application/vnd.com.oracle.oracloud.lbaas.LBCookieStickinessPolicy+json"
const ContentTypeListenerJSON = "application/vnd.com.oracle.oracloud.lbaas.Listener+json"
ContentType for Load Balancer Listener API requests
const ContentTypeLoadBalancingMechanismPolicyJSON = "application/vnd.com.oracle.oracloud.lbaas.LoadBalancingMechanismPolicy+json"
const ContentTypeOriginServerPoolJSON = "application/vnd.com.oracle.oracloud.lbaas.OriginServerPool+json"
ContentType for Load Balancer Origin Server Pool API requests
const ContentTypeRateLimitingRequestPolicyJSON = "application/vnd.com.oracle.oracloud.lbaas.RateLimitingRequestPolicy+json"
const ContentTypeRedirectPolicyJSON = "application/vnd.com.oracle.oracloud.lbaas.RedirectPolicy+json"
const ContentTypeResourceAccessControlPolicyJSON = "application/vnd.com.oracle.oracloud.lbaas.ResourceAccessControlPolicy+json"
const ContentTypeSSLNegotiationPolicyJSON = "application/vnd.com.oracle.oracloud.lbaas.SSLNegotiationPolicy+json"
const ContentTypeServerCertificateJSON = "application/vnd.com.oracle.oracloud.lbaas.ServerCertificate+json"
Supported ContentTypes for the SSL Certificate API requests
const ContentTypeSetRequestHeaderPolicyJSON = "application/vnd.com.oracle.oracloud.lbaas.SetRequestHeaderPolicy+json"
const ContentTypeTrustedCertificateJSON = "application/vnd.com.oracle.oracloud.lbaas.TrustedCertificate+json"
const ContentTypeTrustedCertificatePolicyJSON = "application/vnd.com.oracle.oracloud.lbaas.TrustedCertPolicy+json"
const ContentTypeVLBRJSON = "application/vnd.com.oracle.oracloud.lbaas.VLBR+json"
ContentType for Load Balancer API requests
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ApplicationCookieStickinessPolicyInfo ¶
type ApplicationCookieStickinessPolicyInfo struct {
AppCookieName string `json:"app_cookie_name,omitempty"`
}
type Client ¶
type Client struct { PollInterval time.Duration Timeout time.Duration // contains filtered or unexported fields }
Client implementation for Oracle Cloud Infrastructure Load Balancing Classic */
func GetTestClient ¶
GetTestClient obtains a client for testing purposes
func (*Client) ListenerClient ¶
func (c *Client) ListenerClient() *ListenerClient
ListenerClient returns an ListenerClient which is used to access the Load Balancer Listener API
func (*Client) LoadBalancerClient ¶
func (c *Client) LoadBalancerClient() *LoadBalancerClient
LoadBalancerClient returns an ServiceInstanceClient which is used to access the Load Balancer API
func (*Client) OriginServerPoolClient ¶
func (c *Client) OriginServerPoolClient() *OriginServerPoolClient
OriginServerPoolClient returns an Client which is used to access the Load Balancer Origin Server Pool API
func (*Client) PolicyClient ¶
func (c *Client) PolicyClient() *PolicyClient
PolicyClient returns an PolicyClient which is used to access the Load Balancer Policy API
func (*Client) SSLCertificateClient ¶
func (c *Client) SSLCertificateClient() *SSLCertificateClient
SSLCertificateClient returns an ServiceInstanceClient which is used to access the Load Balancer API
type CloudGatePolicyInfo ¶
type CloudGatePolicyInfo struct { CloudGateApplication string `json:"cloudgate_application,omitempty"` CloudGatePolicyName string `json:"cloudgate_policy_name,omitempty"` IdentityServiceInstanceGuid string `json:"identity_service_instance_guid,omitempty"` VirtualHostnameForPolicyAttribution string `json:"virtual_hostname_for_policy_attribution,omitempty"` }
type CreateListenerInput ¶
type CreateListenerInput struct { BalancerProtocol Protocol `json:"balancer_protocol"` Disabled LBaaSDisabled `json:"disabled,omitempty"` Name string `json:"name"` OriginServerPool string `json:"origin_server_pool,omitempty"` OriginServerProtocol Protocol `json:"origin_server_protocol"` PathPrefixes []string `json:"path_prefixes,omitempty"` Policies []string `json:"policies,omitempty"` Port int `json:"port"` SSLCerts []string `json:"ssl_cert,omitempty"` Tags []string `json:"tags,omitempty"` VirtualHosts []string `json:"virtual_hosts,omitempty"` }
type CreateLoadBalancerInput ¶
type CreateLoadBalancerInput struct { Description string `json:"description,omitempty"` Disabled LBaaSDisabled `json:"disabled"` IPNetworkName string `json:"ip_network_name,omitempty"` Name string `json:"name"` ParentLoadBalancer string `json:"parent_vlbr,omitempty"` PermittedClients []string `json:"permitted_clients,omitempty"` PermittedMethods []string `json:"permitted_methods,omitempty"` Policies []string `json:"policies,omitempty"` Region string `json:"region"` Scheme LoadBalancerScheme `json:"scheme"` OriginServerPool string `json:"origin_server_pool,omitempty"` Tags []string `json:"tags,omitempty"` }
CreateLoadBalancerInput specifies the create request for a load balancer service instance
type CreateOriginServerInput ¶
type CreateOriginServerInput struct { Status LBaaSStatus `json:"status"` Hostname string `json:"hostname"` Port int `json:"port"` }
type CreateOriginServerPoolInput ¶
type CreateOriginServerPoolInput struct { Name string `json:"name"` OriginServers []CreateOriginServerInput `json:"origin_servers,omitempty"` HealthCheck *HealthCheckInfo `json:"health_check,omitempty"` Status LBaaSStatus `json:"status,omitempty"` Tags []string `json:"tags,omitempty"` VnicSetName string `json:"vnic_set_name,omitempty"` }
type CreatePolicyInput ¶
type CreatePolicyInput struct { Name string `json:"name,omitempty"` Type string `json:"type,omitempty"` ApplicationCookieStickinessPolicyInfo CloudGatePolicyInfo LoadBalancerCookieStickinessPolicyInfo LoadBalancingMechanismPolicyInfo RateLimitingRequestPolicyInfo RedirectPolicyInfo ResourceAccessControlPolicyInfo SetRequestHeaderPolicyInfo SSLNegotiationPolicyInfo TrustedCertificatePolicyInfo }
type EffectiveOriginServersInfo ¶
type EffectiveOriginServersInfo struct { OperationDetails string `json:"operation_details"` OriginServerPool string `json:"origin_server_pool"` OriginServerSourceInheritedFrom OriginServerSourceInheritedFrom `json:"origin_server_source_inherited_from"` }
type HealthCheckInfo ¶
type HealthCheckInfo struct { AcceptedReturnCodes []string `json:"accepted_return_codes"` Enabled string `json:"enabled"` HealthyThreshold int `json:"healthy_threshold"` Interval int `json:"interval"` Path string `json:"path"` Timeout int `json:"timeout"` Type string `json:"type"` UnhealthyThreshold int `json:"unhealthy_threshold"` }
type HttpMethod ¶
type HttpMethod string
HttpMethods
const ( HttpCOPY HttpMethod = "COPY" HttpDELETE HttpMethod = "DELETE" HttpGET HttpMethod = "GET" HttpHEAD HttpMethod = "HEAD" HttpLOCK HttpMethod = "LOCK" HttpMKCOL HttpMethod = "MKCOL" HttpMOVE HttpMethod = "MOVE" HttpOPTIONS HttpMethod = "OPTIONS" HttpPATCH HttpMethod = "PATCH" HttpPOST HttpMethod = "POST" HttpPROPFIND HttpMethod = "PROPFIND" HttpPROPPATCH HttpMethod = "PROPPATCH" HttpPUT HttpMethod = "PUT" HttpUNLOCK HttpMethod = "UNLOCK" )
type LBaaSDisabled ¶
type LBaaSDisabled string
LBaaSDisabled common Disabled State type for all LBaaS service resources
const ( LBaaSDisabledTrue LBaaSDisabled = "TRUE" LBaaSDisabledFalse LBaaSDisabled = "FALSE" LBaaSDisabledMaintenance LBaaSDisabled = "MAINTENANCE_MODE" )
type LBaaSResourceClient ¶
type LBaaSResourceClient struct { *Client ContainerPath string ResourceRootPath string Projection string Accept string ContentType string }
LBaaSResourceClient is an AuthenticatedClient with some additional information about the resources to be addressed.
type LBaaSState ¶
type LBaaSState string
LBaaSState common State type for all LBaaS service resources
const ( LBaaSStateCreationInProgress LBaaSState = "CREATION_IN_PROGRESS" LBaaSStateCreated LBaaSState = "CREATED" LBaaSStateHealthy LBaaSState = "HEALTHY" LBaaSStateAdministratorInterventionNeeded LBaaSState = "ADMINISTRATOR_INTERVENTION_NEEDED" LBaaSStateDeletionInProgress LBaaSState = "DELETION_IN_PROGRESS" LBaaSStateDeleted LBaaSState = "DELETED" LBaaSStateModificationInProgress LBaaSState = "MODIFICATION_IN_PROGRESS" LBaaSStateCreationFailed LBaaSState = "CREATION_FAILED" LBaaSStateModificaitonFailed LBaaSState = "MODIFICATION_FAILED" LBaaSStateDeletionFailed LBaaSState = "DELETION_FAILED" LBaaSStateAccessDenied LBaaSState = "ACCESS_DENIED" LBaaSStateAbandon LBaaSState = "ABANDON" LBaaSStateAutoAbandoned LBaaSState = "AUTO_ABANDONED" LBaaSStatePause LBaaSState = "PAUSE" LBaaSStateForcePaused LBaaSState = "FORCE_PAUSED" LBaaSStateResume LBaaSState = "RESUME" )
type LBaaSStatus ¶
type LBaaSStatus string
LBaaaSStatus common Status type for all LBaaS service resources
const ( LBaaSStatusEnabled LBaaSStatus = "ENABLED" LBaaSStatusDisabled LBaaSStatus = "DISABLED" )
type ListenerClient ¶
type ListenerClient struct {
LBaaSResourceClient
}
ListenerClient is a client for the Load Balancer Listener resources.
func (*ListenerClient) CreateListener ¶
func (c *ListenerClient) CreateListener(lb LoadBalancerContext, input *CreateListenerInput) (*ListenerInfo, error)
CreateListener creates a new listener
func (*ListenerClient) DeleteListener ¶
func (c *ListenerClient) DeleteListener(lb LoadBalancerContext, name string) (*ListenerInfo, error)
DeleteListener deletes the listener with the specified input
func (*ListenerClient) GetListener ¶
func (c *ListenerClient) GetListener(lb LoadBalancerContext, name string) (*ListenerInfo, error)
GetListener fetchs the listener details
func (*ListenerClient) UpdateListener ¶
func (c *ListenerClient) UpdateListener(lb LoadBalancerContext, name string, input *UpdateListenerInput) (*ListenerInfo, error)
UpdateListener updated the listener
func (*ListenerClient) WaitForListenerState ¶
func (c *ListenerClient) WaitForListenerState(lb LoadBalancerContext, name string, desiredStates, errorStates []LBaaSState) (*ListenerInfo, error)
WaitForListenerState waits for the resource to be in one of a set of desired states
type ListenerInfo ¶
type ListenerInfo struct { BalancerProtocol Protocol `json:"balancer_protocol"` Disabled LBaaSDisabled `json:"disabled"` EffectiveOriginServers EffectiveOriginServersInfo `json:"effective_origin_servers"` EffectiveState LBaaSDisabled `json:"effective_state"` InlinePolicies []string `json:"inline_policies"` Name string `json:"name"` OperationDetails string `json:"operation_details"` OriginServerPool string `json:"origin_server_pool"` OriginServerProtocol Protocol `json:"origin_server_protocol"` ParentListener string `json:"parent_listener"` PathPrefixes []string `json:"path_prefixes"` Policies []string `json:"policies"` Port int `json:"port"` SSLCerts []string `json:"ssl_cert"` State LBaaSState `json:"state"` Tags []string `json:"tags"` URI string `json:"uri"` VirtualHosts []string `json:"virtual_hosts"` }
type LoadBalancerClient ¶
type LoadBalancerClient struct { *Client ContainerPath string ResourceRootPath string Accept string ContentType string }
LoadBalancerClient is an AuthenticatedClient with some additional information about the resources to be addressed.
func (*LoadBalancerClient) CreateLoadBalancer ¶
func (c *LoadBalancerClient) CreateLoadBalancer(input *CreateLoadBalancerInput) (*LoadBalancerInfo, error)
CreateLoadBalancer creates a new Load Balancer instance
func (*LoadBalancerClient) DeleteLoadBalancer ¶
func (c *LoadBalancerClient) DeleteLoadBalancer(lb LoadBalancerContext) (*LoadBalancerInfo, error)
DeleteLoadBalancer deletes the service instance with the specified input
func (*LoadBalancerClient) GetLoadBalancer ¶
func (c *LoadBalancerClient) GetLoadBalancer(lb LoadBalancerContext) (*LoadBalancerInfo, error)
GetLoadBalancer fetchs the instance details of the Load Balancer
func (*LoadBalancerClient) UpdateLoadBalancer ¶
func (c *LoadBalancerClient) UpdateLoadBalancer(lb LoadBalancerContext, input *UpdateLoadBalancerInput) (*LoadBalancerInfo, error)
UpdateLoadBalancer fetchs the instance details of the Load Balancer
func (*LoadBalancerClient) WaitForLoadBalancerState ¶
func (c *LoadBalancerClient) WaitForLoadBalancerState(lb LoadBalancerContext, desiredStates, errorStates []LBaaSState, info *LoadBalancerInfo) error
WaitForLoadBalancerState waits for the resource to be in one of a set of desired states
type LoadBalancerContext ¶
LoadBalancerContext represents a specific loadbalancer instance by region/name context
type LoadBalancerCookieStickinessPolicyInfo ¶
type LoadBalancerCookieStickinessPolicyInfo struct {
CookieExpirationPeriod int `json:"cookie_expiration_period,omitempty"`
}
type LoadBalancerEffectiveState ¶
type LoadBalancerEffectiveState string
LoadBalancerEffectiveState
const ( LoadBalancerEffectiveStateTrue LoadBalancerEffectiveState = "TRUE" LoadBalancerEffectiveStateFalse LoadBalancerEffectiveState = "FALSE" LoadBalancerEffectiveStateMaintenance LoadBalancerEffectiveState = "MAINTENANCE_MODE" )
type LoadBalancerInfo ¶
type LoadBalancerInfo struct { BalancerVIPs []string `json:"balancer_vips"` CanonicalHostName string `json:"canonical_host_name"` CloudgateCapable string `json:"cloudgate_capable"` ComputeSecurityArtifacts []ComputeSecurityArtifactsInfo `json:"compute_security_artifacts"` ComputeSite string `json:"compute_site"` CreatedOn string `json:"created_on"` Description string `json:"description"` Disabled LBaaSDisabled `json:"disabled"` DisplayName string `json:"display_name"` HealthCheck HealthCheckInfo `json:"health_check"` IPNetworkName string `json:"ip_network_name"` IsDisabledEffectively string `json:"is_disabled_effectively"` Listeners []ListenerInfo `json:"listeners"` ModifiedOn string `json:"modified_on"` Name string `json:"name"` Owner string `json:"owner"` ParentLoadBalancer string `json:"parent_vlbr"` PermittedClients []string `json:"permitted_clients"` PermittedMethods []string `json:"permitted_methods"` Policies []string `json:"policies"` Region string `json:"region"` RestURIs []RestURIInfo `json:"rest_uri"` Scheme LoadBalancerScheme `json:"scheme"` OriginServerPool string `json:"origin_server_pool"` State LBaaSState `json:"state"` Tags []string `json:"tags"` URI string `json:"uri"` }
LoadBalancerInfo specifies the Load Balancer obtained from a GET request
type LoadBalancerScheme ¶
type LoadBalancerScheme string
LoadBalancerScheme Scheme types
const ( LoadBalancerSchemeInternetFacing LoadBalancerScheme = "INTERNET_FACING" LoadBalancerSchemeInternal LoadBalancerScheme = "INTERNAL" )
type LoadBalancingMechanismPolicyInfo ¶
type LoadBalancingMechanismPolicyInfo struct {
LoadBalancingMechanism string `json:"load_balancing_mechanism,omitempty"`
}
type OriginServerInfo ¶
type OriginServerInfo struct { Hostname string `json:"hostname"` Port int `json:"port"` Status LBaaSDisabled `json:"status"` }
type OriginServerPoolClient ¶
type OriginServerPoolClient struct {
LBaaSResourceClient
}
OriginServerPoolClient is a client for the Load Balancer Origin Server Pool resources.
func (*OriginServerPoolClient) CreateOriginServerPool ¶
func (c *OriginServerPoolClient) CreateOriginServerPool(lb LoadBalancerContext, input *CreateOriginServerPoolInput) (*OriginServerPoolInfo, error)
CreateOriginServerPool creates a new server pool
func (*OriginServerPoolClient) DeleteOriginServerPool ¶
func (c *OriginServerPoolClient) DeleteOriginServerPool(lb LoadBalancerContext, name string) (*OriginServerPoolInfo, error)
DeleteOriginServerPool deletes the server pool with the specified input
func (*OriginServerPoolClient) GetOriginServerPool ¶
func (c *OriginServerPoolClient) GetOriginServerPool(lb LoadBalancerContext, name string) (*OriginServerPoolInfo, error)
GetOriginServerPool fetchs the server pool details
func (*OriginServerPoolClient) UpdateOriginServerPool ¶
func (c *OriginServerPoolClient) UpdateOriginServerPool(lb LoadBalancerContext, name string, input *UpdateOriginServerPoolInput) (*OriginServerPoolInfo, error)
UpdateOriginServerPool fetchs the server pool details
func (*OriginServerPoolClient) WaitForOriginServerPoolState ¶
func (c *OriginServerPoolClient) WaitForOriginServerPoolState(lb LoadBalancerContext, name string, desiredStates, errorStates []LBaaSState, pollInterval, timeoutSeconds time.Duration) (*OriginServerPoolInfo, error)
WaitForOriginServerPoolState waits for the resource to be in one of a set of desired states
type OriginServerPoolInfo ¶
type OriginServerPoolInfo struct { Consumers string `json:"consumers"` HealthCheck HealthCheckInfo `json:"health_check"` Name string `json:"name"` OperationDetails string `json:"operation_details"` OriginServers []OriginServerInfo `json:"origin_servers"` ReasonForDisabling string `json:"reason_for_disabling"` State LBaaSState `json:"state"` Status LBaaSStatus `json:"status"` Tags []string `json:"tags"` URI string `json:"uri"` VnicSetName string `json:"vnic_set_name"` }
type OriginServerSourceInheritedFrom ¶
type OriginServerSourceInheritedFrom string
const ( OriginServerSourceInheritedFromSelf OriginServerSourceInheritedFrom = "SELF" OriginServerSourceInheritedFromVLBR OriginServerSourceInheritedFrom = "VLBR" OriginServerSourceInheritedFromParent OriginServerSourceInheritedFrom = "PARENT_LISTENER" )
type PolicyClient ¶
type PolicyClient struct {
LBaaSResourceClient
}
PolicyClient is a client for the Load Balancer Policy resources.
func (*PolicyClient) CreatePolicy ¶
func (c *PolicyClient) CreatePolicy(lb LoadBalancerContext, input *CreatePolicyInput) (*PolicyInfo, error)
CreatePolicy creates a new listener
func (*PolicyClient) DeletePolicy ¶
func (c *PolicyClient) DeletePolicy(lb LoadBalancerContext, name string) (*PolicyInfo, error)
DeletePolicy deletes the listener with the specified input
func (*PolicyClient) GetPolicy ¶
func (c *PolicyClient) GetPolicy(lb LoadBalancerContext, name string) (*PolicyInfo, error)
GetPolicy fetchs the listener details
func (*PolicyClient) UpdatePolicy ¶
func (c *PolicyClient) UpdatePolicy(lb LoadBalancerContext, name, policyType string, input *UpdatePolicyInput) (*PolicyInfo, error)
GetPolicy fetchs the listener details
func (*PolicyClient) WaitForPolicyState ¶
func (c *PolicyClient) WaitForPolicyState(lb LoadBalancerContext, name string, desiredStates, errorStates []LBaaSState, pollInterval, timeoutSeconds time.Duration) (*PolicyInfo, error)
WaitForPolicyState waits for the resource to be in one of a set of desired states
type PolicyInfo ¶
type PolicyInfo struct { Name string `json:"name,omitempty"` State LBaaSState `json:"state,omitempty"` Type string `json:"type,omitempty"` URI string `json:"uri,omitempty"` // ApplicationCookieStickinessPolicy AppCookieName string `json:"app_cookie_name,omitempty"` // CloudGatePolicy CloudGateApplication string `json:"cloudgate_application,omitempty"` CloudGatePolicyName string `json:"cloudgate_policy_name,omitempty"` IdentityServiceInstanceGuid string `json:"identity_service_instance_guid,omitempty"` VirtualHostnameForPolicyAttribution string `json:"virtual_hostname_for_policy_attribution,omitempty"` // LoadBalancerCookieStickinessPolicy CookieExpirationPeriod int `json:"cookie_expiration_period,omitempty"` // LoadBalancingMechanismPolicy LoadBalancingMechanism string `json:"load_balancing_mechanism,omitempty"` // RateLimitingRequestPolicy BurstSize int `json:"burst_size,omitempty"` DoNotDelayExcessiveRequests bool `json:"do_not_delay_excessive_requests,omitempty"` HttpStatusErrorCode int `json:"http_status_error_code,omitempty"` LogLevel string `json:"log_level,omitempty"` RateLimitingCriteria string `json:"rate_limiting_criteria,omitempty"` RequestsPerSecond int `json:"requests_per_second,omitempty"` StorageSize int `json:"storage_size_in_mb,omitempty"` Zone string `json:"zone,omitempty"` // RedirectPolicy RedirectURI string `json:"redirect_uri,omitempty"` ResponseCode int `json:"response_code,omitempty"` // ResourceAccessControlPolicy Disposition string `json:"disposition,omitempty"` DeniedClients []string `json:"denied_clients,omitempty"` PermittedClients []string `json:"permitted_clients,omitempty"` // SetRequestHeaderPolicy HeaderName string `json:"header_name,omitempty"` Value string `json:"value,omitempty"` ActionWhenHeaderExists string `json:"action_when_hdr_exists,omitempty"` ActionWhenHeaderValueIs []string `json:"action_when_hdr_value_is,omitempty"` ActionWhenHeaderValueIsNot []string `json:"action_when_hdr_value_is_not,omitempty"` // SSLNegotiationPolicy Port int `json:"port,omitempty"` ServerOrderPreference string `json:"server_order_preference,omitempty"` SSLProtocol []string `json:"ssl_protocol,omitempty"` SSLCiphers []string `json:"ssl_ciphers,omitempty"` // TrustedCertificatePolicy TrustedCertificate string `json:"cert,omitempty"` }
type QueryProjection ¶
type QueryProjection string
Projections can be specified when retrieving collection of resources as well as when retrieving a specific resource. There are of four types : MINIMAL, CONSOLE, FULL, and DETAILED
const ( QueryMinimal QueryProjection = "MINIMAL" QueryConsol QueryProjection = "CONSOLE" QueryFull QueryProjection = "FULL" QueryDetailed QueryProjection = "DETAILED" )
type RateLimitingRequestPolicyInfo ¶
type RateLimitingRequestPolicyInfo struct { BurstSize int `json:"burst_size,omitempty"` DoNotDelayExcessiveRequests bool `json:"do_not_delay_excessive_requests,omitempty"` HttpStatusErrorCode int `json:"http_status_error_code,omitempty"` LogLevel string `json:"log_level,omitempty"` RateLimitingCriteria string `json:"rate_limiting_criteria,omitempty"` RequestsPerSecond int `json:"requests_per_second,omitempty"` StorageSize int `json:"storage_size_in_mb,omitempty"` Zone string `json:"zone,omitempty"` }
type RedirectPolicyInfo ¶
type ResourceAccessControlPolicyUpdate ¶
type ResourceAccessControlPolicyUpdate struct { Disposition string `json:"disposition,omitempty"` DeniedClients *[]string `json:"denied_clients,omitempty"` PermittedClients *[]string `json:"permitted_clients,omitempty"` }
use pointer for nilable fields on update
type RestURIInfo ¶
type SSLCertificateClient ¶
type SSLCertificateClient struct { *Client ContainerPath string ResourceRootPath string Accept string ContentType string }
SSLCertificateClient is an AuthenticatedClient with some additional information about the resources to be addressed.
func (*SSLCertificateClient) CreateSSLCertificate ¶
func (c *SSLCertificateClient) CreateSSLCertificate(input *CreateSSLCertificateInput) (*SSLCertificateInfo, error)
CreateSSLCertificate creates a new SSL certificate
func (*SSLCertificateClient) DeleteSSLCertificate ¶
func (c *SSLCertificateClient) DeleteSSLCertificate(name string) (*SSLCertificateInfo, error)
DeleteSSLCertificate deletes the SSL certificate with the specified name
func (*SSLCertificateClient) GetSSLCertificate ¶
func (c *SSLCertificateClient) GetSSLCertificate(name string) (*SSLCertificateInfo, error)
GetSSLCertificate fetch the SSL Certificate details
func (*SSLCertificateClient) WaitForSSLCertificateState ¶
func (c *SSLCertificateClient) WaitForSSLCertificateState(name string, desiredStates, errorStates []LBaaSState, pollInterval, timeoutSeconds time.Duration, info *SSLCertificateInfo) error
WaitForSSLCertificateState waits for the resource to be in one of a set of desired states
type SSLCertificateInfo ¶
type SetRequestHeaderPolicyInfo ¶
type SetRequestHeaderPolicyInfo struct { HeaderName string `json:"header_name,omitempty"` Value string `json:"value,omitempty"` ActionWhenHeaderExists string `json:"action_when_hdr_exists,omitempty"` ActionWhenHeaderValueIs []string `json:"action_when_hdr_value_is,omitempty"` ActionWhenHeaderValueIsNot []string `json:"action_when_hdr_value_is_not,omitempty"` }
type SetRequestHeaderPolicyUpdate ¶
type SetRequestHeaderPolicyUpdate struct { HeaderName string `json:"header_name,omitempty"` Value *string `json:"value,omitempty"` ActionWhenHeaderExists string `json:"action_when_hdr_exists,omitempty"` ActionWhenHeaderValueIs *[]string `json:"action_when_hdr_value_is,omitempty"` ActionWhenHeaderValueIsNot *[]string `json:"action_when_hdr_value_is_not,omitempty"` }
use pointer for niable fields on update
type TrustedCertificatePolicyInfo ¶
type TrustedCertificatePolicyInfo struct {
TrustedCertificate string `json:"cert,omitempty"`
}
type UpdateListenerInput ¶
type UpdateListenerInput struct { BalancerProtocol Protocol `json:"balancer_protocol,omitempty"` Disabled LBaaSDisabled `json:"disabled,omitempty"` Name string `json:"name"` OriginServerPool *string `json:"origin_server_pool,omitempty"` OriginServerProtocol Protocol `json:"origin_server_protocol,omitempty"` PathPrefixes *[]string `json:"path_prefixes,omitempty"` Policies *[]string `json:"policies,omitempty"` Port int `json:"port,omitempty"` SSLCerts *[]string `json:"ssl_cert,omitempty"` Tags *[]string `json:"tags,omitempty"` VirtualHosts *[]string `json:"virtual_hosts,omitempty"` }
use pointer for attributes that can be unset
type UpdateLoadBalancerInput ¶
type UpdateLoadBalancerInput struct { Description *string `json:"description,omitempty"` Disabled LBaaSDisabled `json:"disabled,omitempty"` IPNetworkName *string `json:"ip_network_name,omitempty"` Name string `json:"name,omitempty"` ParentLoadBalancer *string `json:"parent_vlbr,omitempty"` PermittedClients *[]string `json:"permitted_clients,omitempty"` PermittedMethods *[]string `json:"permitted_methods,omitempty"` Policies *[]string `json:"policies,omitempty"` OriginServerPool *string `json:"origin_server_pool,omitempty"` Tags *[]string `json:"tags,omitempty"` }
UpdateLoadBalancerInput specifies the create request for a load balancer service instance using pointer for options items where empty string needs to be passed to clear if previously set
type UpdateOriginServerPoolInput ¶
type UpdateOriginServerPoolInput struct { Name string `json:"name"` OriginServers *[]CreateOriginServerInput `json:"origin_servers,omitempty"` HealthCheck *HealthCheckInfo `json:"health_check,omitempty"` Status LBaaSStatus `json:"status,omitempty"` Tags *[]string `json:"tags,omitempty"` VnicSetName *string `json:"vnic_set_name,omitempty"` }
use pointer for attributes that can be unset
type UpdatePolicyInput ¶
type UpdatePolicyInput struct { Name string `json:"name,omitempty"` Type string `json:"type,omitempty"` ApplicationCookieStickinessPolicyInfo CloudGatePolicyInfo LoadBalancerCookieStickinessPolicyInfo LoadBalancingMechanismPolicyInfo RateLimitingRequestPolicyInfo RedirectPolicyInfo ResourceAccessControlPolicyInfo SetRequestHeaderPolicyInfo SSLNegotiationPolicyInfo TrustedCertificatePolicyInfo }