diff --git a/.ci-mgmt.yaml b/.ci-mgmt.yaml
index 278139a1..1d3367f8 100644
--- a/.ci-mgmt.yaml
+++ b/.ci-mgmt.yaml
@@ -9,3 +9,4 @@ plugins:
- name: tls
version: "4.0.0"
team: ecosystem
+javaGenVersion: "v0.9.8"
diff --git a/.upgrade-config.yml b/.upgrade-config.yml
index 6d1bdc12..5b879d19 100644
--- a/.upgrade-config.yml
+++ b/.upgrade-config.yml
@@ -5,4 +5,4 @@ upstream-provider-name: terraform-provider-fastly
pulumi-infer-version: true
remove-plugins: true
pr-reviewers: pulumi/Providers,lukehoban
-javaVersion: "v0.5.4"
+javaVersion: "v0.9.8"
diff --git a/Makefile b/Makefile
index 46d3195f..01987392 100644
--- a/Makefile
+++ b/Makefile
@@ -9,7 +9,7 @@ TFGEN := pulumi-tfgen-$(PACK)
PROVIDER := pulumi-resource-$(PACK)
VERSION := $(shell pulumictl get version)
JAVA_GEN := pulumi-java-gen
-JAVA_GEN_VERSION := v0.5.4
+JAVA_GEN_VERSION := v0.9.8
TESTPARALLELISM := 10
WORKING_DIR := $(shell pwd)
PULUMI_CONVERT := 0
diff --git a/provider/cmd/pulumi-resource-fastly/schema.json b/provider/cmd/pulumi-resource-fastly/schema.json
index dc46d34f..e4b46e09 100644
--- a/provider/cmd/pulumi-resource-fastly/schema.json
+++ b/provider/cmd/pulumi-resource-fastly/schema.json
@@ -1440,21 +1440,14 @@
},
"name": {
"type": "string",
- "description": "Used internally by the provider to identify modified settings\n"
+ "description": "Used by the provider to identify modified settings (changing this value will force the entire block to be deleted, then recreated)\n"
},
"websockets": {
"type": "boolean",
"description": "Enable WebSockets support\n"
}
},
- "type": "object",
- "language": {
- "nodejs": {
- "requiredOutputs": [
- "name"
- ]
- }
- }
+ "type": "object"
},
"fastly:index/ServiceComputeResourceLink:ServiceComputeResourceLink": {
"properties": {
@@ -3545,7 +3538,7 @@
},
"name": {
"type": "string",
- "description": "Used internally by the provider to identify modified settings\n"
+ "description": "Used by the provider to identify modified settings (changing this value will force the entire block to be deleted, then recreated)\n"
},
"originInspector": {
"type": "boolean",
@@ -3556,14 +3549,7 @@
"description": "Enable WebSockets support\n"
}
},
- "type": "object",
- "language": {
- "nodejs": {
- "requiredOutputs": [
- "name"
- ]
- }
- }
+ "type": "object"
},
"fastly:index/ServiceVclRateLimiter:ServiceVclRateLimiter": {
"properties": {
@@ -4207,7 +4193,7 @@
},
"resources": {
"fastly:index/configstore:Configstore": {
- "description": "Provides a container that lets you store data in key-value pairs that are accessible to Compute@Edge services during request processing.\n\nIn order for a Config Store (`fastly.Configstore`) to be accessible to a [Compute@Edge](https://developer.fastly.com/learning/compute/) service you'll first need to define a Compute service (`fastly.ServiceCompute`) in your configuration, and then create a link to the Config Store from within the service using the `resource_link` block (shown in the below examples).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\nBasic usage:\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fastly from \"@pulumi/fastly\";\n\n// IMPORTANT: Deleting a Config Store requires first deleting its resource_link.\n// This requires a two-step `pulumi up` as we can't guarantee deletion order.\n// e.g. resource_link deletion within fastly_service_compute might not finish first.\nconst exampleConfigstore = new fastly.Configstore(\"exampleConfigstore\", {});\nconst examplePackageHash = fastly.getPackageHash({\n filename: \"package.tar.gz\",\n});\nconst exampleServiceCompute = new fastly.ServiceCompute(\"exampleServiceCompute\", {\n domains: [{\n name: \"demo.example.com\",\n }],\n \"package\": {\n filename: \"package.tar.gz\",\n sourceCodeHash: examplePackageHash.then(examplePackageHash =\u003e examplePackageHash.hash),\n },\n resourceLinks: [{\n name: \"my_resource_link\",\n resourceId: exampleConfigstore.id,\n }],\n forceDestroy: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_fastly as fastly\n\n# IMPORTANT: Deleting a Config Store requires first deleting its resource_link.\n# This requires a two-step `pulumi up` as we can't guarantee deletion order.\n# e.g. resource_link deletion within fastly_service_compute might not finish first.\nexample_configstore = fastly.Configstore(\"exampleConfigstore\")\nexample_package_hash = fastly.get_package_hash(filename=\"package.tar.gz\")\nexample_service_compute = fastly.ServiceCompute(\"exampleServiceCompute\",\n domains=[fastly.ServiceComputeDomainArgs(\n name=\"demo.example.com\",\n )],\n package=fastly.ServiceComputePackageArgs(\n filename=\"package.tar.gz\",\n source_code_hash=example_package_hash.hash,\n ),\n resource_links=[fastly.ServiceComputeResourceLinkArgs(\n name=\"my_resource_link\",\n resource_id=example_configstore.id,\n )],\n force_destroy=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fastly = Pulumi.Fastly;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // IMPORTANT: Deleting a Config Store requires first deleting its resource_link.\n // This requires a two-step `pulumi up` as we can't guarantee deletion order.\n // e.g. resource_link deletion within fastly_service_compute might not finish first.\n var exampleConfigstore = new Fastly.Configstore(\"exampleConfigstore\");\n\n var examplePackageHash = Fastly.GetPackageHash.Invoke(new()\n {\n Filename = \"package.tar.gz\",\n });\n\n var exampleServiceCompute = new Fastly.ServiceCompute(\"exampleServiceCompute\", new()\n {\n Domains = new[]\n {\n new Fastly.Inputs.ServiceComputeDomainArgs\n {\n Name = \"demo.example.com\",\n },\n },\n Package = new Fastly.Inputs.ServiceComputePackageArgs\n {\n Filename = \"package.tar.gz\",\n SourceCodeHash = examplePackageHash.Apply(getPackageHashResult =\u003e getPackageHashResult.Hash),\n },\n ResourceLinks = new[]\n {\n new Fastly.Inputs.ServiceComputeResourceLinkArgs\n {\n Name = \"my_resource_link\",\n ResourceId = exampleConfigstore.Id,\n },\n },\n ForceDestroy = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-fastly/sdk/v8/go/fastly\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleConfigstore, err := fastly.NewConfigstore(ctx, \"exampleConfigstore\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePackageHash, err := fastly.GetPackageHash(ctx, \u0026fastly.GetPackageHashArgs{\n\t\t\tFilename: pulumi.StringRef(\"package.tar.gz\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fastly.NewServiceCompute(ctx, \"exampleServiceCompute\", \u0026fastly.ServiceComputeArgs{\n\t\t\tDomains: fastly.ServiceComputeDomainArray{\n\t\t\t\t\u0026fastly.ServiceComputeDomainArgs{\n\t\t\t\t\tName: pulumi.String(\"demo.example.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tPackage: \u0026fastly.ServiceComputePackageArgs{\n\t\t\t\tFilename: pulumi.String(\"package.tar.gz\"),\n\t\t\t\tSourceCodeHash: *pulumi.String(examplePackageHash.Hash),\n\t\t\t},\n\t\t\tResourceLinks: fastly.ServiceComputeResourceLinkArray{\n\t\t\t\t\u0026fastly.ServiceComputeResourceLinkArgs{\n\t\t\t\t\tName: pulumi.String(\"my_resource_link\"),\n\t\t\t\t\tResourceId: exampleConfigstore.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tForceDestroy: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fastly.Configstore;\nimport com.pulumi.fastly.FastlyFunctions;\nimport com.pulumi.fastly.inputs.GetPackageHashArgs;\nimport com.pulumi.fastly.ServiceCompute;\nimport com.pulumi.fastly.ServiceComputeArgs;\nimport com.pulumi.fastly.inputs.ServiceComputeDomainArgs;\nimport com.pulumi.fastly.inputs.ServiceComputePackageArgs;\nimport com.pulumi.fastly.inputs.ServiceComputeResourceLinkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleConfigstore = new Configstore(\"exampleConfigstore\");\n\n final var examplePackageHash = FastlyFunctions.getPackageHash(GetPackageHashArgs.builder()\n .filename(\"package.tar.gz\")\n .build());\n\n var exampleServiceCompute = new ServiceCompute(\"exampleServiceCompute\", ServiceComputeArgs.builder() \n .domains(ServiceComputeDomainArgs.builder()\n .name(\"demo.example.com\")\n .build())\n .package_(ServiceComputePackageArgs.builder()\n .filename(\"package.tar.gz\")\n .sourceCodeHash(examplePackageHash.applyValue(getPackageHashResult -\u003e getPackageHashResult.hash()))\n .build())\n .resourceLinks(ServiceComputeResourceLinkArgs.builder()\n .name(\"my_resource_link\")\n .resourceId(exampleConfigstore.id())\n .build())\n .forceDestroy(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # IMPORTANT: Deleting a Config Store requires first deleting its resource_link.\n # This requires a two-step `pulumi up` as we can't guarantee deletion order.\n # e.g. resource_link deletion within fastly_service_compute might not finish first.\n exampleConfigstore:\n type: fastly:Configstore\n exampleServiceCompute:\n type: fastly:ServiceCompute\n properties:\n domains:\n - name: demo.example.com\n package:\n filename: package.tar.gz\n sourceCodeHash: ${examplePackageHash.hash}\n resourceLinks:\n - name: my_resource_link\n resourceId: ${exampleConfigstore.id}\n forceDestroy: true\nvariables:\n examplePackageHash:\n fn::invoke:\n Function: fastly:getPackageHash\n Arguments:\n filename: package.tar.gz\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nFastly Config Stores can be imported using their Store ID, e.g.\n\n```sh\n $ pulumi import fastly:index/configstore:Configstore example xxxxxxxxxxxxxxxxxxxx\n```\n\n ",
+ "description": "Provides a container that lets you store data in key-value pairs that are accessible to Compute services during request processing.\n\nIn order for a Config Store (`fastly.Configstore`) to be accessible to a [Compute](https://developer.fastly.com/learning/compute/) service you'll first need to define a Compute service (`fastly.ServiceCompute`) in your configuration, and then create a link to the Config Store from within the service using the `resource_link` block (shown in the below examples).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\nBasic usage:\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fastly from \"@pulumi/fastly\";\n\n// IMPORTANT: Deleting a Config Store requires first deleting its resource_link.\n// This requires a two-step `pulumi up` as we can't guarantee deletion order.\n// e.g. resource_link deletion within fastly_service_compute might not finish first.\nconst exampleConfigstore = new fastly.Configstore(\"exampleConfigstore\", {});\nconst examplePackageHash = fastly.getPackageHash({\n filename: \"package.tar.gz\",\n});\nconst exampleServiceCompute = new fastly.ServiceCompute(\"exampleServiceCompute\", {\n domains: [{\n name: \"demo.example.com\",\n }],\n \"package\": {\n filename: \"package.tar.gz\",\n sourceCodeHash: examplePackageHash.then(examplePackageHash =\u003e examplePackageHash.hash),\n },\n resourceLinks: [{\n name: \"my_resource_link\",\n resourceId: exampleConfigstore.id,\n }],\n forceDestroy: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_fastly as fastly\n\n# IMPORTANT: Deleting a Config Store requires first deleting its resource_link.\n# This requires a two-step `pulumi up` as we can't guarantee deletion order.\n# e.g. resource_link deletion within fastly_service_compute might not finish first.\nexample_configstore = fastly.Configstore(\"exampleConfigstore\")\nexample_package_hash = fastly.get_package_hash(filename=\"package.tar.gz\")\nexample_service_compute = fastly.ServiceCompute(\"exampleServiceCompute\",\n domains=[fastly.ServiceComputeDomainArgs(\n name=\"demo.example.com\",\n )],\n package=fastly.ServiceComputePackageArgs(\n filename=\"package.tar.gz\",\n source_code_hash=example_package_hash.hash,\n ),\n resource_links=[fastly.ServiceComputeResourceLinkArgs(\n name=\"my_resource_link\",\n resource_id=example_configstore.id,\n )],\n force_destroy=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fastly = Pulumi.Fastly;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // IMPORTANT: Deleting a Config Store requires first deleting its resource_link.\n // This requires a two-step `pulumi up` as we can't guarantee deletion order.\n // e.g. resource_link deletion within fastly_service_compute might not finish first.\n var exampleConfigstore = new Fastly.Configstore(\"exampleConfigstore\");\n\n var examplePackageHash = Fastly.GetPackageHash.Invoke(new()\n {\n Filename = \"package.tar.gz\",\n });\n\n var exampleServiceCompute = new Fastly.ServiceCompute(\"exampleServiceCompute\", new()\n {\n Domains = new[]\n {\n new Fastly.Inputs.ServiceComputeDomainArgs\n {\n Name = \"demo.example.com\",\n },\n },\n Package = new Fastly.Inputs.ServiceComputePackageArgs\n {\n Filename = \"package.tar.gz\",\n SourceCodeHash = examplePackageHash.Apply(getPackageHashResult =\u003e getPackageHashResult.Hash),\n },\n ResourceLinks = new[]\n {\n new Fastly.Inputs.ServiceComputeResourceLinkArgs\n {\n Name = \"my_resource_link\",\n ResourceId = exampleConfigstore.Id,\n },\n },\n ForceDestroy = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-fastly/sdk/v8/go/fastly\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleConfigstore, err := fastly.NewConfigstore(ctx, \"exampleConfigstore\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePackageHash, err := fastly.GetPackageHash(ctx, \u0026fastly.GetPackageHashArgs{\n\t\t\tFilename: pulumi.StringRef(\"package.tar.gz\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fastly.NewServiceCompute(ctx, \"exampleServiceCompute\", \u0026fastly.ServiceComputeArgs{\n\t\t\tDomains: fastly.ServiceComputeDomainArray{\n\t\t\t\t\u0026fastly.ServiceComputeDomainArgs{\n\t\t\t\t\tName: pulumi.String(\"demo.example.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tPackage: \u0026fastly.ServiceComputePackageArgs{\n\t\t\t\tFilename: pulumi.String(\"package.tar.gz\"),\n\t\t\t\tSourceCodeHash: *pulumi.String(examplePackageHash.Hash),\n\t\t\t},\n\t\t\tResourceLinks: fastly.ServiceComputeResourceLinkArray{\n\t\t\t\t\u0026fastly.ServiceComputeResourceLinkArgs{\n\t\t\t\t\tName: pulumi.String(\"my_resource_link\"),\n\t\t\t\t\tResourceId: exampleConfigstore.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tForceDestroy: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fastly.Configstore;\nimport com.pulumi.fastly.FastlyFunctions;\nimport com.pulumi.fastly.inputs.GetPackageHashArgs;\nimport com.pulumi.fastly.ServiceCompute;\nimport com.pulumi.fastly.ServiceComputeArgs;\nimport com.pulumi.fastly.inputs.ServiceComputeDomainArgs;\nimport com.pulumi.fastly.inputs.ServiceComputePackageArgs;\nimport com.pulumi.fastly.inputs.ServiceComputeResourceLinkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleConfigstore = new Configstore(\"exampleConfigstore\");\n\n final var examplePackageHash = FastlyFunctions.getPackageHash(GetPackageHashArgs.builder()\n .filename(\"package.tar.gz\")\n .build());\n\n var exampleServiceCompute = new ServiceCompute(\"exampleServiceCompute\", ServiceComputeArgs.builder() \n .domains(ServiceComputeDomainArgs.builder()\n .name(\"demo.example.com\")\n .build())\n .package_(ServiceComputePackageArgs.builder()\n .filename(\"package.tar.gz\")\n .sourceCodeHash(examplePackageHash.applyValue(getPackageHashResult -\u003e getPackageHashResult.hash()))\n .build())\n .resourceLinks(ServiceComputeResourceLinkArgs.builder()\n .name(\"my_resource_link\")\n .resourceId(exampleConfigstore.id())\n .build())\n .forceDestroy(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # IMPORTANT: Deleting a Config Store requires first deleting its resource_link.\n # This requires a two-step `pulumi up` as we can't guarantee deletion order.\n # e.g. resource_link deletion within fastly_service_compute might not finish first.\n exampleConfigstore:\n type: fastly:Configstore\n exampleServiceCompute:\n type: fastly:ServiceCompute\n properties:\n domains:\n - name: demo.example.com\n package:\n filename: package.tar.gz\n sourceCodeHash: ${examplePackageHash.hash}\n resourceLinks:\n - name: my_resource_link\n resourceId: ${exampleConfigstore.id}\n forceDestroy: true\nvariables:\n examplePackageHash:\n fn::invoke:\n Function: fastly:getPackageHash\n Arguments:\n filename: package.tar.gz\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nFastly Config Stores can be imported using their Store ID, e.g.\n\n```sh\n $ pulumi import fastly:index/configstore:Configstore example xxxxxxxxxxxxxxxxxxxx\n```\n\n ",
"properties": {
"forceDestroy": {
"type": "boolean",
@@ -4743,7 +4729,7 @@
},
"package": {
"$ref": "#/types/fastly:index/ServiceComputePackage:ServiceComputePackage",
- "description": "The `package` block supports uploading or modifying Wasm packages for use in a Fastly Compute@Edge service (if omitted, ensure `activate = false` is set on `fastly.ServiceCompute` to avoid service validation errors). See Fastly's documentation on [Compute@Edge](https://developer.fastly.com/learning/compute/)\n"
+ "description": "The `package` block supports uploading or modifying Wasm packages for use in a Fastly Compute service (if omitted, ensure `activate = false` is set on `fastly.ServiceCompute` to avoid service validation errors). See Fastly's documentation on [Compute](https://developer.fastly.com/learning/compute/)\n"
},
"productEnablement": {
"$ref": "#/types/fastly:index/ServiceComputeProductEnablement:ServiceComputeProductEnablement"
@@ -4966,7 +4952,7 @@
},
"package": {
"$ref": "#/types/fastly:index/ServiceComputePackage:ServiceComputePackage",
- "description": "The `package` block supports uploading or modifying Wasm packages for use in a Fastly Compute@Edge service (if omitted, ensure `activate = false` is set on `fastly.ServiceCompute` to avoid service validation errors). See Fastly's documentation on [Compute@Edge](https://developer.fastly.com/learning/compute/)\n"
+ "description": "The `package` block supports uploading or modifying Wasm packages for use in a Fastly Compute service (if omitted, ensure `activate = false` is set on `fastly.ServiceCompute` to avoid service validation errors). See Fastly's documentation on [Compute](https://developer.fastly.com/learning/compute/)\n"
},
"productEnablement": {
"$ref": "#/types/fastly:index/ServiceComputeProductEnablement:ServiceComputeProductEnablement"
@@ -5202,7 +5188,7 @@
},
"package": {
"$ref": "#/types/fastly:index/ServiceComputePackage:ServiceComputePackage",
- "description": "The `package` block supports uploading or modifying Wasm packages for use in a Fastly Compute@Edge service (if omitted, ensure `activate = false` is set on `fastly.ServiceCompute` to avoid service validation errors). See Fastly's documentation on [Compute@Edge](https://developer.fastly.com/learning/compute/)\n"
+ "description": "The `package` block supports uploading or modifying Wasm packages for use in a Fastly Compute service (if omitted, ensure `activate = false` is set on `fastly.ServiceCompute` to avoid service validation errors). See Fastly's documentation on [Compute](https://developer.fastly.com/learning/compute/)\n"
},
"productEnablement": {
"$ref": "#/types/fastly:index/ServiceComputeProductEnablement:ServiceComputeProductEnablement"
@@ -5380,7 +5366,7 @@
}
},
"fastly:index/serviceVcl:ServiceVcl": {
- "description": "Provides a Fastly Service, representing the configuration for a website, app,\nAPI, or anything else to be served through Fastly. A Service encompasses Domains\nand Backends.\n\nThe Service resource requires a domain name that is correctly set up to direct\ntraffic to the Fastly service. See Fastly's guide on [Adding CNAME Records][fastly-cname]\non their documentation site for guidance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\nBasic usage:\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fastly from \"@pulumi/fastly\";\n\nconst demo = new fastly.ServiceVcl(\"demo\", {\n backends: [{\n address: \"127.0.0.1\",\n name: \"localhost\",\n port: 80,\n }],\n domains: [{\n comment: \"demo\",\n name: \"demo.notexample.com\",\n }],\n forceDestroy: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_fastly as fastly\n\ndemo = fastly.ServiceVcl(\"demo\",\n backends=[fastly.ServiceVclBackendArgs(\n address=\"127.0.0.1\",\n name=\"localhost\",\n port=80,\n )],\n domains=[fastly.ServiceVclDomainArgs(\n comment=\"demo\",\n name=\"demo.notexample.com\",\n )],\n force_destroy=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fastly = Pulumi.Fastly;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var demo = new Fastly.ServiceVcl(\"demo\", new()\n {\n Backends = new[]\n {\n new Fastly.Inputs.ServiceVclBackendArgs\n {\n Address = \"127.0.0.1\",\n Name = \"localhost\",\n Port = 80,\n },\n },\n Domains = new[]\n {\n new Fastly.Inputs.ServiceVclDomainArgs\n {\n Comment = \"demo\",\n Name = \"demo.notexample.com\",\n },\n },\n ForceDestroy = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-fastly/sdk/v8/go/fastly\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fastly.NewServiceVcl(ctx, \"demo\", \u0026fastly.ServiceVclArgs{\n\t\t\tBackends: fastly.ServiceVclBackendArray{\n\t\t\t\t\u0026fastly.ServiceVclBackendArgs{\n\t\t\t\t\tAddress: pulumi.String(\"127.0.0.1\"),\n\t\t\t\t\tName: pulumi.String(\"localhost\"),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDomains: fastly.ServiceVclDomainArray{\n\t\t\t\t\u0026fastly.ServiceVclDomainArgs{\n\t\t\t\t\tComment: pulumi.String(\"demo\"),\n\t\t\t\t\tName: pulumi.String(\"demo.notexample.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tForceDestroy: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fastly.ServiceVcl;\nimport com.pulumi.fastly.ServiceVclArgs;\nimport com.pulumi.fastly.inputs.ServiceVclBackendArgs;\nimport com.pulumi.fastly.inputs.ServiceVclDomainArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var demo = new ServiceVcl(\"demo\", ServiceVclArgs.builder() \n .backends(ServiceVclBackendArgs.builder()\n .address(\"127.0.0.1\")\n .name(\"localhost\")\n .port(80)\n .build())\n .domains(ServiceVclDomainArgs.builder()\n .comment(\"demo\")\n .name(\"demo.notexample.com\")\n .build())\n .forceDestroy(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n demo:\n type: fastly:ServiceVcl\n properties:\n backends:\n - address: 127.0.0.1\n name: localhost\n port: 80\n domains:\n - comment: demo\n name: demo.notexample.com\n forceDestroy: true\n```\n\nBasic usage with an Amazon S3 Website and that removes the `x-amz-request-id` header:\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fastly.ServiceVcl;\nimport com.pulumi.fastly.ServiceVclArgs;\nimport com.pulumi.fastly.inputs.ServiceVclBackendArgs;\nimport com.pulumi.fastly.inputs.ServiceVclDomainArgs;\nimport com.pulumi.fastly.inputs.ServiceVclGzipArgs;\nimport com.pulumi.fastly.inputs.ServiceVclHeaderArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var demo = new ServiceVcl(\"demo\", ServiceVclArgs.builder() \n .backends(ServiceVclBackendArgs.builder()\n .address(\"demo.notexample.com.s3-website-us-west-2.amazonaws.com\")\n .name(\"AWS S3 hosting\")\n .overrideHost(\"demo.notexample.com.s3-website-us-west-2.amazonaws.com\")\n .port(80)\n .build())\n .domains(ServiceVclDomainArgs.builder()\n .comment(\"demo\")\n .name(\"demo.notexample.com\")\n .build())\n .forceDestroy(true)\n .gzips(ServiceVclGzipArgs.builder()\n .contentTypes( \n \"text/html\",\n \"text/css\")\n .extensions( \n \"css\",\n \"js\")\n .name(\"file extensions and content types\")\n .build())\n .headers(ServiceVclHeaderArgs.builder()\n .action(\"delete\")\n .destination(\"http.x-amz-request-id\")\n .name(\"remove x-amz-request-id\")\n .type(\"cache\")\n .build())\n .build());\n\n var website = new BucketV2(\"website\", BucketV2Args.builder() \n .acl(\"public-read\")\n .websites(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n demo:\n type: fastly:ServiceVcl\n properties:\n backends:\n - address: demo.notexample.com.s3-website-us-west-2.amazonaws.com\n name: AWS S3 hosting\n overrideHost: demo.notexample.com.s3-website-us-west-2.amazonaws.com\n port: 80\n domains:\n - comment: demo\n name: demo.notexample.com\n forceDestroy: true\n gzips:\n - contentTypes:\n - text/html\n - text/css\n extensions:\n - css\n - js\n name: file extensions and content types\n headers:\n - action: delete\n destination: http.x-amz-request-id\n name: remove x-amz-request-id\n type: cache\n website:\n type: aws:s3:BucketV2\n properties:\n acl: public-read\n websites:\n - errorDocument: error.html\n indexDocument: index.html\n```\n\nBasic usage with [custom\nVCL](https://docs.fastly.com/vcl/custom-vcl/uploading-custom-vcl/):\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fastly from \"@pulumi/fastly\";\nimport * as fs from \"fs\";\n\nconst demo = new fastly.ServiceVcl(\"demo\", {\n backends: [{\n address: \"127.0.0.1\",\n name: \"localhost\",\n port: 80,\n }],\n domains: [{\n comment: \"demo\",\n name: \"demo.notexample.com\",\n }],\n forceDestroy: true,\n vcls: [\n {\n content: fs.readFileSync(`${path.module}/my_custom_main.vcl`),\n main: true,\n name: \"my_custom_main_vcl\",\n },\n {\n content: fs.readFileSync(`${path.module}/my_custom_library.vcl`),\n name: \"my_custom_library_vcl\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_fastly as fastly\n\ndemo = fastly.ServiceVcl(\"demo\",\n backends=[fastly.ServiceVclBackendArgs(\n address=\"127.0.0.1\",\n name=\"localhost\",\n port=80,\n )],\n domains=[fastly.ServiceVclDomainArgs(\n comment=\"demo\",\n name=\"demo.notexample.com\",\n )],\n force_destroy=True,\n vcls=[\n fastly.ServiceVclVclArgs(\n content=(lambda path: open(path).read())(f\"{path['module']}/my_custom_main.vcl\"),\n main=True,\n name=\"my_custom_main_vcl\",\n ),\n fastly.ServiceVclVclArgs(\n content=(lambda path: open(path).read())(f\"{path['module']}/my_custom_library.vcl\"),\n name=\"my_custom_library_vcl\",\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing Pulumi;\nusing Fastly = Pulumi.Fastly;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var demo = new Fastly.ServiceVcl(\"demo\", new()\n {\n Backends = new[]\n {\n new Fastly.Inputs.ServiceVclBackendArgs\n {\n Address = \"127.0.0.1\",\n Name = \"localhost\",\n Port = 80,\n },\n },\n Domains = new[]\n {\n new Fastly.Inputs.ServiceVclDomainArgs\n {\n Comment = \"demo\",\n Name = \"demo.notexample.com\",\n },\n },\n ForceDestroy = true,\n Vcls = new[]\n {\n new Fastly.Inputs.ServiceVclVclArgs\n {\n Content = File.ReadAllText($\"{path.Module}/my_custom_main.vcl\"),\n Main = true,\n Name = \"my_custom_main_vcl\",\n },\n new Fastly.Inputs.ServiceVclVclArgs\n {\n Content = File.ReadAllText($\"{path.Module}/my_custom_library.vcl\"),\n Name = \"my_custom_library_vcl\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\t\"os\"\n\n\t\"github.com/pulumi/pulumi-fastly/sdk/v8/go/fastly\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc readFileOrPanic(path string) pulumi.StringPtrInput {\n\tdata, err := os.ReadFile(path)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\treturn pulumi.String(string(data))\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fastly.NewServiceVcl(ctx, \"demo\", \u0026fastly.ServiceVclArgs{\n\t\t\tBackends: fastly.ServiceVclBackendArray{\n\t\t\t\t\u0026fastly.ServiceVclBackendArgs{\n\t\t\t\t\tAddress: pulumi.String(\"127.0.0.1\"),\n\t\t\t\t\tName: pulumi.String(\"localhost\"),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDomains: fastly.ServiceVclDomainArray{\n\t\t\t\t\u0026fastly.ServiceVclDomainArgs{\n\t\t\t\t\tComment: pulumi.String(\"demo\"),\n\t\t\t\t\tName: pulumi.String(\"demo.notexample.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tForceDestroy: pulumi.Bool(true),\n\t\t\tVcls: fastly.ServiceVclVclArray{\n\t\t\t\t\u0026fastly.ServiceVclVclArgs{\n\t\t\t\t\tContent: readFileOrPanic(fmt.Sprintf(\"%v/my_custom_main.vcl\", path.Module)),\n\t\t\t\t\tMain: pulumi.Bool(true),\n\t\t\t\t\tName: pulumi.String(\"my_custom_main_vcl\"),\n\t\t\t\t},\n\t\t\t\t\u0026fastly.ServiceVclVclArgs{\n\t\t\t\t\tContent: readFileOrPanic(fmt.Sprintf(\"%v/my_custom_library.vcl\", path.Module)),\n\t\t\t\t\tName: pulumi.String(\"my_custom_library_vcl\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fastly.ServiceVcl;\nimport com.pulumi.fastly.ServiceVclArgs;\nimport com.pulumi.fastly.inputs.ServiceVclBackendArgs;\nimport com.pulumi.fastly.inputs.ServiceVclDomainArgs;\nimport com.pulumi.fastly.inputs.ServiceVclVclArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var demo = new ServiceVcl(\"demo\", ServiceVclArgs.builder() \n .backends(ServiceVclBackendArgs.builder()\n .address(\"127.0.0.1\")\n .name(\"localhost\")\n .port(80)\n .build())\n .domains(ServiceVclDomainArgs.builder()\n .comment(\"demo\")\n .name(\"demo.notexample.com\")\n .build())\n .forceDestroy(true)\n .vcls( \n ServiceVclVclArgs.builder()\n .content(Files.readString(Paths.get(String.format(\"%s/my_custom_main.vcl\", path.module()))))\n .main(true)\n .name(\"my_custom_main_vcl\")\n .build(),\n ServiceVclVclArgs.builder()\n .content(Files.readString(Paths.get(String.format(\"%s/my_custom_library.vcl\", path.module()))))\n .name(\"my_custom_library_vcl\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n demo:\n type: fastly:ServiceVcl\n properties:\n backends:\n - address: 127.0.0.1\n name: localhost\n port: 80\n domains:\n - comment: demo\n name: demo.notexample.com\n forceDestroy: true\n vcls:\n - content:\n fn::readFile: ${path.module}/my_custom_main.vcl\n main: true\n name: my_custom_main_vcl\n - content:\n fn::readFile: ${path.module}/my_custom_library.vcl\n name: my_custom_library_vcl\n```\n\nBasic usage with [custom Director](https://developer.fastly.com/reference/api/load-balancing/directors/director/):\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fastly from \"@pulumi/fastly\";\n\nconst demo = new fastly.ServiceVcl(\"demo\", {\n backends: [\n {\n address: \"127.0.0.1\",\n name: \"origin1\",\n port: 80,\n },\n {\n address: \"127.0.0.2\",\n name: \"origin2\",\n port: 80,\n },\n ],\n directors: [{\n backends: [\n \"origin1\",\n \"origin2\",\n ],\n name: \"mydirector\",\n quorum: 0,\n type: 3,\n }],\n domains: [{\n comment: \"demo\",\n name: \"demo.notexample.com\",\n }],\n forceDestroy: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_fastly as fastly\n\ndemo = fastly.ServiceVcl(\"demo\",\n backends=[\n fastly.ServiceVclBackendArgs(\n address=\"127.0.0.1\",\n name=\"origin1\",\n port=80,\n ),\n fastly.ServiceVclBackendArgs(\n address=\"127.0.0.2\",\n name=\"origin2\",\n port=80,\n ),\n ],\n directors=[fastly.ServiceVclDirectorArgs(\n backends=[\n \"origin1\",\n \"origin2\",\n ],\n name=\"mydirector\",\n quorum=0,\n type=3,\n )],\n domains=[fastly.ServiceVclDomainArgs(\n comment=\"demo\",\n name=\"demo.notexample.com\",\n )],\n force_destroy=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fastly = Pulumi.Fastly;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var demo = new Fastly.ServiceVcl(\"demo\", new()\n {\n Backends = new[]\n {\n new Fastly.Inputs.ServiceVclBackendArgs\n {\n Address = \"127.0.0.1\",\n Name = \"origin1\",\n Port = 80,\n },\n new Fastly.Inputs.ServiceVclBackendArgs\n {\n Address = \"127.0.0.2\",\n Name = \"origin2\",\n Port = 80,\n },\n },\n Directors = new[]\n {\n new Fastly.Inputs.ServiceVclDirectorArgs\n {\n Backends = new[]\n {\n \"origin1\",\n \"origin2\",\n },\n Name = \"mydirector\",\n Quorum = 0,\n Type = 3,\n },\n },\n Domains = new[]\n {\n new Fastly.Inputs.ServiceVclDomainArgs\n {\n Comment = \"demo\",\n Name = \"demo.notexample.com\",\n },\n },\n ForceDestroy = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-fastly/sdk/v8/go/fastly\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fastly.NewServiceVcl(ctx, \"demo\", \u0026fastly.ServiceVclArgs{\n\t\t\tBackends: fastly.ServiceVclBackendArray{\n\t\t\t\t\u0026fastly.ServiceVclBackendArgs{\n\t\t\t\t\tAddress: pulumi.String(\"127.0.0.1\"),\n\t\t\t\t\tName: pulumi.String(\"origin1\"),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t},\n\t\t\t\t\u0026fastly.ServiceVclBackendArgs{\n\t\t\t\t\tAddress: pulumi.String(\"127.0.0.2\"),\n\t\t\t\t\tName: pulumi.String(\"origin2\"),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDirectors: fastly.ServiceVclDirectorArray{\n\t\t\t\t\u0026fastly.ServiceVclDirectorArgs{\n\t\t\t\t\tBackends: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"origin1\"),\n\t\t\t\t\t\tpulumi.String(\"origin2\"),\n\t\t\t\t\t},\n\t\t\t\t\tName: pulumi.String(\"mydirector\"),\n\t\t\t\t\tQuorum: pulumi.Int(0),\n\t\t\t\t\tType: pulumi.Int(3),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDomains: fastly.ServiceVclDomainArray{\n\t\t\t\t\u0026fastly.ServiceVclDomainArgs{\n\t\t\t\t\tComment: pulumi.String(\"demo\"),\n\t\t\t\t\tName: pulumi.String(\"demo.notexample.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tForceDestroy: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fastly.ServiceVcl;\nimport com.pulumi.fastly.ServiceVclArgs;\nimport com.pulumi.fastly.inputs.ServiceVclBackendArgs;\nimport com.pulumi.fastly.inputs.ServiceVclDirectorArgs;\nimport com.pulumi.fastly.inputs.ServiceVclDomainArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var demo = new ServiceVcl(\"demo\", ServiceVclArgs.builder() \n .backends( \n ServiceVclBackendArgs.builder()\n .address(\"127.0.0.1\")\n .name(\"origin1\")\n .port(80)\n .build(),\n ServiceVclBackendArgs.builder()\n .address(\"127.0.0.2\")\n .name(\"origin2\")\n .port(80)\n .build())\n .directors(ServiceVclDirectorArgs.builder()\n .backends( \n \"origin1\",\n \"origin2\")\n .name(\"mydirector\")\n .quorum(0)\n .type(3)\n .build())\n .domains(ServiceVclDomainArgs.builder()\n .comment(\"demo\")\n .name(\"demo.notexample.com\")\n .build())\n .forceDestroy(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n demo:\n type: fastly:ServiceVcl\n properties:\n backends:\n - address: 127.0.0.1\n name: origin1\n port: 80\n - address: 127.0.0.2\n name: origin2\n port: 80\n directors:\n - backends:\n - origin1\n - origin2\n name: mydirector\n quorum: 0\n type: 3\n domains:\n - comment: demo\n name: demo.notexample.com\n forceDestroy: true\n```\n\nBasic usage with [Web Application Firewall](https://developer.fastly.com/reference/api/waf/):\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fastly from \"@pulumi/fastly\";\n\nconst demo = new fastly.ServiceVcl(\"demo\", {\n backends: [{\n address: \"127.0.0.1\",\n name: \"origin1\",\n port: 80,\n }],\n conditions: [\n {\n name: \"WAF_Prefetch\",\n statement: \"req.backend.is_origin\",\n type: \"PREFETCH\",\n },\n {\n name: \"WAF_always_false\",\n statement: \"false\",\n type: \"REQUEST\",\n },\n ],\n domains: [{\n comment: \"demo\",\n name: \"example.com\",\n }],\n forceDestroy: true,\n responseObjects: [{\n content: \"\u003chtml\u003e\u003cbody\u003eForbidden\u003c/body\u003e\u003c/html\u003e\",\n contentType: \"text/html\",\n name: \"WAF_Response\",\n requestCondition: \"WAF_always_false\",\n response: \"Forbidden\",\n status: 403,\n }],\n waf: {\n prefetchCondition: \"WAF_Prefetch\",\n responseObject: \"WAF_Response\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_fastly as fastly\n\ndemo = fastly.ServiceVcl(\"demo\",\n backends=[fastly.ServiceVclBackendArgs(\n address=\"127.0.0.1\",\n name=\"origin1\",\n port=80,\n )],\n conditions=[\n fastly.ServiceVclConditionArgs(\n name=\"WAF_Prefetch\",\n statement=\"req.backend.is_origin\",\n type=\"PREFETCH\",\n ),\n fastly.ServiceVclConditionArgs(\n name=\"WAF_always_false\",\n statement=\"false\",\n type=\"REQUEST\",\n ),\n ],\n domains=[fastly.ServiceVclDomainArgs(\n comment=\"demo\",\n name=\"example.com\",\n )],\n force_destroy=True,\n response_objects=[fastly.ServiceVclResponseObjectArgs(\n content=\"\u003chtml\u003e\u003cbody\u003eForbidden\u003c/body\u003e\u003c/html\u003e\",\n content_type=\"text/html\",\n name=\"WAF_Response\",\n request_condition=\"WAF_always_false\",\n response=\"Forbidden\",\n status=403,\n )],\n waf=fastly.ServiceVclWafArgs(\n prefetch_condition=\"WAF_Prefetch\",\n response_object=\"WAF_Response\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fastly = Pulumi.Fastly;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var demo = new Fastly.ServiceVcl(\"demo\", new()\n {\n Backends = new[]\n {\n new Fastly.Inputs.ServiceVclBackendArgs\n {\n Address = \"127.0.0.1\",\n Name = \"origin1\",\n Port = 80,\n },\n },\n Conditions = new[]\n {\n new Fastly.Inputs.ServiceVclConditionArgs\n {\n Name = \"WAF_Prefetch\",\n Statement = \"req.backend.is_origin\",\n Type = \"PREFETCH\",\n },\n new Fastly.Inputs.ServiceVclConditionArgs\n {\n Name = \"WAF_always_false\",\n Statement = \"false\",\n Type = \"REQUEST\",\n },\n },\n Domains = new[]\n {\n new Fastly.Inputs.ServiceVclDomainArgs\n {\n Comment = \"demo\",\n Name = \"example.com\",\n },\n },\n ForceDestroy = true,\n ResponseObjects = new[]\n {\n new Fastly.Inputs.ServiceVclResponseObjectArgs\n {\n Content = \"\u003chtml\u003e\u003cbody\u003eForbidden\u003c/body\u003e\u003c/html\u003e\",\n ContentType = \"text/html\",\n Name = \"WAF_Response\",\n RequestCondition = \"WAF_always_false\",\n Response = \"Forbidden\",\n Status = 403,\n },\n },\n Waf = new Fastly.Inputs.ServiceVclWafArgs\n {\n PrefetchCondition = \"WAF_Prefetch\",\n ResponseObject = \"WAF_Response\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-fastly/sdk/v8/go/fastly\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fastly.NewServiceVcl(ctx, \"demo\", \u0026fastly.ServiceVclArgs{\n\t\t\tBackends: fastly.ServiceVclBackendArray{\n\t\t\t\t\u0026fastly.ServiceVclBackendArgs{\n\t\t\t\t\tAddress: pulumi.String(\"127.0.0.1\"),\n\t\t\t\t\tName: pulumi.String(\"origin1\"),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t},\n\t\t\t},\n\t\t\tConditions: fastly.ServiceVclConditionArray{\n\t\t\t\t\u0026fastly.ServiceVclConditionArgs{\n\t\t\t\t\tName: pulumi.String(\"WAF_Prefetch\"),\n\t\t\t\t\tStatement: pulumi.String(\"req.backend.is_origin\"),\n\t\t\t\t\tType: pulumi.String(\"PREFETCH\"),\n\t\t\t\t},\n\t\t\t\t\u0026fastly.ServiceVclConditionArgs{\n\t\t\t\t\tName: pulumi.String(\"WAF_always_false\"),\n\t\t\t\t\tStatement: pulumi.String(\"false\"),\n\t\t\t\t\tType: pulumi.String(\"REQUEST\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDomains: fastly.ServiceVclDomainArray{\n\t\t\t\t\u0026fastly.ServiceVclDomainArgs{\n\t\t\t\t\tComment: pulumi.String(\"demo\"),\n\t\t\t\t\tName: pulumi.String(\"example.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tForceDestroy: pulumi.Bool(true),\n\t\t\tResponseObjects: fastly.ServiceVclResponseObjectArray{\n\t\t\t\t\u0026fastly.ServiceVclResponseObjectArgs{\n\t\t\t\t\tContent: pulumi.String(\"\u003chtml\u003e\u003cbody\u003eForbidden\u003c/body\u003e\u003c/html\u003e\"),\n\t\t\t\t\tContentType: pulumi.String(\"text/html\"),\n\t\t\t\t\tName: pulumi.String(\"WAF_Response\"),\n\t\t\t\t\tRequestCondition: pulumi.String(\"WAF_always_false\"),\n\t\t\t\t\tResponse: pulumi.String(\"Forbidden\"),\n\t\t\t\t\tStatus: pulumi.Int(403),\n\t\t\t\t},\n\t\t\t},\n\t\t\tWaf: \u0026fastly.ServiceVclWafArgs{\n\t\t\t\tPrefetchCondition: pulumi.String(\"WAF_Prefetch\"),\n\t\t\t\tResponseObject: pulumi.String(\"WAF_Response\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fastly.ServiceVcl;\nimport com.pulumi.fastly.ServiceVclArgs;\nimport com.pulumi.fastly.inputs.ServiceVclBackendArgs;\nimport com.pulumi.fastly.inputs.ServiceVclConditionArgs;\nimport com.pulumi.fastly.inputs.ServiceVclDomainArgs;\nimport com.pulumi.fastly.inputs.ServiceVclResponseObjectArgs;\nimport com.pulumi.fastly.inputs.ServiceVclWafArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var demo = new ServiceVcl(\"demo\", ServiceVclArgs.builder() \n .backends(ServiceVclBackendArgs.builder()\n .address(\"127.0.0.1\")\n .name(\"origin1\")\n .port(80)\n .build())\n .conditions( \n ServiceVclConditionArgs.builder()\n .name(\"WAF_Prefetch\")\n .statement(\"req.backend.is_origin\")\n .type(\"PREFETCH\")\n .build(),\n ServiceVclConditionArgs.builder()\n .name(\"WAF_always_false\")\n .statement(\"false\")\n .type(\"REQUEST\")\n .build())\n .domains(ServiceVclDomainArgs.builder()\n .comment(\"demo\")\n .name(\"example.com\")\n .build())\n .forceDestroy(true)\n .responseObjects(ServiceVclResponseObjectArgs.builder()\n .content(\"\u003chtml\u003e\u003cbody\u003eForbidden\u003c/body\u003e\u003c/html\u003e\")\n .contentType(\"text/html\")\n .name(\"WAF_Response\")\n .requestCondition(\"WAF_always_false\")\n .response(\"Forbidden\")\n .status(\"403\")\n .build())\n .waf(ServiceVclWafArgs.builder()\n .prefetchCondition(\"WAF_Prefetch\")\n .responseObject(\"WAF_Response\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n demo:\n type: fastly:ServiceVcl\n properties:\n backends:\n - address: 127.0.0.1\n name: origin1\n port: 80\n conditions:\n - name: WAF_Prefetch\n statement: req.backend.is_origin\n type: PREFETCH\n - name: WAF_always_false\n statement: 'false'\n type: REQUEST\n domains:\n - comment: demo\n name: example.com\n forceDestroy: true\n responseObjects:\n - content: \u003chtml\u003e\u003cbody\u003eForbidden\u003c/body\u003e\u003c/html\u003e\n contentType: text/html\n name: WAF_Response\n requestCondition: WAF_always_false\n response: Forbidden\n status: '403'\n waf:\n prefetchCondition: WAF_Prefetch\n responseObject: WAF_Response\n```\n\n\u003e **Note:** For an AWS S3 Bucket, the Backend address is\n`\u003cdomain\u003e.s3-website-\u003cregion\u003e.amazonaws.com`. The `override_host` attribute\nshould be set to `\u003cbucket_name\u003e.s3-website-\u003cregion\u003e.amazonaws.com` in the `backend` block. See the\nFastly documentation on [Amazon S3][fastly-s3].\n\n[fastly-s3]: https://docs.fastly.com/en/guides/amazon-s3\n[fastly-cname]: https://docs.fastly.com/en/guides/adding-cname-records\n[fastly-conditionals]: https://docs.fastly.com/en/guides/using-conditions\n[fastly-sumologic]: https://developer.fastly.com/reference/api/logging/sumologic/\n[fastly-gcs]: https://developer.fastly.com/reference/api/logging/gcs/\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nFastly Services can be imported using their service ID, e.g.\n\n```sh\n $ pulumi import fastly:index/serviceVcl:ServiceVcl demo xxxxxxxxxxxxxxxxxxxx\n```\n\n By default, either the active version will be imported, or the latest version if no version is active. Alternatively, a specific version of the service can be selected by appending an `@` followed by the version number to the service ID, e.g.\n\n```sh\n $ pulumi import fastly:index/serviceVcl:ServiceVcl demo xxxxxxxxxxxxxxxxxxxx@2\n```\n\n ",
+ "description": "\n\n\n## Import\n\nFastly Services can be imported using their service ID, e.g.\n\n```sh\n $ pulumi import fastly:index/serviceVcl:ServiceVcl demo xxxxxxxxxxxxxxxxxxxx\n```\n\n By default, either the active version will be imported, or the latest version if no version is active. Alternatively, a specific version of the service can be selected by appending an `@` followed by the version number to the service ID, e.g.\n\n```sh\n $ pulumi import fastly:index/serviceVcl:ServiceVcl demo xxxxxxxxxxxxxxxxxxxx@2\n```\n\n ",
"properties": {
"acls": {
"type": "array",
diff --git a/provider/go.mod b/provider/go.mod
index f4efb66e..4cc8bd97 100644
--- a/provider/go.mod
+++ b/provider/go.mod
@@ -74,7 +74,7 @@ require (
github.com/edsrzf/mmap-go v1.1.0 // indirect
github.com/emirpasic/gods v1.18.1 // indirect
github.com/ettle/strcase v0.1.1 // indirect
- github.com/fastly/go-fastly/v8 v8.6.1 // indirect
+ github.com/fastly/go-fastly/v8 v8.6.2 // indirect
github.com/fatih/color v1.15.0 // indirect
github.com/gedex/inflector v0.0.0-20170307190818-16278e9db813 // indirect
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect
diff --git a/provider/go.sum b/provider/go.sum
index 56b0f93f..f1fe8167 100644
--- a/provider/go.sum
+++ b/provider/go.sum
@@ -1169,8 +1169,8 @@ github.com/evanphx/json-patch v4.9.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLi
github.com/evanphx/json-patch v4.11.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
github.com/evanphx/json-patch v4.12.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
github.com/evanphx/json-patch/v5 v5.5.0/go.mod h1:G79N1coSVB93tBe7j6PhzjmR3/2VvlbKOFpnXhI9Bw4=
-github.com/fastly/go-fastly/v8 v8.6.1 h1:Hwn6RTHhnaCtafuTeFgXt2IrAPknwqttdj9DTlZ8BSg=
-github.com/fastly/go-fastly/v8 v8.6.1/go.mod h1:sC3WMOjQxwXk+gRI68ooTJJsI+/6AMA/4JLvrhNgpVk=
+github.com/fastly/go-fastly/v8 v8.6.2 h1:adylZjOIfZFB2itXSmZPY4Yf1zGXv9tDy7W37wCcTWA=
+github.com/fastly/go-fastly/v8 v8.6.2/go.mod h1:sC3WMOjQxwXk+gRI68ooTJJsI+/6AMA/4JLvrhNgpVk=
github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU=
github.com/fatih/color v1.10.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM=
diff --git a/sdk/dotnet/Configstore.cs b/sdk/dotnet/Configstore.cs
index 28d8b2a9..3f922568 100644
--- a/sdk/dotnet/Configstore.cs
+++ b/sdk/dotnet/Configstore.cs
@@ -10,9 +10,9 @@
namespace Pulumi.Fastly
{
///
- /// Provides a container that lets you store data in key-value pairs that are accessible to Compute@Edge services during request processing.
+ /// Provides a container that lets you store data in key-value pairs that are accessible to Compute services during request processing.
///
- /// In order for a Config Store (`fastly.Configstore`) to be accessible to a [Compute@Edge](https://developer.fastly.com/learning/compute/) service you'll first need to define a Compute service (`fastly.ServiceCompute`) in your configuration, and then create a link to the Config Store from within the service using the `resource_link` block (shown in the below examples).
+ /// In order for a Config Store (`fastly.Configstore`) to be accessible to a [Compute](https://developer.fastly.com/learning/compute/) service you'll first need to define a Compute service (`fastly.ServiceCompute`) in your configuration, and then create a link to the Config Store from within the service using the `resource_link` block (shown in the below examples).
///
/// ## Example Usage
///
diff --git a/sdk/dotnet/Inputs/ServiceComputeProductEnablementArgs.cs b/sdk/dotnet/Inputs/ServiceComputeProductEnablementArgs.cs
index 47894c72..78e197f4 100644
--- a/sdk/dotnet/Inputs/ServiceComputeProductEnablementArgs.cs
+++ b/sdk/dotnet/Inputs/ServiceComputeProductEnablementArgs.cs
@@ -19,7 +19,7 @@ public sealed class ServiceComputeProductEnablementArgs : global::Pulumi.Resourc
public Input? Fanout { get; set; }
///
- /// Used internally by the provider to identify modified settings
+ /// Used by the provider to identify modified settings (changing this value will force the entire block to be deleted, then recreated)
///
[Input("name")]
public Input? Name { get; set; }
diff --git a/sdk/dotnet/Inputs/ServiceComputeProductEnablementGetArgs.cs b/sdk/dotnet/Inputs/ServiceComputeProductEnablementGetArgs.cs
index fee8474c..35faf3ed 100644
--- a/sdk/dotnet/Inputs/ServiceComputeProductEnablementGetArgs.cs
+++ b/sdk/dotnet/Inputs/ServiceComputeProductEnablementGetArgs.cs
@@ -19,7 +19,7 @@ public sealed class ServiceComputeProductEnablementGetArgs : global::Pulumi.Reso
public Input? Fanout { get; set; }
///
- /// Used internally by the provider to identify modified settings
+ /// Used by the provider to identify modified settings (changing this value will force the entire block to be deleted, then recreated)
///
[Input("name")]
public Input? Name { get; set; }
diff --git a/sdk/dotnet/Inputs/ServiceVclProductEnablementArgs.cs b/sdk/dotnet/Inputs/ServiceVclProductEnablementArgs.cs
index 830776b9..315a33de 100644
--- a/sdk/dotnet/Inputs/ServiceVclProductEnablementArgs.cs
+++ b/sdk/dotnet/Inputs/ServiceVclProductEnablementArgs.cs
@@ -31,7 +31,7 @@ public sealed class ServiceVclProductEnablementArgs : global::Pulumi.ResourceArg
public Input? ImageOptimizer { get; set; }
///
- /// Used internally by the provider to identify modified settings
+ /// Used by the provider to identify modified settings (changing this value will force the entire block to be deleted, then recreated)
///
[Input("name")]
public Input? Name { get; set; }
diff --git a/sdk/dotnet/Inputs/ServiceVclProductEnablementGetArgs.cs b/sdk/dotnet/Inputs/ServiceVclProductEnablementGetArgs.cs
index 22ae1187..ba707901 100644
--- a/sdk/dotnet/Inputs/ServiceVclProductEnablementGetArgs.cs
+++ b/sdk/dotnet/Inputs/ServiceVclProductEnablementGetArgs.cs
@@ -31,7 +31,7 @@ public sealed class ServiceVclProductEnablementGetArgs : global::Pulumi.Resource
public Input? ImageOptimizer { get; set; }
///
- /// Used internally by the provider to identify modified settings
+ /// Used by the provider to identify modified settings (changing this value will force the entire block to be deleted, then recreated)
///
[Input("name")]
public Input? Name { get; set; }
diff --git a/sdk/dotnet/Outputs/ServiceComputeProductEnablement.cs b/sdk/dotnet/Outputs/ServiceComputeProductEnablement.cs
index a83b542b..c095aa4f 100644
--- a/sdk/dotnet/Outputs/ServiceComputeProductEnablement.cs
+++ b/sdk/dotnet/Outputs/ServiceComputeProductEnablement.cs
@@ -18,7 +18,7 @@ public sealed class ServiceComputeProductEnablement
///
public readonly bool? Fanout;
///
- /// Used internally by the provider to identify modified settings
+ /// Used by the provider to identify modified settings (changing this value will force the entire block to be deleted, then recreated)
///
public readonly string? Name;
///
diff --git a/sdk/dotnet/Outputs/ServiceVclProductEnablement.cs b/sdk/dotnet/Outputs/ServiceVclProductEnablement.cs
index 179e2a67..aa8d269b 100644
--- a/sdk/dotnet/Outputs/ServiceVclProductEnablement.cs
+++ b/sdk/dotnet/Outputs/ServiceVclProductEnablement.cs
@@ -26,7 +26,7 @@ public sealed class ServiceVclProductEnablement
///
public readonly bool? ImageOptimizer;
///
- /// Used internally by the provider to identify modified settings
+ /// Used by the provider to identify modified settings (changing this value will force the entire block to be deleted, then recreated)
///
public readonly string? Name;
///
diff --git a/sdk/dotnet/ServiceCompute.cs b/sdk/dotnet/ServiceCompute.cs
index 470cb757..ac3689ea 100644
--- a/sdk/dotnet/ServiceCompute.cs
+++ b/sdk/dotnet/ServiceCompute.cs
@@ -168,7 +168,7 @@ public partial class ServiceCompute : global::Pulumi.CustomResource
public Output Name { get; private set; } = null!;
///
- /// The `package` block supports uploading or modifying Wasm packages for use in a Fastly Compute@Edge service (if omitted, ensure `activate = false` is set on `fastly.ServiceCompute` to avoid service validation errors). See Fastly's documentation on [Compute@Edge](https://developer.fastly.com/learning/compute/)
+ /// The `package` block supports uploading or modifying Wasm packages for use in a Fastly Compute service (if omitted, ensure `activate = false` is set on `fastly.ServiceCompute` to avoid service validation errors). See Fastly's documentation on [Compute](https://developer.fastly.com/learning/compute/)
///
[Output("package")]
public Output Package { get; private set; } = null!;
@@ -503,7 +503,7 @@ public InputList LoggingSyslogs
public Input? Name { get; set; }
///
- /// The `package` block supports uploading or modifying Wasm packages for use in a Fastly Compute@Edge service (if omitted, ensure `activate = false` is set on `fastly.ServiceCompute` to avoid service validation errors). See Fastly's documentation on [Compute@Edge](https://developer.fastly.com/learning/compute/)
+ /// The `package` block supports uploading or modifying Wasm packages for use in a Fastly Compute service (if omitted, ensure `activate = false` is set on `fastly.ServiceCompute` to avoid service validation errors). See Fastly's documentation on [Compute](https://developer.fastly.com/learning/compute/)
///
[Input("package")]
public Input? Package { get; set; }
@@ -832,7 +832,7 @@ public InputList LoggingSyslogs
public Input? Name { get; set; }
///
- /// The `package` block supports uploading or modifying Wasm packages for use in a Fastly Compute@Edge service (if omitted, ensure `activate = false` is set on `fastly.ServiceCompute` to avoid service validation errors). See Fastly's documentation on [Compute@Edge](https://developer.fastly.com/learning/compute/)
+ /// The `package` block supports uploading or modifying Wasm packages for use in a Fastly Compute service (if omitted, ensure `activate = false` is set on `fastly.ServiceCompute` to avoid service validation errors). See Fastly's documentation on [Compute](https://developer.fastly.com/learning/compute/)
///
[Input("package")]
public Input? Package { get; set; }
diff --git a/sdk/dotnet/ServiceVcl.cs b/sdk/dotnet/ServiceVcl.cs
index 1d5e70bb..043fb07d 100644
--- a/sdk/dotnet/ServiceVcl.cs
+++ b/sdk/dotnet/ServiceVcl.cs
@@ -10,14 +10,6 @@
namespace Pulumi.Fastly
{
///
- /// Provides a Fastly Service, representing the configuration for a website, app,
- /// API, or anything else to be served through Fastly. A Service encompasses Domains
- /// and Backends.
- ///
- /// The Service resource requires a domain name that is correctly set up to direct
- /// traffic to the Fastly service. See Fastly's guide on [Adding CNAME Records][fastly-cname]
- /// on their documentation site for guidance.
- ///
/// ## Import
///
/// Fastly Services can be imported using their service ID, e.g.
diff --git a/sdk/go/fastly/configstore.go b/sdk/go/fastly/configstore.go
index 7f770320..7130c08d 100644
--- a/sdk/go/fastly/configstore.go
+++ b/sdk/go/fastly/configstore.go
@@ -12,9 +12,9 @@ import (
"github.com/pulumi/pulumi/sdk/v3/go/pulumix"
)
-// Provides a container that lets you store data in key-value pairs that are accessible to Compute@Edge services during request processing.
+// Provides a container that lets you store data in key-value pairs that are accessible to Compute services during request processing.
//
-// In order for a Config Store (`Configstore`) to be accessible to a [Compute@Edge](https://developer.fastly.com/learning/compute/) service you'll first need to define a Compute service (`ServiceCompute`) in your configuration, and then create a link to the Config Store from within the service using the `resourceLink` block (shown in the below examples).
+// In order for a Config Store (`Configstore`) to be accessible to a [Compute](https://developer.fastly.com/learning/compute/) service you'll first need to define a Compute service (`ServiceCompute`) in your configuration, and then create a link to the Config Store from within the service using the `resourceLink` block (shown in the below examples).
//
// ## Example Usage
//
diff --git a/sdk/go/fastly/pulumiTypes.go b/sdk/go/fastly/pulumiTypes.go
index f0e63074..6b879dc5 100644
--- a/sdk/go/fastly/pulumiTypes.go
+++ b/sdk/go/fastly/pulumiTypes.go
@@ -5805,7 +5805,7 @@ func (o ServiceComputePackagePtrOutput) SourceCodeHash() pulumi.StringPtrOutput
type ServiceComputeProductEnablement struct {
// Enable Fanout support
Fanout *bool `pulumi:"fanout"`
- // Used internally by the provider to identify modified settings
+ // Used by the provider to identify modified settings (changing this value will force the entire block to be deleted, then recreated)
Name *string `pulumi:"name"`
// Enable WebSockets support
Websockets *bool `pulumi:"websockets"`
@@ -5825,7 +5825,7 @@ type ServiceComputeProductEnablementInput interface {
type ServiceComputeProductEnablementArgs struct {
// Enable Fanout support
Fanout pulumi.BoolPtrInput `pulumi:"fanout"`
- // Used internally by the provider to identify modified settings
+ // Used by the provider to identify modified settings (changing this value will force the entire block to be deleted, then recreated)
Name pulumi.StringPtrInput `pulumi:"name"`
// Enable WebSockets support
Websockets pulumi.BoolPtrInput `pulumi:"websockets"`
@@ -5931,7 +5931,7 @@ func (o ServiceComputeProductEnablementOutput) Fanout() pulumi.BoolPtrOutput {
return o.ApplyT(func(v ServiceComputeProductEnablement) *bool { return v.Fanout }).(pulumi.BoolPtrOutput)
}
-// Used internally by the provider to identify modified settings
+// Used by the provider to identify modified settings (changing this value will force the entire block to be deleted, then recreated)
func (o ServiceComputeProductEnablementOutput) Name() pulumi.StringPtrOutput {
return o.ApplyT(func(v ServiceComputeProductEnablement) *string { return v.Name }).(pulumi.StringPtrOutput)
}
@@ -5981,7 +5981,7 @@ func (o ServiceComputeProductEnablementPtrOutput) Fanout() pulumi.BoolPtrOutput
}).(pulumi.BoolPtrOutput)
}
-// Used internally by the provider to identify modified settings
+// Used by the provider to identify modified settings (changing this value will force the entire block to be deleted, then recreated)
func (o ServiceComputeProductEnablementPtrOutput) Name() pulumi.StringPtrOutput {
return o.ApplyT(func(v *ServiceComputeProductEnablement) *string {
if v == nil {
@@ -13888,7 +13888,7 @@ type ServiceVclProductEnablement struct {
DomainInspector *bool `pulumi:"domainInspector"`
// Enable Image Optimizer support (requires at least one backend with a `shield` attribute)
ImageOptimizer *bool `pulumi:"imageOptimizer"`
- // Used internally by the provider to identify modified settings
+ // Used by the provider to identify modified settings (changing this value will force the entire block to be deleted, then recreated)
Name *string `pulumi:"name"`
// Enable Origin Inspector support
OriginInspector *bool `pulumi:"originInspector"`
@@ -13914,7 +13914,7 @@ type ServiceVclProductEnablementArgs struct {
DomainInspector pulumi.BoolPtrInput `pulumi:"domainInspector"`
// Enable Image Optimizer support (requires at least one backend with a `shield` attribute)
ImageOptimizer pulumi.BoolPtrInput `pulumi:"imageOptimizer"`
- // Used internally by the provider to identify modified settings
+ // Used by the provider to identify modified settings (changing this value will force the entire block to be deleted, then recreated)
Name pulumi.StringPtrInput `pulumi:"name"`
// Enable Origin Inspector support
OriginInspector pulumi.BoolPtrInput `pulumi:"originInspector"`
@@ -14032,7 +14032,7 @@ func (o ServiceVclProductEnablementOutput) ImageOptimizer() pulumi.BoolPtrOutput
return o.ApplyT(func(v ServiceVclProductEnablement) *bool { return v.ImageOptimizer }).(pulumi.BoolPtrOutput)
}
-// Used internally by the provider to identify modified settings
+// Used by the provider to identify modified settings (changing this value will force the entire block to be deleted, then recreated)
func (o ServiceVclProductEnablementOutput) Name() pulumi.StringPtrOutput {
return o.ApplyT(func(v ServiceVclProductEnablement) *string { return v.Name }).(pulumi.StringPtrOutput)
}
@@ -14107,7 +14107,7 @@ func (o ServiceVclProductEnablementPtrOutput) ImageOptimizer() pulumi.BoolPtrOut
}).(pulumi.BoolPtrOutput)
}
-// Used internally by the provider to identify modified settings
+// Used by the provider to identify modified settings (changing this value will force the entire block to be deleted, then recreated)
func (o ServiceVclProductEnablementPtrOutput) Name() pulumi.StringPtrOutput {
return o.ApplyT(func(v *ServiceVclProductEnablement) *string {
if v == nil {
diff --git a/sdk/go/fastly/serviceCompute.go b/sdk/go/fastly/serviceCompute.go
index f5cab5d4..ef011913 100644
--- a/sdk/go/fastly/serviceCompute.go
+++ b/sdk/go/fastly/serviceCompute.go
@@ -81,7 +81,7 @@ type ServiceCompute struct {
LoggingSyslogs ServiceComputeLoggingSyslogArrayOutput `pulumi:"loggingSyslogs"`
// Name for this Backend. Must be unique to this Service. It is important to note that changing this attribute will delete and recreate the resource
Name pulumi.StringOutput `pulumi:"name"`
- // The `package` block supports uploading or modifying Wasm packages for use in a Fastly Compute@Edge service (if omitted, ensure `activate = false` is set on `ServiceCompute` to avoid service validation errors). See Fastly's documentation on [Compute@Edge](https://developer.fastly.com/learning/compute/)
+ // The `package` block supports uploading or modifying Wasm packages for use in a Fastly Compute service (if omitted, ensure `activate = false` is set on `ServiceCompute` to avoid service validation errors). See Fastly's documentation on [Compute](https://developer.fastly.com/learning/compute/)
Package ServiceComputePackagePtrOutput `pulumi:"package"`
ProductEnablement ServiceComputeProductEnablementPtrOutput `pulumi:"productEnablement"`
// A resource link represents a link between a shared resource (such as an KV Store or Config Store) and a service version.
@@ -175,7 +175,7 @@ type serviceComputeState struct {
LoggingSyslogs []ServiceComputeLoggingSyslog `pulumi:"loggingSyslogs"`
// Name for this Backend. Must be unique to this Service. It is important to note that changing this attribute will delete and recreate the resource
Name *string `pulumi:"name"`
- // The `package` block supports uploading or modifying Wasm packages for use in a Fastly Compute@Edge service (if omitted, ensure `activate = false` is set on `ServiceCompute` to avoid service validation errors). See Fastly's documentation on [Compute@Edge](https://developer.fastly.com/learning/compute/)
+ // The `package` block supports uploading or modifying Wasm packages for use in a Fastly Compute service (if omitted, ensure `activate = false` is set on `ServiceCompute` to avoid service validation errors). See Fastly's documentation on [Compute](https://developer.fastly.com/learning/compute/)
Package *ServiceComputePackage `pulumi:"package"`
ProductEnablement *ServiceComputeProductEnablement `pulumi:"productEnablement"`
// A resource link represents a link between a shared resource (such as an KV Store or Config Store) and a service version.
@@ -237,7 +237,7 @@ type ServiceComputeState struct {
LoggingSyslogs ServiceComputeLoggingSyslogArrayInput
// Name for this Backend. Must be unique to this Service. It is important to note that changing this attribute will delete and recreate the resource
Name pulumi.StringPtrInput
- // The `package` block supports uploading or modifying Wasm packages for use in a Fastly Compute@Edge service (if omitted, ensure `activate = false` is set on `ServiceCompute` to avoid service validation errors). See Fastly's documentation on [Compute@Edge](https://developer.fastly.com/learning/compute/)
+ // The `package` block supports uploading or modifying Wasm packages for use in a Fastly Compute service (if omitted, ensure `activate = false` is set on `ServiceCompute` to avoid service validation errors). See Fastly's documentation on [Compute](https://developer.fastly.com/learning/compute/)
Package ServiceComputePackagePtrInput
ProductEnablement ServiceComputeProductEnablementPtrInput
// A resource link represents a link between a shared resource (such as an KV Store or Config Store) and a service version.
@@ -293,7 +293,7 @@ type serviceComputeArgs struct {
LoggingSyslogs []ServiceComputeLoggingSyslog `pulumi:"loggingSyslogs"`
// Name for this Backend. Must be unique to this Service. It is important to note that changing this attribute will delete and recreate the resource
Name *string `pulumi:"name"`
- // The `package` block supports uploading or modifying Wasm packages for use in a Fastly Compute@Edge service (if omitted, ensure `activate = false` is set on `ServiceCompute` to avoid service validation errors). See Fastly's documentation on [Compute@Edge](https://developer.fastly.com/learning/compute/)
+ // The `package` block supports uploading or modifying Wasm packages for use in a Fastly Compute service (if omitted, ensure `activate = false` is set on `ServiceCompute` to avoid service validation errors). See Fastly's documentation on [Compute](https://developer.fastly.com/learning/compute/)
Package *ServiceComputePackage `pulumi:"package"`
ProductEnablement *ServiceComputeProductEnablement `pulumi:"productEnablement"`
// A resource link represents a link between a shared resource (such as an KV Store or Config Store) and a service version.
@@ -346,7 +346,7 @@ type ServiceComputeArgs struct {
LoggingSyslogs ServiceComputeLoggingSyslogArrayInput
// Name for this Backend. Must be unique to this Service. It is important to note that changing this attribute will delete and recreate the resource
Name pulumi.StringPtrInput
- // The `package` block supports uploading or modifying Wasm packages for use in a Fastly Compute@Edge service (if omitted, ensure `activate = false` is set on `ServiceCompute` to avoid service validation errors). See Fastly's documentation on [Compute@Edge](https://developer.fastly.com/learning/compute/)
+ // The `package` block supports uploading or modifying Wasm packages for use in a Fastly Compute service (if omitted, ensure `activate = false` is set on `ServiceCompute` to avoid service validation errors). See Fastly's documentation on [Compute](https://developer.fastly.com/learning/compute/)
Package ServiceComputePackagePtrInput
ProductEnablement ServiceComputeProductEnablementPtrInput
// A resource link represents a link between a shared resource (such as an KV Store or Config Store) and a service version.
@@ -629,7 +629,7 @@ func (o ServiceComputeOutput) Name() pulumi.StringOutput {
return o.ApplyT(func(v *ServiceCompute) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput)
}
-// The `package` block supports uploading or modifying Wasm packages for use in a Fastly Compute@Edge service (if omitted, ensure `activate = false` is set on `ServiceCompute` to avoid service validation errors). See Fastly's documentation on [Compute@Edge](https://developer.fastly.com/learning/compute/)
+// The `package` block supports uploading or modifying Wasm packages for use in a Fastly Compute service (if omitted, ensure `activate = false` is set on `ServiceCompute` to avoid service validation errors). See Fastly's documentation on [Compute](https://developer.fastly.com/learning/compute/)
func (o ServiceComputeOutput) Package() ServiceComputePackagePtrOutput {
return o.ApplyT(func(v *ServiceCompute) ServiceComputePackagePtrOutput { return v.Package }).(ServiceComputePackagePtrOutput)
}
diff --git a/sdk/go/fastly/serviceVcl.go b/sdk/go/fastly/serviceVcl.go
index 975243f6..bd93ea09 100644
--- a/sdk/go/fastly/serviceVcl.go
+++ b/sdk/go/fastly/serviceVcl.go
@@ -13,14 +13,6 @@ import (
"github.com/pulumi/pulumi/sdk/v3/go/pulumix"
)
-// Provides a Fastly Service, representing the configuration for a website, app,
-// API, or anything else to be served through Fastly. A Service encompasses Domains
-// and Backends.
-//
-// The Service resource requires a domain name that is correctly set up to direct
-// traffic to the Fastly service. See Fastly's guide on [Adding CNAME Records][fastly-cname]
-// on their documentation site for guidance.
-//
// ## Import
//
// Fastly Services can be imported using their service ID, e.g.
diff --git a/sdk/java/build.gradle b/sdk/java/build.gradle
index 06fb86af..6db4b01c 100644
--- a/sdk/java/build.gradle
+++ b/sdk/java/build.gradle
@@ -29,7 +29,8 @@ java {
compileJava {
options.fork = true
- options.forkOptions.jvmArgs.addAll(["-Xmx4g"])
+ options.forkOptions.jvmArgs.addAll(["-Xmx16g"])
+ options.encoding = "UTF-8"
}
repositories {
@@ -43,17 +44,18 @@ repositories {
dependencies {
implementation("com.google.code.findbugs:jsr305:3.0.2")
implementation("com.google.code.gson:gson:2.8.9")
- implementation("com.pulumi:pulumi:0.5.4")
+ implementation("com.pulumi:pulumi:0.9.8")
}
task sourcesJar(type: Jar) {
from sourceSets.main.allJava
- classifier = 'sources'
+ archiveClassifier.set('sources')
}
task javadocJar(type: Jar) {
from javadoc
- classifier = 'javadoc'
+ archiveClassifier.set('javadoc')
+ zip64 = true
}
def genPulumiResources = tasks.register('genPulumiResources') {
@@ -123,7 +125,11 @@ javadoc {
if (JavaVersion.current().isJava9Compatible()) {
options.addBooleanOption('html5', true)
}
- options.jFlags("-Xmx2g", "-Xms512m")
+ options.jFlags("-Xmx8g", "-Xms512m")
+}
+
+jar {
+ zip64 = true
}
if (publishRepoUsername) {
@@ -144,4 +150,4 @@ if (signingKey) {
useInMemoryPgpKeys(signingKey, signingPassword)
sign publishing.publications.mainPublication
}
-}
+}
\ No newline at end of file
diff --git a/sdk/java/src/main/java/com/pulumi/fastly/Configstore.java b/sdk/java/src/main/java/com/pulumi/fastly/Configstore.java
index 5f2e611f..22b0063f 100644
--- a/sdk/java/src/main/java/com/pulumi/fastly/Configstore.java
+++ b/sdk/java/src/main/java/com/pulumi/fastly/Configstore.java
@@ -16,9 +16,9 @@
import javax.annotation.Nullable;
/**
- * Provides a container that lets you store data in key-value pairs that are accessible to Compute@Edge services during request processing.
+ * Provides a container that lets you store data in key-value pairs that are accessible to Compute services during request processing.
*
- * In order for a Config Store (`fastly.Configstore`) to be accessible to a [Compute@Edge](https://developer.fastly.com/learning/compute/) service you'll first need to define a Compute service (`fastly.ServiceCompute`) in your configuration, and then create a link to the Config Store from within the service using the `resource_link` block (shown in the below examples).
+ * In order for a Config Store (`fastly.Configstore`) to be accessible to a [Compute](https://developer.fastly.com/learning/compute/) service you'll first need to define a Compute service (`fastly.ServiceCompute`) in your configuration, and then create a link to the Config Store from within the service using the `resource_link` block (shown in the below examples).
*
* ## Example Usage
*
@@ -90,7 +90,7 @@ public class Configstore extends com.pulumi.resources.CustomResource {
* Allow the Config Store to be deleted, even if it contains entries. Defaults to false.
*
*/
- @Export(name="forceDestroy", type=Boolean.class, parameters={})
+ @Export(name="forceDestroy", refs={Boolean.class}, tree="[0]")
private Output* @Nullable */ Boolean> forceDestroy;
/**
@@ -104,7 +104,7 @@ public Output> forceDestroy() {
* A unique name to identify the Config Store. It is important to note that changing this attribute will delete and recreate the Config Store, and discard the current entries. You MUST first delete the associated resource_link block from your service before modifying this field.
*
*/
- @Export(name="name", type=String.class, parameters={})
+ @Export(name="name", refs={String.class}, tree="[0]")
private Output name;
/**
diff --git a/sdk/java/src/main/java/com/pulumi/fastly/ConfigstoreEntries.java b/sdk/java/src/main/java/com/pulumi/fastly/ConfigstoreEntries.java
index 37bea3b0..ec46a9ea 100644
--- a/sdk/java/src/main/java/com/pulumi/fastly/ConfigstoreEntries.java
+++ b/sdk/java/src/main/java/com/pulumi/fastly/ConfigstoreEntries.java
@@ -33,7 +33,7 @@ public class ConfigstoreEntries extends com.pulumi.resources.CustomResource {
* A map representing an entry in the Config Store, (key/value)
*
*/
- @Export(name="entries", type=Map.class, parameters={String.class, Object.class})
+ @Export(name="entries", refs={Map.class,String.class,Object.class}, tree="[0,1,2]")
private Output