import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * This resource provides the Backend Set resource in Oracle Cloud Infrastructure Load Balancer service. * Api doc link for the resource: https://docs.oracle.com/iaas/api/#/en/loadbalancer/latest/BackendSet * * Example terraform configs related to the resource : https://github.com/oracle/terraform-provider-oci/tree/master/examples/load_balancer * * Adds a backend set to a load balancer. * * ## Supported Aliases * * * `ociLoadBalancerBackendset` * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as oci from "@pulumi/oci"; * * const testBackendSet = new oci.loadbalancer.BackendSet("test_backend_set", { * healthChecker: { * protocol: backendSetHealthCheckerProtocol, * intervalMs: Number(backendSetHealthCheckerIntervalMs), * isForcePlainText: backendSetHealthCheckerIsForcePlainText === "true", * port: Number(backendSetHealthCheckerPort), * responseBodyRegex: backendSetHealthCheckerResponseBodyRegex, * retries: Number(backendSetHealthCheckerRetries), * returnCode: Number(backendSetHealthCheckerReturnCode), * timeoutInMillis: Number(backendSetHealthCheckerTimeoutInMillis), * urlPath: backendSetHealthCheckerUrlPath, * }, * loadBalancerId: testLoadBalancer.id, * name: backendSetName, * policy: backendSetPolicy, * backendMaxConnections: Number(backendSetBackendMaxConnections), * lbCookieSessionPersistenceConfiguration: { * cookieName: backendSetLbCookieSessionPersistenceConfigurationCookieName, * disableFallback: backendSetLbCookieSessionPersistenceConfigurationDisableFallback === "true", * domain: backendSetLbCookieSessionPersistenceConfigurationDomain, * isHttpOnly: backendSetLbCookieSessionPersistenceConfigurationIsHttpOnly === "true", * isSecure: backendSetLbCookieSessionPersistenceConfigurationIsSecure === "true", * maxAgeInSeconds: Number(backendSetLbCookieSessionPersistenceConfigurationMaxAgeInSeconds), * path: backendSetLbCookieSessionPersistenceConfigurationPath, * }, * sessionPersistenceConfiguration: { * cookieName: backendSetSessionPersistenceConfigurationCookieName, * disableFallback: backendSetSessionPersistenceConfigurationDisableFallback === "true", * }, * sslConfiguration: { * certificateIds: backendSetSslConfigurationCertificateIds, * certificateName: testCertificate.name, * cipherSuiteName: backendSetSslConfigurationCipherSuiteName, * protocols: backendSetSslConfigurationProtocols, * serverOrderPreference: backendSetSslConfigurationServerOrderPreference, * trustedCertificateAuthorityIds: backendSetSslConfigurationTrustedCertificateAuthorityIds, * verifyDepth: Number(backendSetSslConfigurationVerifyDepth), * verifyPeerCertificate: backendSetSslConfigurationVerifyPeerCertificate === "true", * }, * }); * ``` * **Note:** The `sessionPersistenceConfiguration` (application cookie stickiness) and `lbCookieSessionPersistenceConfiguration` * (LB cookie stickiness) attributes are mutually exclusive. To avoid returning an error, configure only one of these two * attributes per backend set. * * ## Import * * BackendSets can be imported using the `id`, e.g. * * ```sh * $ pulumi import oci:LoadBalancer/backendSet:BackendSet test_backend_set "loadBalancers/{loadBalancerId}/backendSets/{backendSetName}" * ``` */ export declare class BackendSet extends pulumi.CustomResource { /** * Get an existing BackendSet resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: BackendSetState, opts?: pulumi.CustomResourceOptions): BackendSet; /** * Returns true if the given object is an instance of BackendSet. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is BackendSet; /** * (Updatable) The maximum number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting. If this is not set or set to 0 then the number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting is unlimited. * * If setting backendMaxConnections to some value other than 0 then that value must be greater or equal to 256. * * Example: `300` */ readonly backendMaxConnections: pulumi.Output; /** * (Updatable) */ readonly backends: pulumi.Output; /** * (Updatable) The health check policy's configuration details. */ readonly healthChecker: pulumi.Output; /** * (Updatable) The configuration details for implementing load balancer cookie session persistence (LB cookie stickiness). * * Session persistence enables the Load Balancing service to direct all requests that originate from a single logical client to a single backend web server. For more information, see [Session Persistence](https://docs.cloud.oracle.com/iaas/Content/Balance/Reference/sessionpersistence.htm). * * When you configure LB cookie stickiness, the load balancer inserts a cookie into the response. The parameters configured in the cookie enable session stickiness. This method is useful when you have applications and Web backend services that cannot generate their own cookies. * * Path route rules take precedence to determine the target backend server. The load balancer verifies that session stickiness is enabled for the backend server and that the cookie configuration (domain, path, and cookie hash) is valid for the target. The system ignores invalid cookies. * * To disable LB cookie stickiness on a running load balancer, use the [UpdateBackendSet](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/BackendSet/UpdateBackendSet) operation and specify `null` for the `LBCookieSessionPersistenceConfigurationDetails` object. * * Example: `LBCookieSessionPersistenceConfigurationDetails: null` * * **Note:** `SessionPersistenceConfigurationDetails` (application cookie stickiness) and `LBCookieSessionPersistenceConfigurationDetails` (LB cookie stickiness) are mutually exclusive. An error results if you try to enable both types of session persistence. * * **Warning:** Oracle recommends that you avoid using any confidential information when you supply string values using the API. */ readonly lbCookieSessionPersistenceConfiguration: pulumi.Output; /** * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the load balancer on which to add a backend set. */ readonly loadBalancerId: pulumi.Output; /** * A friendly name for the backend set. It must be unique and it cannot be changed. * * Valid backend set names include only alphanumeric characters, dashes, and underscores. Backend set names cannot contain spaces. Avoid entering confidential information. * * Example: `exampleBackendSet` */ readonly name: pulumi.Output; /** * (Updatable) The load balancer policy for the backend set. To get a list of available policies, use the [ListPolicies](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancerPolicy/ListPolicies) operation. Example: `LEAST_CONNECTIONS` */ readonly policy: pulumi.Output; /** * (Updatable) The configuration details for implementing session persistence based on a user-specified cookie name (application cookie stickiness). * * Session persistence enables the Load Balancing service to direct any number of requests that originate from a single logical client to a single backend web server. For more information, see [Session Persistence](https://docs.cloud.oracle.com/iaas/Content/Balance/Reference/sessionpersistence.htm). * * With application cookie stickiness, the load balancer enables session persistence only when the response from a backend application server includes a `Set-cookie` header with the user-specified cookie name. * * To disable application cookie stickiness on a running load balancer, use the [UpdateBackendSet](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/BackendSet/UpdateBackendSet) operation and specify `null` for the `SessionPersistenceConfigurationDetails` object. * * Example: `SessionPersistenceConfigurationDetails: null` * * **Note:** `SessionPersistenceConfigurationDetails` (application cookie stickiness) and `LBCookieSessionPersistenceConfigurationDetails` (LB cookie stickiness) are mutually exclusive. An error results if you try to enable both types of session persistence. * * **Warning:** Oracle recommends that you avoid using any confidential information when you supply string values using the API. */ readonly sessionPersistenceConfiguration: pulumi.Output; /** * (Updatable) The load balancer's SSL handling configuration details. * * **Warning:** Oracle recommends that you avoid using any confidential information when you supply string values using the API. */ readonly sslConfiguration: pulumi.Output; readonly state: pulumi.Output; /** * Create a BackendSet resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: BackendSetArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering BackendSet resources. */ export interface BackendSetState { /** * (Updatable) The maximum number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting. If this is not set or set to 0 then the number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting is unlimited. * * If setting backendMaxConnections to some value other than 0 then that value must be greater or equal to 256. * * Example: `300` */ backendMaxConnections?: pulumi.Input; /** * (Updatable) */ backends?: pulumi.Input[] | undefined>; /** * (Updatable) The health check policy's configuration details. */ healthChecker?: pulumi.Input; /** * (Updatable) The configuration details for implementing load balancer cookie session persistence (LB cookie stickiness). * * Session persistence enables the Load Balancing service to direct all requests that originate from a single logical client to a single backend web server. For more information, see [Session Persistence](https://docs.cloud.oracle.com/iaas/Content/Balance/Reference/sessionpersistence.htm). * * When you configure LB cookie stickiness, the load balancer inserts a cookie into the response. The parameters configured in the cookie enable session stickiness. This method is useful when you have applications and Web backend services that cannot generate their own cookies. * * Path route rules take precedence to determine the target backend server. The load balancer verifies that session stickiness is enabled for the backend server and that the cookie configuration (domain, path, and cookie hash) is valid for the target. The system ignores invalid cookies. * * To disable LB cookie stickiness on a running load balancer, use the [UpdateBackendSet](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/BackendSet/UpdateBackendSet) operation and specify `null` for the `LBCookieSessionPersistenceConfigurationDetails` object. * * Example: `LBCookieSessionPersistenceConfigurationDetails: null` * * **Note:** `SessionPersistenceConfigurationDetails` (application cookie stickiness) and `LBCookieSessionPersistenceConfigurationDetails` (LB cookie stickiness) are mutually exclusive. An error results if you try to enable both types of session persistence. * * **Warning:** Oracle recommends that you avoid using any confidential information when you supply string values using the API. */ lbCookieSessionPersistenceConfiguration?: pulumi.Input; /** * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the load balancer on which to add a backend set. */ loadBalancerId?: pulumi.Input; /** * A friendly name for the backend set. It must be unique and it cannot be changed. * * Valid backend set names include only alphanumeric characters, dashes, and underscores. Backend set names cannot contain spaces. Avoid entering confidential information. * * Example: `exampleBackendSet` */ name?: pulumi.Input; /** * (Updatable) The load balancer policy for the backend set. To get a list of available policies, use the [ListPolicies](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancerPolicy/ListPolicies) operation. Example: `LEAST_CONNECTIONS` */ policy?: pulumi.Input; /** * (Updatable) The configuration details for implementing session persistence based on a user-specified cookie name (application cookie stickiness). * * Session persistence enables the Load Balancing service to direct any number of requests that originate from a single logical client to a single backend web server. For more information, see [Session Persistence](https://docs.cloud.oracle.com/iaas/Content/Balance/Reference/sessionpersistence.htm). * * With application cookie stickiness, the load balancer enables session persistence only when the response from a backend application server includes a `Set-cookie` header with the user-specified cookie name. * * To disable application cookie stickiness on a running load balancer, use the [UpdateBackendSet](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/BackendSet/UpdateBackendSet) operation and specify `null` for the `SessionPersistenceConfigurationDetails` object. * * Example: `SessionPersistenceConfigurationDetails: null` * * **Note:** `SessionPersistenceConfigurationDetails` (application cookie stickiness) and `LBCookieSessionPersistenceConfigurationDetails` (LB cookie stickiness) are mutually exclusive. An error results if you try to enable both types of session persistence. * * **Warning:** Oracle recommends that you avoid using any confidential information when you supply string values using the API. */ sessionPersistenceConfiguration?: pulumi.Input; /** * (Updatable) The load balancer's SSL handling configuration details. * * **Warning:** Oracle recommends that you avoid using any confidential information when you supply string values using the API. */ sslConfiguration?: pulumi.Input; state?: pulumi.Input; } /** * The set of arguments for constructing a BackendSet resource. */ export interface BackendSetArgs { /** * (Updatable) The maximum number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting. If this is not set or set to 0 then the number of simultaneous connections the load balancer can make to any backend in the backend set unless the backend has its own maxConnections setting is unlimited. * * If setting backendMaxConnections to some value other than 0 then that value must be greater or equal to 256. * * Example: `300` */ backendMaxConnections?: pulumi.Input; /** * (Updatable) The health check policy's configuration details. */ healthChecker: pulumi.Input; /** * (Updatable) The configuration details for implementing load balancer cookie session persistence (LB cookie stickiness). * * Session persistence enables the Load Balancing service to direct all requests that originate from a single logical client to a single backend web server. For more information, see [Session Persistence](https://docs.cloud.oracle.com/iaas/Content/Balance/Reference/sessionpersistence.htm). * * When you configure LB cookie stickiness, the load balancer inserts a cookie into the response. The parameters configured in the cookie enable session stickiness. This method is useful when you have applications and Web backend services that cannot generate their own cookies. * * Path route rules take precedence to determine the target backend server. The load balancer verifies that session stickiness is enabled for the backend server and that the cookie configuration (domain, path, and cookie hash) is valid for the target. The system ignores invalid cookies. * * To disable LB cookie stickiness on a running load balancer, use the [UpdateBackendSet](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/BackendSet/UpdateBackendSet) operation and specify `null` for the `LBCookieSessionPersistenceConfigurationDetails` object. * * Example: `LBCookieSessionPersistenceConfigurationDetails: null` * * **Note:** `SessionPersistenceConfigurationDetails` (application cookie stickiness) and `LBCookieSessionPersistenceConfigurationDetails` (LB cookie stickiness) are mutually exclusive. An error results if you try to enable both types of session persistence. * * **Warning:** Oracle recommends that you avoid using any confidential information when you supply string values using the API. */ lbCookieSessionPersistenceConfiguration?: pulumi.Input; /** * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the load balancer on which to add a backend set. */ loadBalancerId: pulumi.Input; /** * A friendly name for the backend set. It must be unique and it cannot be changed. * * Valid backend set names include only alphanumeric characters, dashes, and underscores. Backend set names cannot contain spaces. Avoid entering confidential information. * * Example: `exampleBackendSet` */ name?: pulumi.Input; /** * (Updatable) The load balancer policy for the backend set. To get a list of available policies, use the [ListPolicies](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancerPolicy/ListPolicies) operation. Example: `LEAST_CONNECTIONS` */ policy: pulumi.Input; /** * (Updatable) The configuration details for implementing session persistence based on a user-specified cookie name (application cookie stickiness). * * Session persistence enables the Load Balancing service to direct any number of requests that originate from a single logical client to a single backend web server. For more information, see [Session Persistence](https://docs.cloud.oracle.com/iaas/Content/Balance/Reference/sessionpersistence.htm). * * With application cookie stickiness, the load balancer enables session persistence only when the response from a backend application server includes a `Set-cookie` header with the user-specified cookie name. * * To disable application cookie stickiness on a running load balancer, use the [UpdateBackendSet](https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/BackendSet/UpdateBackendSet) operation and specify `null` for the `SessionPersistenceConfigurationDetails` object. * * Example: `SessionPersistenceConfigurationDetails: null` * * **Note:** `SessionPersistenceConfigurationDetails` (application cookie stickiness) and `LBCookieSessionPersistenceConfigurationDetails` (LB cookie stickiness) are mutually exclusive. An error results if you try to enable both types of session persistence. * * **Warning:** Oracle recommends that you avoid using any confidential information when you supply string values using the API. */ sessionPersistenceConfiguration?: pulumi.Input; /** * (Updatable) The load balancer's SSL handling configuration details. * * **Warning:** Oracle recommends that you avoid using any confidential information when you supply string values using the API. */ sslConfiguration?: pulumi.Input; } //# sourceMappingURL=backendSet.d.ts.map