Documentation ¶
Overview ¶
Package lb provides methods and message types of the lb v1 API.
Index ¶
- Constants
- type ACL
- type ACLAction
- type ACLActionRedirect
- type ACLActionRedirectRedirectType
- type ACLActionType
- type ACLHTTPFilter
- type ACLMatch
- type ACLSpec
- type API
- func (s *API) AddBackendServers(req *AddBackendServersRequest, opts ...scw.RequestOption) (*Backend, error)
- func (s *API) AttachPrivateNetwork(req *AttachPrivateNetworkRequest, opts ...scw.RequestOption) (*PrivateNetwork, error)
- func (s *API) CreateACL(req *CreateACLRequest, opts ...scw.RequestOption) (*ACL, error)
- func (s *API) CreateBackend(req *CreateBackendRequest, opts ...scw.RequestOption) (*Backend, error)
- func (s *API) CreateCertificate(req *CreateCertificateRequest, opts ...scw.RequestOption) (*Certificate, error)
- func (s *API) CreateFrontend(req *CreateFrontendRequest, opts ...scw.RequestOption) (*Frontend, error)
- func (s *API) CreateIP(req *CreateIPRequest, opts ...scw.RequestOption) (*IP, error)
- func (s *API) CreateLB(req *CreateLBRequest, opts ...scw.RequestOption) (*LB, error)
- func (s *API) CreateRoute(req *CreateRouteRequest, opts ...scw.RequestOption) (*Route, error)
- func (s *API) CreateSubscriber(req *CreateSubscriberRequest, opts ...scw.RequestOption) (*Subscriber, error)
- func (s *API) DeleteACL(req *DeleteACLRequest, opts ...scw.RequestOption) error
- func (s *API) DeleteBackend(req *DeleteBackendRequest, opts ...scw.RequestOption) error
- func (s *API) DeleteCertificate(req *DeleteCertificateRequest, opts ...scw.RequestOption) error
- func (s *API) DeleteFrontend(req *DeleteFrontendRequest, opts ...scw.RequestOption) error
- func (s *API) DeleteLB(req *DeleteLBRequest, opts ...scw.RequestOption) error
- func (s *API) DeleteRoute(req *DeleteRouteRequest, opts ...scw.RequestOption) error
- func (s *API) DeleteSubscriber(req *DeleteSubscriberRequest, opts ...scw.RequestOption) error
- func (s *API) DetachPrivateNetwork(req *DetachPrivateNetworkRequest, opts ...scw.RequestOption) error
- func (s *API) GetACL(req *GetACLRequest, opts ...scw.RequestOption) (*ACL, error)
- func (s *API) GetBackend(req *GetBackendRequest, opts ...scw.RequestOption) (*Backend, error)
- func (s *API) GetCertificate(req *GetCertificateRequest, opts ...scw.RequestOption) (*Certificate, error)
- func (s *API) GetFrontend(req *GetFrontendRequest, opts ...scw.RequestOption) (*Frontend, error)
- func (s *API) GetIP(req *GetIPRequest, opts ...scw.RequestOption) (*IP, error)
- func (s *API) GetLB(req *GetLBRequest, opts ...scw.RequestOption) (*LB, error)
- func (s *API) GetLBStats(req *GetLBStatsRequest, opts ...scw.RequestOption) (*LBStats, error)deprecated
- func (s *API) GetRoute(req *GetRouteRequest, opts ...scw.RequestOption) (*Route, error)
- func (s *API) GetSubscriber(req *GetSubscriberRequest, opts ...scw.RequestOption) (*Subscriber, error)
- func (s *API) ListACLs(req *ListACLsRequest, opts ...scw.RequestOption) (*ListACLResponse, error)
- func (s *API) ListBackendStats(req *ListBackendStatsRequest, opts ...scw.RequestOption) (*ListBackendStatsResponse, error)
- func (s *API) ListBackends(req *ListBackendsRequest, opts ...scw.RequestOption) (*ListBackendsResponse, error)
- func (s *API) ListCertificates(req *ListCertificatesRequest, opts ...scw.RequestOption) (*ListCertificatesResponse, error)
- func (s *API) ListFrontends(req *ListFrontendsRequest, opts ...scw.RequestOption) (*ListFrontendsResponse, error)
- func (s *API) ListIPs(req *ListIPsRequest, opts ...scw.RequestOption) (*ListIPsResponse, error)
- func (s *API) ListLBPrivateNetworks(req *ListLBPrivateNetworksRequest, opts ...scw.RequestOption) (*ListLBPrivateNetworksResponse, error)
- func (s *API) ListLBTypes(req *ListLBTypesRequest, opts ...scw.RequestOption) (*ListLBTypesResponse, error)
- func (s *API) ListLBs(req *ListLBsRequest, opts ...scw.RequestOption) (*ListLBsResponse, error)
- func (s *API) ListRoutes(req *ListRoutesRequest, opts ...scw.RequestOption) (*ListRoutesResponse, error)
- func (s *API) ListSubscriber(req *ListSubscriberRequest, opts ...scw.RequestOption) (*ListSubscriberResponse, error)
- func (s *API) MigrateLB(req *MigrateLBRequest, opts ...scw.RequestOption) (*LB, error)
- func (s *API) Regions() []scw.Region
- func (s *API) ReleaseIP(req *ReleaseIPRequest, opts ...scw.RequestOption) error
- func (s *API) RemoveBackendServers(req *RemoveBackendServersRequest, opts ...scw.RequestOption) (*Backend, error)
- func (s *API) SetBackendServers(req *SetBackendServersRequest, opts ...scw.RequestOption) (*Backend, error)
- func (s *API) SubscribeToLB(req *SubscribeToLBRequest, opts ...scw.RequestOption) (*LB, error)
- func (s *API) UnsubscribeFromLB(req *UnsubscribeFromLBRequest, opts ...scw.RequestOption) (*LB, error)
- func (s *API) UpdateACL(req *UpdateACLRequest, opts ...scw.RequestOption) (*ACL, error)
- func (s *API) UpdateBackend(req *UpdateBackendRequest, opts ...scw.RequestOption) (*Backend, error)
- func (s *API) UpdateCertificate(req *UpdateCertificateRequest, opts ...scw.RequestOption) (*Certificate, error)
- func (s *API) UpdateFrontend(req *UpdateFrontendRequest, opts ...scw.RequestOption) (*Frontend, error)
- func (s *API) UpdateHealthCheck(req *UpdateHealthCheckRequest, opts ...scw.RequestOption) (*HealthCheck, error)
- func (s *API) UpdateIP(req *UpdateIPRequest, opts ...scw.RequestOption) (*IP, error)
- func (s *API) UpdateLB(req *UpdateLBRequest, opts ...scw.RequestOption) (*LB, error)
- func (s *API) UpdateRoute(req *UpdateRouteRequest, opts ...scw.RequestOption) (*Route, error)
- func (s *API) UpdateSubscriber(req *UpdateSubscriberRequest, opts ...scw.RequestOption) (*Subscriber, error)
- func (s *API) WaitForLb(req *WaitForLBRequest, opts ...scw.RequestOption) (*LB, error)
- type AddBackendServersRequest
- type AttachPrivateNetworkRequest
- type Backend
- type BackendServerStats
- type BackendServerStatsHealthCheckStatus
- type BackendServerStatsServerState
- type Certificate
- type CertificateStatus
- type CertificateType
- type CreateACLRequest
- type CreateBackendRequest
- type CreateCertificateRequest
- type CreateCertificateRequestCustomCertificate
- type CreateCertificateRequestLetsencryptConfig
- type CreateFrontendRequest
- type CreateIPRequest
- type CreateLBRequest
- type CreateRouteRequest
- type CreateSubscriberRequest
- type DeleteACLRequest
- type DeleteBackendRequest
- type DeleteCertificateRequest
- type DeleteFrontendRequest
- type DeleteLBRequest
- type DeleteRouteRequest
- type DeleteSubscriberRequest
- type DetachPrivateNetworkRequest
- type ForwardPortAlgorithm
- type Frontend
- type GetACLRequest
- type GetBackendRequest
- type GetCertificateRequest
- type GetFrontendRequest
- type GetIPRequest
- type GetLBRequest
- type GetLBStatsRequest
- type GetRouteRequest
- type GetSubscriberRequest
- type HealthCheck
- type HealthCheckHTTPConfig
- type HealthCheckHTTPSConfig
- type HealthCheckLdapConfig
- type HealthCheckMysqlConfig
- type HealthCheckPgsqlConfig
- type HealthCheckRedisConfig
- type HealthCheckTCPConfig
- type IP
- type Instance
- type InstanceStatus
- type LB
- type LBStats
- type LBStatus
- type LBType
- type LBTypeStock
- type ListACLRequestOrderBy
- type ListACLResponse
- type ListACLsRequest
- type ListBackendStatsRequest
- type ListBackendStatsResponse
- type ListBackendsRequest
- type ListBackendsRequestOrderBy
- type ListBackendsResponse
- type ListCertificatesRequest
- type ListCertificatesRequestOrderBy
- type ListCertificatesResponse
- type ListFrontendsRequest
- type ListFrontendsRequestOrderBy
- type ListFrontendsResponse
- type ListIPsRequest
- type ListIPsResponse
- type ListLBPrivateNetworksRequest
- type ListLBPrivateNetworksResponse
- type ListLBTypesRequest
- type ListLBTypesResponse
- type ListLBsRequest
- type ListLBsRequestOrderBy
- type ListLBsResponse
- type ListPrivateNetworksRequestOrderBy
- type ListRoutesRequest
- type ListRoutesRequestOrderBy
- type ListRoutesResponse
- type ListSubscriberRequest
- type ListSubscriberRequestOrderBy
- type ListSubscriberResponse
- type MigrateLBRequest
- type OnMarkedDownAction
- type PrivateNetwork
- type PrivateNetworkDHCPConfig
- type PrivateNetworkIpamConfig
- type PrivateNetworkStaticConfig
- type PrivateNetworkStatus
- type Protocol
- type ProxyProtocol
- type ReleaseIPRequest
- type RemoveBackendServersRequest
- type Route
- type RouteMatch
- type SSLCompatibilityLevel
- type SetACLsResponse
- type SetBackendServersRequest
- type StickySessionsType
- type SubscribeToLBRequest
- type Subscriber
- type SubscriberEmailConfig
- type SubscriberWebhookConfig
- type UnsubscribeFromLBRequest
- type UpdateACLRequest
- type UpdateBackendRequest
- type UpdateCertificateRequest
- type UpdateFrontendRequest
- type UpdateHealthCheckRequest
- type UpdateIPRequest
- type UpdateLBRequest
- type UpdateRouteRequest
- type UpdateSubscriberRequest
- type WaitForLBRequest
- type ZonedAPI
- func (s *ZonedAPI) AddBackendServers(req *ZonedAPIAddBackendServersRequest, opts ...scw.RequestOption) (*Backend, error)
- func (s *ZonedAPI) AttachPrivateNetwork(req *ZonedAPIAttachPrivateNetworkRequest, opts ...scw.RequestOption) (*PrivateNetwork, error)
- func (s *ZonedAPI) CreateACL(req *ZonedAPICreateACLRequest, opts ...scw.RequestOption) (*ACL, error)
- func (s *ZonedAPI) CreateBackend(req *ZonedAPICreateBackendRequest, opts ...scw.RequestOption) (*Backend, error)
- func (s *ZonedAPI) CreateCertificate(req *ZonedAPICreateCertificateRequest, opts ...scw.RequestOption) (*Certificate, error)
- func (s *ZonedAPI) CreateFrontend(req *ZonedAPICreateFrontendRequest, opts ...scw.RequestOption) (*Frontend, error)
- func (s *ZonedAPI) CreateIP(req *ZonedAPICreateIPRequest, opts ...scw.RequestOption) (*IP, error)
- func (s *ZonedAPI) CreateLB(req *ZonedAPICreateLBRequest, opts ...scw.RequestOption) (*LB, error)
- func (s *ZonedAPI) CreateRoute(req *ZonedAPICreateRouteRequest, opts ...scw.RequestOption) (*Route, error)
- func (s *ZonedAPI) CreateSubscriber(req *ZonedAPICreateSubscriberRequest, opts ...scw.RequestOption) (*Subscriber, error)
- func (s *ZonedAPI) DeleteACL(req *ZonedAPIDeleteACLRequest, opts ...scw.RequestOption) error
- func (s *ZonedAPI) DeleteBackend(req *ZonedAPIDeleteBackendRequest, opts ...scw.RequestOption) error
- func (s *ZonedAPI) DeleteCertificate(req *ZonedAPIDeleteCertificateRequest, opts ...scw.RequestOption) error
- func (s *ZonedAPI) DeleteFrontend(req *ZonedAPIDeleteFrontendRequest, opts ...scw.RequestOption) error
- func (s *ZonedAPI) DeleteLB(req *ZonedAPIDeleteLBRequest, opts ...scw.RequestOption) error
- func (s *ZonedAPI) DeleteRoute(req *ZonedAPIDeleteRouteRequest, opts ...scw.RequestOption) error
- func (s *ZonedAPI) DeleteSubscriber(req *ZonedAPIDeleteSubscriberRequest, opts ...scw.RequestOption) error
- func (s *ZonedAPI) DetachPrivateNetwork(req *ZonedAPIDetachPrivateNetworkRequest, opts ...scw.RequestOption) error
- func (s *ZonedAPI) GetACL(req *ZonedAPIGetACLRequest, opts ...scw.RequestOption) (*ACL, error)
- func (s *ZonedAPI) GetBackend(req *ZonedAPIGetBackendRequest, opts ...scw.RequestOption) (*Backend, error)
- func (s *ZonedAPI) GetCertificate(req *ZonedAPIGetCertificateRequest, opts ...scw.RequestOption) (*Certificate, error)
- func (s *ZonedAPI) GetFrontend(req *ZonedAPIGetFrontendRequest, opts ...scw.RequestOption) (*Frontend, error)
- func (s *ZonedAPI) GetIP(req *ZonedAPIGetIPRequest, opts ...scw.RequestOption) (*IP, error)
- func (s *ZonedAPI) GetLB(req *ZonedAPIGetLBRequest, opts ...scw.RequestOption) (*LB, error)
- func (s *ZonedAPI) GetLBStats(req *ZonedAPIGetLBStatsRequest, opts ...scw.RequestOption) (*LBStats, error)deprecated
- func (s *ZonedAPI) GetRoute(req *ZonedAPIGetRouteRequest, opts ...scw.RequestOption) (*Route, error)
- func (s *ZonedAPI) GetSubscriber(req *ZonedAPIGetSubscriberRequest, opts ...scw.RequestOption) (*Subscriber, error)
- func (s *ZonedAPI) ListACLs(req *ZonedAPIListACLsRequest, opts ...scw.RequestOption) (*ListACLResponse, error)
- func (s *ZonedAPI) ListBackendStats(req *ZonedAPIListBackendStatsRequest, opts ...scw.RequestOption) (*ListBackendStatsResponse, error)
- func (s *ZonedAPI) ListBackends(req *ZonedAPIListBackendsRequest, opts ...scw.RequestOption) (*ListBackendsResponse, error)
- func (s *ZonedAPI) ListCertificates(req *ZonedAPIListCertificatesRequest, opts ...scw.RequestOption) (*ListCertificatesResponse, error)
- func (s *ZonedAPI) ListFrontends(req *ZonedAPIListFrontendsRequest, opts ...scw.RequestOption) (*ListFrontendsResponse, error)
- func (s *ZonedAPI) ListIPs(req *ZonedAPIListIPsRequest, opts ...scw.RequestOption) (*ListIPsResponse, error)
- func (s *ZonedAPI) ListLBPrivateNetworks(req *ZonedAPIListLBPrivateNetworksRequest, opts ...scw.RequestOption) (*ListLBPrivateNetworksResponse, error)
- func (s *ZonedAPI) ListLBTypes(req *ZonedAPIListLBTypesRequest, opts ...scw.RequestOption) (*ListLBTypesResponse, error)
- func (s *ZonedAPI) ListLBs(req *ZonedAPIListLBsRequest, opts ...scw.RequestOption) (*ListLBsResponse, error)
- func (s *ZonedAPI) ListRoutes(req *ZonedAPIListRoutesRequest, opts ...scw.RequestOption) (*ListRoutesResponse, error)
- func (s *ZonedAPI) ListSubscriber(req *ZonedAPIListSubscriberRequest, opts ...scw.RequestOption) (*ListSubscriberResponse, error)
- func (s *ZonedAPI) MigrateLB(req *ZonedAPIMigrateLBRequest, opts ...scw.RequestOption) (*LB, error)
- func (s *ZonedAPI) ReleaseIP(req *ZonedAPIReleaseIPRequest, opts ...scw.RequestOption) error
- func (s *ZonedAPI) RemoveBackendServers(req *ZonedAPIRemoveBackendServersRequest, opts ...scw.RequestOption) (*Backend, error)
- func (s *ZonedAPI) SetACLs(req *ZonedAPISetACLsRequest, opts ...scw.RequestOption) (*SetACLsResponse, error)
- func (s *ZonedAPI) SetBackendServers(req *ZonedAPISetBackendServersRequest, opts ...scw.RequestOption) (*Backend, error)
- func (s *ZonedAPI) SubscribeToLB(req *ZonedAPISubscribeToLBRequest, opts ...scw.RequestOption) (*LB, error)
- func (s *ZonedAPI) UnsubscribeFromLB(req *ZonedAPIUnsubscribeFromLBRequest, opts ...scw.RequestOption) (*LB, error)
- func (s *ZonedAPI) UpdateACL(req *ZonedAPIUpdateACLRequest, opts ...scw.RequestOption) (*ACL, error)
- func (s *ZonedAPI) UpdateBackend(req *ZonedAPIUpdateBackendRequest, opts ...scw.RequestOption) (*Backend, error)
- func (s *ZonedAPI) UpdateCertificate(req *ZonedAPIUpdateCertificateRequest, opts ...scw.RequestOption) (*Certificate, error)
- func (s *ZonedAPI) UpdateFrontend(req *ZonedAPIUpdateFrontendRequest, opts ...scw.RequestOption) (*Frontend, error)
- func (s *ZonedAPI) UpdateHealthCheck(req *ZonedAPIUpdateHealthCheckRequest, opts ...scw.RequestOption) (*HealthCheck, error)
- func (s *ZonedAPI) UpdateIP(req *ZonedAPIUpdateIPRequest, opts ...scw.RequestOption) (*IP, error)
- func (s *ZonedAPI) UpdateLB(req *ZonedAPIUpdateLBRequest, opts ...scw.RequestOption) (*LB, error)
- func (s *ZonedAPI) UpdateRoute(req *ZonedAPIUpdateRouteRequest, opts ...scw.RequestOption) (*Route, error)
- func (s *ZonedAPI) UpdateSubscriber(req *ZonedAPIUpdateSubscriberRequest, opts ...scw.RequestOption) (*Subscriber, error)
- func (s *ZonedAPI) WaitForLBCertificate(req *ZonedAPIWaitForLBCertificateRequest, opts ...scw.RequestOption) (*Certificate, error)
- func (s *ZonedAPI) WaitForLBPN(req *ZonedAPIWaitForLBPNRequest, opts ...scw.RequestOption) ([]*PrivateNetwork, error)
- func (s *ZonedAPI) WaitForLb(req *ZonedAPIWaitForLBRequest, opts ...scw.RequestOption) (*LB, error)
- func (s *ZonedAPI) WaitForLbInstances(req *ZonedAPIWaitForLBInstancesRequest, opts ...scw.RequestOption) (*LB, error)
- func (s *ZonedAPI) Zones() []scw.Zone
- type ZonedAPIAddBackendServersRequest
- type ZonedAPIAttachPrivateNetworkRequest
- type ZonedAPICreateACLRequest
- type ZonedAPICreateBackendRequest
- type ZonedAPICreateCertificateRequest
- type ZonedAPICreateFrontendRequest
- type ZonedAPICreateIPRequest
- type ZonedAPICreateLBRequest
- type ZonedAPICreateRouteRequest
- type ZonedAPICreateSubscriberRequest
- type ZonedAPIDeleteACLRequest
- type ZonedAPIDeleteBackendRequest
- type ZonedAPIDeleteCertificateRequest
- type ZonedAPIDeleteFrontendRequest
- type ZonedAPIDeleteLBRequest
- type ZonedAPIDeleteRouteRequest
- type ZonedAPIDeleteSubscriberRequest
- type ZonedAPIDetachPrivateNetworkRequest
- type ZonedAPIGetACLRequest
- type ZonedAPIGetBackendRequest
- type ZonedAPIGetCertificateRequest
- type ZonedAPIGetFrontendRequest
- type ZonedAPIGetIPRequest
- type ZonedAPIGetLBRequest
- type ZonedAPIGetLBStatsRequest
- type ZonedAPIGetRouteRequest
- type ZonedAPIGetSubscriberRequest
- type ZonedAPIListACLsRequest
- type ZonedAPIListBackendStatsRequest
- type ZonedAPIListBackendsRequest
- type ZonedAPIListCertificatesRequest
- type ZonedAPIListFrontendsRequest
- type ZonedAPIListIPsRequest
- type ZonedAPIListLBPrivateNetworksRequest
- type ZonedAPIListLBTypesRequest
- type ZonedAPIListLBsRequest
- type ZonedAPIListRoutesRequest
- type ZonedAPIListSubscriberRequest
- type ZonedAPIMigrateLBRequest
- type ZonedAPIReleaseIPRequest
- type ZonedAPIRemoveBackendServersRequest
- type ZonedAPISetACLsRequest
- type ZonedAPISetBackendServersRequest
- type ZonedAPISubscribeToLBRequest
- type ZonedAPIUnsubscribeFromLBRequest
- type ZonedAPIUpdateACLRequest
- type ZonedAPIUpdateBackendRequest
- type ZonedAPIUpdateCertificateRequest
- type ZonedAPIUpdateFrontendRequest
- type ZonedAPIUpdateHealthCheckRequest
- type ZonedAPIUpdateIPRequest
- type ZonedAPIUpdateLBRequest
- type ZonedAPIUpdateRouteRequest
- type ZonedAPIUpdateSubscriberRequest
- type ZonedAPIWaitForLBCertificateRequest
- type ZonedAPIWaitForLBInstancesRequest
- type ZonedAPIWaitForLBPNRequest
- type ZonedAPIWaitForLBRequest
Constants ¶
const ( ACLActionRedirectRedirectTypeLocation = ACLActionRedirectRedirectType("location") ACLActionRedirectRedirectTypeScheme = ACLActionRedirectRedirectType("scheme") )
const ( ACLActionTypeAllow = ACLActionType("allow") ACLActionTypeDeny = ACLActionType("deny") ACLActionTypeRedirect = ACLActionType("redirect") )
const ( ACLHTTPFilterACLHTTPFilterNone = ACLHTTPFilter("acl_http_filter_none") ACLHTTPFilterPathBegin = ACLHTTPFilter("path_begin") ACLHTTPFilterPathEnd = ACLHTTPFilter("path_end") ACLHTTPFilterRegex = ACLHTTPFilter("regex") ACLHTTPFilterHTTPHeaderMatch = ACLHTTPFilter("http_header_match") )
const ( BackendServerStatsHealthCheckStatusUnknown = BackendServerStatsHealthCheckStatus("unknown") BackendServerStatsHealthCheckStatusNeutral = BackendServerStatsHealthCheckStatus("neutral") BackendServerStatsHealthCheckStatusFailed = BackendServerStatsHealthCheckStatus("failed") BackendServerStatsHealthCheckStatusPassed = BackendServerStatsHealthCheckStatus("passed") BackendServerStatsHealthCheckStatusCondpass = BackendServerStatsHealthCheckStatus("condpass") )
const ( BackendServerStatsServerStateStopped = BackendServerStatsServerState("stopped") BackendServerStatsServerStateStarting = BackendServerStatsServerState("starting") BackendServerStatsServerStateRunning = BackendServerStatsServerState("running") BackendServerStatsServerStateStopping = BackendServerStatsServerState("stopping") )
const ( CertificateStatusPending = CertificateStatus("pending") CertificateStatusReady = CertificateStatus("ready") CertificateStatusError = CertificateStatus("error") )
const ( CertificateTypeLetsencryt = CertificateType("letsencryt") CertificateTypeCustom = CertificateType("custom") )
const ( ForwardPortAlgorithmRoundrobin = ForwardPortAlgorithm("roundrobin") ForwardPortAlgorithmLeastconn = ForwardPortAlgorithm("leastconn") ForwardPortAlgorithmFirst = ForwardPortAlgorithm("first") )
const ( InstanceStatusUnknown = InstanceStatus("unknown") InstanceStatusReady = InstanceStatus("ready") InstanceStatusPending = InstanceStatus("pending") InstanceStatusStopped = InstanceStatus("stopped") InstanceStatusError = InstanceStatus("error") InstanceStatusLocked = InstanceStatus("locked") InstanceStatusMigrating = InstanceStatus("migrating") )
const ( LBStatusUnknown = LBStatus("unknown") LBStatusReady = LBStatus("ready") LBStatusPending = LBStatus("pending") LBStatusStopped = LBStatus("stopped") LBStatusError = LBStatus("error") LBStatusLocked = LBStatus("locked") LBStatusMigrating = LBStatus("migrating") LBStatusToCreate = LBStatus("to_create") LBStatusCreating = LBStatus("creating") LBStatusToDelete = LBStatus("to_delete") LBStatusDeleting = LBStatus("deleting") )
const ( LBTypeStockUnknown = LBTypeStock("unknown") LBTypeStockLowStock = LBTypeStock("low_stock") LBTypeStockOutOfStock = LBTypeStock("out_of_stock") LBTypeStockAvailable = LBTypeStock("available") )
const ( ListACLRequestOrderByCreatedAtAsc = ListACLRequestOrderBy("created_at_asc") ListACLRequestOrderByCreatedAtDesc = ListACLRequestOrderBy("created_at_desc") ListACLRequestOrderByNameAsc = ListACLRequestOrderBy("name_asc") ListACLRequestOrderByNameDesc = ListACLRequestOrderBy("name_desc") )
const ( ListBackendsRequestOrderByCreatedAtAsc = ListBackendsRequestOrderBy("created_at_asc") ListBackendsRequestOrderByCreatedAtDesc = ListBackendsRequestOrderBy("created_at_desc") ListBackendsRequestOrderByNameAsc = ListBackendsRequestOrderBy("name_asc") ListBackendsRequestOrderByNameDesc = ListBackendsRequestOrderBy("name_desc") )
const ( ListCertificatesRequestOrderByCreatedAtAsc = ListCertificatesRequestOrderBy("created_at_asc") ListCertificatesRequestOrderByCreatedAtDesc = ListCertificatesRequestOrderBy("created_at_desc") ListCertificatesRequestOrderByNameAsc = ListCertificatesRequestOrderBy("name_asc") ListCertificatesRequestOrderByNameDesc = ListCertificatesRequestOrderBy("name_desc") )
const ( ListFrontendsRequestOrderByCreatedAtAsc = ListFrontendsRequestOrderBy("created_at_asc") ListFrontendsRequestOrderByCreatedAtDesc = ListFrontendsRequestOrderBy("created_at_desc") ListFrontendsRequestOrderByNameAsc = ListFrontendsRequestOrderBy("name_asc") ListFrontendsRequestOrderByNameDesc = ListFrontendsRequestOrderBy("name_desc") )
const ( ListLBsRequestOrderByCreatedAtAsc = ListLBsRequestOrderBy("created_at_asc") ListLBsRequestOrderByCreatedAtDesc = ListLBsRequestOrderBy("created_at_desc") ListLBsRequestOrderByNameAsc = ListLBsRequestOrderBy("name_asc") ListLBsRequestOrderByNameDesc = ListLBsRequestOrderBy("name_desc") )
const ( ListPrivateNetworksRequestOrderByCreatedAtAsc = ListPrivateNetworksRequestOrderBy("created_at_asc") ListPrivateNetworksRequestOrderByCreatedAtDesc = ListPrivateNetworksRequestOrderBy("created_at_desc") )
const ( ListRoutesRequestOrderByCreatedAtAsc = ListRoutesRequestOrderBy("created_at_asc") ListRoutesRequestOrderByCreatedAtDesc = ListRoutesRequestOrderBy("created_at_desc") )
const ( ListSubscriberRequestOrderByCreatedAtAsc = ListSubscriberRequestOrderBy("created_at_asc") ListSubscriberRequestOrderByCreatedAtDesc = ListSubscriberRequestOrderBy("created_at_desc") ListSubscriberRequestOrderByNameAsc = ListSubscriberRequestOrderBy("name_asc") ListSubscriberRequestOrderByNameDesc = ListSubscriberRequestOrderBy("name_desc") )
const ( OnMarkedDownActionOnMarkedDownActionNone = OnMarkedDownAction("on_marked_down_action_none") OnMarkedDownActionShutdownSessions = OnMarkedDownAction("shutdown_sessions") )
const ( PrivateNetworkStatusUnknown = PrivateNetworkStatus("unknown") PrivateNetworkStatusReady = PrivateNetworkStatus("ready") PrivateNetworkStatusPending = PrivateNetworkStatus("pending") PrivateNetworkStatusError = PrivateNetworkStatus("error") )
const ( ProtocolTCP = Protocol("tcp") ProtocolHTTP = Protocol("http") )
const ( ProxyProtocolProxyProtocolUnknown = ProxyProtocol("proxy_protocol_unknown") ProxyProtocolProxyProtocolNone = ProxyProtocol("proxy_protocol_none") ProxyProtocolProxyProtocolV1 = ProxyProtocol("proxy_protocol_v1") ProxyProtocolProxyProtocolV2 = ProxyProtocol("proxy_protocol_v2") ProxyProtocolProxyProtocolV2Ssl = ProxyProtocol("proxy_protocol_v2_ssl") ProxyProtocolProxyProtocolV2SslCn = ProxyProtocol("proxy_protocol_v2_ssl_cn") )
const ( SSLCompatibilityLevelSslCompatibilityLevelUnknown = SSLCompatibilityLevel("ssl_compatibility_level_unknown") SSLCompatibilityLevelSslCompatibilityLevelIntermediate = SSLCompatibilityLevel("ssl_compatibility_level_intermediate") SSLCompatibilityLevelSslCompatibilityLevelModern = SSLCompatibilityLevel("ssl_compatibility_level_modern") SSLCompatibilityLevelSslCompatibilityLevelOld = SSLCompatibilityLevel("ssl_compatibility_level_old") )
const ( StickySessionsTypeNone = StickySessionsType("none") StickySessionsTypeCookie = StickySessionsType("cookie") StickySessionsTypeTable = StickySessionsType("table") )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ACL ¶
type ACL struct { // ID: ACL ID. ID string `json:"id"` // Name: ACL name. Name string `json:"name"` // Match: ACL match filter object. One of `ip_subnet` or `http_filter` & `http_filter_value` are required. Match *ACLMatch `json:"match"` // Action: action to take when incoming traffic matches an ACL filter. Action *ACLAction `json:"action"` // Frontend: ACL is attached to this frontend object. Frontend *Frontend `json:"frontend"` // Index: priority of this ACL (ACLs are applied in ascending order, 0 is the first ACL executed). Index int32 `json:"index"` // CreatedAt: date on which the ACL was created. CreatedAt *time.Time `json:"created_at"` // UpdatedAt: date on which the ACL was last updated. UpdatedAt *time.Time `json:"updated_at"` // Description: ACL description. Description string `json:"description"` }
ACL: acl.
type ACLAction ¶
type ACLAction struct { // Type: action to take when incoming traffic matches an ACL filter. // Default value: allow Type ACLActionType `json:"type"` // Redirect: redirection parameters when using an ACL with a `redirect` action. Redirect *ACLActionRedirect `json:"redirect"` }
ACLAction: acl action.
type ACLActionRedirect ¶
type ACLActionRedirect struct { // Type: redirect type. // Default value: location Type ACLActionRedirectRedirectType `json:"type"` // Target: redirect target. For a location redirect, you can use a URL e.g. `https://scaleway.com`. Using a scheme name (e.g. `https`, `http`, `ftp`, `git`) will replace the request's original scheme. This can be useful to implement HTTP to HTTPS redirects. Valid placeholders that can be used in a `location` redirect to preserve parts of the original request in the redirection URL are {{ host }}, {{ query }}, {{ path }} and {{ scheme }}. Target string `json:"target"` // Code: HTTP redirect code to use. Valid values are 301, 302, 303, 307 and 308. Default value is 302. Code *int32 `json:"code"` }
ACLActionRedirect: acl action redirect.
type ACLActionRedirectRedirectType ¶
type ACLActionRedirectRedirectType string
func (ACLActionRedirectRedirectType) MarshalJSON ¶
func (enum ACLActionRedirectRedirectType) MarshalJSON() ([]byte, error)
func (ACLActionRedirectRedirectType) String ¶
func (enum ACLActionRedirectRedirectType) String() string
func (*ACLActionRedirectRedirectType) UnmarshalJSON ¶
func (enum *ACLActionRedirectRedirectType) UnmarshalJSON(data []byte) error
type ACLActionType ¶
type ACLActionType string
func (ACLActionType) MarshalJSON ¶
func (enum ACLActionType) MarshalJSON() ([]byte, error)
func (ACLActionType) String ¶
func (enum ACLActionType) String() string
func (*ACLActionType) UnmarshalJSON ¶
func (enum *ACLActionType) UnmarshalJSON(data []byte) error
type ACLHTTPFilter ¶
type ACLHTTPFilter string
func (ACLHTTPFilter) MarshalJSON ¶
func (enum ACLHTTPFilter) MarshalJSON() ([]byte, error)
func (ACLHTTPFilter) String ¶
func (enum ACLHTTPFilter) String() string
func (*ACLHTTPFilter) UnmarshalJSON ¶
func (enum *ACLHTTPFilter) UnmarshalJSON(data []byte) error
type ACLMatch ¶
type ACLMatch struct { // IPSubnet: list of IPs or CIDR v4/v6 addresses to filter for from the client side. IPSubnet []*string `json:"ip_subnet"` // HTTPFilter: type of HTTP filter to match. Extracts the request's URL path, which starts at the first slash and ends before the question mark (without the host part). Defines where to filter for the http_filter_value. Only supported for HTTP backends. // Default value: acl_http_filter_none HTTPFilter ACLHTTPFilter `json:"http_filter"` // HTTPFilterValue: list of values to filter for. HTTPFilterValue []*string `json:"http_filter_value"` // HTTPFilterOption: name of the HTTP header to filter on if `http_header_match` was selected in `http_filter`. HTTPFilterOption *string `json:"http_filter_option"` // Invert: defines whether to invert the match condition. If set to `true`, the ACL carries out its action when the condition DOES NOT match. Invert bool `json:"invert"` }
ACLMatch: acl match.
type ACLSpec ¶
type ACLSpec struct { // Name: ACL name. Name string `json:"name"` // Action: action to take when incoming traffic matches an ACL filter. Action *ACLAction `json:"action"` // Match: ACL match filter object. One of `ip_subnet` or `http_filter` and `http_filter_value` are required. Match *ACLMatch `json:"match"` // Index: priority of this ACL (ACLs are applied in ascending order, 0 is the first ACL executed). Index int32 `json:"index"` // Description: ACL description. Description string `json:"description"` }
ACLSpec: acl spec.
type API ¶
type API struct {
// contains filtered or unexported fields
}
API: this API allows you to manage your load balancer service. Load balancer API.
func (*API) AddBackendServers ¶
func (s *API) AddBackendServers(req *AddBackendServersRequest, opts ...scw.RequestOption) (*Backend, error)
AddBackendServers: add a set of servers in a given backend.
func (*API) AttachPrivateNetwork ¶
func (s *API) AttachPrivateNetwork(req *AttachPrivateNetworkRequest, opts ...scw.RequestOption) (*PrivateNetwork, error)
AttachPrivateNetwork: add load balancer on instance private network.
func (*API) CreateACL ¶
func (s *API) CreateACL(req *CreateACLRequest, opts ...scw.RequestOption) (*ACL, error)
CreateACL: create an ACL for a given frontend.
func (*API) CreateBackend ¶
func (s *API) CreateBackend(req *CreateBackendRequest, opts ...scw.RequestOption) (*Backend, error)
CreateBackend: create a backend in a given load balancer.
func (*API) CreateCertificate ¶
func (s *API) CreateCertificate(req *CreateCertificateRequest, opts ...scw.RequestOption) (*Certificate, error)
CreateCertificate: create a TLS certificate. Generate a new TLS certificate using Let's Encrypt or import your certificate.
func (*API) CreateFrontend ¶
func (s *API) CreateFrontend(req *CreateFrontendRequest, opts ...scw.RequestOption) (*Frontend, error)
CreateFrontend: create a frontend in a given load balancer.
func (*API) CreateIP ¶
func (s *API) CreateIP(req *CreateIPRequest, opts ...scw.RequestOption) (*IP, error)
CreateIP: create an IP.
func (*API) CreateLB ¶
func (s *API) CreateLB(req *CreateLBRequest, opts ...scw.RequestOption) (*LB, error)
CreateLB: create a load balancer.
func (*API) CreateRoute ¶
func (s *API) CreateRoute(req *CreateRouteRequest, opts ...scw.RequestOption) (*Route, error)
CreateRoute: create a backend redirection.
func (*API) CreateSubscriber ¶
func (s *API) CreateSubscriber(req *CreateSubscriberRequest, opts ...scw.RequestOption) (*Subscriber, error)
CreateSubscriber: create a subscriber, webhook or email.
func (*API) DeleteACL ¶
func (s *API) DeleteACL(req *DeleteACLRequest, opts ...scw.RequestOption) error
DeleteACL: delete an ACL.
func (*API) DeleteBackend ¶
func (s *API) DeleteBackend(req *DeleteBackendRequest, opts ...scw.RequestOption) error
DeleteBackend: delete a backend in a given load balancer.
func (*API) DeleteCertificate ¶
func (s *API) DeleteCertificate(req *DeleteCertificateRequest, opts ...scw.RequestOption) error
DeleteCertificate: delete a TLS certificate.
func (*API) DeleteFrontend ¶
func (s *API) DeleteFrontend(req *DeleteFrontendRequest, opts ...scw.RequestOption) error
DeleteFrontend: delete a frontend.
func (*API) DeleteLB ¶
func (s *API) DeleteLB(req *DeleteLBRequest, opts ...scw.RequestOption) error
DeleteLB: delete a load balancer.
func (*API) DeleteRoute ¶
func (s *API) DeleteRoute(req *DeleteRouteRequest, opts ...scw.RequestOption) error
DeleteRoute: delete a backend redirection.
func (*API) DeleteSubscriber ¶
func (s *API) DeleteSubscriber(req *DeleteSubscriberRequest, opts ...scw.RequestOption) error
DeleteSubscriber: delete a subscriber.
func (*API) DetachPrivateNetwork ¶
func (s *API) DetachPrivateNetwork(req *DetachPrivateNetworkRequest, opts ...scw.RequestOption) error
DetachPrivateNetwork: remove load balancer of private network.
func (*API) GetACL ¶
func (s *API) GetACL(req *GetACLRequest, opts ...scw.RequestOption) (*ACL, error)
GetACL: get an ACL.
func (*API) GetBackend ¶
func (s *API) GetBackend(req *GetBackendRequest, opts ...scw.RequestOption) (*Backend, error)
GetBackend: get a backend in a given load balancer.
func (*API) GetCertificate ¶
func (s *API) GetCertificate(req *GetCertificateRequest, opts ...scw.RequestOption) (*Certificate, error)
GetCertificate: get a TLS certificate.
func (*API) GetFrontend ¶
func (s *API) GetFrontend(req *GetFrontendRequest, opts ...scw.RequestOption) (*Frontend, error)
GetFrontend: get a frontend.
func (*API) GetIP ¶
func (s *API) GetIP(req *GetIPRequest, opts ...scw.RequestOption) (*IP, error)
GetIP: get an IP.
func (*API) GetLB ¶
func (s *API) GetLB(req *GetLBRequest, opts ...scw.RequestOption) (*LB, error)
GetLB: get a load balancer.
func (*API) GetLBStats
deprecated
func (s *API) GetLBStats(req *GetLBStatsRequest, opts ...scw.RequestOption) (*LBStats, error)
Deprecated: GetLBStats: get usage statistics of a given load balancer.
func (*API) GetRoute ¶
func (s *API) GetRoute(req *GetRouteRequest, opts ...scw.RequestOption) (*Route, error)
GetRoute: get single backend redirection.
func (*API) GetSubscriber ¶
func (s *API) GetSubscriber(req *GetSubscriberRequest, opts ...scw.RequestOption) (*Subscriber, error)
GetSubscriber: get a subscriber.
func (*API) ListACLs ¶
func (s *API) ListACLs(req *ListACLsRequest, opts ...scw.RequestOption) (*ListACLResponse, error)
ListACLs: list ACL for a given frontend.
func (*API) ListBackendStats ¶
func (s *API) ListBackendStats(req *ListBackendStatsRequest, opts ...scw.RequestOption) (*ListBackendStatsResponse, error)
func (*API) ListBackends ¶
func (s *API) ListBackends(req *ListBackendsRequest, opts ...scw.RequestOption) (*ListBackendsResponse, error)
ListBackends: list backends in a given load balancer.
func (*API) ListCertificates ¶
func (s *API) ListCertificates(req *ListCertificatesRequest, opts ...scw.RequestOption) (*ListCertificatesResponse, error)
ListCertificates: list all TLS certificates on a given load balancer.
func (*API) ListFrontends ¶
func (s *API) ListFrontends(req *ListFrontendsRequest, opts ...scw.RequestOption) (*ListFrontendsResponse, error)
ListFrontends: list frontends in a given load balancer.
func (*API) ListIPs ¶
func (s *API) ListIPs(req *ListIPsRequest, opts ...scw.RequestOption) (*ListIPsResponse, error)
ListIPs: list IPs.
func (*API) ListLBPrivateNetworks ¶
func (s *API) ListLBPrivateNetworks(req *ListLBPrivateNetworksRequest, opts ...scw.RequestOption) (*ListLBPrivateNetworksResponse, error)
ListLBPrivateNetworks: list attached private network of load balancer.
func (*API) ListLBTypes ¶
func (s *API) ListLBTypes(req *ListLBTypesRequest, opts ...scw.RequestOption) (*ListLBTypesResponse, error)
ListLBTypes: list all load balancer offer type.
func (*API) ListLBs ¶
func (s *API) ListLBs(req *ListLBsRequest, opts ...scw.RequestOption) (*ListLBsResponse, error)
ListLBs: list load balancers.
func (*API) ListRoutes ¶
func (s *API) ListRoutes(req *ListRoutesRequest, opts ...scw.RequestOption) (*ListRoutesResponse, error)
ListRoutes: list all backend redirections.
func (*API) ListSubscriber ¶
func (s *API) ListSubscriber(req *ListSubscriberRequest, opts ...scw.RequestOption) (*ListSubscriberResponse, error)
ListSubscriber: list all subscriber.
func (*API) MigrateLB ¶
func (s *API) MigrateLB(req *MigrateLBRequest, opts ...scw.RequestOption) (*LB, error)
MigrateLB: migrate a load balancer.
func (*API) ReleaseIP ¶
func (s *API) ReleaseIP(req *ReleaseIPRequest, opts ...scw.RequestOption) error
ReleaseIP: delete an IP.
func (*API) RemoveBackendServers ¶
func (s *API) RemoveBackendServers(req *RemoveBackendServersRequest, opts ...scw.RequestOption) (*Backend, error)
RemoveBackendServers: remove a set of servers for a given backend.
func (*API) SetBackendServers ¶
func (s *API) SetBackendServers(req *SetBackendServersRequest, opts ...scw.RequestOption) (*Backend, error)
SetBackendServers: define all servers in a given backend.
func (*API) SubscribeToLB ¶
func (s *API) SubscribeToLB(req *SubscribeToLBRequest, opts ...scw.RequestOption) (*LB, error)
SubscribeToLB: subscribe a subscriber to a given load balancer.
func (*API) UnsubscribeFromLB ¶
func (s *API) UnsubscribeFromLB(req *UnsubscribeFromLBRequest, opts ...scw.RequestOption) (*LB, error)
UnsubscribeFromLB: unsubscribe a subscriber from a given load balancer.
func (*API) UpdateACL ¶
func (s *API) UpdateACL(req *UpdateACLRequest, opts ...scw.RequestOption) (*ACL, error)
UpdateACL: update an ACL.
func (*API) UpdateBackend ¶
func (s *API) UpdateBackend(req *UpdateBackendRequest, opts ...scw.RequestOption) (*Backend, error)
UpdateBackend: update a backend in a given load balancer.
func (*API) UpdateCertificate ¶
func (s *API) UpdateCertificate(req *UpdateCertificateRequest, opts ...scw.RequestOption) (*Certificate, error)
UpdateCertificate: update a TLS certificate.
func (*API) UpdateFrontend ¶
func (s *API) UpdateFrontend(req *UpdateFrontendRequest, opts ...scw.RequestOption) (*Frontend, error)
UpdateFrontend: update a frontend.
func (*API) UpdateHealthCheck ¶
func (s *API) UpdateHealthCheck(req *UpdateHealthCheckRequest, opts ...scw.RequestOption) (*HealthCheck, error)
UpdateHealthCheck: update an health check for a given backend.
func (*API) UpdateIP ¶
func (s *API) UpdateIP(req *UpdateIPRequest, opts ...scw.RequestOption) (*IP, error)
UpdateIP: update an IP.
func (*API) UpdateLB ¶
func (s *API) UpdateLB(req *UpdateLBRequest, opts ...scw.RequestOption) (*LB, error)
UpdateLB: update a load balancer.
func (*API) UpdateRoute ¶
func (s *API) UpdateRoute(req *UpdateRouteRequest, opts ...scw.RequestOption) (*Route, error)
UpdateRoute: edit a backend redirection.
func (*API) UpdateSubscriber ¶
func (s *API) UpdateSubscriber(req *UpdateSubscriberRequest, opts ...scw.RequestOption) (*Subscriber, error)
UpdateSubscriber: update a subscriber.
func (*API) WaitForLb ¶
func (s *API) WaitForLb(req *WaitForLBRequest, opts ...scw.RequestOption) (*LB, error)
WaitForLb waits for the lb to be in a "terminal state" before returning. This function can be used to wait for a lb to be ready for example.
type AddBackendServersRequest ¶
type AddBackendServersRequest struct { // Region: region to target. If none is passed will use default region from the config. Region scw.Region `json:"-"` // BackendID: backend ID. BackendID string `json:"-"` // ServerIP: list of IP addresses to add to backend servers. ServerIP []string `json:"server_ip"` }
type AttachPrivateNetworkRequest ¶
type AttachPrivateNetworkRequest struct { // Region: region to target. If none is passed will use default region from the config. Region scw.Region `json:"-"` // LBID: load Balancer ID. LBID string `json:"-"` // PrivateNetworkID: private Network ID. PrivateNetworkID string `json:"-"` // StaticConfig: object containing an array of a local IP address for the Load Balancer on this Private Network. // Precisely one of DHCPConfig, IpamConfig, StaticConfig must be set. StaticConfig *PrivateNetworkStaticConfig `json:"static_config,omitempty"` // DHCPConfig: defines whether to let DHCP assign IP addresses. // Precisely one of DHCPConfig, IpamConfig, StaticConfig must be set. DHCPConfig *PrivateNetworkDHCPConfig `json:"dhcp_config,omitempty"` // IpamConfig: for internal use only. // Precisely one of DHCPConfig, IpamConfig, StaticConfig must be set. IpamConfig *PrivateNetworkIpamConfig `json:"ipam_config,omitempty"` }
type Backend ¶
type Backend struct { // ID: backend ID. ID string `json:"id"` // Name: name of the backend. Name string `json:"name"` // ForwardProtocol: protocol used by the backend when forwarding traffic to backend servers. // Default value: tcp ForwardProtocol Protocol `json:"forward_protocol"` // ForwardPort: port used by the backend when forwarding traffic to backend servers. ForwardPort int32 `json:"forward_port"` // ForwardPortAlgorithm: load balancing algorithm to use when determining which backend server to forward new traffic to. // Default value: roundrobin ForwardPortAlgorithm ForwardPortAlgorithm `json:"forward_port_algorithm"` // StickySessions: defines whether sticky sessions (binding a particular session to a particular backend server) are activated and the method to use if so. None disables sticky sessions. Cookie-based uses an HTTP cookie to stick a session to a backend server. Table-based uses the source (client) IP address to stick a session to a backend server. // Default value: none StickySessions StickySessionsType `json:"sticky_sessions"` // StickySessionsCookieName: cookie name for cookie-based sticky sessions. StickySessionsCookieName string `json:"sticky_sessions_cookie_name"` // HealthCheck: object defining the health check to be carried out by the backend when checking the status and health of backend servers. HealthCheck *HealthCheck `json:"health_check"` // Pool: list of IP addresses of backend servers attached to this backend. Pool []string `json:"pool"` // LB: load Balancer the backend is attached to. LB *LB `json:"lb"` // Deprecated: SendProxyV2: deprecated in favor of proxy_protocol field. SendProxyV2 *bool `json:"send_proxy_v2,omitempty"` // TimeoutServer: maximum allowed time for a backend server to process a request. // Default value: 300000 TimeoutServer *time.Duration `json:"timeout_server"` // TimeoutConnect: maximum allowed time for establishing a connection to a backend server. // Default value: 5000 TimeoutConnect *time.Duration `json:"timeout_connect"` // TimeoutTunnel: maximum allowed tunnel inactivity time after Websocket is established (takes precedence over client and server timeout). // Default value: 900000 TimeoutTunnel *time.Duration `json:"timeout_tunnel"` // OnMarkedDownAction: action to take when a backend server is marked as down. // Default value: on_marked_down_action_none OnMarkedDownAction OnMarkedDownAction `json:"on_marked_down_action"` // ProxyProtocol: protocol to use between the Load Balancer and backend servers. Allows the backend servers to be informed of the client's real IP address. The PROXY protocol must be supported by the backend servers' software. // Default value: proxy_protocol_unknown ProxyProtocol ProxyProtocol `json:"proxy_protocol"` // CreatedAt: date at which the backend was created. CreatedAt *time.Time `json:"created_at"` // UpdatedAt: date at which the backend was updated. UpdatedAt *time.Time `json:"updated_at"` // FailoverHost: scaleway S3 bucket website to be served as failover if all backend servers are down, e.g. failover-website.s3-website.fr-par.scw.cloud. FailoverHost *string `json:"failover_host"` // SslBridging: defines whether to enable SSL bridging between the Load Balancer and backend servers. SslBridging *bool `json:"ssl_bridging"` // IgnoreSslServerVerify: defines whether the server certificate verification should be ignored. IgnoreSslServerVerify *bool `json:"ignore_ssl_server_verify"` // RedispatchAttemptCount: whether to use another backend server on each attempt. RedispatchAttemptCount *int32 `json:"redispatch_attempt_count"` // MaxRetries: number of retries when a backend server connection failed. MaxRetries *int32 `json:"max_retries"` // MaxConnections: maximum number of connections allowed per backend server. MaxConnections *int32 `json:"max_connections"` // TimeoutQueue: maximum time for a request to be left pending in queue when `max_connections` is reached. TimeoutQueue *scw.Duration `json:"timeout_queue"` }
Backend: backend.
func (Backend) MarshalJSON ¶
func (*Backend) UnmarshalJSON ¶
type BackendServerStats ¶
type BackendServerStats struct { // InstanceID: ID of your Load Balancer's underlying Instance. InstanceID string `json:"instance_id"` // BackendID: backend ID. BackendID string `json:"backend_id"` // IP: iPv4 or IPv6 address of the backend server. IP string `json:"ip"` // ServerState: server operational state (stopped/starting/running/stopping). // Default value: stopped ServerState BackendServerStatsServerState `json:"server_state"` // ServerStateChangedAt: time since last operational change. ServerStateChangedAt *time.Time `json:"server_state_changed_at"` // LastHealthCheckStatus: last health check status (unknown/neutral/failed/passed/condpass). // Default value: unknown LastHealthCheckStatus BackendServerStatsHealthCheckStatus `json:"last_health_check_status"` }
BackendServerStats: backend server stats.
type BackendServerStatsHealthCheckStatus ¶
type BackendServerStatsHealthCheckStatus string
func (BackendServerStatsHealthCheckStatus) MarshalJSON ¶
func (enum BackendServerStatsHealthCheckStatus) MarshalJSON() ([]byte, error)
func (BackendServerStatsHealthCheckStatus) String ¶
func (enum BackendServerStatsHealthCheckStatus) String() string
func (*BackendServerStatsHealthCheckStatus) UnmarshalJSON ¶
func (enum *BackendServerStatsHealthCheckStatus) UnmarshalJSON(data []byte) error
type BackendServerStatsServerState ¶
type BackendServerStatsServerState string
func (BackendServerStatsServerState) MarshalJSON ¶
func (enum BackendServerStatsServerState) MarshalJSON() ([]byte, error)
func (BackendServerStatsServerState) String ¶
func (enum BackendServerStatsServerState) String() string
func (*BackendServerStatsServerState) UnmarshalJSON ¶
func (enum *BackendServerStatsServerState) UnmarshalJSON(data []byte) error
type Certificate ¶
type Certificate struct { // Type: certificate type (Let's Encrypt or custom). // Default value: letsencryt Type CertificateType `json:"type"` // ID: certificate ID. ID string `json:"id"` // CommonName: main domain name of certificate. CommonName string `json:"common_name"` // SubjectAlternativeName: alternative domain names. SubjectAlternativeName []string `json:"subject_alternative_name"` // Fingerprint: identifier (SHA-1) of the certificate. Fingerprint string `json:"fingerprint"` // NotValidBefore: lower validity bound. NotValidBefore *time.Time `json:"not_valid_before"` // NotValidAfter: upper validity bound. NotValidAfter *time.Time `json:"not_valid_after"` // Status: certificate status. // Default value: pending Status CertificateStatus `json:"status"` // LB: load Balancer object the certificate is attached to. LB *LB `json:"lb"` // Name: certificate name. Name string `json:"name"` // CreatedAt: date on which the certificate was created. CreatedAt *time.Time `json:"created_at"` // UpdatedAt: date on which the certificate was last updated. UpdatedAt *time.Time `json:"updated_at"` // StatusDetails: additional information about the certificate status (useful in case of certificate generation failure, for example). StatusDetails *string `json:"status_details"` }
Certificate: certificate.
type CertificateStatus ¶
type CertificateStatus string
func (CertificateStatus) MarshalJSON ¶
func (enum CertificateStatus) MarshalJSON() ([]byte, error)
func (CertificateStatus) String ¶
func (enum CertificateStatus) String() string
func (*CertificateStatus) UnmarshalJSON ¶
func (enum *CertificateStatus) UnmarshalJSON(data []byte) error
type CertificateType ¶
type CertificateType string
func (CertificateType) MarshalJSON ¶
func (enum CertificateType) MarshalJSON() ([]byte, error)
func (CertificateType) String ¶
func (enum CertificateType) String() string
func (*CertificateType) UnmarshalJSON ¶
func (enum *CertificateType) UnmarshalJSON(data []byte) error
type CreateACLRequest ¶
type CreateACLRequest struct { // Region: region to target. If none is passed will use default region from the config. Region scw.Region `json:"-"` // FrontendID: frontend ID to attach the ACL to. FrontendID string `json:"-"` // Name: ACL name. Name string `json:"name"` // Action: action to take when incoming traffic matches an ACL filter. Action *ACLAction `json:"action"` // Match: ACL match filter object. One of `ip_subnet` or `http_filter` & `http_filter_value` are required. Match *ACLMatch `json:"match"` // Index: priority of this ACL (ACLs are applied in ascending order, 0 is the first ACL executed). Index int32 `json:"index"` // Description: ACL description. Description string `json:"description"` }
type CreateBackendRequest ¶
type CreateBackendRequest struct { // Region: region to target. If none is passed will use default region from the config. Region scw.Region `json:"-"` // LBID: load Balancer ID. LBID string `json:"-"` // Name: name for the backend. Name string `json:"name"` // ForwardProtocol: protocol to be used by the backend when forwarding traffic to backend servers. // Default value: tcp ForwardProtocol Protocol `json:"forward_protocol"` // ForwardPort: port to be used by the backend when forwarding traffic to backend servers. ForwardPort int32 `json:"forward_port"` // ForwardPortAlgorithm: load balancing algorithm to be used when determining which backend server to forward new traffic to. // Default value: roundrobin ForwardPortAlgorithm ForwardPortAlgorithm `json:"forward_port_algorithm"` // StickySessions: defines whether to activate sticky sessions (binding a particular session to a particular backend server) and the method to use if so. None disables sticky sessions. Cookie-based uses an HTTP cookie TO stick a session to a backend server. Table-based uses the source (client) IP address to stick a session to a backend server. // Default value: none StickySessions StickySessionsType `json:"sticky_sessions"` // StickySessionsCookieName: cookie name for cookie-based sticky sessions. StickySessionsCookieName string `json:"sticky_sessions_cookie_name"` // HealthCheck: object defining the health check to be carried out by the backend when checking the status and health of backend servers. HealthCheck *HealthCheck `json:"health_check"` // ServerIP: list of backend server IP addresses (IPv4 or IPv6) the backend should forward traffic to. ServerIP []string `json:"server_ip"` // Deprecated: SendProxyV2: deprecated in favor of proxy_protocol field. SendProxyV2 *bool `json:"send_proxy_v2,omitempty"` // TimeoutServer: maximum allowed time for a backend server to process a request. // Default value: 300000 TimeoutServer *time.Duration `json:"timeout_server"` // TimeoutConnect: maximum allowed time for establishing a connection to a backend server. // Default value: 5000 TimeoutConnect *time.Duration `json:"timeout_connect"` // TimeoutTunnel: maximum allowed tunnel inactivity time after Websocket is established (takes precedence over client and server timeout). // Default value: 900000 TimeoutTunnel *time.Duration `json:"timeout_tunnel"` // OnMarkedDownAction: action to take when a backend server is marked as down. // Default value: on_marked_down_action_none OnMarkedDownAction OnMarkedDownAction `json:"on_marked_down_action"` // ProxyProtocol: protocol to use between the Load Balancer and backend servers. Allows the backend servers to be informed of the client's real IP address. The PROXY protocol must be supported by the backend servers' software. // Default value: proxy_protocol_unknown ProxyProtocol ProxyProtocol `json:"proxy_protocol"` // FailoverHost: scaleway S3 bucket website to be served as failover if all backend servers are down, e.g. failover-website.s3-website.fr-par.scw.cloud. FailoverHost *string `json:"failover_host"` // SslBridging: defines whether to enable SSL bridging between the Load Balancer and backend servers. SslBridging *bool `json:"ssl_bridging"` // IgnoreSslServerVerify: defines whether the server certificate verification should be ignored. IgnoreSslServerVerify *bool `json:"ignore_ssl_server_verify"` // RedispatchAttemptCount: whether to use another backend server on each attempt. RedispatchAttemptCount *int32 `json:"redispatch_attempt_count"` // MaxRetries: number of retries when a backend server connection failed. MaxRetries *int32 `json:"max_retries"` // MaxConnections: maximum number of connections allowed per backend server. MaxConnections *int32 `json:"max_connections"` // TimeoutQueue: maximum time for a request to be left pending in queue when `max_connections` is reached. TimeoutQueue *scw.Duration `json:"timeout_queue"` }
func (CreateBackendRequest) MarshalJSON ¶
func (m CreateBackendRequest) MarshalJSON() ([]byte, error)
func (*CreateBackendRequest) UnmarshalJSON ¶
func (m *CreateBackendRequest) UnmarshalJSON(b []byte) error
type CreateCertificateRequest ¶
type CreateCertificateRequest struct { // Region: region to target. If none is passed will use default region from the config. Region scw.Region `json:"-"` // LBID: load Balancer ID. LBID string `json:"-"` // Name: name for the certificate. Name string `json:"name"` // Letsencrypt: object to define a new Let's Encrypt certificate to be generated. // Precisely one of CustomCertificate, Letsencrypt must be set. Letsencrypt *CreateCertificateRequestLetsencryptConfig `json:"letsencrypt,omitempty"` // CustomCertificate: object to define an existing custom certificate to be imported. // Precisely one of CustomCertificate, Letsencrypt must be set. CustomCertificate *CreateCertificateRequestCustomCertificate `json:"custom_certificate,omitempty"` }
type CreateCertificateRequestCustomCertificate ¶
type CreateCertificateRequestCustomCertificate struct { // CertificateChain: full PEM-formatted certificate, consisting of the entire certificate chain including public key, private key, and (optionally) Certificate Authorities. CertificateChain string `json:"certificate_chain"` }
CreateCertificateRequestCustomCertificate: create certificate request. custom certificate.
type CreateCertificateRequestLetsencryptConfig ¶
type CreateCertificateRequestLetsencryptConfig struct { // CommonName: main domain name of certificate (this domain must exist and resolve to your Load Balancer IP address). CommonName string `json:"common_name"` // SubjectAlternativeName: alternative domain names (all domain names must exist and resolve to your Load Balancer IP address). SubjectAlternativeName []string `json:"subject_alternative_name"` }
CreateCertificateRequestLetsencryptConfig: create certificate request. letsencrypt config.
type CreateFrontendRequest ¶
type CreateFrontendRequest struct { // Region: region to target. If none is passed will use default region from the config. Region scw.Region `json:"-"` // LBID: load Balancer ID (ID of the Load Balancer to attach the frontend to). LBID string `json:"-"` // Name: name for the frontend. Name string `json:"name"` // InboundPort: port the frontend should listen on. InboundPort int32 `json:"inbound_port"` // BackendID: backend ID (ID of the backend the frontend should pass traffic to). BackendID string `json:"backend_id"` // TimeoutClient: maximum allowed inactivity time on the client side. // Default value: 300000 TimeoutClient *time.Duration `json:"timeout_client"` // Deprecated: CertificateID: certificate ID, deprecated in favor of certificate_ids array. CertificateID *string `json:"certificate_id,omitempty"` // CertificateIDs: list of SSL/TLS certificate IDs to bind to the frontend. CertificateIDs *[]string `json:"certificate_ids"` // EnableHTTP3: defines whether to enable HTTP/3 protocol on the frontend. EnableHTTP3 bool `json:"enable_http3"` }
func (CreateFrontendRequest) MarshalJSON ¶
func (m CreateFrontendRequest) MarshalJSON() ([]byte, error)
func (*CreateFrontendRequest) UnmarshalJSON ¶
func (m *CreateFrontendRequest) UnmarshalJSON(b []byte) error
type CreateIPRequest ¶
type CreateIPRequest struct { // Region: region to target. If none is passed will use default region from the config. Region scw.Region `json:"-"` // Deprecated: OrganizationID: organization ID of the Organization where the IP address should be created. // Precisely one of OrganizationID, ProjectID must be set. OrganizationID *string `json:"organization_id,omitempty"` // ProjectID: project ID of the Project where the IP address should be created. // Precisely one of OrganizationID, ProjectID must be set. ProjectID *string `json:"project_id,omitempty"` // Reverse: reverse DNS (domain name) for the IP address. Reverse *string `json:"reverse"` }
type CreateLBRequest ¶
type CreateLBRequest struct { // Region: region to target. If none is passed will use default region from the config. Region scw.Region `json:"-"` // Deprecated: OrganizationID: scaleway Organization to create the Load Balancer in. // Precisely one of OrganizationID, ProjectID must be set. OrganizationID *string `json:"organization_id,omitempty"` // ProjectID: scaleway Project to create the Load Balancer in. // Precisely one of OrganizationID, ProjectID must be set. ProjectID *string `json:"project_id,omitempty"` // Name: name for the Load Balancer. Name string `json:"name"` // Description: description for the Load Balancer. Description string `json:"description"` // IPID: ID of an existing flexible IP address to attach to the Load Balancer. IPID *string `json:"ip_id"` // Tags: list of tags for the Load Balancer. Tags []string `json:"tags"` // Type: load Balancer commercial offer type. Use the Load Balancer types endpoint to retrieve a list of available offer types. Type string `json:"type"` // SslCompatibilityLevel: determines the minimal SSL version which needs to be supported on the client side, in an SSL/TLS offloading context. Intermediate is suitable for general-purpose servers with a variety of clients, recommended for almost all systems. Modern is suitable for services with clients that support TLS 1.3 and do not need backward compatibility. Old is compatible with a small number of very old clients and should be used only as a last resort. // Default value: ssl_compatibility_level_unknown SslCompatibilityLevel SSLCompatibilityLevel `json:"ssl_compatibility_level"` }
type CreateRouteRequest ¶
type CreateRouteRequest struct { // Region: region to target. If none is passed will use default region from the config. Region scw.Region `json:"-"` // FrontendID: ID of the source frontend to create the route on. FrontendID string `json:"frontend_id"` // BackendID: ID of the target backend for the route. BackendID string `json:"backend_id"` // Match: object defining the match condition for a route to be applied. If an incoming client session matches the specified condition (i.e. it has a matching SNI value or HTTP Host header value), it will be passed to the target backend. Match *RouteMatch `json:"match"` }
type CreateSubscriberRequest ¶
type CreateSubscriberRequest struct { // Region: region to target. If none is passed will use default region from the config. Region scw.Region `json:"-"` // Name: subscriber name. Name string `json:"name"` // EmailConfig: email address configuration. // Precisely one of EmailConfig, WebhookConfig must be set. EmailConfig *SubscriberEmailConfig `json:"email_config,omitempty"` // WebhookConfig: webHook URI configuration. // Precisely one of EmailConfig, WebhookConfig must be set. WebhookConfig *SubscriberWebhookConfig `json:"webhook_config,omitempty"` // Deprecated: OrganizationID: organization ID to create the subscriber in. // Precisely one of OrganizationID, ProjectID must be set. OrganizationID *string `json:"organization_id,omitempty"` // ProjectID: project ID to create the subscriber in. // Precisely one of OrganizationID, ProjectID must be set. ProjectID *string `json:"project_id,omitempty"` }
type DeleteACLRequest ¶
type DeleteBackendRequest ¶
type DeleteFrontendRequest ¶
type DeleteLBRequest ¶
type DeleteLBRequest struct { // Region: region to target. If none is passed will use default region from the config. Region scw.Region `json:"-"` // LBID: ID of the Load Balancer to delete. LBID string `json:"-"` // ReleaseIP: defines whether the Load Balancer's flexible IP should be deleted. Set to true to release the flexible IP, or false to keep it available in your account for future Load Balancers. ReleaseIP bool `json:"-"` }
type DeleteRouteRequest ¶
type DeleteSubscriberRequest ¶
type DetachPrivateNetworkRequest ¶
type DetachPrivateNetworkRequest struct { // Region: region to target. If none is passed will use default region from the config. Region scw.Region `json:"-"` // LBID: load balancer ID. LBID string `json:"-"` // PrivateNetworkID: set your instance private network id. PrivateNetworkID string `json:"-"` }
type ForwardPortAlgorithm ¶
type ForwardPortAlgorithm string
func (ForwardPortAlgorithm) MarshalJSON ¶
func (enum ForwardPortAlgorithm) MarshalJSON() ([]byte, error)
func (ForwardPortAlgorithm) String ¶
func (enum ForwardPortAlgorithm) String() string
func (*ForwardPortAlgorithm) UnmarshalJSON ¶
func (enum *ForwardPortAlgorithm) UnmarshalJSON(data []byte) error
type Frontend ¶
type Frontend struct { // ID: frontend ID. ID string `json:"id"` // Name: name of the frontend. Name string `json:"name"` // InboundPort: port the frontend listens on. InboundPort int32 `json:"inbound_port"` // Backend: backend object the frontend is attached to. Backend *Backend `json:"backend"` // LB: load Balancer object the frontend is attached to. LB *LB `json:"lb"` // TimeoutClient: maximum allowed inactivity time on the client side. // Default value: 300000 TimeoutClient *time.Duration `json:"timeout_client"` // Deprecated: Certificate: certificate, deprecated in favor of certificate_ids array. Certificate *Certificate `json:"certificate,omitempty"` // CertificateIDs: list of SSL/TLS certificate IDs to bind to the frontend. CertificateIDs []string `json:"certificate_ids"` // CreatedAt: date on which the frontend was created. CreatedAt *time.Time `json:"created_at"` // UpdatedAt: date on which the frontend was last updated. UpdatedAt *time.Time `json:"updated_at"` // EnableHTTP3: defines whether to enable HTTP/3 protocol on the frontend. EnableHTTP3 bool `json:"enable_http3"` }
Frontend: frontend.
func (Frontend) MarshalJSON ¶
func (*Frontend) UnmarshalJSON ¶
type GetACLRequest ¶
type GetBackendRequest ¶
type GetCertificateRequest ¶
type GetFrontendRequest ¶
type GetIPRequest ¶
type GetLBRequest ¶
type GetLBStatsRequest ¶
type GetRouteRequest ¶
type GetSubscriberRequest ¶
type HealthCheck ¶
type HealthCheck struct { // Port: port to use for the backend server health check. Port int32 `json:"port"` // CheckDelay: time to wait between two consecutive health checks. // Default value: 3000 CheckDelay *time.Duration `json:"check_delay"` // CheckTimeout: maximum time a backend server has to reply to the health check. // Default value: 1000 CheckTimeout *time.Duration `json:"check_timeout"` // CheckMaxRetries: number of consecutive unsuccessful health checks after which the server will be considered dead. CheckMaxRetries int32 `json:"check_max_retries"` // TCPConfig: object to configure a basic TCP health check. // Precisely one of HTTPConfig, HTTPSConfig, LdapConfig, MysqlConfig, PgsqlConfig, RedisConfig, TCPConfig must be set. TCPConfig *HealthCheckTCPConfig `json:"tcp_config,omitempty"` // MysqlConfig: object to configure a MySQL health check. The check requires MySQL >=3.22, for older versions, use a TCP health check. // Precisely one of HTTPConfig, HTTPSConfig, LdapConfig, MysqlConfig, PgsqlConfig, RedisConfig, TCPConfig must be set. MysqlConfig *HealthCheckMysqlConfig `json:"mysql_config,omitempty"` // PgsqlConfig: object to configure a PostgreSQL health check. // Precisely one of HTTPConfig, HTTPSConfig, LdapConfig, MysqlConfig, PgsqlConfig, RedisConfig, TCPConfig must be set. PgsqlConfig *HealthCheckPgsqlConfig `json:"pgsql_config,omitempty"` // LdapConfig: object to configure an LDAP health check. The response is analyzed to find the LDAPv3 response message. // Precisely one of HTTPConfig, HTTPSConfig, LdapConfig, MysqlConfig, PgsqlConfig, RedisConfig, TCPConfig must be set. LdapConfig *HealthCheckLdapConfig `json:"ldap_config,omitempty"` // RedisConfig: object to configure a Redis health check. The response is analyzed to find the +PONG response message. // Precisely one of HTTPConfig, HTTPSConfig, LdapConfig, MysqlConfig, PgsqlConfig, RedisConfig, TCPConfig must be set. RedisConfig *HealthCheckRedisConfig `json:"redis_config,omitempty"` // HTTPConfig: object to configure an HTTP health check. // Precisely one of HTTPConfig, HTTPSConfig, LdapConfig, MysqlConfig, PgsqlConfig, RedisConfig, TCPConfig must be set. HTTPConfig *HealthCheckHTTPConfig `json:"http_config,omitempty"` // HTTPSConfig: object to configure an HTTPS health check. // Precisely one of HTTPConfig, HTTPSConfig, LdapConfig, MysqlConfig, PgsqlConfig, RedisConfig, TCPConfig must be set. HTTPSConfig *HealthCheckHTTPSConfig `json:"https_config,omitempty"` // CheckSendProxy: defines whether proxy protocol should be activated for the health check. CheckSendProxy bool `json:"check_send_proxy"` // TransientCheckDelay: time to wait between two consecutive health checks when a backend server is in a transient state (going UP or DOWN). // Default value: 0.5s TransientCheckDelay *scw.Duration `json:"transient_check_delay"` }
HealthCheck: health check.
func (HealthCheck) MarshalJSON ¶
func (m HealthCheck) MarshalJSON() ([]byte, error)
func (*HealthCheck) UnmarshalJSON ¶
func (m *HealthCheck) UnmarshalJSON(b []byte) error
type HealthCheckHTTPConfig ¶
type HealthCheckHTTPConfig struct { // URI: HTTP URI used for the health check. // The HTTP URI to use when performing a health check on backend servers. URI string `json:"uri"` // Method: HTTP method used for the health check. // The HTTP method used when performing a health check on backend servers. Method string `json:"method"` // Code: HTTP response code expected for a successful health check. // The HTTP response code that should be returned for a health check to be considered successful. Code *int32 `json:"code"` // HostHeader: HTTP host header used for the health check. // The HTTP host header used when performing a health check on backend servers. HostHeader string `json:"host_header"` }
HealthCheckHTTPConfig: health check. http config.
type HealthCheckHTTPSConfig ¶
type HealthCheckHTTPSConfig struct { // URI: HTTP URI used for the health check. // The HTTP URI to use when performing a health check on backend servers. URI string `json:"uri"` // Method: HTTP method used for the health check. // The HTTP method used when performing a health check on backend servers. Method string `json:"method"` // Code: HTTP response code expected for a successful health check. // The HTTP response code that should be returned for a health check to be considered successful. Code *int32 `json:"code"` // HostHeader: HTTP host header used for the health check. // The HTTP host header used when performing a health check on backend servers. HostHeader string `json:"host_header"` // Sni: sNI used for SSL health checks. // The SNI value used when performing a health check on backend servers over SSL. Sni string `json:"sni"` }
HealthCheckHTTPSConfig: health check. https config.
type HealthCheckLdapConfig ¶
type HealthCheckLdapConfig struct { }
type HealthCheckMysqlConfig ¶
type HealthCheckMysqlConfig struct { // User: mySQL user to use for the health check. User string `json:"user"` }
HealthCheckMysqlConfig: health check. mysql config.
type HealthCheckPgsqlConfig ¶
type HealthCheckPgsqlConfig struct { // User: postgreSQL user to use for the health check. User string `json:"user"` }
HealthCheckPgsqlConfig: health check. pgsql config.
type HealthCheckRedisConfig ¶
type HealthCheckRedisConfig struct { }
type HealthCheckTCPConfig ¶
type HealthCheckTCPConfig struct { }
type IP ¶
type IP struct { // ID: IP address ID. ID string `json:"id"` // IPAddress: IP address. IPAddress string `json:"ip_address"` // OrganizationID: organization ID of the Scaleway Organization the IP address is in. OrganizationID string `json:"organization_id"` // ProjectID: project ID of the Scaleway Project the IP address is in. ProjectID string `json:"project_id"` // LBID: load Balancer ID. LBID *string `json:"lb_id"` // Reverse: reverse DNS (domain name) of the IP address. Reverse string `json:"reverse"` // Deprecated: Region: the region the IP address is in. Region *scw.Region `json:"region,omitempty"` // Zone: the zone the IP address is in. Zone scw.Zone `json:"zone"` }
IP: ip.
type Instance ¶
type Instance struct { // ID: underlying Instance ID. ID string `json:"id"` // Status: instance status. // Default value: unknown Status InstanceStatus `json:"status"` // IPAddress: instance IP address. IPAddress string `json:"ip_address"` // CreatedAt: date on which the Instance was created. CreatedAt *time.Time `json:"created_at"` // UpdatedAt: date on which the Instance was last updated. UpdatedAt *time.Time `json:"updated_at"` // Deprecated: Region: the region the Instance is in. Region *scw.Region `json:"region,omitempty"` // Zone: the zone the Instance is in. Zone scw.Zone `json:"zone"` }
Instance: instance.
type InstanceStatus ¶
type InstanceStatus string
func (InstanceStatus) MarshalJSON ¶
func (enum InstanceStatus) MarshalJSON() ([]byte, error)
func (InstanceStatus) String ¶
func (enum InstanceStatus) String() string
func (*InstanceStatus) UnmarshalJSON ¶
func (enum *InstanceStatus) UnmarshalJSON(data []byte) error
type LB ¶
type LB struct { // ID: underlying Instance ID. ID string `json:"id"` // Name: load Balancer name. Name string `json:"name"` // Description: load Balancer description. Description string `json:"description"` // Status: load Balancer status. // Default value: unknown Status LBStatus `json:"status"` // Instances: list of underlying Instances. Instances []*Instance `json:"instances"` // OrganizationID: scaleway Organization ID. OrganizationID string `json:"organization_id"` // ProjectID: scaleway Project ID. ProjectID string `json:"project_id"` // IP: list of IP addresses attached to the Load Balancer. IP []*IP `json:"ip"` // Tags: load Balancer tags. Tags []string `json:"tags"` // FrontendCount: number of frontends the Load Balancer has. FrontendCount int32 `json:"frontend_count"` // BackendCount: number of backends the Load Balancer has. BackendCount int32 `json:"backend_count"` // Type: load Balancer offer type. Type string `json:"type"` // Subscriber: subscriber information. Subscriber *Subscriber `json:"subscriber"` // SslCompatibilityLevel: determines the minimal SSL version which needs to be supported on client side. // Default value: ssl_compatibility_level_unknown SslCompatibilityLevel SSLCompatibilityLevel `json:"ssl_compatibility_level"` // CreatedAt: date on which the Load Balancer was created. CreatedAt *time.Time `json:"created_at"` // UpdatedAt: date on which the Load Balancer was last updated. UpdatedAt *time.Time `json:"updated_at"` // PrivateNetworkCount: number of Private Networks attached to the Load Balancer. PrivateNetworkCount int32 `json:"private_network_count"` // RouteCount: number of routes configured on the Load Balancer. RouteCount int32 `json:"route_count"` // Deprecated: Region: the region the Load Balancer is in. Region *scw.Region `json:"region,omitempty"` // Zone: the zone the Load Balancer is in. Zone scw.Zone `json:"zone"` }
LB: lb.
type LBStats ¶
type LBStats struct { // BackendServersStats: list of objects containing Load Balancer statistics. BackendServersStats []*BackendServerStats `json:"backend_servers_stats"` }
LBStats: lb stats.
type LBType ¶
type LBType struct { // Name: load Balancer commercial offer type name. Name string `json:"name"` // StockStatus: current stock status for a given Load Balancer type. // Default value: unknown StockStatus LBTypeStock `json:"stock_status"` // Description: load Balancer commercial offer type description. Description string `json:"description"` // Deprecated: Region: the region the Load Balancer stock is in. Region *scw.Region `json:"region,omitempty"` // Zone: the zone the Load Balancer stock is in. Zone scw.Zone `json:"zone"` }
LBType: lb type.
type LBTypeStock ¶
type LBTypeStock string
func (LBTypeStock) MarshalJSON ¶
func (enum LBTypeStock) MarshalJSON() ([]byte, error)
func (LBTypeStock) String ¶
func (enum LBTypeStock) String() string
func (*LBTypeStock) UnmarshalJSON ¶
func (enum *LBTypeStock) UnmarshalJSON(data []byte) error
type ListACLRequestOrderBy ¶
type ListACLRequestOrderBy string
func (ListACLRequestOrderBy) MarshalJSON ¶
func (enum ListACLRequestOrderBy) MarshalJSON() ([]byte, error)
func (ListACLRequestOrderBy) String ¶
func (enum ListACLRequestOrderBy) String() string
func (*ListACLRequestOrderBy) UnmarshalJSON ¶
func (enum *ListACLRequestOrderBy) UnmarshalJSON(data []byte) error
type ListACLResponse ¶
type ListACLResponse struct { // ACLs: list of ACL objects. ACLs []*ACL `json:"acls"` // TotalCount: the total number of objects. TotalCount uint32 `json:"total_count"` }
ListACLResponse: list acl response.
func (*ListACLResponse) UnsafeAppend ¶
func (r *ListACLResponse) UnsafeAppend(res interface{}) (uint32, error)
UnsafeAppend should not be used Internal usage only
func (*ListACLResponse) UnsafeGetTotalCount ¶
func (r *ListACLResponse) UnsafeGetTotalCount() uint32
UnsafeGetTotalCount should not be used Internal usage only
type ListACLsRequest ¶
type ListACLsRequest struct { // Region: region to target. If none is passed will use default region from the config. Region scw.Region `json:"-"` // FrontendID: frontend ID (ACLs attached to this frontend will be returned in the response). FrontendID string `json:"-"` // OrderBy: sort order of ACLs in the response. // Default value: created_at_asc OrderBy ListACLRequestOrderBy `json:"-"` // Page: the page number to return, from the paginated results. Page *int32 `json:"-"` // PageSize: the number of ACLs to return. PageSize *uint32 `json:"-"` // Name: ACL name to filter for. Name *string `json:"-"` }
type ListBackendStatsRequest ¶
type ListBackendStatsRequest struct { // Region: region to target. If none is passed will use default region from the config. Region scw.Region `json:"-"` // LBID: load Balancer ID. LBID string `json:"-"` // Page: the page number to return, from the paginated results. Page *int32 `json:"-"` // PageSize: number of items to return. PageSize *uint32 `json:"-"` }
type ListBackendStatsResponse ¶
type ListBackendStatsResponse struct { // BackendServersStats: list of objects containing backend server statistics. BackendServersStats []*BackendServerStats `json:"backend_servers_stats"` // TotalCount: the total number of objects. TotalCount uint32 `json:"total_count"` }
ListBackendStatsResponse: list backend stats response.
func (*ListBackendStatsResponse) UnsafeAppend ¶
func (r *ListBackendStatsResponse) UnsafeAppend(res interface{}) (uint32, error)
UnsafeAppend should not be used Internal usage only
func (*ListBackendStatsResponse) UnsafeGetTotalCount ¶
func (r *ListBackendStatsResponse) UnsafeGetTotalCount() uint32
UnsafeGetTotalCount should not be used Internal usage only
type ListBackendsRequest ¶
type ListBackendsRequest struct { // Region: region to target. If none is passed will use default region from the config. Region scw.Region `json:"-"` // LBID: load Balancer ID. LBID string `json:"-"` // Name: name of the backend to filter for. Name *string `json:"-"` // OrderBy: sort order of backends in the response. // Default value: created_at_asc OrderBy ListBackendsRequestOrderBy `json:"-"` // Page: the page number to return, from the paginated results. Page *int32 `json:"-"` // PageSize: number of backends to return. PageSize *uint32 `json:"-"` }
type ListBackendsRequestOrderBy ¶
type ListBackendsRequestOrderBy string
func (ListBackendsRequestOrderBy) MarshalJSON ¶
func (enum ListBackendsRequestOrderBy) MarshalJSON() ([]byte, error)
func (ListBackendsRequestOrderBy) String ¶
func (enum ListBackendsRequestOrderBy) String() string
func (*ListBackendsRequestOrderBy) UnmarshalJSON ¶
func (enum *ListBackendsRequestOrderBy) UnmarshalJSON(data []byte) error
type ListBackendsResponse ¶
type ListBackendsResponse struct { // Backends: list of backend objects of a given Load Balancer. Backends []*Backend `json:"backends"` // TotalCount: total count of backend objects, without pagination. TotalCount uint32 `json:"total_count"` }
ListBackendsResponse: list backends response.
func (*ListBackendsResponse) UnsafeAppend ¶
func (r *ListBackendsResponse) UnsafeAppend(res interface{}) (uint32, error)
UnsafeAppend should not be used Internal usage only
func (*ListBackendsResponse) UnsafeGetTotalCount ¶
func (r *ListBackendsResponse) UnsafeGetTotalCount() uint32
UnsafeGetTotalCount should not be used Internal usage only
type ListCertificatesRequest ¶
type ListCertificatesRequest struct { // Region: region to target. If none is passed will use default region from the config. Region scw.Region `json:"-"` // LBID: load Balancer ID. LBID string `json:"-"` // OrderBy: sort order of certificates in the response. // Default value: created_at_asc OrderBy ListCertificatesRequestOrderBy `json:"-"` // Page: the page number to return, from the paginated results. Page *int32 `json:"-"` // PageSize: number of certificates to return. PageSize *uint32 `json:"-"` // Name: certificate name to filter for, only certificates of this name will be returned. Name *string `json:"-"` }
type ListCertificatesRequestOrderBy ¶
type ListCertificatesRequestOrderBy string
func (ListCertificatesRequestOrderBy) MarshalJSON ¶
func (enum ListCertificatesRequestOrderBy) MarshalJSON() ([]byte, error)
func (ListCertificatesRequestOrderBy) String ¶
func (enum ListCertificatesRequestOrderBy) String() string
func (*ListCertificatesRequestOrderBy) UnmarshalJSON ¶
func (enum *ListCertificatesRequestOrderBy) UnmarshalJSON(data []byte) error
type ListCertificatesResponse ¶
type ListCertificatesResponse struct { // Certificates: list of certificate objects. Certificates []*Certificate `json:"certificates"` // TotalCount: the total number of objects. TotalCount uint32 `json:"total_count"` }
ListCertificatesResponse: list certificates response.
func (*ListCertificatesResponse) UnsafeAppend ¶
func (r *ListCertificatesResponse) UnsafeAppend(res interface{}) (uint32, error)
UnsafeAppend should not be used Internal usage only
func (*ListCertificatesResponse) UnsafeGetTotalCount ¶
func (r *ListCertificatesResponse) UnsafeGetTotalCount() uint32
UnsafeGetTotalCount should not be used Internal usage only
type ListFrontendsRequest ¶
type ListFrontendsRequest struct { // Region: region to target. If none is passed will use default region from the config. Region scw.Region `json:"-"` // LBID: load Balancer ID. LBID string `json:"-"` // Name: name of the frontend to filter for. Name *string `json:"-"` // OrderBy: sort order of frontends in the response. // Default value: created_at_asc OrderBy ListFrontendsRequestOrderBy `json:"-"` // Page: the page number to return, from the paginated results. Page *int32 `json:"-"` // PageSize: number of frontends to return. PageSize *uint32 `json:"-"` }
type ListFrontendsRequestOrderBy ¶
type ListFrontendsRequestOrderBy string
func (ListFrontendsRequestOrderBy) MarshalJSON ¶
func (enum ListFrontendsRequestOrderBy) MarshalJSON() ([]byte, error)
func (ListFrontendsRequestOrderBy) String ¶
func (enum ListFrontendsRequestOrderBy) String() string
func (*ListFrontendsRequestOrderBy) UnmarshalJSON ¶
func (enum *ListFrontendsRequestOrderBy) UnmarshalJSON(data []byte) error
type ListFrontendsResponse ¶
type ListFrontendsResponse struct { // Frontends: list of frontend objects of a given Load Balancer. Frontends []*Frontend `json:"frontends"` // TotalCount: total count of frontend objects, without pagination. TotalCount uint32 `json:"total_count"` }
ListFrontendsResponse: list frontends response.
func (*ListFrontendsResponse) UnsafeAppend ¶
func (r *ListFrontendsResponse) UnsafeAppend(res interface{}) (uint32, error)
UnsafeAppend should not be used Internal usage only
func (*ListFrontendsResponse) UnsafeGetTotalCount ¶
func (r *ListFrontendsResponse) UnsafeGetTotalCount() uint32
UnsafeGetTotalCount should not be used Internal usage only
type ListIPsRequest ¶
type ListIPsRequest struct { // Region: region to target. If none is passed will use default region from the config. Region scw.Region `json:"-"` // Page: the page number to return, from the paginated results. Page *int32 `json:"-"` // PageSize: number of IP addresses to return. PageSize *uint32 `json:"-"` // IPAddress: IP address to filter for. IPAddress *string `json:"-"` // OrganizationID: organization ID to filter for, only Load Balancer IP addresses from this Organization will be returned. OrganizationID *string `json:"-"` // ProjectID: project ID to filter for, only Load Balancer IP addresses from this Project will be returned. ProjectID *string `json:"-"` }
type ListIPsResponse ¶
type ListIPsResponse struct { // IPs: list of IP address objects. IPs []*IP `json:"ips"` // TotalCount: total count of IP address objects, without pagination. TotalCount uint32 `json:"total_count"` }
ListIPsResponse: list ips response.
func (*ListIPsResponse) UnsafeAppend ¶
func (r *ListIPsResponse) UnsafeAppend(res interface{}) (uint32, error)
UnsafeAppend should not be used Internal usage only
func (*ListIPsResponse) UnsafeGetTotalCount ¶
func (r *ListIPsResponse) UnsafeGetTotalCount() uint32
UnsafeGetTotalCount should not be used Internal usage only
type ListLBPrivateNetworksRequest ¶
type ListLBPrivateNetworksRequest struct { // Region: region to target. If none is passed will use default region from the config. Region scw.Region `json:"-"` // LBID: load Balancer ID. LBID string `json:"-"` // OrderBy: sort order of Private Network objects in the response. // Default value: created_at_asc OrderBy ListPrivateNetworksRequestOrderBy `json:"-"` // PageSize: number of objects to return. PageSize *uint32 `json:"-"` // Page: the page number to return, from the paginated results. Page *int32 `json:"-"` }
type ListLBPrivateNetworksResponse ¶
type ListLBPrivateNetworksResponse struct { // PrivateNetwork: list of Private Network objects attached to the Load Balancer. PrivateNetwork []*PrivateNetwork `json:"private_network"` // TotalCount: total number of objects in the response. TotalCount uint32 `json:"total_count"` }
ListLBPrivateNetworksResponse: list lb private networks response.
func (*ListLBPrivateNetworksResponse) UnsafeAppend ¶
func (r *ListLBPrivateNetworksResponse) UnsafeAppend(res interface{}) (uint32, error)
UnsafeAppend should not be used Internal usage only
func (*ListLBPrivateNetworksResponse) UnsafeGetTotalCount ¶
func (r *ListLBPrivateNetworksResponse) UnsafeGetTotalCount() uint32
UnsafeGetTotalCount should not be used Internal usage only
type ListLBTypesRequest ¶
type ListLBTypesRequest struct { // Region: region to target. If none is passed will use default region from the config. Region scw.Region `json:"-"` // Page: the page number to return, from the paginated results. Page *int32 `json:"-"` // PageSize: the number of items to return. PageSize *uint32 `json:"-"` }
type ListLBTypesResponse ¶
type ListLBTypesResponse struct { // LBTypes: list of Load Balancer commercial offer type objects. LBTypes []*LBType `json:"lb_types"` // TotalCount: total number of Load Balancer offer type objects. TotalCount uint32 `json:"total_count"` }
ListLBTypesResponse: list lb types response.
func (*ListLBTypesResponse) UnsafeAppend ¶
func (r *ListLBTypesResponse) UnsafeAppend(res interface{}) (uint32, error)
UnsafeAppend should not be used Internal usage only
func (*ListLBTypesResponse) UnsafeGetTotalCount ¶
func (r *ListLBTypesResponse) UnsafeGetTotalCount() uint32
UnsafeGetTotalCount should not be used Internal usage only
type ListLBsRequest ¶
type ListLBsRequest struct { // Region: region to target. If none is passed will use default region from the config. Region scw.Region `json:"-"` // Name: load Balancer name to filter for. Name *string `json:"-"` // OrderBy: sort order of Load Balancers in the response. // Default value: created_at_asc OrderBy ListLBsRequestOrderBy `json:"-"` // PageSize: number of Load Balancers to return. PageSize *uint32 `json:"-"` // Page: page number to return, from the paginated results. Page *int32 `json:"-"` // OrganizationID: organization ID to filter for, only Load Balancers from this Organization will be returned. OrganizationID *string `json:"-"` // ProjectID: project ID to filter for, only Load Balancers from this Project will be returned. ProjectID *string `json:"-"` }
type ListLBsRequestOrderBy ¶
type ListLBsRequestOrderBy string
func (ListLBsRequestOrderBy) MarshalJSON ¶
func (enum ListLBsRequestOrderBy) MarshalJSON() ([]byte, error)
func (ListLBsRequestOrderBy) String ¶
func (enum ListLBsRequestOrderBy) String() string
func (*ListLBsRequestOrderBy) UnmarshalJSON ¶
func (enum *ListLBsRequestOrderBy) UnmarshalJSON(data []byte) error
type ListLBsResponse ¶
type ListLBsResponse struct { // LBs: list of Load Balancer objects. LBs []*LB `json:"lbs"` // TotalCount: the total number of Load Balancer objects. TotalCount uint32 `json:"total_count"` }
ListLBsResponse: list lbs response.
func (*ListLBsResponse) UnsafeAppend ¶
func (r *ListLBsResponse) UnsafeAppend(res interface{}) (uint32, error)
UnsafeAppend should not be used Internal usage only
func (*ListLBsResponse) UnsafeGetTotalCount ¶
func (r *ListLBsResponse) UnsafeGetTotalCount() uint32
UnsafeGetTotalCount should not be used Internal usage only
type ListPrivateNetworksRequestOrderBy ¶
type ListPrivateNetworksRequestOrderBy string
func (ListPrivateNetworksRequestOrderBy) MarshalJSON ¶
func (enum ListPrivateNetworksRequestOrderBy) MarshalJSON() ([]byte, error)
func (ListPrivateNetworksRequestOrderBy) String ¶
func (enum ListPrivateNetworksRequestOrderBy) String() string
func (*ListPrivateNetworksRequestOrderBy) UnmarshalJSON ¶
func (enum *ListPrivateNetworksRequestOrderBy) UnmarshalJSON(data []byte) error
type ListRoutesRequest ¶
type ListRoutesRequest struct { // Region: region to target. If none is passed will use default region from the config. Region scw.Region `json:"-"` // OrderBy: sort order of routes in the response. // Default value: created_at_asc OrderBy ListRoutesRequestOrderBy `json:"-"` // PageSize: the number of route objects to return. PageSize *uint32 `json:"-"` // Page: the page number to return, from the paginated results. Page *int32 `json:"-"` // FrontendID: frontend ID to filter for, only Routes from this Frontend will be returned. FrontendID *string `json:"-"` }
type ListRoutesRequestOrderBy ¶
type ListRoutesRequestOrderBy string
func (ListRoutesRequestOrderBy) MarshalJSON ¶
func (enum ListRoutesRequestOrderBy) MarshalJSON() ([]byte, error)
func (ListRoutesRequestOrderBy) String ¶
func (enum ListRoutesRequestOrderBy) String() string
func (*ListRoutesRequestOrderBy) UnmarshalJSON ¶
func (enum *ListRoutesRequestOrderBy) UnmarshalJSON(data []byte) error
type ListRoutesResponse ¶
type ListRoutesResponse struct { // Routes: list of route objects. Routes []*Route `json:"routes"` // TotalCount: the total number of route objects. TotalCount uint32 `json:"total_count"` }
ListRoutesResponse: list routes response.
func (*ListRoutesResponse) UnsafeAppend ¶
func (r *ListRoutesResponse) UnsafeAppend(res interface{}) (uint32, error)
UnsafeAppend should not be used Internal usage only
func (*ListRoutesResponse) UnsafeGetTotalCount ¶
func (r *ListRoutesResponse) UnsafeGetTotalCount() uint32
UnsafeGetTotalCount should not be used Internal usage only
type ListSubscriberRequest ¶
type ListSubscriberRequest struct { // Region: region to target. If none is passed will use default region from the config. Region scw.Region `json:"-"` // OrderBy: sort order of subscribers in the response. // Default value: created_at_asc OrderBy ListSubscriberRequestOrderBy `json:"-"` // Page: the page number to return, from the paginated results. Page *int32 `json:"-"` // PageSize: the number of items to return. PageSize *uint32 `json:"-"` // Name: subscriber name to search for. Name *string `json:"-"` // OrganizationID: filter subscribers by Organization ID. OrganizationID *string `json:"-"` // ProjectID: filter subscribers by Project ID. ProjectID *string `json:"-"` }
type ListSubscriberRequestOrderBy ¶
type ListSubscriberRequestOrderBy string
func (ListSubscriberRequestOrderBy) MarshalJSON ¶
func (enum ListSubscriberRequestOrderBy) MarshalJSON() ([]byte, error)
func (ListSubscriberRequestOrderBy) String ¶
func (enum ListSubscriberRequestOrderBy) String() string
func (*ListSubscriberRequestOrderBy) UnmarshalJSON ¶
func (enum *ListSubscriberRequestOrderBy) UnmarshalJSON(data []byte) error
type ListSubscriberResponse ¶
type ListSubscriberResponse struct { // Subscribers: list of subscriber objects. Subscribers []*Subscriber `json:"subscribers"` // TotalCount: the total number of objects. TotalCount uint32 `json:"total_count"` }
ListSubscriberResponse: list subscriber response.
func (*ListSubscriberResponse) UnsafeAppend ¶
func (r *ListSubscriberResponse) UnsafeAppend(res interface{}) (uint32, error)
UnsafeAppend should not be used Internal usage only
func (*ListSubscriberResponse) UnsafeGetTotalCount ¶
func (r *ListSubscriberResponse) UnsafeGetTotalCount() uint32
UnsafeGetTotalCount should not be used Internal usage only
type MigrateLBRequest ¶
type MigrateLBRequest struct { // Region: region to target. If none is passed will use default region from the config. Region scw.Region `json:"-"` // LBID: load Balancer ID. LBID string `json:"-"` // Type: load Balancer type to migrate to (use the List all Load Balancer offer types endpoint to get a list of available offer types). Type string `json:"type"` }
type OnMarkedDownAction ¶
type OnMarkedDownAction string
func (OnMarkedDownAction) MarshalJSON ¶
func (enum OnMarkedDownAction) MarshalJSON() ([]byte, error)
func (OnMarkedDownAction) String ¶
func (enum OnMarkedDownAction) String() string
func (*OnMarkedDownAction) UnmarshalJSON ¶
func (enum *OnMarkedDownAction) UnmarshalJSON(data []byte) error
type PrivateNetwork ¶
type PrivateNetwork struct { // LB: load Balancer object which is attached to the Private Network. LB *LB `json:"lb"` // StaticConfig: object containing an array of a local IP address for the Load Balancer on this Private Network. // Precisely one of DHCPConfig, IpamConfig, StaticConfig must be set. StaticConfig *PrivateNetworkStaticConfig `json:"static_config,omitempty"` // DHCPConfig: defines whether to let DHCP assign IP addresses. // Precisely one of DHCPConfig, IpamConfig, StaticConfig must be set. DHCPConfig *PrivateNetworkDHCPConfig `json:"dhcp_config,omitempty"` // IpamConfig: for internal use only. // Precisely one of DHCPConfig, IpamConfig, StaticConfig must be set. IpamConfig *PrivateNetworkIpamConfig `json:"ipam_config,omitempty"` // PrivateNetworkID: private Network ID. PrivateNetworkID string `json:"private_network_id"` // Status: status of Private Network connection. // Default value: unknown Status PrivateNetworkStatus `json:"status"` // CreatedAt: date on which the Private Network was created. CreatedAt *time.Time `json:"created_at"` // UpdatedAt: date on which the PN was last updated. UpdatedAt *time.Time `json:"updated_at"` }
PrivateNetwork: private network.
type PrivateNetworkDHCPConfig ¶
type PrivateNetworkDHCPConfig struct { }
type PrivateNetworkIpamConfig ¶
type PrivateNetworkIpamConfig struct { }
type PrivateNetworkStaticConfig ¶
type PrivateNetworkStaticConfig struct { // IPAddress: array of a local IP address for the Load Balancer on this Private Network. IPAddress []string `json:"ip_address"` }
PrivateNetworkStaticConfig: private network. static config.
type PrivateNetworkStatus ¶
type PrivateNetworkStatus string
func (PrivateNetworkStatus) MarshalJSON ¶
func (enum PrivateNetworkStatus) MarshalJSON() ([]byte, error)
func (PrivateNetworkStatus) String ¶
func (enum PrivateNetworkStatus) String() string
func (*PrivateNetworkStatus) UnmarshalJSON ¶
func (enum *PrivateNetworkStatus) UnmarshalJSON(data []byte) error
type ProxyProtocol ¶
type ProxyProtocol string
ProxyProtocol: pROXY protocol to use between the Load Balancer and backend servers. Allows the backend servers to be informed of the client's real IP address. PROXY protocol must be supported by the backend servers' software. For more information on the different protocols available, see the [dedicated documentation](https://www.scaleway.com/en/docs/network/load-balancer/reference-content/configuring-load-balancer/#choosing-a-proxy-protocol).
func (ProxyProtocol) MarshalJSON ¶
func (enum ProxyProtocol) MarshalJSON() ([]byte, error)
func (ProxyProtocol) String ¶
func (enum ProxyProtocol) String() string
func (*ProxyProtocol) UnmarshalJSON ¶
func (enum *ProxyProtocol) UnmarshalJSON(data []byte) error
type ReleaseIPRequest ¶
type RemoveBackendServersRequest ¶
type RemoveBackendServersRequest struct { // Region: region to target. If none is passed will use default region from the config. Region scw.Region `json:"-"` // BackendID: backend ID. BackendID string `json:"-"` // ServerIP: list of IP addresses to remove from backend servers. ServerIP []string `json:"server_ip"` }
type Route ¶
type Route struct { // ID: route ID. ID string `json:"id"` // FrontendID: ID of the source frontend. FrontendID string `json:"frontend_id"` // BackendID: ID of the target backend. BackendID string `json:"backend_id"` // Match: object defining the match condition for a route to be applied. If an incoming client session matches the specified condition (i.e. it has a matching SNI value or HTTP Host header value), it will be passed to the target backend. Match *RouteMatch `json:"match"` // CreatedAt: date on which the route was created. CreatedAt *time.Time `json:"created_at"` // UpdatedAt: date on which the route was last updated. UpdatedAt *time.Time `json:"updated_at"` }
Route: route.
type RouteMatch ¶
type RouteMatch struct { // Sni: server Name Indication (SNI) value to match. // Value to match in the Server Name Indication TLS extension (SNI) field from an incoming connection made via an SSL/TLS transport layer. This field should be set for routes on TCP Load Balancers. // Precisely one of HostHeader, Sni must be set. Sni *string `json:"sni,omitempty"` // HostHeader: HTTP host header to match. // Value to match in the HTTP Host request header from an incoming connection. This field should be set for routes on HTTP Load Balancers. // Precisely one of HostHeader, Sni must be set. HostHeader *string `json:"host_header,omitempty"` }
RouteMatch: route. match.
type SSLCompatibilityLevel ¶
type SSLCompatibilityLevel string
func (SSLCompatibilityLevel) MarshalJSON ¶
func (enum SSLCompatibilityLevel) MarshalJSON() ([]byte, error)
func (SSLCompatibilityLevel) String ¶
func (enum SSLCompatibilityLevel) String() string
func (*SSLCompatibilityLevel) UnmarshalJSON ¶
func (enum *SSLCompatibilityLevel) UnmarshalJSON(data []byte) error
type SetACLsResponse ¶
type SetACLsResponse struct { // ACLs: list of ACL objects. ACLs []*ACL `json:"acls"` // TotalCount: the total number of ACL objects. TotalCount uint32 `json:"total_count"` }
SetACLsResponse: set acls response.
type SetBackendServersRequest ¶
type SetBackendServersRequest struct { // Region: region to target. If none is passed will use default region from the config. Region scw.Region `json:"-"` // BackendID: backend ID. BackendID string `json:"-"` // ServerIP: list of IP addresses for backend servers. Any other existing backend servers will be removed. ServerIP []string `json:"server_ip"` }
type StickySessionsType ¶
type StickySessionsType string
func (StickySessionsType) MarshalJSON ¶
func (enum StickySessionsType) MarshalJSON() ([]byte, error)
func (StickySessionsType) String ¶
func (enum StickySessionsType) String() string
func (*StickySessionsType) UnmarshalJSON ¶
func (enum *StickySessionsType) UnmarshalJSON(data []byte) error
type SubscribeToLBRequest ¶
type Subscriber ¶
type Subscriber struct { // ID: subscriber ID. ID string `json:"id"` // Name: subscriber name. Name string `json:"name"` // EmailConfig: email address of subscriber. // Precisely one of EmailConfig, WebhookConfig must be set. EmailConfig *SubscriberEmailConfig `json:"email_config,omitempty"` // WebhookConfig: webhook URI of subscriber. // Precisely one of EmailConfig, WebhookConfig must be set. WebhookConfig *SubscriberWebhookConfig `json:"webhook_config,omitempty"` }
Subscriber: subscriber.
type SubscriberEmailConfig ¶
type SubscriberEmailConfig struct { // Email: email address to send alerts to. Email string `json:"email"` }
SubscriberEmailConfig: subscriber. email config.
type SubscriberWebhookConfig ¶
type SubscriberWebhookConfig struct { // URI: URI to receive POST requests. URI string `json:"uri"` }
SubscriberWebhookConfig: webhook alert of subscriber. Subscriber. webhook config.
type UpdateACLRequest ¶
type UpdateACLRequest struct { // Region: region to target. If none is passed will use default region from the config. Region scw.Region `json:"-"` // ACLID: ACL ID. ACLID string `json:"-"` // Name: ACL name. Name string `json:"name"` // Action: action to take when incoming traffic matches an ACL filter. Action *ACLAction `json:"action"` // Match: ACL match filter object. One of `ip_subnet` or `http_filter` & `http_filter_value` are required. Match *ACLMatch `json:"match"` // Index: priority of this ACL (ACLs are applied in ascending order, 0 is the first ACL executed). Index int32 `json:"index"` // Description: ACL description. Description *string `json:"description"` }
type UpdateBackendRequest ¶
type UpdateBackendRequest struct { // Region: region to target. If none is passed will use default region from the config. Region scw.Region `json:"-"` // BackendID: backend ID. BackendID string `json:"-"` // Name: backend name. Name string `json:"name"` // ForwardProtocol: protocol to be used by the backend when forwarding traffic to backend servers. // Default value: tcp ForwardProtocol Protocol `json:"forward_protocol"` // ForwardPort: port to be used by the backend when forwarding traffic to backend servers. ForwardPort int32 `json:"forward_port"` // ForwardPortAlgorithm: load balancing algorithm to be used when determining which backend server to forward new traffic to. // Default value: roundrobin ForwardPortAlgorithm ForwardPortAlgorithm `json:"forward_port_algorithm"` // StickySessions: defines whether to activate sticky sessions (binding a particular session to a particular backend server) and the method to use if so. None disables sticky sessions. Cookie-based uses an HTTP cookie to stick a session to a backend server. Table-based uses the source (client) IP address to stick a session to a backend server. // Default value: none StickySessions StickySessionsType `json:"sticky_sessions"` // StickySessionsCookieName: cookie name for cookie-based sticky sessions. StickySessionsCookieName string `json:"sticky_sessions_cookie_name"` // Deprecated: SendProxyV2: deprecated in favor of proxy_protocol field. SendProxyV2 *bool `json:"send_proxy_v2,omitempty"` // TimeoutServer: maximum allowed time for a backend server to process a request. // Default value: 300000 TimeoutServer *time.Duration `json:"timeout_server"` // TimeoutConnect: maximum allowed time for establishing a connection to a backend server. // Default value: 5000 TimeoutConnect *time.Duration `json:"timeout_connect"` // TimeoutTunnel: maximum allowed tunnel inactivity time after Websocket is established (takes precedence over client and server timeout). // Default value: 900000 TimeoutTunnel *time.Duration `json:"timeout_tunnel"` // OnMarkedDownAction: action to take when a backend server is marked as down. // Default value: on_marked_down_action_none OnMarkedDownAction OnMarkedDownAction `json:"on_marked_down_action"` // ProxyProtocol: protocol to use between the Load Balancer and backend servers. Allows the backend servers to be informed of the client's real IP address. The PROXY protocol must be supported by the backend servers' software. // Default value: proxy_protocol_unknown ProxyProtocol ProxyProtocol `json:"proxy_protocol"` // FailoverHost: scaleway S3 bucket website to be served as failover if all backend servers are down, e.g. failover-website.s3-website.fr-par.scw.cloud. FailoverHost *string `json:"failover_host"` // SslBridging: defines whether to enable SSL bridging between the Load Balancer and backend servers. SslBridging *bool `json:"ssl_bridging"` // IgnoreSslServerVerify: defines whether the server certificate verification should be ignored. IgnoreSslServerVerify *bool `json:"ignore_ssl_server_verify"` // RedispatchAttemptCount: whether to use another backend server on each attempt. RedispatchAttemptCount *int32 `json:"redispatch_attempt_count"` // MaxRetries: number of retries when a backend server connection failed. MaxRetries *int32 `json:"max_retries"` // MaxConnections: maximum number of connections allowed per backend server. MaxConnections *int32 `json:"max_connections"` // TimeoutQueue: maximum time for a request to be left pending in queue when `max_connections` is reached. TimeoutQueue *scw.Duration `json:"timeout_queue"` }
func (UpdateBackendRequest) MarshalJSON ¶
func (m UpdateBackendRequest) MarshalJSON() ([]byte, error)
func (*UpdateBackendRequest) UnmarshalJSON ¶
func (m *UpdateBackendRequest) UnmarshalJSON(b []byte) error
type UpdateFrontendRequest ¶
type UpdateFrontendRequest struct { // Region: region to target. If none is passed will use default region from the config. Region scw.Region `json:"-"` // FrontendID: frontend ID. FrontendID string `json:"-"` // Name: frontend name. Name string `json:"name"` // InboundPort: port the frontend should listen on. InboundPort int32 `json:"inbound_port"` // BackendID: backend ID (ID of the backend the frontend should pass traffic to). BackendID string `json:"backend_id"` // TimeoutClient: maximum allowed inactivity time on the client side. // Default value: 300000 TimeoutClient *time.Duration `json:"timeout_client"` // Deprecated: CertificateID: certificate ID, deprecated in favor of certificate_ids array. CertificateID *string `json:"certificate_id,omitempty"` // CertificateIDs: list of SSL/TLS certificate IDs to bind to the frontend. CertificateIDs *[]string `json:"certificate_ids"` // EnableHTTP3: defines whether to enable HTTP/3 protocol on the frontend. EnableHTTP3 bool `json:"enable_http3"` }
func (UpdateFrontendRequest) MarshalJSON ¶
func (m UpdateFrontendRequest) MarshalJSON() ([]byte, error)
func (*UpdateFrontendRequest) UnmarshalJSON ¶
func (m *UpdateFrontendRequest) UnmarshalJSON(b []byte) error
type UpdateHealthCheckRequest ¶
type UpdateHealthCheckRequest struct { // Region: region to target. If none is passed will use default region from the config. Region scw.Region `json:"-"` // BackendID: backend ID. BackendID string `json:"-"` // Port: port to use for the backend server health check. Port int32 `json:"port"` // CheckDelay: time to wait between two consecutive health checks. CheckDelay *time.Duration `json:"check_delay"` // CheckTimeout: maximum time a backend server has to reply to the health check. CheckTimeout *time.Duration `json:"check_timeout"` // CheckMaxRetries: number of consecutive unsuccessful health checks after which the server will be considered dead. CheckMaxRetries int32 `json:"check_max_retries"` // CheckSendProxy: defines whether proxy protocol should be activated for the health check. CheckSendProxy bool `json:"check_send_proxy"` // TCPConfig: object to configure a basic TCP health check. // Precisely one of HTTPConfig, HTTPSConfig, LdapConfig, MysqlConfig, PgsqlConfig, RedisConfig, TCPConfig must be set. TCPConfig *HealthCheckTCPConfig `json:"tcp_config,omitempty"` // MysqlConfig: object to configure a MySQL health check. The check requires MySQL >=3.22, for older versions, use a TCP health check. // Precisely one of HTTPConfig, HTTPSConfig, LdapConfig, MysqlConfig, PgsqlConfig, RedisConfig, TCPConfig must be set. MysqlConfig *HealthCheckMysqlConfig `json:"mysql_config,omitempty"` // PgsqlConfig: object to configure a PostgreSQL health check. // Precisely one of HTTPConfig, HTTPSConfig, LdapConfig, MysqlConfig, PgsqlConfig, RedisConfig, TCPConfig must be set. PgsqlConfig *HealthCheckPgsqlConfig `json:"pgsql_config,omitempty"` // LdapConfig: object to configure an LDAP health check. The response is analyzed to find the LDAPv3 response message. // Precisely one of HTTPConfig, HTTPSConfig, LdapConfig, MysqlConfig, PgsqlConfig, RedisConfig, TCPConfig must be set. LdapConfig *HealthCheckLdapConfig `json:"ldap_config,omitempty"` // RedisConfig: object to configure a Redis health check. The response is analyzed to find the +PONG response message. // Precisely one of HTTPConfig, HTTPSConfig, LdapConfig, MysqlConfig, PgsqlConfig, RedisConfig, TCPConfig must be set. RedisConfig *HealthCheckRedisConfig `json:"redis_config,omitempty"` // HTTPConfig: object to configure an HTTP health check. // Precisely one of HTTPConfig, HTTPSConfig, LdapConfig, MysqlConfig, PgsqlConfig, RedisConfig, TCPConfig must be set. HTTPConfig *HealthCheckHTTPConfig `json:"http_config,omitempty"` // HTTPSConfig: object to configure an HTTPS health check. // Precisely one of HTTPConfig, HTTPSConfig, LdapConfig, MysqlConfig, PgsqlConfig, RedisConfig, TCPConfig must be set. HTTPSConfig *HealthCheckHTTPSConfig `json:"https_config,omitempty"` // TransientCheckDelay: time to wait between two consecutive health checks when a backend server is in a transient state (going UP or DOWN). // Default value: 0.5s TransientCheckDelay *scw.Duration `json:"transient_check_delay"` }
func (UpdateHealthCheckRequest) MarshalJSON ¶
func (m UpdateHealthCheckRequest) MarshalJSON() ([]byte, error)
func (*UpdateHealthCheckRequest) UnmarshalJSON ¶
func (m *UpdateHealthCheckRequest) UnmarshalJSON(b []byte) error
type UpdateIPRequest ¶
type UpdateLBRequest ¶
type UpdateLBRequest struct { // Region: region to target. If none is passed will use default region from the config. Region scw.Region `json:"-"` // LBID: load Balancer ID. LBID string `json:"-"` // Name: load Balancer name. Name string `json:"name"` // Description: load Balancer description. Description string `json:"description"` // Tags: list of tags for the Load Balancer. Tags []string `json:"tags"` // SslCompatibilityLevel: determines the minimal SSL version which needs to be supported on the client side, in an SSL/TLS offloading context. Intermediate is suitable for general-purpose servers with a variety of clients, recommended for almost all systems. Modern is suitable for services with clients that support TLS 1.3 and don't need backward compatibility. Old is compatible with a small number of very old clients and should be used only as a last resort. // Default value: ssl_compatibility_level_unknown SslCompatibilityLevel SSLCompatibilityLevel `json:"ssl_compatibility_level"` }
type UpdateRouteRequest ¶
type UpdateRouteRequest struct { // Region: region to target. If none is passed will use default region from the config. Region scw.Region `json:"-"` // RouteID: route ID. RouteID string `json:"-"` // BackendID: ID of the target backend for the route. BackendID string `json:"backend_id"` // Match: object defining the match condition for a route to be applied. If an incoming client session matches the specified condition (i.e. it has a matching SNI value or HTTP Host header value), it will be passed to the target backend. Match *RouteMatch `json:"match"` }
type UpdateSubscriberRequest ¶
type UpdateSubscriberRequest struct { // Region: region to target. If none is passed will use default region from the config. Region scw.Region `json:"-"` // SubscriberID: subscriber ID. SubscriberID string `json:"-"` // Name: subscriber name. Name string `json:"name"` // EmailConfig: email address configuration. // Precisely one of EmailConfig, WebhookConfig must be set. EmailConfig *SubscriberEmailConfig `json:"email_config,omitempty"` // WebhookConfig: webhook URI configuration. // Precisely one of EmailConfig, WebhookConfig must be set. WebhookConfig *SubscriberWebhookConfig `json:"webhook_config,omitempty"` }
type WaitForLBRequest ¶
type WaitForLBRequest struct { LBID string Region scw.Region Timeout *time.Duration RetryInterval *time.Duration }
WaitForLBRequest is used by WaitForLb method.
type ZonedAPI ¶
type ZonedAPI struct {
// contains filtered or unexported fields
}
ZonedAPI: this API allows you to manage your Scaleway Load Balancer services. Load Balancer API.
func NewZonedAPI ¶
NewZonedAPI returns a ZonedAPI object from a Scaleway client.
func (*ZonedAPI) AddBackendServers ¶
func (s *ZonedAPI) AddBackendServers(req *ZonedAPIAddBackendServersRequest, opts ...scw.RequestOption) (*Backend, error)
AddBackendServers: add a set of backend servers to a given backend. For a given backend specified by its backend ID, add a set of backend servers (identified by their IP addresses) it should forward traffic to. These will be appended to any existing set of backend servers for this backend.
func (*ZonedAPI) AttachPrivateNetwork ¶
func (s *ZonedAPI) AttachPrivateNetwork(req *ZonedAPIAttachPrivateNetworkRequest, opts ...scw.RequestOption) (*PrivateNetwork, error)
AttachPrivateNetwork: attach a Load Balancer to a Private Network. Attach a specified Load Balancer to a specified Private Network, defining a static or DHCP configuration for the Load Balancer on the network.
func (*ZonedAPI) CreateACL ¶
func (s *ZonedAPI) CreateACL(req *ZonedAPICreateACLRequest, opts ...scw.RequestOption) (*ACL, error)
CreateACL: create an ACL for a given frontend. Create a new ACL for a given frontend. Each ACL must have a name, an action to perform (allow or deny), and a match rule (the action is carried out when the incoming traffic matches the rule).
func (*ZonedAPI) CreateBackend ¶
func (s *ZonedAPI) CreateBackend(req *ZonedAPICreateBackendRequest, opts ...scw.RequestOption) (*Backend, error)
CreateBackend: create a backend for a given Load Balancer. Create a new backend for a given Load Balancer, specifying its full configuration including protocol, port and forwarding algorithm.
func (*ZonedAPI) CreateCertificate ¶
func (s *ZonedAPI) CreateCertificate(req *ZonedAPICreateCertificateRequest, opts ...scw.RequestOption) (*Certificate, error)
CreateCertificate: create an SSL/TLS certificate. Generate a new SSL/TLS certificate for a given Load Balancer. You can choose to create a Let's Encrypt certificate, or import a custom certificate.
func (*ZonedAPI) CreateFrontend ¶
func (s *ZonedAPI) CreateFrontend(req *ZonedAPICreateFrontendRequest, opts ...scw.RequestOption) (*Frontend, error)
CreateFrontend: create a frontend in a given Load Balancer. Create a new frontend for a given Load Balancer, specifying its configuration including the port it should listen on and the backend to attach it to.
func (*ZonedAPI) CreateIP ¶
func (s *ZonedAPI) CreateIP(req *ZonedAPICreateIPRequest, opts ...scw.RequestOption) (*IP, error)
CreateIP: create an IP address. Create a new Load Balancer flexible IP address, in the specified Scaleway Project. This can be attached to new Load Balancers created in the future.
func (*ZonedAPI) CreateLB ¶
func (s *ZonedAPI) CreateLB(req *ZonedAPICreateLBRequest, opts ...scw.RequestOption) (*LB, error)
CreateLB: create a Load Balancer. Create a new Load Balancer. Note that the Load Balancer will be created without frontends or backends; these must be created separately via the dedicated endpoints.
func (*ZonedAPI) CreateRoute ¶
func (s *ZonedAPI) CreateRoute(req *ZonedAPICreateRouteRequest, opts ...scw.RequestOption) (*Route, error)
CreateRoute: create a route. Create a new route on a given frontend. To configure a route, specify the backend to direct to if a certain condition is matched (based on the value of the SNI field or HTTP Host header).
func (*ZonedAPI) CreateSubscriber ¶
func (s *ZonedAPI) CreateSubscriber(req *ZonedAPICreateSubscriberRequest, opts ...scw.RequestOption) (*Subscriber, error)
CreateSubscriber: create a subscriber. Create a new subscriber, either with an email configuration or a webhook configuration, for a specified Scaleway Project.
func (*ZonedAPI) DeleteACL ¶
func (s *ZonedAPI) DeleteACL(req *ZonedAPIDeleteACLRequest, opts ...scw.RequestOption) error
DeleteACL: delete an ACL. Delete an ACL, specified by its ACL ID. Deleting an ACL is irreversible and cannot be undone.
func (*ZonedAPI) DeleteBackend ¶
func (s *ZonedAPI) DeleteBackend(req *ZonedAPIDeleteBackendRequest, opts ...scw.RequestOption) error
DeleteBackend: delete a backend of a given Load Balancer. Delete a backend of a given Load Balancer, specified by its backend ID. This action is irreversible and cannot be undone.
func (*ZonedAPI) DeleteCertificate ¶
func (s *ZonedAPI) DeleteCertificate(req *ZonedAPIDeleteCertificateRequest, opts ...scw.RequestOption) error
DeleteCertificate: delete an SSL/TLS certificate. Delete an SSL/TLS certificate, specified by its certificate ID. Deleting a certificate is irreversible and cannot be undone.
func (*ZonedAPI) DeleteFrontend ¶
func (s *ZonedAPI) DeleteFrontend(req *ZonedAPIDeleteFrontendRequest, opts ...scw.RequestOption) error
DeleteFrontend: delete a frontend. Delete a given frontend, specified by its frontend ID. This action is irreversible and cannot be undone.
func (*ZonedAPI) DeleteLB ¶
func (s *ZonedAPI) DeleteLB(req *ZonedAPIDeleteLBRequest, opts ...scw.RequestOption) error
DeleteLB: delete a Load Balancer. Delete an existing Load Balancer, specified by its Load Balancer ID. Deleting a Load Balancer is permanent, and cannot be undone. The Load Balancer's flexible IP address can either be deleted with the Load Balancer, or kept in your account for future use.
func (*ZonedAPI) DeleteRoute ¶
func (s *ZonedAPI) DeleteRoute(req *ZonedAPIDeleteRouteRequest, opts ...scw.RequestOption) error
DeleteRoute: delete a route. Delete an existing route, specified by its route ID. Deleting a route is permanent, and cannot be undone.
func (*ZonedAPI) DeleteSubscriber ¶
func (s *ZonedAPI) DeleteSubscriber(req *ZonedAPIDeleteSubscriberRequest, opts ...scw.RequestOption) error
DeleteSubscriber: delete a subscriber. Delete an existing subscriber, specified by its subscriber ID. Deleting a subscriber is permanent, and cannot be undone.
func (*ZonedAPI) DetachPrivateNetwork ¶
func (s *ZonedAPI) DetachPrivateNetwork(req *ZonedAPIDetachPrivateNetworkRequest, opts ...scw.RequestOption) error
DetachPrivateNetwork: detach Load Balancer from Private Network. Detach a specified Load Balancer from a specified Private Network.
func (*ZonedAPI) GetACL ¶
func (s *ZonedAPI) GetACL(req *ZonedAPIGetACLRequest, opts ...scw.RequestOption) (*ACL, error)
GetACL: get an ACL. Get information for a particular ACL, specified by its ACL ID. The response returns full details of the ACL, including its name, action, match rule and frontend.
func (*ZonedAPI) GetBackend ¶
func (s *ZonedAPI) GetBackend(req *ZonedAPIGetBackendRequest, opts ...scw.RequestOption) (*Backend, error)
GetBackend: get a backend of a given Load Balancer. Get the full details of a given backend, specified by its backend ID. The response contains the backend's full configuration parameters including protocol, port and forwarding algorithm.
func (*ZonedAPI) GetCertificate ¶
func (s *ZonedAPI) GetCertificate(req *ZonedAPIGetCertificateRequest, opts ...scw.RequestOption) (*Certificate, error)
GetCertificate: get an SSL/TLS certificate. Get information for a particular SSL/TLS certificate, specified by its certificate ID. The response returns full details of the certificate, including its type, main domain name, and alternative domain names.
func (*ZonedAPI) GetFrontend ¶
func (s *ZonedAPI) GetFrontend(req *ZonedAPIGetFrontendRequest, opts ...scw.RequestOption) (*Frontend, error)
GetFrontend: get a frontend. Get the full details of a given frontend, specified by its frontend ID. The response contains the frontend's full configuration parameters including the backend it is attached to, the port it listens on, and any certificates it has.
func (*ZonedAPI) GetIP ¶
func (s *ZonedAPI) GetIP(req *ZonedAPIGetIPRequest, opts ...scw.RequestOption) (*IP, error)
GetIP: get an IP address. Retrieve the full details of a Load Balancer flexible IP address.
func (*ZonedAPI) GetLB ¶
func (s *ZonedAPI) GetLB(req *ZonedAPIGetLBRequest, opts ...scw.RequestOption) (*LB, error)
GetLB: get a Load Balancer. Retrieve information about an existing Load Balancer, specified by its Load Balancer ID. Its full details, including name, status and IP address, are returned in the response object.
func (*ZonedAPI) GetLBStats
deprecated
func (s *ZonedAPI) GetLBStats(req *ZonedAPIGetLBStatsRequest, opts ...scw.RequestOption) (*LBStats, error)
Deprecated: GetLBStats: get usage statistics of a given Load Balancer.
func (*ZonedAPI) GetRoute ¶
func (s *ZonedAPI) GetRoute(req *ZonedAPIGetRouteRequest, opts ...scw.RequestOption) (*Route, error)
GetRoute: get a route. Retrieve information about an existing route, specified by its route ID. Its full details, origin frontend, target backend and match condition, are returned in the response object.
func (*ZonedAPI) GetSubscriber ¶
func (s *ZonedAPI) GetSubscriber(req *ZonedAPIGetSubscriberRequest, opts ...scw.RequestOption) (*Subscriber, error)
GetSubscriber: get a subscriber. Retrieve information about an existing subscriber, specified by its subscriber ID. Its full details, including name and email/webhook configuration, are returned in the response object.
func (*ZonedAPI) ListACLs ¶
func (s *ZonedAPI) ListACLs(req *ZonedAPIListACLsRequest, opts ...scw.RequestOption) (*ListACLResponse, error)
ListACLs: list ACLs for a given frontend. List the ACLs for a given frontend, specified by its frontend ID. The response is an array of ACL objects, each one representing an ACL that denies or allows traffic based on certain conditions.
func (*ZonedAPI) ListBackendStats ¶
func (s *ZonedAPI) ListBackendStats(req *ZonedAPIListBackendStatsRequest, opts ...scw.RequestOption) (*ListBackendStatsResponse, error)
ListBackendStats: list backend server statistics. List information about your backend servers, including their state and the result of their last health check.
func (*ZonedAPI) ListBackends ¶
func (s *ZonedAPI) ListBackends(req *ZonedAPIListBackendsRequest, opts ...scw.RequestOption) (*ListBackendsResponse, error)
ListBackends: list the backends of a given Load Balancer. List all the backends of a Load Balancer, specified by its Load Balancer ID. By default, results are returned in ascending order by the creation date of each backend. The response is an array of backend objects, containing full details of each one including their configuration parameters such as protocol, port and forwarding algorithm.
func (*ZonedAPI) ListCertificates ¶
func (s *ZonedAPI) ListCertificates(req *ZonedAPIListCertificatesRequest, opts ...scw.RequestOption) (*ListCertificatesResponse, error)
ListCertificates: list all SSL/TLS certificates on a given Load Balancer. List all the SSL/TLS certificates on a given Load Balancer. The response is an array of certificate objects, which are by default listed in ascending order of creation date.
func (*ZonedAPI) ListFrontends ¶
func (s *ZonedAPI) ListFrontends(req *ZonedAPIListFrontendsRequest, opts ...scw.RequestOption) (*ListFrontendsResponse, error)
ListFrontends: list frontends of a given Load Balancer. List all the frontends of a Load Balancer, specified by its Load Balancer ID. By default, results are returned in ascending order by the creation date of each frontend. The response is an array of frontend objects, containing full details of each one including the port they listen on and the backend they are attached to.
func (*ZonedAPI) ListIPs ¶
func (s *ZonedAPI) ListIPs(req *ZonedAPIListIPsRequest, opts ...scw.RequestOption) (*ListIPsResponse, error)
ListIPs: list IP addresses. List the Load Balancer flexible IP addresses held in the account (filtered by Organization ID or Project ID). It is also possible to search for a specific IP address.
func (*ZonedAPI) ListLBPrivateNetworks ¶
func (s *ZonedAPI) ListLBPrivateNetworks(req *ZonedAPIListLBPrivateNetworksRequest, opts ...scw.RequestOption) (*ListLBPrivateNetworksResponse, error)
ListLBPrivateNetworks: list Private Networks attached to a Load Balancer. List the Private Networks attached to a given Load Balancer, specified by its Load Balancer ID. The response is an array of Private Network objects, giving information including the status, configuration, name and creation date of each Private Network.
func (*ZonedAPI) ListLBTypes ¶
func (s *ZonedAPI) ListLBTypes(req *ZonedAPIListLBTypesRequest, opts ...scw.RequestOption) (*ListLBTypesResponse, error)
ListLBTypes: list all Load Balancer offer types. List all the different commercial Load Balancer types. The response includes an array of offer types, each with a name, description, and information about its stock availability.
func (*ZonedAPI) ListLBs ¶
func (s *ZonedAPI) ListLBs(req *ZonedAPIListLBsRequest, opts ...scw.RequestOption) (*ListLBsResponse, error)
ListLBs: list Load Balancers. List all Load Balancers in the specified zone, for a Scaleway Organization or Scaleway Project. By default, the Load Balancers returned in the list are ordered by creation date in ascending order, though this can be modified via the `order_by` field.
func (*ZonedAPI) ListRoutes ¶
func (s *ZonedAPI) ListRoutes(req *ZonedAPIListRoutesRequest, opts ...scw.RequestOption) (*ListRoutesResponse, error)
ListRoutes: list all routes. List all routes for a given frontend. The response is an array of routes, each one with a specified backend to direct to if a certain condition is matched (based on the value of the SNI field or HTTP Host header).
func (*ZonedAPI) ListSubscriber ¶
func (s *ZonedAPI) ListSubscriber(req *ZonedAPIListSubscriberRequest, opts ...scw.RequestOption) (*ListSubscriberResponse, error)
ListSubscriber: list all subscribers. List all subscribers to Load Balancer alerts. By default, returns all subscribers to Load Balancer alerts for the Organization associated with the authentication token used for the request.
func (*ZonedAPI) MigrateLB ¶
func (s *ZonedAPI) MigrateLB(req *ZonedAPIMigrateLBRequest, opts ...scw.RequestOption) (*LB, error)
MigrateLB: migrate a Load Balancer. Migrate an existing Load Balancer from one commercial type to another. Allows you to scale your Load Balancer up or down in terms of bandwidth or multi-cloud provision.
func (*ZonedAPI) ReleaseIP ¶
func (s *ZonedAPI) ReleaseIP(req *ZonedAPIReleaseIPRequest, opts ...scw.RequestOption) error
ReleaseIP: delete an IP address. Delete a Load Balancer flexible IP address. This action is irreversible, and cannot be undone.
func (*ZonedAPI) RemoveBackendServers ¶
func (s *ZonedAPI) RemoveBackendServers(req *ZonedAPIRemoveBackendServersRequest, opts ...scw.RequestOption) (*Backend, error)
RemoveBackendServers: remove a set of servers for a given backend. For a given backend specified by its backend ID, remove the specified backend servers (identified by their IP addresses) so that it no longer forwards traffic to them.
func (*ZonedAPI) SetACLs ¶
func (s *ZonedAPI) SetACLs(req *ZonedAPISetACLsRequest, opts ...scw.RequestOption) (*SetACLsResponse, error)
SetACLs: define all ACLs for a given frontend. For a given frontend specified by its frontend ID, define and add the complete set of ACLS for that frontend. Any existing ACLs on this frontend will be removed.
func (*ZonedAPI) SetBackendServers ¶
func (s *ZonedAPI) SetBackendServers(req *ZonedAPISetBackendServersRequest, opts ...scw.RequestOption) (*Backend, error)
SetBackendServers: define all backend servers for a given backend. For a given backend specified by its backend ID, define the set of backend servers (identified by their IP addresses) that it should forward traffic to. Any existing backend servers configured for this backend will be removed.
func (*ZonedAPI) SubscribeToLB ¶
func (s *ZonedAPI) SubscribeToLB(req *ZonedAPISubscribeToLBRequest, opts ...scw.RequestOption) (*LB, error)
SubscribeToLB: subscribe a subscriber to alerts for a given Load Balancer. Subscribe an existing subscriber to alerts for a given Load Balancer.
func (*ZonedAPI) UnsubscribeFromLB ¶
func (s *ZonedAPI) UnsubscribeFromLB(req *ZonedAPIUnsubscribeFromLBRequest, opts ...scw.RequestOption) (*LB, error)
UnsubscribeFromLB: unsubscribe a subscriber from alerts for a given Load Balancer. Unsubscribe a subscriber from alerts for a given Load Balancer. The subscriber is not deleted, and can be resubscribed in the future if necessary.
func (*ZonedAPI) UpdateACL ¶
func (s *ZonedAPI) UpdateACL(req *ZonedAPIUpdateACLRequest, opts ...scw.RequestOption) (*ACL, error)
UpdateACL: update an ACL. Update a particular ACL, specified by its ACL ID. You can update details including its name, action and match rule.
func (*ZonedAPI) UpdateBackend ¶
func (s *ZonedAPI) UpdateBackend(req *ZonedAPIUpdateBackendRequest, opts ...scw.RequestOption) (*Backend, error)
UpdateBackend: update a backend of a given Load Balancer. Update a backend of a given Load Balancer, specified by its backend ID. Note that the request type is PUT and not PATCH. You must set all parameters.
func (*ZonedAPI) UpdateCertificate ¶
func (s *ZonedAPI) UpdateCertificate(req *ZonedAPIUpdateCertificateRequest, opts ...scw.RequestOption) (*Certificate, error)
UpdateCertificate: update an SSL/TLS certificate. Update the name of a particular SSL/TLS certificate, specified by its certificate ID.
func (*ZonedAPI) UpdateFrontend ¶
func (s *ZonedAPI) UpdateFrontend(req *ZonedAPIUpdateFrontendRequest, opts ...scw.RequestOption) (*Frontend, error)
UpdateFrontend: update a frontend. Update a given frontend, specified by its frontend ID. You can update configuration parameters including its name and the port it listens on. Note that the request type is PUT and not PATCH. You must set all parameters.
func (*ZonedAPI) UpdateHealthCheck ¶
func (s *ZonedAPI) UpdateHealthCheck(req *ZonedAPIUpdateHealthCheckRequest, opts ...scw.RequestOption) (*HealthCheck, error)
UpdateHealthCheck: update a health check for a given backend. Update the configuration of the health check performed by a given backend to verify the health of its backend servers, identified by its backend ID. Note that the request type is PUT and not PATCH. You must set all parameters.
func (*ZonedAPI) UpdateIP ¶
func (s *ZonedAPI) UpdateIP(req *ZonedAPIUpdateIPRequest, opts ...scw.RequestOption) (*IP, error)
UpdateIP: update an IP address. Update the reverse DNS of a Load Balancer flexible IP address.
func (*ZonedAPI) UpdateLB ¶
func (s *ZonedAPI) UpdateLB(req *ZonedAPIUpdateLBRequest, opts ...scw.RequestOption) (*LB, error)
UpdateLB: update a Load Balancer. Update the parameters of an existing Load Balancer, specified by its Load Balancer ID. Note that the request type is PUT and not PATCH. You must set all parameters.
func (*ZonedAPI) UpdateRoute ¶
func (s *ZonedAPI) UpdateRoute(req *ZonedAPIUpdateRouteRequest, opts ...scw.RequestOption) (*Route, error)
UpdateRoute: update a route. Update the configuration of an existing route, specified by its route ID.
func (*ZonedAPI) UpdateSubscriber ¶
func (s *ZonedAPI) UpdateSubscriber(req *ZonedAPIUpdateSubscriberRequest, opts ...scw.RequestOption) (*Subscriber, error)
UpdateSubscriber: update a subscriber. Update the parameters of a given subscriber (e.g. name, webhook configuration, email configuration), specified by its subscriber ID.
func (*ZonedAPI) WaitForLBCertificate ¶
func (s *ZonedAPI) WaitForLBCertificate(req *ZonedAPIWaitForLBCertificateRequest, opts ...scw.RequestOption) (*Certificate, error)
WaitForLBCertificate waits for the certificate to be in a "terminal state"
func (*ZonedAPI) WaitForLBPN ¶
func (s *ZonedAPI) WaitForLBPN(req *ZonedAPIWaitForLBPNRequest, opts ...scw.RequestOption) ([]*PrivateNetwork, error)
WaitForLBPN waits for the private_network attached status on a load balancer to be in a "terminal state" before returning. This function can be used to wait for an attached private_network to be ready for example.
func (*ZonedAPI) WaitForLb ¶
func (s *ZonedAPI) WaitForLb(req *ZonedAPIWaitForLBRequest, opts ...scw.RequestOption) (*LB, error)
WaitForLb waits for the lb to be in a "terminal state" before returning. This function can be used to wait for a lb to be ready for example.
func (*ZonedAPI) WaitForLbInstances ¶
func (s *ZonedAPI) WaitForLbInstances(req *ZonedAPIWaitForLBInstancesRequest, opts ...scw.RequestOption) (*LB, error)
WaitForLbInstances waits for the lb to be in a "terminal state" and the attached instances before returning.
type ZonedAPIAddBackendServersRequest ¶
type ZonedAPIAddBackendServersRequest struct { // Zone: zone to target. If none is passed will use default zone from the config. Zone scw.Zone `json:"-"` // BackendID: backend ID. BackendID string `json:"-"` // ServerIP: list of IP addresses to add to backend servers. ServerIP []string `json:"server_ip"` }
type ZonedAPIAttachPrivateNetworkRequest ¶
type ZonedAPIAttachPrivateNetworkRequest struct { // Zone: zone to target. If none is passed will use default zone from the config. Zone scw.Zone `json:"-"` // LBID: load Balancer ID. LBID string `json:"-"` // PrivateNetworkID: private Network ID. PrivateNetworkID string `json:"-"` // StaticConfig: object containing an array of a local IP address for the Load Balancer on this Private Network. // Precisely one of DHCPConfig, IpamConfig, StaticConfig must be set. StaticConfig *PrivateNetworkStaticConfig `json:"static_config,omitempty"` // DHCPConfig: defines whether to let DHCP assign IP addresses. // Precisely one of DHCPConfig, IpamConfig, StaticConfig must be set. DHCPConfig *PrivateNetworkDHCPConfig `json:"dhcp_config,omitempty"` // IpamConfig: for internal use only. // Precisely one of DHCPConfig, IpamConfig, StaticConfig must be set. IpamConfig *PrivateNetworkIpamConfig `json:"ipam_config,omitempty"` }
type ZonedAPICreateACLRequest ¶
type ZonedAPICreateACLRequest struct { // Zone: zone to target. If none is passed will use default zone from the config. Zone scw.Zone `json:"-"` // FrontendID: frontend ID to attach the ACL to. FrontendID string `json:"-"` // Name: ACL name. Name string `json:"name"` // Action: action to take when incoming traffic matches an ACL filter. Action *ACLAction `json:"action"` // Match: ACL match filter object. One of `ip_subnet` or `http_filter` & `http_filter_value` are required. Match *ACLMatch `json:"match"` // Index: priority of this ACL (ACLs are applied in ascending order, 0 is the first ACL executed). Index int32 `json:"index"` // Description: ACL description. Description string `json:"description"` }
type ZonedAPICreateBackendRequest ¶
type ZonedAPICreateBackendRequest struct { // Zone: zone to target. If none is passed will use default zone from the config. Zone scw.Zone `json:"-"` // LBID: load Balancer ID. LBID string `json:"-"` // Name: name for the backend. Name string `json:"name"` // ForwardProtocol: protocol to be used by the backend when forwarding traffic to backend servers. // Default value: tcp ForwardProtocol Protocol `json:"forward_protocol"` // ForwardPort: port to be used by the backend when forwarding traffic to backend servers. ForwardPort int32 `json:"forward_port"` // ForwardPortAlgorithm: load balancing algorithm to be used when determining which backend server to forward new traffic to. // Default value: roundrobin ForwardPortAlgorithm ForwardPortAlgorithm `json:"forward_port_algorithm"` // StickySessions: defines whether to activate sticky sessions (binding a particular session to a particular backend server) and the method to use if so. None disables sticky sessions. Cookie-based uses an HTTP cookie TO stick a session to a backend server. Table-based uses the source (client) IP address to stick a session to a backend server. // Default value: none StickySessions StickySessionsType `json:"sticky_sessions"` // StickySessionsCookieName: cookie name for cookie-based sticky sessions. StickySessionsCookieName string `json:"sticky_sessions_cookie_name"` // HealthCheck: object defining the health check to be carried out by the backend when checking the status and health of backend servers. HealthCheck *HealthCheck `json:"health_check"` // ServerIP: list of backend server IP addresses (IPv4 or IPv6) the backend should forward traffic to. ServerIP []string `json:"server_ip"` // Deprecated: SendProxyV2: deprecated in favor of proxy_protocol field. SendProxyV2 *bool `json:"send_proxy_v2,omitempty"` // TimeoutServer: maximum allowed time for a backend server to process a request. // Default value: 300000 TimeoutServer *time.Duration `json:"timeout_server"` // TimeoutConnect: maximum allowed time for establishing a connection to a backend server. // Default value: 5000 TimeoutConnect *time.Duration `json:"timeout_connect"` // TimeoutTunnel: maximum allowed tunnel inactivity time after Websocket is established (takes precedence over client and server timeout). // Default value: 900000 TimeoutTunnel *time.Duration `json:"timeout_tunnel"` // OnMarkedDownAction: action to take when a backend server is marked as down. // Default value: on_marked_down_action_none OnMarkedDownAction OnMarkedDownAction `json:"on_marked_down_action"` // ProxyProtocol: protocol to use between the Load Balancer and backend servers. Allows the backend servers to be informed of the client's real IP address. The PROXY protocol must be supported by the backend servers' software. // Default value: proxy_protocol_unknown ProxyProtocol ProxyProtocol `json:"proxy_protocol"` // FailoverHost: scaleway S3 bucket website to be served as failover if all backend servers are down, e.g. failover-website.s3-website.fr-par.scw.cloud. FailoverHost *string `json:"failover_host"` // SslBridging: defines whether to enable SSL bridging between the Load Balancer and backend servers. SslBridging *bool `json:"ssl_bridging"` // IgnoreSslServerVerify: defines whether the server certificate verification should be ignored. IgnoreSslServerVerify *bool `json:"ignore_ssl_server_verify"` // RedispatchAttemptCount: whether to use another backend server on each attempt. RedispatchAttemptCount *int32 `json:"redispatch_attempt_count"` // MaxRetries: number of retries when a backend server connection failed. MaxRetries *int32 `json:"max_retries"` // MaxConnections: maximum number of connections allowed per backend server. MaxConnections *int32 `json:"max_connections"` // TimeoutQueue: maximum time for a request to be left pending in queue when `max_connections` is reached. TimeoutQueue *scw.Duration `json:"timeout_queue"` }
func (ZonedAPICreateBackendRequest) MarshalJSON ¶
func (m ZonedAPICreateBackendRequest) MarshalJSON() ([]byte, error)
func (*ZonedAPICreateBackendRequest) UnmarshalJSON ¶
func (m *ZonedAPICreateBackendRequest) UnmarshalJSON(b []byte) error
type ZonedAPICreateCertificateRequest ¶
type ZonedAPICreateCertificateRequest struct { // Zone: zone to target. If none is passed will use default zone from the config. Zone scw.Zone `json:"-"` // LBID: load Balancer ID. LBID string `json:"-"` // Name: name for the certificate. Name string `json:"name"` // Letsencrypt: object to define a new Let's Encrypt certificate to be generated. // Precisely one of CustomCertificate, Letsencrypt must be set. Letsencrypt *CreateCertificateRequestLetsencryptConfig `json:"letsencrypt,omitempty"` // CustomCertificate: object to define an existing custom certificate to be imported. // Precisely one of CustomCertificate, Letsencrypt must be set. CustomCertificate *CreateCertificateRequestCustomCertificate `json:"custom_certificate,omitempty"` }
type ZonedAPICreateFrontendRequest ¶
type ZonedAPICreateFrontendRequest struct { // Zone: zone to target. If none is passed will use default zone from the config. Zone scw.Zone `json:"-"` // LBID: load Balancer ID (ID of the Load Balancer to attach the frontend to). LBID string `json:"-"` // Name: name for the frontend. Name string `json:"name"` // InboundPort: port the frontend should listen on. InboundPort int32 `json:"inbound_port"` // BackendID: backend ID (ID of the backend the frontend should pass traffic to). BackendID string `json:"backend_id"` // TimeoutClient: maximum allowed inactivity time on the client side. // Default value: 300000 TimeoutClient *time.Duration `json:"timeout_client"` // Deprecated: CertificateID: certificate ID, deprecated in favor of certificate_ids array. CertificateID *string `json:"certificate_id,omitempty"` // CertificateIDs: list of SSL/TLS certificate IDs to bind to the frontend. CertificateIDs *[]string `json:"certificate_ids"` // EnableHTTP3: defines whether to enable HTTP/3 protocol on the frontend. EnableHTTP3 bool `json:"enable_http3"` }
func (ZonedAPICreateFrontendRequest) MarshalJSON ¶
func (m ZonedAPICreateFrontendRequest) MarshalJSON() ([]byte, error)
func (*ZonedAPICreateFrontendRequest) UnmarshalJSON ¶
func (m *ZonedAPICreateFrontendRequest) UnmarshalJSON(b []byte) error
type ZonedAPICreateIPRequest ¶
type ZonedAPICreateIPRequest struct { // Zone: zone to target. If none is passed will use default zone from the config. Zone scw.Zone `json:"-"` // Deprecated: OrganizationID: organization ID of the Organization where the IP address should be created. // Precisely one of OrganizationID, ProjectID must be set. OrganizationID *string `json:"organization_id,omitempty"` // ProjectID: project ID of the Project where the IP address should be created. // Precisely one of OrganizationID, ProjectID must be set. ProjectID *string `json:"project_id,omitempty"` // Reverse: reverse DNS (domain name) for the IP address. Reverse *string `json:"reverse"` }
type ZonedAPICreateLBRequest ¶
type ZonedAPICreateLBRequest struct { // Zone: zone to target. If none is passed will use default zone from the config. Zone scw.Zone `json:"-"` // Deprecated: OrganizationID: scaleway Organization to create the Load Balancer in. // Precisely one of OrganizationID, ProjectID must be set. OrganizationID *string `json:"organization_id,omitempty"` // ProjectID: scaleway Project to create the Load Balancer in. // Precisely one of OrganizationID, ProjectID must be set. ProjectID *string `json:"project_id,omitempty"` // Name: name for the Load Balancer. Name string `json:"name"` // Description: description for the Load Balancer. Description string `json:"description"` // IPID: ID of an existing flexible IP address to attach to the Load Balancer. IPID *string `json:"ip_id"` // Tags: list of tags for the Load Balancer. Tags []string `json:"tags"` // Type: load Balancer commercial offer type. Use the Load Balancer types endpoint to retrieve a list of available offer types. Type string `json:"type"` // SslCompatibilityLevel: determines the minimal SSL version which needs to be supported on the client side, in an SSL/TLS offloading context. Intermediate is suitable for general-purpose servers with a variety of clients, recommended for almost all systems. Modern is suitable for services with clients that support TLS 1.3 and do not need backward compatibility. Old is compatible with a small number of very old clients and should be used only as a last resort. // Default value: ssl_compatibility_level_unknown SslCompatibilityLevel SSLCompatibilityLevel `json:"ssl_compatibility_level"` }
type ZonedAPICreateRouteRequest ¶
type ZonedAPICreateRouteRequest struct { // Zone: zone to target. If none is passed will use default zone from the config. Zone scw.Zone `json:"-"` // FrontendID: ID of the source frontend to create the route on. FrontendID string `json:"frontend_id"` // BackendID: ID of the target backend for the route. BackendID string `json:"backend_id"` // Match: object defining the match condition for a route to be applied. If an incoming client session matches the specified condition (i.e. it has a matching SNI value or HTTP Host header value), it will be passed to the target backend. Match *RouteMatch `json:"match"` }
type ZonedAPICreateSubscriberRequest ¶
type ZonedAPICreateSubscriberRequest struct { // Zone: zone to target. If none is passed will use default zone from the config. Zone scw.Zone `json:"-"` // Name: subscriber name. Name string `json:"name"` // EmailConfig: email address configuration. // Precisely one of EmailConfig, WebhookConfig must be set. EmailConfig *SubscriberEmailConfig `json:"email_config,omitempty"` // WebhookConfig: webHook URI configuration. // Precisely one of EmailConfig, WebhookConfig must be set. WebhookConfig *SubscriberWebhookConfig `json:"webhook_config,omitempty"` // Deprecated: OrganizationID: organization ID to create the subscriber in. // Precisely one of OrganizationID, ProjectID must be set. OrganizationID *string `json:"organization_id,omitempty"` // ProjectID: project ID to create the subscriber in. // Precisely one of OrganizationID, ProjectID must be set. ProjectID *string `json:"project_id,omitempty"` }
type ZonedAPIDeleteLBRequest ¶
type ZonedAPIDeleteLBRequest struct { // Zone: zone to target. If none is passed will use default zone from the config. Zone scw.Zone `json:"-"` // LBID: ID of the Load Balancer to delete. LBID string `json:"-"` // ReleaseIP: defines whether the Load Balancer's flexible IP should be deleted. Set to true to release the flexible IP, or false to keep it available in your account for future Load Balancers. ReleaseIP bool `json:"-"` }
type ZonedAPIDetachPrivateNetworkRequest ¶
type ZonedAPIDetachPrivateNetworkRequest struct { // Zone: zone to target. If none is passed will use default zone from the config. Zone scw.Zone `json:"-"` // LBID: load balancer ID. LBID string `json:"-"` // PrivateNetworkID: set your instance private network id. PrivateNetworkID string `json:"-"` }
type ZonedAPIGetACLRequest ¶
type ZonedAPIGetIPRequest ¶
type ZonedAPIGetLBRequest ¶
type ZonedAPIGetRouteRequest ¶
type ZonedAPIListACLsRequest ¶
type ZonedAPIListACLsRequest struct { // Zone: zone to target. If none is passed will use default zone from the config. Zone scw.Zone `json:"-"` // FrontendID: frontend ID (ACLs attached to this frontend will be returned in the response). FrontendID string `json:"-"` // OrderBy: sort order of ACLs in the response. // Default value: created_at_asc OrderBy ListACLRequestOrderBy `json:"-"` // Page: the page number to return, from the paginated results. Page *int32 `json:"-"` // PageSize: the number of ACLs to return. PageSize *uint32 `json:"-"` // Name: ACL name to filter for. Name *string `json:"-"` }
type ZonedAPIListBackendStatsRequest ¶
type ZonedAPIListBackendStatsRequest struct { // Zone: zone to target. If none is passed will use default zone from the config. Zone scw.Zone `json:"-"` // LBID: load Balancer ID. LBID string `json:"-"` // Page: the page number to return, from the paginated results. Page *int32 `json:"-"` // PageSize: number of items to return. PageSize *uint32 `json:"-"` }
type ZonedAPIListBackendsRequest ¶
type ZonedAPIListBackendsRequest struct { // Zone: zone to target. If none is passed will use default zone from the config. Zone scw.Zone `json:"-"` // LBID: load Balancer ID. LBID string `json:"-"` // Name: name of the backend to filter for. Name *string `json:"-"` // OrderBy: sort order of backends in the response. // Default value: created_at_asc OrderBy ListBackendsRequestOrderBy `json:"-"` // Page: the page number to return, from the paginated results. Page *int32 `json:"-"` // PageSize: number of backends to return. PageSize *uint32 `json:"-"` }
type ZonedAPIListCertificatesRequest ¶
type ZonedAPIListCertificatesRequest struct { // Zone: zone to target. If none is passed will use default zone from the config. Zone scw.Zone `json:"-"` // LBID: load Balancer ID. LBID string `json:"-"` // OrderBy: sort order of certificates in the response. // Default value: created_at_asc OrderBy ListCertificatesRequestOrderBy `json:"-"` // Page: the page number to return, from the paginated results. Page *int32 `json:"-"` // PageSize: number of certificates to return. PageSize *uint32 `json:"-"` // Name: certificate name to filter for, only certificates of this name will be returned. Name *string `json:"-"` }
type ZonedAPIListFrontendsRequest ¶
type ZonedAPIListFrontendsRequest struct { // Zone: zone to target. If none is passed will use default zone from the config. Zone scw.Zone `json:"-"` // LBID: load Balancer ID. LBID string `json:"-"` // Name: name of the frontend to filter for. Name *string `json:"-"` // OrderBy: sort order of frontends in the response. // Default value: created_at_asc OrderBy ListFrontendsRequestOrderBy `json:"-"` // Page: the page number to return, from the paginated results. Page *int32 `json:"-"` // PageSize: number of frontends to return. PageSize *uint32 `json:"-"` }
type ZonedAPIListIPsRequest ¶
type ZonedAPIListIPsRequest struct { // Zone: zone to target. If none is passed will use default zone from the config. Zone scw.Zone `json:"-"` // Page: the page number to return, from the paginated results. Page *int32 `json:"-"` // PageSize: number of IP addresses to return. PageSize *uint32 `json:"-"` // IPAddress: IP address to filter for. IPAddress *string `json:"-"` // OrganizationID: organization ID to filter for, only Load Balancer IP addresses from this Organization will be returned. OrganizationID *string `json:"-"` // ProjectID: project ID to filter for, only Load Balancer IP addresses from this Project will be returned. ProjectID *string `json:"-"` }
type ZonedAPIListLBPrivateNetworksRequest ¶
type ZonedAPIListLBPrivateNetworksRequest struct { // Zone: zone to target. If none is passed will use default zone from the config. Zone scw.Zone `json:"-"` // LBID: load Balancer ID. LBID string `json:"-"` // OrderBy: sort order of Private Network objects in the response. // Default value: created_at_asc OrderBy ListPrivateNetworksRequestOrderBy `json:"-"` // PageSize: number of objects to return. PageSize *uint32 `json:"-"` // Page: the page number to return, from the paginated results. Page *int32 `json:"-"` }
type ZonedAPIListLBTypesRequest ¶
type ZonedAPIListLBTypesRequest struct { // Zone: zone to target. If none is passed will use default zone from the config. Zone scw.Zone `json:"-"` // Page: the page number to return, from the paginated results. Page *int32 `json:"-"` // PageSize: the number of items to return. PageSize *uint32 `json:"-"` }
type ZonedAPIListLBsRequest ¶
type ZonedAPIListLBsRequest struct { // Zone: zone to target. If none is passed will use default zone from the config. Zone scw.Zone `json:"-"` // Name: load Balancer name to filter for. Name *string `json:"-"` // OrderBy: sort order of Load Balancers in the response. // Default value: created_at_asc OrderBy ListLBsRequestOrderBy `json:"-"` // PageSize: number of Load Balancers to return. PageSize *uint32 `json:"-"` // Page: page number to return, from the paginated results. Page *int32 `json:"-"` // OrganizationID: organization ID to filter for, only Load Balancers from this Organization will be returned. OrganizationID *string `json:"-"` // ProjectID: project ID to filter for, only Load Balancers from this Project will be returned. ProjectID *string `json:"-"` }
type ZonedAPIListRoutesRequest ¶
type ZonedAPIListRoutesRequest struct { // Zone: zone to target. If none is passed will use default zone from the config. Zone scw.Zone `json:"-"` // OrderBy: sort order of routes in the response. // Default value: created_at_asc OrderBy ListRoutesRequestOrderBy `json:"-"` // PageSize: the number of route objects to return. PageSize *uint32 `json:"-"` // Page: the page number to return, from the paginated results. Page *int32 `json:"-"` // FrontendID: frontend ID to filter for, only Routes from this Frontend will be returned. FrontendID *string `json:"-"` }
type ZonedAPIListSubscriberRequest ¶
type ZonedAPIListSubscriberRequest struct { // Zone: zone to target. If none is passed will use default zone from the config. Zone scw.Zone `json:"-"` // OrderBy: sort order of subscribers in the response. // Default value: created_at_asc OrderBy ListSubscriberRequestOrderBy `json:"-"` // Page: the page number to return, from the paginated results. Page *int32 `json:"-"` // PageSize: the number of items to return. PageSize *uint32 `json:"-"` // Name: subscriber name to search for. Name *string `json:"-"` // OrganizationID: filter subscribers by Organization ID. OrganizationID *string `json:"-"` // ProjectID: filter subscribers by Project ID. ProjectID *string `json:"-"` }
type ZonedAPIMigrateLBRequest ¶
type ZonedAPIMigrateLBRequest struct { // Zone: zone to target. If none is passed will use default zone from the config. Zone scw.Zone `json:"-"` // LBID: load Balancer ID. LBID string `json:"-"` // Type: load Balancer type to migrate to (use the List all Load Balancer offer types endpoint to get a list of available offer types). Type string `json:"type"` }
type ZonedAPIRemoveBackendServersRequest ¶
type ZonedAPIRemoveBackendServersRequest struct { // Zone: zone to target. If none is passed will use default zone from the config. Zone scw.Zone `json:"-"` // BackendID: backend ID. BackendID string `json:"-"` // ServerIP: list of IP addresses to remove from backend servers. ServerIP []string `json:"server_ip"` }
type ZonedAPISetACLsRequest ¶
type ZonedAPISetACLsRequest struct { // Zone: zone to target. If none is passed will use default zone from the config. Zone scw.Zone `json:"-"` // FrontendID: frontend ID. FrontendID string `json:"-"` // ACLs: list of ACLs for this frontend. Any other existing ACLs on this frontend will be removed. ACLs []*ACLSpec `json:"acls"` }
type ZonedAPISetBackendServersRequest ¶
type ZonedAPISetBackendServersRequest struct { // Zone: zone to target. If none is passed will use default zone from the config. Zone scw.Zone `json:"-"` // BackendID: backend ID. BackendID string `json:"-"` // ServerIP: list of IP addresses for backend servers. Any other existing backend servers will be removed. ServerIP []string `json:"server_ip"` }
type ZonedAPIUpdateACLRequest ¶
type ZonedAPIUpdateACLRequest struct { // Zone: zone to target. If none is passed will use default zone from the config. Zone scw.Zone `json:"-"` // ACLID: ACL ID. ACLID string `json:"-"` // Name: ACL name. Name string `json:"name"` // Action: action to take when incoming traffic matches an ACL filter. Action *ACLAction `json:"action"` // Match: ACL match filter object. One of `ip_subnet` or `http_filter` & `http_filter_value` are required. Match *ACLMatch `json:"match"` // Index: priority of this ACL (ACLs are applied in ascending order, 0 is the first ACL executed). Index int32 `json:"index"` // Description: ACL description. Description *string `json:"description"` }
type ZonedAPIUpdateBackendRequest ¶
type ZonedAPIUpdateBackendRequest struct { // Zone: zone to target. If none is passed will use default zone from the config. Zone scw.Zone `json:"-"` // BackendID: backend ID. BackendID string `json:"-"` // Name: backend name. Name string `json:"name"` // ForwardProtocol: protocol to be used by the backend when forwarding traffic to backend servers. // Default value: tcp ForwardProtocol Protocol `json:"forward_protocol"` // ForwardPort: port to be used by the backend when forwarding traffic to backend servers. ForwardPort int32 `json:"forward_port"` // ForwardPortAlgorithm: load balancing algorithm to be used when determining which backend server to forward new traffic to. // Default value: roundrobin ForwardPortAlgorithm ForwardPortAlgorithm `json:"forward_port_algorithm"` // StickySessions: defines whether to activate sticky sessions (binding a particular session to a particular backend server) and the method to use if so. None disables sticky sessions. Cookie-based uses an HTTP cookie to stick a session to a backend server. Table-based uses the source (client) IP address to stick a session to a backend server. // Default value: none StickySessions StickySessionsType `json:"sticky_sessions"` // StickySessionsCookieName: cookie name for cookie-based sticky sessions. StickySessionsCookieName string `json:"sticky_sessions_cookie_name"` // Deprecated: SendProxyV2: deprecated in favor of proxy_protocol field. SendProxyV2 *bool `json:"send_proxy_v2,omitempty"` // TimeoutServer: maximum allowed time for a backend server to process a request. // Default value: 300000 TimeoutServer *time.Duration `json:"timeout_server"` // TimeoutConnect: maximum allowed time for establishing a connection to a backend server. // Default value: 5000 TimeoutConnect *time.Duration `json:"timeout_connect"` // TimeoutTunnel: maximum allowed tunnel inactivity time after Websocket is established (takes precedence over client and server timeout). // Default value: 900000 TimeoutTunnel *time.Duration `json:"timeout_tunnel"` // OnMarkedDownAction: action to take when a backend server is marked as down. // Default value: on_marked_down_action_none OnMarkedDownAction OnMarkedDownAction `json:"on_marked_down_action"` // ProxyProtocol: protocol to use between the Load Balancer and backend servers. Allows the backend servers to be informed of the client's real IP address. The PROXY protocol must be supported by the backend servers' software. // Default value: proxy_protocol_unknown ProxyProtocol ProxyProtocol `json:"proxy_protocol"` // FailoverHost: scaleway S3 bucket website to be served as failover if all backend servers are down, e.g. failover-website.s3-website.fr-par.scw.cloud. FailoverHost *string `json:"failover_host"` // SslBridging: defines whether to enable SSL bridging between the Load Balancer and backend servers. SslBridging *bool `json:"ssl_bridging"` // IgnoreSslServerVerify: defines whether the server certificate verification should be ignored. IgnoreSslServerVerify *bool `json:"ignore_ssl_server_verify"` // RedispatchAttemptCount: whether to use another backend server on each attempt. RedispatchAttemptCount *int32 `json:"redispatch_attempt_count"` // MaxRetries: number of retries when a backend server connection failed. MaxRetries *int32 `json:"max_retries"` // MaxConnections: maximum number of connections allowed per backend server. MaxConnections *int32 `json:"max_connections"` // TimeoutQueue: maximum time for a request to be left pending in queue when `max_connections` is reached. TimeoutQueue *scw.Duration `json:"timeout_queue"` }
func (ZonedAPIUpdateBackendRequest) MarshalJSON ¶
func (m ZonedAPIUpdateBackendRequest) MarshalJSON() ([]byte, error)
func (*ZonedAPIUpdateBackendRequest) UnmarshalJSON ¶
func (m *ZonedAPIUpdateBackendRequest) UnmarshalJSON(b []byte) error
type ZonedAPIUpdateFrontendRequest ¶
type ZonedAPIUpdateFrontendRequest struct { // Zone: zone to target. If none is passed will use default zone from the config. Zone scw.Zone `json:"-"` // FrontendID: frontend ID. FrontendID string `json:"-"` // Name: frontend name. Name string `json:"name"` // InboundPort: port the frontend should listen on. InboundPort int32 `json:"inbound_port"` // BackendID: backend ID (ID of the backend the frontend should pass traffic to). BackendID string `json:"backend_id"` // TimeoutClient: maximum allowed inactivity time on the client side. // Default value: 300000 TimeoutClient *time.Duration `json:"timeout_client"` // Deprecated: CertificateID: certificate ID, deprecated in favor of certificate_ids array. CertificateID *string `json:"certificate_id,omitempty"` // CertificateIDs: list of SSL/TLS certificate IDs to bind to the frontend. CertificateIDs *[]string `json:"certificate_ids"` // EnableHTTP3: defines whether to enable HTTP/3 protocol on the frontend. EnableHTTP3 bool `json:"enable_http3"` }
func (ZonedAPIUpdateFrontendRequest) MarshalJSON ¶
func (m ZonedAPIUpdateFrontendRequest) MarshalJSON() ([]byte, error)
func (*ZonedAPIUpdateFrontendRequest) UnmarshalJSON ¶
func (m *ZonedAPIUpdateFrontendRequest) UnmarshalJSON(b []byte) error
type ZonedAPIUpdateHealthCheckRequest ¶
type ZonedAPIUpdateHealthCheckRequest struct { // Zone: zone to target. If none is passed will use default zone from the config. Zone scw.Zone `json:"-"` // BackendID: backend ID. BackendID string `json:"-"` // Port: port to use for the backend server health check. Port int32 `json:"port"` // CheckDelay: time to wait between two consecutive health checks. CheckDelay *time.Duration `json:"check_delay"` // CheckTimeout: maximum time a backend server has to reply to the health check. CheckTimeout *time.Duration `json:"check_timeout"` // CheckMaxRetries: number of consecutive unsuccessful health checks after which the server will be considered dead. CheckMaxRetries int32 `json:"check_max_retries"` // CheckSendProxy: defines whether proxy protocol should be activated for the health check. CheckSendProxy bool `json:"check_send_proxy"` // TCPConfig: object to configure a basic TCP health check. // Precisely one of HTTPConfig, HTTPSConfig, LdapConfig, MysqlConfig, PgsqlConfig, RedisConfig, TCPConfig must be set. TCPConfig *HealthCheckTCPConfig `json:"tcp_config,omitempty"` // MysqlConfig: object to configure a MySQL health check. The check requires MySQL >=3.22, for older versions, use a TCP health check. // Precisely one of HTTPConfig, HTTPSConfig, LdapConfig, MysqlConfig, PgsqlConfig, RedisConfig, TCPConfig must be set. MysqlConfig *HealthCheckMysqlConfig `json:"mysql_config,omitempty"` // PgsqlConfig: object to configure a PostgreSQL health check. // Precisely one of HTTPConfig, HTTPSConfig, LdapConfig, MysqlConfig, PgsqlConfig, RedisConfig, TCPConfig must be set. PgsqlConfig *HealthCheckPgsqlConfig `json:"pgsql_config,omitempty"` // LdapConfig: object to configure an LDAP health check. The response is analyzed to find the LDAPv3 response message. // Precisely one of HTTPConfig, HTTPSConfig, LdapConfig, MysqlConfig, PgsqlConfig, RedisConfig, TCPConfig must be set. LdapConfig *HealthCheckLdapConfig `json:"ldap_config,omitempty"` // RedisConfig: object to configure a Redis health check. The response is analyzed to find the +PONG response message. // Precisely one of HTTPConfig, HTTPSConfig, LdapConfig, MysqlConfig, PgsqlConfig, RedisConfig, TCPConfig must be set. RedisConfig *HealthCheckRedisConfig `json:"redis_config,omitempty"` // HTTPConfig: object to configure an HTTP health check. // Precisely one of HTTPConfig, HTTPSConfig, LdapConfig, MysqlConfig, PgsqlConfig, RedisConfig, TCPConfig must be set. HTTPConfig *HealthCheckHTTPConfig `json:"http_config,omitempty"` // HTTPSConfig: object to configure an HTTPS health check. // Precisely one of HTTPConfig, HTTPSConfig, LdapConfig, MysqlConfig, PgsqlConfig, RedisConfig, TCPConfig must be set. HTTPSConfig *HealthCheckHTTPSConfig `json:"https_config,omitempty"` // TransientCheckDelay: time to wait between two consecutive health checks when a backend server is in a transient state (going UP or DOWN). // Default value: 0.5s TransientCheckDelay *scw.Duration `json:"transient_check_delay"` }
func (ZonedAPIUpdateHealthCheckRequest) MarshalJSON ¶
func (m ZonedAPIUpdateHealthCheckRequest) MarshalJSON() ([]byte, error)
func (*ZonedAPIUpdateHealthCheckRequest) UnmarshalJSON ¶
func (m *ZonedAPIUpdateHealthCheckRequest) UnmarshalJSON(b []byte) error
type ZonedAPIUpdateIPRequest ¶
type ZonedAPIUpdateLBRequest ¶
type ZonedAPIUpdateLBRequest struct { // Zone: zone to target. If none is passed will use default zone from the config. Zone scw.Zone `json:"-"` // LBID: load Balancer ID. LBID string `json:"-"` // Name: load Balancer name. Name string `json:"name"` // Description: load Balancer description. Description string `json:"description"` // Tags: list of tags for the Load Balancer. Tags []string `json:"tags"` // SslCompatibilityLevel: determines the minimal SSL version which needs to be supported on the client side, in an SSL/TLS offloading context. Intermediate is suitable for general-purpose servers with a variety of clients, recommended for almost all systems. Modern is suitable for services with clients that support TLS 1.3 and don't need backward compatibility. Old is compatible with a small number of very old clients and should be used only as a last resort. // Default value: ssl_compatibility_level_unknown SslCompatibilityLevel SSLCompatibilityLevel `json:"ssl_compatibility_level"` }
type ZonedAPIUpdateRouteRequest ¶
type ZonedAPIUpdateRouteRequest struct { // Zone: zone to target. If none is passed will use default zone from the config. Zone scw.Zone `json:"-"` // RouteID: route ID. RouteID string `json:"-"` // BackendID: ID of the target backend for the route. BackendID string `json:"backend_id"` // Match: object defining the match condition for a route to be applied. If an incoming client session matches the specified condition (i.e. it has a matching SNI value or HTTP Host header value), it will be passed to the target backend. Match *RouteMatch `json:"match"` }
type ZonedAPIUpdateSubscriberRequest ¶
type ZonedAPIUpdateSubscriberRequest struct { // Zone: zone to target. If none is passed will use default zone from the config. Zone scw.Zone `json:"-"` // SubscriberID: subscriber ID. SubscriberID string `json:"-"` // Name: subscriber name. Name string `json:"name"` // EmailConfig: email address configuration. // Precisely one of EmailConfig, WebhookConfig must be set. EmailConfig *SubscriberEmailConfig `json:"email_config,omitempty"` // WebhookConfig: webhook URI configuration. // Precisely one of EmailConfig, WebhookConfig must be set. WebhookConfig *SubscriberWebhookConfig `json:"webhook_config,omitempty"` }
type ZonedAPIWaitForLBCertificateRequest ¶
type ZonedAPIWaitForLBCertificateRequest struct { CertID string Zone scw.Zone Timeout *time.Duration RetryInterval *time.Duration }
ZonedAPIWaitForLBCertificateRequest is used by WaitForLbCertificate method.
type ZonedAPIWaitForLBInstancesRequest ¶
type ZonedAPIWaitForLBInstancesRequest struct { LBID string Zone scw.Zone Timeout *time.Duration RetryInterval *time.Duration }
ZonedAPIWaitForLBInstancesRequest is used by WaitForLb method.