UNPKG

@pulumiverse/scaleway

Version:

A Pulumi package for creating and managing Scaleway cloud resources.

184 lines (183 loc) 5.93 kB
import * as pulumi from "@pulumi/pulumi"; /** * Creates and manages Scaleway Edge Services Pipelines. * * ## Example Usage * * ### Basic * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as scaleway from "@pulumiverse/scaleway"; * * const main = new scaleway.EdgeServicesPipeline("main", { * name: "pipeline-name", * description: "pipeline description", * }); * ``` * * ### Complete pipeline * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as scaleway from "@pulumiverse/scaleway"; * * const main = new scaleway.EdgeServicesPipeline("main", { * name: "pipeline-name", * description: "pipeline description", * }); * const mainEdgeServicesBackendStage = new scaleway.EdgeServicesBackendStage("main", { * pipelineId: main.id, * s3BackendConfig: { * bucketName: "my-bucket-name", * bucketRegion: "fr-par", * }, * }); * const mainEdgeServicesWafStage = new scaleway.EdgeServicesWafStage("main", { * pipelineId: main.id, * backendStageId: mainEdgeServicesBackendStage.id, * mode: "enable", * paranoiaLevel: 3, * }); * const mainEdgeServicesRouteStage = new scaleway.EdgeServicesRouteStage("main", { * pipelineId: main.id, * wafStageId: mainEdgeServicesWafStage.id, * rules: [{ * backendStageId: mainEdgeServicesBackendStage.id, * ruleHttpMatch: { * methodFilters: [ * "get", * "post", * ], * pathFilter: { * pathFilterType: "regex", * value: ".*", * }, * }, * }], * }); * const mainEdgeServicesCacheStage = new scaleway.EdgeServicesCacheStage("main", { * pipelineId: main.id, * routeStageId: mainEdgeServicesRouteStage.id, * }); * const mainEdgeServicesTlsStage = new scaleway.EdgeServicesTlsStage("main", { * pipelineId: main.id, * cacheStageId: mainEdgeServicesCacheStage.id, * managedCertificate: true, * }); * const mainEdgeServicesDnsStage = new scaleway.EdgeServicesDnsStage("main", { * pipelineId: main.id, * tlsStageId: mainEdgeServicesTlsStage.id, * fqdns: ["subdomain.example.com"], * }); * const mainEdgeServicesHeadStage = new scaleway.EdgeServicesHeadStage("main", { * pipelineId: main.id, * headStageId: mainEdgeServicesDnsStage.id, * }); * ``` * * ## Import * * Pipelines can be imported using the `{id}`, e.g. * * bash * * ```sh * $ pulumi import scaleway:index/edgeServicesPipeline:EdgeServicesPipeline basic 11111111-1111-1111-1111-111111111111 * ``` */ export declare class EdgeServicesPipeline extends pulumi.CustomResource { /** * Get an existing EdgeServicesPipeline 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<pulumi.ID>, state?: EdgeServicesPipelineState, opts?: pulumi.CustomResourceOptions): EdgeServicesPipeline; /** * Returns true if the given object is an instance of EdgeServicesPipeline. 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 EdgeServicesPipeline; /** * The date and time of the creation of the pipeline. */ readonly createdAt: pulumi.Output<string>; /** * The description of the pipeline. */ readonly description: pulumi.Output<string | undefined>; /** * The name of the pipeline. */ readonly name: pulumi.Output<string>; /** * `projectId`) The ID of the project the pipeline is associated with. */ readonly projectId: pulumi.Output<string>; /** * The status of user pipeline. */ readonly status: pulumi.Output<string>; /** * The date and time of the last update of the pipeline. */ readonly updatedAt: pulumi.Output<string>; /** * Create a EdgeServicesPipeline 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?: EdgeServicesPipelineArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering EdgeServicesPipeline resources. */ export interface EdgeServicesPipelineState { /** * The date and time of the creation of the pipeline. */ createdAt?: pulumi.Input<string>; /** * The description of the pipeline. */ description?: pulumi.Input<string>; /** * The name of the pipeline. */ name?: pulumi.Input<string>; /** * `projectId`) The ID of the project the pipeline is associated with. */ projectId?: pulumi.Input<string>; /** * The status of user pipeline. */ status?: pulumi.Input<string>; /** * The date and time of the last update of the pipeline. */ updatedAt?: pulumi.Input<string>; } /** * The set of arguments for constructing a EdgeServicesPipeline resource. */ export interface EdgeServicesPipelineArgs { /** * The description of the pipeline. */ description?: pulumi.Input<string>; /** * The name of the pipeline. */ name?: pulumi.Input<string>; /** * `projectId`) The ID of the project the pipeline is associated with. */ projectId?: pulumi.Input<string>; }