published on Wednesday, Oct 21, 2026 by Pulumi
published on Wednesday, Oct 21, 2026 by Pulumi
Accepted Permissions
Workers Scripts ReadWorkers Scripts WriteWorkers Tail Read
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as cloudflare from "@pulumi/cloudflare";
const exampleWorkersDeployment = new cloudflare.WorkersDeployment("example_workers_deployment", {
accountId: "023e105f4ecef8ad9ca31a8372d0c353",
scriptName: "this-is_my_script-01",
strategy: "percentage",
versions: [{
percentage: 100,
versionId: "023e105f-2a42-4f8b-a1c1-73f6a2a30c0f",
}],
annotations: {
workersMessage: "Deploy bug fix.",
},
});
import pulumi
import pulumi_cloudflare as cloudflare
example_workers_deployment = cloudflare.WorkersDeployment("example_workers_deployment",
account_id="023e105f4ecef8ad9ca31a8372d0c353",
script_name="this-is_my_script-01",
strategy="percentage",
versions=[{
"percentage": float(100),
"version_id": "023e105f-2a42-4f8b-a1c1-73f6a2a30c0f",
}],
annotations={
"workers_message": "Deploy bug fix.",
})
package main
import (
"github.com/pulumi/pulumi-cloudflare/sdk/v6/go/cloudflare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := cloudflare.NewWorkersDeployment(ctx, "example_workers_deployment", &cloudflare.WorkersDeploymentArgs{
AccountId: pulumi.String("023e105f4ecef8ad9ca31a8372d0c353"),
ScriptName: pulumi.String("this-is_my_script-01"),
Strategy: pulumi.String("percentage"),
Versions: cloudflare.WorkersDeploymentVersionArray{
&cloudflare.WorkersDeploymentVersionArgs{
Percentage: pulumi.Float64(100),
VersionId: pulumi.String("023e105f-2a42-4f8b-a1c1-73f6a2a30c0f"),
},
},
Annotations: &cloudflare.WorkersDeploymentAnnotationsArgs{
WorkersMessage: pulumi.String("Deploy bug fix."),
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Cloudflare = Pulumi.Cloudflare;
return await Deployment.RunAsync(() =>
{
var exampleWorkersDeployment = new Cloudflare.WorkersDeployment("example_workers_deployment", new()
{
AccountId = "023e105f4ecef8ad9ca31a8372d0c353",
ScriptName = "this-is_my_script-01",
Strategy = "percentage",
Versions = new[]
{
new Cloudflare.Inputs.WorkersDeploymentVersionArgs
{
Percentage = 100.0,
VersionId = "023e105f-2a42-4f8b-a1c1-73f6a2a30c0f",
},
},
Annotations = new Cloudflare.Inputs.WorkersDeploymentAnnotationsArgs
{
WorkersMessage = "Deploy bug fix.",
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.cloudflare.WorkersDeployment;
import com.pulumi.cloudflare.WorkersDeploymentArgs;
import com.pulumi.cloudflare.inputs.WorkersDeploymentVersionArgs;
import com.pulumi.cloudflare.inputs.WorkersDeploymentAnnotationsArgs;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var exampleWorkersDeployment = new WorkersDeployment("exampleWorkersDeployment", WorkersDeploymentArgs.builder()
.accountId("023e105f4ecef8ad9ca31a8372d0c353")
.scriptName("this-is_my_script-01")
.strategy("percentage")
.versions(WorkersDeploymentVersionArgs.builder()
.percentage(100.0)
.versionId("023e105f-2a42-4f8b-a1c1-73f6a2a30c0f")
.build())
.annotations(WorkersDeploymentAnnotationsArgs.builder()
.workersMessage("Deploy bug fix.")
.build())
.build());
}
}
resources:
exampleWorkersDeployment:
type: cloudflare:WorkersDeployment
name: example_workers_deployment
properties:
accountId: 023e105f4ecef8ad9ca31a8372d0c353
scriptName: this-is_my_script-01
strategy: percentage
versions:
- percentage: 100
versionId: 023e105f-2a42-4f8b-a1c1-73f6a2a30c0f
annotations:
workersMessage: Deploy bug fix.
terraform {
required_providers {
cloudflare = {
source = "pulumi/cloudflare"
}
}
}
resource "cloudflare_workers_deployment" "example_workers_deployment" {
lifecycle {
create_before_destroy = true
}
account_id = "023e105f4ecef8ad9ca31a8372d0c353"
script_name = "this-is_my_script-01"
strategy = "percentage"
versions {
percentage = 100
version_id = "023e105f-2a42-4f8b-a1c1-73f6a2a30c0f"
}
annotations = {
workers_message = "Deploy bug fix."
}
}
Create WorkersDeployment Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new WorkersDeployment(name: string, args: WorkersDeploymentArgs, opts?: CustomResourceOptions);@overload
def WorkersDeployment(resource_name: str,
args: WorkersDeploymentArgs,
opts: Optional[ResourceOptions] = None)
@overload
def WorkersDeployment(resource_name: str,
opts: Optional[ResourceOptions] = None,
account_id: Optional[str] = None,
script_name: Optional[str] = None,
strategy: Optional[str] = None,
versions: Optional[Sequence[WorkersDeploymentVersionArgs]] = None,
annotations: Optional[WorkersDeploymentAnnotationsArgs] = None,
force: Optional[bool] = None)func NewWorkersDeployment(ctx *Context, name string, args WorkersDeploymentArgs, opts ...ResourceOption) (*WorkersDeployment, error)public WorkersDeployment(string name, WorkersDeploymentArgs args, CustomResourceOptions? opts = null)
public WorkersDeployment(String name, WorkersDeploymentArgs args)
public WorkersDeployment(String name, WorkersDeploymentArgs args, CustomResourceOptions options)
type: cloudflare:WorkersDeployment
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
resource "cloudflare_workers_deployment" "name" {
# resource properties
}Parameters
- name string
- The unique name of the resource.
- args WorkersDeploymentArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args WorkersDeploymentArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args WorkersDeploymentArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args WorkersDeploymentArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args WorkersDeploymentArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var workersDeploymentResource = new Cloudflare.WorkersDeployment("workersDeploymentResource", new()
{
AccountId = "string",
ScriptName = "string",
Strategy = "string",
Versions = new[]
{
new Cloudflare.Inputs.WorkersDeploymentVersionArgs
{
Percentage = 0.0,
VersionId = "string",
},
},
Annotations = new Cloudflare.Inputs.WorkersDeploymentAnnotationsArgs
{
WorkersMessage = "string",
WorkersTriggeredBy = "string",
},
Force = false,
});
example, err := cloudflare.NewWorkersDeployment(ctx, "workersDeploymentResource", &cloudflare.WorkersDeploymentArgs{
AccountId: pulumi.String("string"),
ScriptName: pulumi.String("string"),
Strategy: pulumi.String("string"),
Versions: cloudflare.WorkersDeploymentVersionArray{
&cloudflare.WorkersDeploymentVersionArgs{
Percentage: pulumi.Float64(0),
VersionId: pulumi.String("string"),
},
},
Annotations: &cloudflare.WorkersDeploymentAnnotationsArgs{
WorkersMessage: pulumi.String("string"),
WorkersTriggeredBy: pulumi.String("string"),
},
Force: pulumi.Bool(false),
})
resource "cloudflare_workers_deployment" "workersDeploymentResource" {
lifecycle {
create_before_destroy = true
}
account_id = "string"
script_name = "string"
strategy = "string"
versions {
percentage = 0
version_id = "string"
}
annotations = {
workers_message = "string"
workers_triggered_by = "string"
}
force = false
}
var workersDeploymentResource = new WorkersDeployment("workersDeploymentResource", WorkersDeploymentArgs.builder()
.accountId("string")
.scriptName("string")
.strategy("string")
.versions(WorkersDeploymentVersionArgs.builder()
.percentage(0.0)
.versionId("string")
.build())
.annotations(WorkersDeploymentAnnotationsArgs.builder()
.workersMessage("string")
.workersTriggeredBy("string")
.build())
.force(false)
.build());
workers_deployment_resource = cloudflare.WorkersDeployment("workersDeploymentResource",
account_id="string",
script_name="string",
strategy="string",
versions=[{
"percentage": float(0),
"version_id": "string",
}],
annotations={
"workers_message": "string",
"workers_triggered_by": "string",
},
force=False)
const workersDeploymentResource = new cloudflare.WorkersDeployment("workersDeploymentResource", {
accountId: "string",
scriptName: "string",
strategy: "string",
versions: [{
percentage: 0,
versionId: "string",
}],
annotations: {
workersMessage: "string",
workersTriggeredBy: "string",
},
force: false,
});
type: cloudflare:WorkersDeployment
properties:
accountId: string
annotations:
workersMessage: string
workersTriggeredBy: string
force: false
scriptName: string
strategy: string
versions:
- percentage: 0
versionId: string
WorkersDeployment Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The WorkersDeployment resource accepts the following input properties:
- Account
Id string - Identifier.
- Script
Name string - Name of the script.
- Strategy string
- Available values: "percentage".
- Versions
List<Workers
Deployment Version> - Worker versions included in this deployment. Each object must contain a
versionIdUUID and apercentage; percentages across all objects must total 100. In thecfCLI, pass the entire array as one JSON value to--versions, either inline, for example--versions '[{"versionId":"023e105f-2a42-4f8b-a1c1-73f6a2a30c0f","percentage":100}]', or from a JSON file with--versions @versions.json. - Annotations
Workers
Deployment Annotations - Force bool
- If set to true, the deployment will be created even if normally blocked by something such rolling back to an older version when a secret has changed.
- Account
Id string - Identifier.
- Script
Name string - Name of the script.
- Strategy string
- Available values: "percentage".
- Versions
[]Workers
Deployment Version Args - Worker versions included in this deployment. Each object must contain a
versionIdUUID and apercentage; percentages across all objects must total 100. In thecfCLI, pass the entire array as one JSON value to--versions, either inline, for example--versions '[{"versionId":"023e105f-2a42-4f8b-a1c1-73f6a2a30c0f","percentage":100}]', or from a JSON file with--versions @versions.json. - Annotations
Workers
Deployment Annotations Args - Force bool
- If set to true, the deployment will be created even if normally blocked by something such rolling back to an older version when a secret has changed.
- account_
id string - Identifier.
- script_
name string - Name of the script.
- strategy string
- Available values: "percentage".
- versions list(object)
- Worker versions included in this deployment. Each object must contain a
versionIdUUID and apercentage; percentages across all objects must total 100. In thecfCLI, pass the entire array as one JSON value to--versions, either inline, for example--versions '[{"versionId":"023e105f-2a42-4f8b-a1c1-73f6a2a30c0f","percentage":100}]', or from a JSON file with--versions @versions.json. - annotations object
- force bool
- If set to true, the deployment will be created even if normally blocked by something such rolling back to an older version when a secret has changed.
- account
Id String - Identifier.
- script
Name String - Name of the script.
- strategy String
- Available values: "percentage".
- versions
List<Workers
Deployment Version> - Worker versions included in this deployment. Each object must contain a
versionIdUUID and apercentage; percentages across all objects must total 100. In thecfCLI, pass the entire array as one JSON value to--versions, either inline, for example--versions '[{"versionId":"023e105f-2a42-4f8b-a1c1-73f6a2a30c0f","percentage":100}]', or from a JSON file with--versions @versions.json. - annotations
Workers
Deployment Annotations - force Boolean
- If set to true, the deployment will be created even if normally blocked by something such rolling back to an older version when a secret has changed.
- account
Id string - Identifier.
- script
Name string - Name of the script.
- strategy string
- Available values: "percentage".
- versions
Workers
Deployment Version[] - Worker versions included in this deployment. Each object must contain a
versionIdUUID and apercentage; percentages across all objects must total 100. In thecfCLI, pass the entire array as one JSON value to--versions, either inline, for example--versions '[{"versionId":"023e105f-2a42-4f8b-a1c1-73f6a2a30c0f","percentage":100}]', or from a JSON file with--versions @versions.json. - annotations
Workers
Deployment Annotations - force boolean
- If set to true, the deployment will be created even if normally blocked by something such rolling back to an older version when a secret has changed.
- account_
id str - Identifier.
- script_
name str - Name of the script.
- strategy str
- Available values: "percentage".
- versions
Sequence[Workers
Deployment Version Args] - Worker versions included in this deployment. Each object must contain a
versionIdUUID and apercentage; percentages across all objects must total 100. In thecfCLI, pass the entire array as one JSON value to--versions, either inline, for example--versions '[{"versionId":"023e105f-2a42-4f8b-a1c1-73f6a2a30c0f","percentage":100}]', or from a JSON file with--versions @versions.json. - annotations
Workers
Deployment Annotations Args - force bool
- If set to true, the deployment will be created even if normally blocked by something such rolling back to an older version when a secret has changed.
- account
Id String - Identifier.
- script
Name String - Name of the script.
- strategy String
- Available values: "percentage".
- versions List<Property Map>
- Worker versions included in this deployment. Each object must contain a
versionIdUUID and apercentage; percentages across all objects must total 100. In thecfCLI, pass the entire array as one JSON value to--versions, either inline, for example--versions '[{"versionId":"023e105f-2a42-4f8b-a1c1-73f6a2a30c0f","percentage":100}]', or from a JSON file with--versions @versions.json. - annotations Property Map
- force Boolean
- If set to true, the deployment will be created even if normally blocked by something such rolling back to an older version when a secret has changed.
Outputs
All input properties are implicitly available as output properties. Additionally, the WorkersDeployment resource produces the following output properties:
- string
- created_
on string - id string
- The provider-assigned unique ID for this managed resource.
- source string
- str
- created_
on str - id str
- The provider-assigned unique ID for this managed resource.
- source str
Look up Existing WorkersDeployment Resource
Get an existing WorkersDeployment resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: WorkersDeploymentState, opts?: CustomResourceOptions): WorkersDeployment@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
account_id: Optional[str] = None,
annotations: Optional[WorkersDeploymentAnnotationsArgs] = None,
author_email: Optional[str] = None,
created_on: Optional[str] = None,
force: Optional[bool] = None,
script_name: Optional[str] = None,
source: Optional[str] = None,
strategy: Optional[str] = None,
versions: Optional[Sequence[WorkersDeploymentVersionArgs]] = None) -> WorkersDeploymentfunc GetWorkersDeployment(ctx *Context, name string, id IDInput, state *WorkersDeploymentState, opts ...ResourceOption) (*WorkersDeployment, error)public static WorkersDeployment Get(string name, Input<string> id, WorkersDeploymentState? state, CustomResourceOptions? opts = null)public static WorkersDeployment get(String name, Output<String> id, WorkersDeploymentState state, CustomResourceOptions options)resources: _: type: cloudflare:WorkersDeployment get: id: ${id}import {
to = cloudflare_workers_deployment.example
id = "${id}"
}
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Account
Id string - Identifier.
- Annotations
Workers
Deployment Annotations - string
- Created
On string - Force bool
- If set to true, the deployment will be created even if normally blocked by something such rolling back to an older version when a secret has changed.
- Script
Name string - Name of the script.
- Source string
- Strategy string
- Available values: "percentage".
- Versions
List<Workers
Deployment Version> - Worker versions included in this deployment. Each object must contain a
versionIdUUID and apercentage; percentages across all objects must total 100. In thecfCLI, pass the entire array as one JSON value to--versions, either inline, for example--versions '[{"versionId":"023e105f-2a42-4f8b-a1c1-73f6a2a30c0f","percentage":100}]', or from a JSON file with--versions @versions.json.
- Account
Id string - Identifier.
- Annotations
Workers
Deployment Annotations Args - string
- Created
On string - Force bool
- If set to true, the deployment will be created even if normally blocked by something such rolling back to an older version when a secret has changed.
- Script
Name string - Name of the script.
- Source string
- Strategy string
- Available values: "percentage".
- Versions
[]Workers
Deployment Version Args - Worker versions included in this deployment. Each object must contain a
versionIdUUID and apercentage; percentages across all objects must total 100. In thecfCLI, pass the entire array as one JSON value to--versions, either inline, for example--versions '[{"versionId":"023e105f-2a42-4f8b-a1c1-73f6a2a30c0f","percentage":100}]', or from a JSON file with--versions @versions.json.
- account_
id string - Identifier.
- annotations object
- string
- created_
on string - force bool
- If set to true, the deployment will be created even if normally blocked by something such rolling back to an older version when a secret has changed.
- script_
name string - Name of the script.
- source string
- strategy string
- Available values: "percentage".
- versions list(object)
- Worker versions included in this deployment. Each object must contain a
versionIdUUID and apercentage; percentages across all objects must total 100. In thecfCLI, pass the entire array as one JSON value to--versions, either inline, for example--versions '[{"versionId":"023e105f-2a42-4f8b-a1c1-73f6a2a30c0f","percentage":100}]', or from a JSON file with--versions @versions.json.
- account
Id String - Identifier.
- annotations
Workers
Deployment Annotations - String
- created
On String - force Boolean
- If set to true, the deployment will be created even if normally blocked by something such rolling back to an older version when a secret has changed.
- script
Name String - Name of the script.
- source String
- strategy String
- Available values: "percentage".
- versions
List<Workers
Deployment Version> - Worker versions included in this deployment. Each object must contain a
versionIdUUID and apercentage; percentages across all objects must total 100. In thecfCLI, pass the entire array as one JSON value to--versions, either inline, for example--versions '[{"versionId":"023e105f-2a42-4f8b-a1c1-73f6a2a30c0f","percentage":100}]', or from a JSON file with--versions @versions.json.
- account
Id string - Identifier.
- annotations
Workers
Deployment Annotations - string
- created
On string - force boolean
- If set to true, the deployment will be created even if normally blocked by something such rolling back to an older version when a secret has changed.
- script
Name string - Name of the script.
- source string
- strategy string
- Available values: "percentage".
- versions
Workers
Deployment Version[] - Worker versions included in this deployment. Each object must contain a
versionIdUUID and apercentage; percentages across all objects must total 100. In thecfCLI, pass the entire array as one JSON value to--versions, either inline, for example--versions '[{"versionId":"023e105f-2a42-4f8b-a1c1-73f6a2a30c0f","percentage":100}]', or from a JSON file with--versions @versions.json.
- account_
id str - Identifier.
- annotations
Workers
Deployment Annotations Args - str
- created_
on str - force bool
- If set to true, the deployment will be created even if normally blocked by something such rolling back to an older version when a secret has changed.
- script_
name str - Name of the script.
- source str
- strategy str
- Available values: "percentage".
- versions
Sequence[Workers
Deployment Version Args] - Worker versions included in this deployment. Each object must contain a
versionIdUUID and apercentage; percentages across all objects must total 100. In thecfCLI, pass the entire array as one JSON value to--versions, either inline, for example--versions '[{"versionId":"023e105f-2a42-4f8b-a1c1-73f6a2a30c0f","percentage":100}]', or from a JSON file with--versions @versions.json.
- account
Id String - Identifier.
- annotations Property Map
- String
- created
On String - force Boolean
- If set to true, the deployment will be created even if normally blocked by something such rolling back to an older version when a secret has changed.
- script
Name String - Name of the script.
- source String
- strategy String
- Available values: "percentage".
- versions List<Property Map>
- Worker versions included in this deployment. Each object must contain a
versionIdUUID and apercentage; percentages across all objects must total 100. In thecfCLI, pass the entire array as one JSON value to--versions, either inline, for example--versions '[{"versionId":"023e105f-2a42-4f8b-a1c1-73f6a2a30c0f","percentage":100}]', or from a JSON file with--versions @versions.json.
Supporting Types
WorkersDeploymentAnnotations, WorkersDeploymentAnnotationsArgs
- Workers
Message string - Human-readable message about the deployment. Truncated to 1000 bytes if longer.
- Workers
Triggered stringBy - Operation that triggered the creation of the deployment.
- Workers
Message string - Human-readable message about the deployment. Truncated to 1000 bytes if longer.
- Workers
Triggered stringBy - Operation that triggered the creation of the deployment.
- workers_
message string - Human-readable message about the deployment. Truncated to 1000 bytes if longer.
- workers_
triggered_ stringby - Operation that triggered the creation of the deployment.
- workers
Message String - Human-readable message about the deployment. Truncated to 1000 bytes if longer.
- workers
Triggered StringBy - Operation that triggered the creation of the deployment.
- workers
Message string - Human-readable message about the deployment. Truncated to 1000 bytes if longer.
- workers
Triggered stringBy - Operation that triggered the creation of the deployment.
- workers_
message str - Human-readable message about the deployment. Truncated to 1000 bytes if longer.
- workers_
triggered_ strby - Operation that triggered the creation of the deployment.
- workers
Message String - Human-readable message about the deployment. Truncated to 1000 bytes if longer.
- workers
Triggered StringBy - Operation that triggered the creation of the deployment.
WorkersDeploymentVersion, WorkersDeploymentVersionArgs
- Percentage double
- Percentage of traffic served by this version.
- Version
Id string - Identifier of the Worker Version.
- Percentage float64
- Percentage of traffic served by this version.
- Version
Id string - Identifier of the Worker Version.
- percentage number
- Percentage of traffic served by this version.
- version_
id string - Identifier of the Worker Version.
- percentage Double
- Percentage of traffic served by this version.
- version
Id String - Identifier of the Worker Version.
- percentage number
- Percentage of traffic served by this version.
- version
Id string - Identifier of the Worker Version.
- percentage float
- Percentage of traffic served by this version.
- version_
id str - Identifier of the Worker Version.
- percentage Number
- Percentage of traffic served by this version.
- version
Id String - Identifier of the Worker Version.
Import
$ pulumi import cloudflare:index/workersDeployment:WorkersDeployment example '<account_id>/<script_name>/<deployment_id>'
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- Cloudflare pulumi/pulumi-cloudflare
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
cloudflareTerraform Provider.
published on Wednesday, Oct 21, 2026 by Pulumi