From 988abf47c1e08203239e8ad39b379bb782661ee8 Mon Sep 17 00:00:00 2001 From: Pulumi Bot <30351955+pulumi-bot@users.noreply.github.com> Date: Fri, 9 Feb 2024 08:39:32 -0800 Subject: [PATCH] Upgrade pulumi-terraform-bridge to v3.74.0 (#378) This PR was generated via `$ upgrade-provider pulumi/pulumi-f5bigip --kind=bridge --pr-reviewers=t0yv0`. --- - Upgrading pulumi-terraform-bridge from v3.73.0 to v3.74.0. --- examples/go.mod | 4 +- examples/go.sum | 8 +- .../cmd/pulumi-resource-f5bigip/schema.json | 6 +- provider/go.mod | 8 +- provider/go.sum | 16 +-- sdk/dotnet/As3.cs | 58 +++++++-- sdk/dotnet/Ltm/ProfileHttp.cs | 6 +- sdk/dotnet/WafPolicy.cs | 6 +- sdk/go.mod | 2 +- sdk/go.sum | 4 +- sdk/go/f5bigip/as3.go | 62 +++++++--- sdk/go/f5bigip/ltm/profileHttp.go | 8 +- sdk/go/f5bigip/wafPolicy.go | 8 +- .../src/main/java/com/pulumi/f5bigip/As3.java | 58 +++++++-- .../java/com/pulumi/f5bigip/WafPolicy.java | 6 +- .../com/pulumi/f5bigip/ltm/ProfileHttp.java | 6 +- sdk/nodejs/as3.ts | 58 +++++++-- sdk/nodejs/ltm/profileHttp.ts | 6 +- sdk/nodejs/wafPolicy.ts | 6 +- sdk/python/pulumi_f5bigip/_utilities.py | 8 +- sdk/python/pulumi_f5bigip/as3.py | 116 +++++++++++++++--- sdk/python/pulumi_f5bigip/ltm/profile_http.py | 12 +- sdk/python/pulumi_f5bigip/waf_policy.py | 12 +- sdk/python/pyproject.toml | 4 +- 24 files changed, 362 insertions(+), 126 deletions(-) diff --git a/examples/go.mod b/examples/go.mod index 2674cb08..3d176657 100644 --- a/examples/go.mod +++ b/examples/go.mod @@ -2,7 +2,7 @@ module github.com/pulumi/pulumi-f5bigip/examples/v3 go 1.21 -require github.com/pulumi/pulumi/pkg/v3 v3.104.2 +require github.com/pulumi/pulumi/pkg/v3 v3.105.0 require ( cloud.google.com/go v0.110.10 // indirect @@ -135,7 +135,7 @@ require ( github.com/pmezard/go-difflib v1.0.0 // indirect github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 // indirect github.com/pulumi/esc v0.6.2 // indirect - github.com/pulumi/pulumi/sdk/v3 v3.104.2 // indirect + github.com/pulumi/pulumi/sdk/v3 v3.105.0 // indirect github.com/rivo/uniseg v0.4.4 // indirect github.com/rogpeppe/go-internal v1.11.0 // indirect github.com/ryanuber/go-glob v1.0.0 // indirect diff --git a/examples/go.sum b/examples/go.sum index 02343256..c752447c 100644 --- a/examples/go.sum +++ b/examples/go.sum @@ -1467,10 +1467,10 @@ github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 h1:vkHw5I/plNdTr435 github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231/go.mod h1:murToZ2N9hNJzewjHBgfFdXhZKjY3z5cYC1VXk+lbFE= github.com/pulumi/esc v0.6.2 h1:+z+l8cuwIauLSwXQS0uoI3rqB+YG4SzsZYtHfNoXBvw= github.com/pulumi/esc v0.6.2/go.mod h1:jNnYNjzsOgVTjCp0LL24NsCk8ZJxq4IoLQdCT0X7l8k= -github.com/pulumi/pulumi/pkg/v3 v3.104.2 h1:pxioQCKuTrGyeCmdxkR2M03nFBrPMhPnuHMaaTfxY1Y= -github.com/pulumi/pulumi/pkg/v3 v3.104.2/go.mod h1:AvF18k2O6rZIV27fF9i0UueP/PjiqSJeRMiOi3cVgEM= -github.com/pulumi/pulumi/sdk/v3 v3.104.2 h1:aOwUkrlsyEWrL1jlHqn2/36zMSPQrVUYUyZPqstrmjc= -github.com/pulumi/pulumi/sdk/v3 v3.104.2/go.mod h1:Ml3rpGfyZlI4zQCG7LN2XDSmH4XUNYdyBwJ3yEr/OpI= +github.com/pulumi/pulumi/pkg/v3 v3.105.0 h1:bJG1vUiYH2gDF1pfBKlIABDNoJD2LvU1LmjjL+EbvuM= +github.com/pulumi/pulumi/pkg/v3 v3.105.0/go.mod h1:eZAFEFOwE/skElTfwetfyTxPebmWr5vOS5NSU9XwlVw= +github.com/pulumi/pulumi/sdk/v3 v3.105.0 h1:OKEeubZigWyQVnZS6udnFnZHZ/8OWXuUYv9ir3OY+vs= +github.com/pulumi/pulumi/sdk/v3 v3.105.0/go.mod h1:Ml3rpGfyZlI4zQCG7LN2XDSmH4XUNYdyBwJ3yEr/OpI= github.com/rakyll/embedmd v0.0.0-20171029212350-c8060a0752a2/go.mod h1:7jOTMgqac46PZcF54q6l2hkLEG8op93fZu61KmxWDV4= github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= diff --git a/provider/cmd/pulumi-resource-f5bigip/schema.json b/provider/cmd/pulumi-resource-f5bigip/schema.json index 7969efc8..27600d17 100644 --- a/provider/cmd/pulumi-resource-f5bigip/schema.json +++ b/provider/cmd/pulumi-resource-f5bigip/schema.json @@ -2977,7 +2977,7 @@ } }, "f5bigip:index/as3:As3": { - "description": "`f5bigip.As3` provides details about bigip as3 resource\n\nThis resource is helpful to configure as3 declarative JSON on BIG-IP.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\nimport * as fs from \"fs\";\n\n// Example Usage for json file\nconst as3_example1As3 = new f5bigip.As3(\"as3-example1As3\", {as3Json: fs.readFileSync(\"example1.json\", \"utf8\")});\n// Example Usage for json file with tenant filter\nconst as3_example1Index_as3As3 = new f5bigip.As3(\"as3-example1Index/as3As3\", {\n as3Json: fs.readFileSync(\"example2.json\", \"utf8\"),\n tenantFilter: \"Sample_03\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\n# Example Usage for json file\nas3_example1_as3 = f5bigip.As3(\"as3-example1As3\", as3_json=(lambda path: open(path).read())(\"example1.json\"))\n# Example Usage for json file with tenant filter\nas3_example1_index_as3_as3 = f5bigip.As3(\"as3-example1Index/as3As3\",\n as3_json=(lambda path: open(path).read())(\"example2.json\"),\n tenant_filter=\"Sample_03\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Example Usage for json file\n var as3_example1As3 = new F5BigIP.As3(\"as3-example1As3\", new()\n {\n As3Json = File.ReadAllText(\"example1.json\"),\n });\n\n // Example Usage for json file with tenant filter\n var as3_example1Index_as3As3 = new F5BigIP.As3(\"as3-example1Index/as3As3\", new()\n {\n As3Json = File.ReadAllText(\"example2.json\"),\n TenantFilter = \"Sample_03\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"os\"\n\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip\"\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 := f5bigip.NewAs3(ctx, \"as3-example1As3\", \u0026f5bigip.As3Args{\n\t\t\tAs3Json: readFileOrPanic(\"example1.json\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = f5bigip.NewAs3(ctx, \"as3-example1Index/as3As3\", \u0026f5bigip.As3Args{\n\t\t\tAs3Json: readFileOrPanic(\"example2.json\"),\n\t\t\tTenantFilter: pulumi.String(\"Sample_03\"),\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.f5bigip.As3;\nimport com.pulumi.f5bigip.As3Args;\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 as3_example1As3 = new As3(\"as3-example1As3\", As3Args.builder() \n .as3Json(Files.readString(Paths.get(\"example1.json\")))\n .build());\n\n var as3_example1Index_as3As3 = new As3(\"as3-example1Index/as3As3\", As3Args.builder() \n .as3Json(Files.readString(Paths.get(\"example2.json\")))\n .tenantFilter(\"Sample_03\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Example Usage for json file\n as3-example1As3:\n type: f5bigip:As3\n properties:\n as3Json:\n fn::readFile: example1.json\n # Example Usage for json file with tenant filter\n as3-example1Index/as3As3:\n type: f5bigip:As3\n properties:\n as3Json:\n fn::readFile: example2.json\n tenantFilter: Sample_03\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAs3 resources can be imported using the partition name, e.g., ( use comma separated partition names if there are multiple partitions in as3 deployments )\n\n```sh\n $ pulumi import f5bigip:index/as3:As3 bigip_as3.test Sample_http_01\n```\n\n\n\n```sh\n $ pulumi import f5bigip:index/as3:As3 bigip_as3.test Sample_http_01,Sample_non_http_01\n```\n\n #### Import examples ( single and multiple partitions )\n\n```sh\n $ pulumi import f5bigip:index/as3:As3 test Sample_http_01\n```\n\n bigip_as3.testImporting from ID \"Sample_http_01\"... bigip_as3.testImport prepared!\n\n Prepared bigip_as3 for import bigip_as3.testRefreshing state... [id=Sample_http_01] Import successful! The resources that were imported are shown above. These resources are now in your Terraform state and will henceforth be managed by Terraform. $ terraform show bigip_as3.testresource \"bigip_as3\" \"test\" {\n\n\n\n as3_json\n\n\n\n\n\n= jsonencode(\n\n\n\n\n\n\n\n {\n\n\n\n\n\n\n\n\n\n\n\n action\n\n\n\n\n\n= \"deploy\"\n\n\n\n\n\n\n\n\n\n\n\n class\n\n\n\n\n\n = \"AS3\"\n\n\n\n\n\n\n\n\n\n\n\n declaration = {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Sample_http_01 = {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n A1\n\n\n\n= {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n class\n\n\n\n\n\n= \"Application\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n jsessionid = {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n class\n\n\n\n\n\n\n\n\n\n\n\n = \"Persist\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n cookieMethod\n\n\n\n\n\n= \"hash\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n cookieName\n\n\n\n\n\n\n\n= \"JSESSIONID\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n persistenceMethod = \"cookie\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n service\n\n\n\n= {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n class\n\n\n\n\n\n\n\n\n\n\n\n\n\n= \"Service_HTTP\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n persistenceMethods = [\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n use = \"jsessionid\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n },\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n ]\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n pool\n\n\n\n\n\n\n\n\n\n\n\n\n\n = \"web_pool\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n virtualAddresses\n\n = [\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \"10.0.2.10\",\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n ]\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n web_pool\n\n = {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n class\n\n\n\n= \"Pool\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n members\n\n= [\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n serverAddresses = [\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \"192.0.2.10\",\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \"192.0.2.11\",\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n ]\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n servicePort\n\n\n\n = 80\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n },\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n ]\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n monitors = [\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \"http\",\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n ]\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n class = \"Tenant\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n class\n\n\n\n\n\n\n\n\n\n= \"ADC\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n id\n\n\n\n\n\n\n\n\n\n\n\n = \"UDP_DNS_Sample\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n label\n\n\n\n\n\n\n\n\n\n= \"UDP_DNS_Sample\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n remark\n\n\n\n\n\n\n\n = \"Sample of a UDP DNS Load Balancer Service\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n schemaVersion\n\n= \"3.0.0\"\n\n\n\n\n\n\n\n\n\n\n\n }\n\n\n\n\n\n\n\n\n\n\n\n persist\n\n\n\n = true\n\n\n\n\n\n\n\n }\n\n\n\n )\n\n\n\n id\n\n\n\n\n\n\n\n\n\n\n\n= \"Sample_http_01\"\n\n\n\n tenant_filter = \"Sample_http_01\"\n\n\n\n tenant_list\n\n = \"Sample_http_01\" }\n\n```sh\n $ pulumi import f5bigip:index/as3:As3 test Sample_http_01,Sample_non_http_01\n```\n\n bigip_as3.testImporting from ID \"Sample_http_01,Sample_non_http_01\"... bigip_as3.testImport prepared!\n\n Prepared bigip_as3 for import bigip_as3.testRefreshing state... [id=Sample_http_01,Sample_non_http_01] Import successful! The resources that were imported are shown above. These resources are now in your Terraform state and will henceforth be managed by Terraform. $ terraform show bigip_as3.testresource \"bigip_as3\" \"test\" {\n\n\n\n as3_json\n\n\n\n\n\n= jsonencode(\n\n\n\n\n\n\n\n {\n\n\n\n\n\n\n\n\n\n\n\n action\n\n\n\n\n\n= \"deploy\"\n\n\n\n\n\n\n\n\n\n\n\n class\n\n\n\n\n\n = \"AS3\"\n\n\n\n\n\n\n\n\n\n\n\n declaration = {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Sample_http_01\n\n\n\n = {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n A1\n\n\n\n= {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n class\n\n\n\n\n\n= \"Application\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n jsessionid = {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n class\n\n\n\n\n\n\n\n\n\n\n\n = \"Persist\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n cookieMethod\n\n\n\n\n\n= \"hash\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n cookieName\n\n\n\n\n\n\n\n= \"JSESSIONID\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n persistenceMethod = \"cookie\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n service\n\n\n\n= {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n class\n\n\n\n\n\n\n\n\n\n\n\n\n\n= \"Service_HTTP\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n persistenceMethods = [\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n use = \"jsessionid\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n },\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n ]\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n pool\n\n\n\n\n\n\n\n\n\n\n\n\n\n = \"web_pool\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n virtualAddresses\n\n = [\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \"10.0.2.10\",\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n ]\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n web_pool\n\n = {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n class\n\n\n\n= \"Pool\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n members\n\n= [\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n serverAddresses = [\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \"192.0.2.10\",\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \"192.0.2.11\",\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n ]\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n servicePort\n\n\n\n = 80\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n },\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n ]\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n monitors = [\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \"http\",\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n ]\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n class = \"Tenant\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Sample_non_http_01 = {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n DNS_Service = {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Pool1\n\n = {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n class\n\n\n\n= \"Pool\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n members\n\n= [\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n serverAddresses = [\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \"10.1.10.100\",\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n ]\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n servicePort\n\n\n\n = 53\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n },\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n serverAddresses = [\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \"10.1.10.101\",\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n ]\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n servicePort\n\n\n\n = 53\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n },\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n ]\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n monitors = [\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \"icmp\",\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n ]\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n class\n\n = \"Application\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n service = {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n class\n\n\n\n\n\n\n\n\n\n\n\n= \"Service_UDP\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n pool\n\n\n\n\n\n\n\n\n\n\n\n = \"Pool1\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n virtualAddresses = [\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \"10.1.20.121\",\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n ]\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n virtualPort\n\n\n\n\n\n= 53\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n class\n\n\n\n\n\n = \"Tenant\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n class\n\n\n\n\n\n\n\n\n\n\n\n\n\n= \"ADC\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n id\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n = \"UDP_DNS_Sample\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n label\n\n\n\n\n\n\n\n\n\n\n\n\n\n= \"UDP_DNS_Sample\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n remark\n\n\n\n\n\n\n\n\n\n\n\n = \"Sample of a UDP DNS Load Balancer Service\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n schemaVersion\n\n\n\n\n\n= \"3.0.0\"\n\n\n\n\n\n\n\n\n\n\n\n }\n\n\n\n\n\n\n\n\n\n\n\n persist\n\n\n\n = true\n\n\n\n\n\n\n\n }\n\n\n\n )\n\n\n\n id\n\n\n\n\n\n\n\n\n\n\n\n= \"Sample_http_01,Sample_non_http_01\"\n\n\n\n tenant_filter = \"Sample_http_01,Sample_non_http_01\"\n\n\n\n tenant_list\n\n = \"Sample_http_01,Sample_non_http_01\" } * `AS3 documentation` - https://clouddocs.f5.com/products/extensions/f5-appsvcs-extension/latest/userguide/composing-a-declaration.html ", + "description": "`f5bigip.As3` provides details about bigip as3 resource\n\nThis resource is helpful to configure as3 declarative JSON on BIG-IP.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\nimport * as fs from \"fs\";\n\n// Example Usage for json file\nconst as3_example1As3 = new f5bigip.As3(\"as3-example1As3\", {as3Json: fs.readFileSync(\"example1.json\", \"utf8\")});\n// Example Usage for json file with tenant filter\nconst as3_example1Index_as3As3 = new f5bigip.As3(\"as3-example1Index/as3As3\", {\n as3Json: fs.readFileSync(\"example2.json\", \"utf8\"),\n tenantFilter: \"Sample_03\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\n# Example Usage for json file\nas3_example1_as3 = f5bigip.As3(\"as3-example1As3\", as3_json=(lambda path: open(path).read())(\"example1.json\"))\n# Example Usage for json file with tenant filter\nas3_example1_index_as3_as3 = f5bigip.As3(\"as3-example1Index/as3As3\",\n as3_json=(lambda path: open(path).read())(\"example2.json\"),\n tenant_filter=\"Sample_03\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Example Usage for json file\n var as3_example1As3 = new F5BigIP.As3(\"as3-example1As3\", new()\n {\n As3Json = File.ReadAllText(\"example1.json\"),\n });\n\n // Example Usage for json file with tenant filter\n var as3_example1Index_as3As3 = new F5BigIP.As3(\"as3-example1Index/as3As3\", new()\n {\n As3Json = File.ReadAllText(\"example2.json\"),\n TenantFilter = \"Sample_03\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"os\"\n\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip\"\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 := f5bigip.NewAs3(ctx, \"as3-example1As3\", \u0026f5bigip.As3Args{\n\t\t\tAs3Json: readFileOrPanic(\"example1.json\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = f5bigip.NewAs3(ctx, \"as3-example1Index/as3As3\", \u0026f5bigip.As3Args{\n\t\t\tAs3Json: readFileOrPanic(\"example2.json\"),\n\t\t\tTenantFilter: pulumi.String(\"Sample_03\"),\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.f5bigip.As3;\nimport com.pulumi.f5bigip.As3Args;\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 as3_example1As3 = new As3(\"as3-example1As3\", As3Args.builder() \n .as3Json(Files.readString(Paths.get(\"example1.json\")))\n .build());\n\n var as3_example1Index_as3As3 = new As3(\"as3-example1Index/as3As3\", As3Args.builder() \n .as3Json(Files.readString(Paths.get(\"example2.json\")))\n .tenantFilter(\"Sample_03\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Example Usage for json file\n as3-example1As3:\n type: f5bigip:As3\n properties:\n as3Json:\n fn::readFile: example1.json\n # Example Usage for json file with tenant filter\n as3-example1Index/as3As3:\n type: f5bigip:As3\n properties:\n as3Json:\n fn::readFile: example2.json\n tenantFilter: Sample_03\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAs3 resources can be imported using the partition name, e.g., ( use comma separated partition names if there are multiple partitions in as3 deployments )\n\n ```sh\n $ pulumi import f5bigip:index/as3:As3 bigip_as3.test Sample_http_01\n```\n\n ```sh\n $ pulumi import f5bigip:index/as3:As3 bigip_as3.test Sample_http_01,Sample_non_http_01\n```\n\n #### Import examples ( single and multiple partitions )\n\n ```sh\n $ pulumi import f5bigip:index/as3:As3 test Sample_http_01\n```\n\n bigip_as3.test: Importing from ID \"Sample_http_01\"...\n\n bigip_as3.test: Import prepared!\n\n\n\n Prepared bigip_as3 for import\n\n bigip_as3.test: Refreshing state... [id=Sample_http_01]\n\n Import successful!\n\n The resources that were imported are shown above. These resources are now in\n\n your Terraform state and will henceforth be managed by Terraform.\n\n $ terraform show\n\n bigip_as3.test:\n\n resource \"bigip_as3\" \"test\" {\n\n\n\n\n\n as3_json\n\n\n\n\n\n= jsonencode(\n\n\n\n\n\n\n\n\n\n {\n\n\n\n\n\n\n\n\n\n\n\n\n\n action\n\n\n\n\n\n= \"deploy\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n class\n\n\n\n\n\n = \"AS3\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n declaration = {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Sample_http_01 = {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n A1\n\n\n\n= {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n class\n\n\n\n\n\n= \"Application\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n jsessionid = {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n class\n\n\n\n\n\n\n\n\n\n\n\n = \"Persist\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n cookieMethod\n\n\n\n\n\n= \"hash\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n cookieName\n\n\n\n\n\n\n\n= \"JSESSIONID\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n persistenceMethod = \"cookie\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n service\n\n\n\n= {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n class\n\n\n\n\n\n\n\n\n\n\n\n\n\n= \"Service_HTTP\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n persistenceMethods = [\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n use = \"jsessionid\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n },\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n ]\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n pool\n\n\n\n\n\n\n\n\n\n\n\n\n\n = \"web_pool\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n virtualAddresses\n\n = [\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \"10.0.2.10\",\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n ]\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n web_pool\n\n = {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n class\n\n\n\n= \"Pool\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n members\n\n= [\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n serverAddresses = [\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \"192.0.2.10\",\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \"192.0.2.11\",\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n ]\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n servicePort\n\n\n\n = 80\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n },\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n ]\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n monitors = [\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \"http\",\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n ]\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n class = \"Tenant\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n class\n\n\n\n\n\n\n\n\n\n= \"ADC\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n id\n\n\n\n\n\n\n\n\n\n\n\n = \"UDP_DNS_Sample\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n label\n\n\n\n\n\n\n\n\n\n= \"UDP_DNS_Sample\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n remark\n\n\n\n\n\n\n\n = \"Sample of a UDP DNS Load Balancer Service\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n schemaVersion\n\n= \"3.0.0\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n }\n\n\n\n\n\n\n\n\n\n\n\n\n\n persist\n\n\n\n = true\n\n\n\n\n\n\n\n\n\n }\n\n\n\n\n\n )\n\n\n\n\n\n id\n\n\n\n\n\n\n\n\n\n\n\n= \"Sample_http_01\"\n\n\n\n\n\n tenant_filter = \"Sample_http_01\"\n\n\n\n\n\n tenant_list\n\n = \"Sample_http_01\"\n\n }\n\n ```sh\n $ pulumi import f5bigip:index/as3:As3 test Sample_http_01,Sample_non_http_01\n```\n\n bigip_as3.test: Importing from ID \"Sample_http_01,Sample_non_http_01\"...\n\n bigip_as3.test: Import prepared!\n\n\n\n Prepared bigip_as3 for import\n\n bigip_as3.test: Refreshing state... [id=Sample_http_01,Sample_non_http_01]\n\n Import successful!\n\n The resources that were imported are shown above. These resources are now in\n\n your Terraform state and will henceforth be managed by Terraform.\n\n $ terraform show\n\n bigip_as3.test:\n\n resource \"bigip_as3\" \"test\" {\n\n\n\n\n\n as3_json\n\n\n\n\n\n= jsonencode(\n\n\n\n\n\n\n\n\n\n {\n\n\n\n\n\n\n\n\n\n\n\n\n\n action\n\n\n\n\n\n= \"deploy\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n class\n\n\n\n\n\n = \"AS3\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n declaration = {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Sample_http_01\n\n\n\n = {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n A1\n\n\n\n= {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n class\n\n\n\n\n\n= \"Application\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n jsessionid = {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n class\n\n\n\n\n\n\n\n\n\n\n\n = \"Persist\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n cookieMethod\n\n\n\n\n\n= \"hash\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n cookieName\n\n\n\n\n\n\n\n= \"JSESSIONID\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n persistenceMethod = \"cookie\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n service\n\n\n\n= {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n class\n\n\n\n\n\n\n\n\n\n\n\n\n\n= \"Service_HTTP\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n persistenceMethods = [\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n use = \"jsessionid\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n },\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n ]\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n pool\n\n\n\n\n\n\n\n\n\n\n\n\n\n = \"web_pool\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n virtualAddresses\n\n = [\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \"10.0.2.10\",\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n ]\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n web_pool\n\n = {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n class\n\n\n\n= \"Pool\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n members\n\n= [\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n serverAddresses = [\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \"192.0.2.10\",\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \"192.0.2.11\",\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n ]\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n servicePort\n\n\n\n = 80\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n },\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n ]\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n monitors = [\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \"http\",\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n ]\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n class = \"Tenant\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Sample_non_http_01 = {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n DNS_Service = {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Pool1\n\n = {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n class\n\n\n\n= \"Pool\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n members\n\n= [\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n serverAddresses = [\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \"10.1.10.100\",\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n ]\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n servicePort\n\n\n\n = 53\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n },\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n serverAddresses = [\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \"10.1.10.101\",\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n ]\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n servicePort\n\n\n\n = 53\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n },\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n ]\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n monitors = [\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \"icmp\",\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n ]\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n class\n\n = \"Application\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n service = {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n class\n\n\n\n\n\n\n\n\n\n\n\n= \"Service_UDP\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n pool\n\n\n\n\n\n\n\n\n\n\n\n = \"Pool1\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n virtualAddresses = [\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \"10.1.20.121\",\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n ]\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n virtualPort\n\n\n\n\n\n= 53\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n class\n\n\n\n\n\n = \"Tenant\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n class\n\n\n\n\n\n\n\n\n\n\n\n\n\n= \"ADC\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n id\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n = \"UDP_DNS_Sample\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n label\n\n\n\n\n\n\n\n\n\n\n\n\n\n= \"UDP_DNS_Sample\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n remark\n\n\n\n\n\n\n\n\n\n\n\n = \"Sample of a UDP DNS Load Balancer Service\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n schemaVersion\n\n\n\n\n\n= \"3.0.0\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n }\n\n\n\n\n\n\n\n\n\n\n\n\n\n persist\n\n\n\n = true\n\n\n\n\n\n\n\n\n\n }\n\n\n\n\n\n )\n\n\n\n\n\n id\n\n\n\n\n\n\n\n\n\n\n\n= \"Sample_http_01,Sample_non_http_01\"\n\n\n\n\n\n tenant_filter = \"Sample_http_01,Sample_non_http_01\"\n\n\n\n\n\n tenant_list\n\n = \"Sample_http_01,Sample_non_http_01\"\n\n }\n\n * `AS3 documentation` - https://clouddocs.f5.com/products/extensions/f5-appsvcs-extension/latest/userguide/composing-a-declaration.html\n\n ", "properties": { "applicationList": { "type": "string", @@ -6382,7 +6382,7 @@ } }, "f5bigip:index/wafPolicy:WafPolicy": { - "description": "`f5bigip.WafPolicy` Manages a WAF Policy resource with its adjustments and modifications on a BIG-IP.\nIt outputs an up-to-date WAF Policy in a JSON format\n\n* [Declarative WAF documentation](https://clouddocs.f5.com/products/waf-declarative-policy/declarative_policy_v16_1.html)\n\n\u003e **NOTE** This Resource Requires F5 BIG-IP v16.x above version, and ASM need to be provisioned.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst param1 = f5bigip.ssl.getWafEntityParameter({\n name: \"Param1\",\n type: \"explicit\",\n dataType: \"alpha-numeric\",\n performStaging: true,\n});\nconst param2 = f5bigip.ssl.getWafEntityParameter({\n name: \"Param2\",\n type: \"explicit\",\n dataType: \"alpha-numeric\",\n performStaging: true,\n});\nconst uRL = f5bigip.ssl.getWafEntityUrl({\n name: \"URL1\",\n protocol: \"http\",\n});\nconst uRL2 = f5bigip.ssl.getWafEntityUrl({\n name: \"URL2\",\n});\nconst test_awaf = new f5bigip.WafPolicy(\"test-awaf\", {\n name: \"testpolicyravi\",\n partition: \"Common\",\n templateName: \"POLICY_TEMPLATE_RAPID_DEPLOYMENT\",\n applicationLanguage: \"utf-8\",\n enforcementMode: \"blocking\",\n serverTechnologies: [\n \"MySQL\",\n \"Unix/Linux\",\n \"MongoDB\",\n ],\n parameters: [\n param1.then(param1 =\u003e param1.json),\n param2.then(param2 =\u003e param2.json),\n ],\n urls: [\n uRL.then(uRL =\u003e uRL.json),\n uRL2.then(uRL2 =\u003e uRL2.json),\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nparam1 = f5bigip.ssl.get_waf_entity_parameter(name=\"Param1\",\n type=\"explicit\",\n data_type=\"alpha-numeric\",\n perform_staging=True)\nparam2 = f5bigip.ssl.get_waf_entity_parameter(name=\"Param2\",\n type=\"explicit\",\n data_type=\"alpha-numeric\",\n perform_staging=True)\nu_rl = f5bigip.ssl.get_waf_entity_url(name=\"URL1\",\n protocol=\"http\")\nu_rl2 = f5bigip.ssl.get_waf_entity_url(name=\"URL2\")\ntest_awaf = f5bigip.WafPolicy(\"test-awaf\",\n name=\"testpolicyravi\",\n partition=\"Common\",\n template_name=\"POLICY_TEMPLATE_RAPID_DEPLOYMENT\",\n application_language=\"utf-8\",\n enforcement_mode=\"blocking\",\n server_technologies=[\n \"MySQL\",\n \"Unix/Linux\",\n \"MongoDB\",\n ],\n parameters=[\n param1.json,\n param2.json,\n ],\n urls=[\n u_rl.json,\n u_rl2.json,\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var param1 = F5BigIP.Ssl.GetWafEntityParameter.Invoke(new()\n {\n Name = \"Param1\",\n Type = \"explicit\",\n DataType = \"alpha-numeric\",\n PerformStaging = true,\n });\n\n var param2 = F5BigIP.Ssl.GetWafEntityParameter.Invoke(new()\n {\n Name = \"Param2\",\n Type = \"explicit\",\n DataType = \"alpha-numeric\",\n PerformStaging = true,\n });\n\n var uRL = F5BigIP.Ssl.GetWafEntityUrl.Invoke(new()\n {\n Name = \"URL1\",\n Protocol = \"http\",\n });\n\n var uRL2 = F5BigIP.Ssl.GetWafEntityUrl.Invoke(new()\n {\n Name = \"URL2\",\n });\n\n var test_awaf = new F5BigIP.WafPolicy(\"test-awaf\", new()\n {\n Name = \"testpolicyravi\",\n Partition = \"Common\",\n TemplateName = \"POLICY_TEMPLATE_RAPID_DEPLOYMENT\",\n ApplicationLanguage = \"utf-8\",\n EnforcementMode = \"blocking\",\n ServerTechnologies = new[]\n {\n \"MySQL\",\n \"Unix/Linux\",\n \"MongoDB\",\n },\n Parameters = new[]\n {\n param1.Apply(getWafEntityParameterResult =\u003e getWafEntityParameterResult.Json),\n param2.Apply(getWafEntityParameterResult =\u003e getWafEntityParameterResult.Json),\n },\n Urls = new[]\n {\n uRL.Apply(getWafEntityUrlResult =\u003e getWafEntityUrlResult.Json),\n uRL2.Apply(getWafEntityUrlResult =\u003e getWafEntityUrlResult.Json),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip\"\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/ssl\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tparam1, err := ssl.GetWafEntityParameter(ctx, \u0026ssl.GetWafEntityParameterArgs{\n\t\t\tName: \"Param1\",\n\t\t\tType: pulumi.StringRef(\"explicit\"),\n\t\t\tDataType: pulumi.StringRef(\"alpha-numeric\"),\n\t\t\tPerformStaging: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tparam2, err := ssl.GetWafEntityParameter(ctx, \u0026ssl.GetWafEntityParameterArgs{\n\t\t\tName: \"Param2\",\n\t\t\tType: pulumi.StringRef(\"explicit\"),\n\t\t\tDataType: pulumi.StringRef(\"alpha-numeric\"),\n\t\t\tPerformStaging: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tuRL, err := ssl.GetWafEntityUrl(ctx, \u0026ssl.GetWafEntityUrlArgs{\n\t\t\tName: \"URL1\",\n\t\t\tProtocol: pulumi.StringRef(\"http\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tuRL2, err := ssl.GetWafEntityUrl(ctx, \u0026ssl.GetWafEntityUrlArgs{\n\t\t\tName: \"URL2\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = f5bigip.NewWafPolicy(ctx, \"test-awaf\", \u0026f5bigip.WafPolicyArgs{\n\t\t\tName: pulumi.String(\"testpolicyravi\"),\n\t\t\tPartition: pulumi.String(\"Common\"),\n\t\t\tTemplateName: pulumi.String(\"POLICY_TEMPLATE_RAPID_DEPLOYMENT\"),\n\t\t\tApplicationLanguage: pulumi.String(\"utf-8\"),\n\t\t\tEnforcementMode: pulumi.String(\"blocking\"),\n\t\t\tServerTechnologies: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"MySQL\"),\n\t\t\t\tpulumi.String(\"Unix/Linux\"),\n\t\t\t\tpulumi.String(\"MongoDB\"),\n\t\t\t},\n\t\t\tParameters: pulumi.StringArray{\n\t\t\t\t*pulumi.String(param1.Json),\n\t\t\t\t*pulumi.String(param2.Json),\n\t\t\t},\n\t\t\tUrls: pulumi.StringArray{\n\t\t\t\t*pulumi.String(uRL.Json),\n\t\t\t\t*pulumi.String(uRL2.Json),\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.f5bigip.ssl.SslFunctions;\nimport com.pulumi.f5bigip.ssl.inputs.GetWafEntityParameterArgs;\nimport com.pulumi.f5bigip.ssl.inputs.GetWafEntityUrlArgs;\nimport com.pulumi.f5bigip.WafPolicy;\nimport com.pulumi.f5bigip.WafPolicyArgs;\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 final var param1 = SslFunctions.getWafEntityParameter(GetWafEntityParameterArgs.builder()\n .name(\"Param1\")\n .type(\"explicit\")\n .dataType(\"alpha-numeric\")\n .performStaging(true)\n .build());\n\n final var param2 = SslFunctions.getWafEntityParameter(GetWafEntityParameterArgs.builder()\n .name(\"Param2\")\n .type(\"explicit\")\n .dataType(\"alpha-numeric\")\n .performStaging(true)\n .build());\n\n final var uRL = SslFunctions.getWafEntityUrl(GetWafEntityUrlArgs.builder()\n .name(\"URL1\")\n .protocol(\"http\")\n .build());\n\n final var uRL2 = SslFunctions.getWafEntityUrl(GetWafEntityUrlArgs.builder()\n .name(\"URL2\")\n .build());\n\n var test_awaf = new WafPolicy(\"test-awaf\", WafPolicyArgs.builder() \n .name(\"testpolicyravi\")\n .partition(\"Common\")\n .templateName(\"POLICY_TEMPLATE_RAPID_DEPLOYMENT\")\n .applicationLanguage(\"utf-8\")\n .enforcementMode(\"blocking\")\n .serverTechnologies( \n \"MySQL\",\n \"Unix/Linux\",\n \"MongoDB\")\n .parameters( \n param1.applyValue(getWafEntityParameterResult -\u003e getWafEntityParameterResult.json()),\n param2.applyValue(getWafEntityParameterResult -\u003e getWafEntityParameterResult.json()))\n .urls( \n uRL.applyValue(getWafEntityUrlResult -\u003e getWafEntityUrlResult.json()),\n uRL2.applyValue(getWafEntityUrlResult -\u003e getWafEntityUrlResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test-awaf:\n type: f5bigip:WafPolicy\n properties:\n name: testpolicyravi\n partition: Common\n templateName: POLICY_TEMPLATE_RAPID_DEPLOYMENT\n applicationLanguage: utf-8\n enforcementMode: blocking\n serverTechnologies:\n - MySQL\n - Unix/Linux\n - MongoDB\n parameters:\n - ${param1.json}\n - ${param2.json}\n urls:\n - ${uRL.json}\n - ${uRL2.json}\nvariables:\n param1:\n fn::invoke:\n Function: f5bigip:ssl:getWafEntityParameter\n Arguments:\n name: Param1\n type: explicit\n dataType: alpha-numeric\n performStaging: true\n param2:\n fn::invoke:\n Function: f5bigip:ssl:getWafEntityParameter\n Arguments:\n name: Param2\n type: explicit\n dataType: alpha-numeric\n performStaging: true\n uRL:\n fn::invoke:\n Function: f5bigip:ssl:getWafEntityUrl\n Arguments:\n name: URL1\n protocol: http\n uRL2:\n fn::invoke:\n Function: f5bigip:ssl:getWafEntityUrl\n Arguments:\n name: URL2\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAn existing WAF Policy or if the WAF Policy has been manually created or modified on the BIG-IP WebUI, it can be imported using its `id`. e.g\n\n```sh\n $ pulumi import f5bigip:index/wafPolicy:WafPolicy example \u003cid\u003e\n```\n\n ", + "description": "`f5bigip.WafPolicy` Manages a WAF Policy resource with its adjustments and modifications on a BIG-IP.\nIt outputs an up-to-date WAF Policy in a JSON format\n\n* [Declarative WAF documentation](https://clouddocs.f5.com/products/waf-declarative-policy/declarative_policy_v16_1.html)\n\n\u003e **NOTE** This Resource Requires F5 BIG-IP v16.x above version, and ASM need to be provisioned.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst param1 = f5bigip.ssl.getWafEntityParameter({\n name: \"Param1\",\n type: \"explicit\",\n dataType: \"alpha-numeric\",\n performStaging: true,\n});\nconst param2 = f5bigip.ssl.getWafEntityParameter({\n name: \"Param2\",\n type: \"explicit\",\n dataType: \"alpha-numeric\",\n performStaging: true,\n});\nconst uRL = f5bigip.ssl.getWafEntityUrl({\n name: \"URL1\",\n protocol: \"http\",\n});\nconst uRL2 = f5bigip.ssl.getWafEntityUrl({\n name: \"URL2\",\n});\nconst test_awaf = new f5bigip.WafPolicy(\"test-awaf\", {\n name: \"testpolicyravi\",\n partition: \"Common\",\n templateName: \"POLICY_TEMPLATE_RAPID_DEPLOYMENT\",\n applicationLanguage: \"utf-8\",\n enforcementMode: \"blocking\",\n serverTechnologies: [\n \"MySQL\",\n \"Unix/Linux\",\n \"MongoDB\",\n ],\n parameters: [\n param1.then(param1 =\u003e param1.json),\n param2.then(param2 =\u003e param2.json),\n ],\n urls: [\n uRL.then(uRL =\u003e uRL.json),\n uRL2.then(uRL2 =\u003e uRL2.json),\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nparam1 = f5bigip.ssl.get_waf_entity_parameter(name=\"Param1\",\n type=\"explicit\",\n data_type=\"alpha-numeric\",\n perform_staging=True)\nparam2 = f5bigip.ssl.get_waf_entity_parameter(name=\"Param2\",\n type=\"explicit\",\n data_type=\"alpha-numeric\",\n perform_staging=True)\nu_rl = f5bigip.ssl.get_waf_entity_url(name=\"URL1\",\n protocol=\"http\")\nu_rl2 = f5bigip.ssl.get_waf_entity_url(name=\"URL2\")\ntest_awaf = f5bigip.WafPolicy(\"test-awaf\",\n name=\"testpolicyravi\",\n partition=\"Common\",\n template_name=\"POLICY_TEMPLATE_RAPID_DEPLOYMENT\",\n application_language=\"utf-8\",\n enforcement_mode=\"blocking\",\n server_technologies=[\n \"MySQL\",\n \"Unix/Linux\",\n \"MongoDB\",\n ],\n parameters=[\n param1.json,\n param2.json,\n ],\n urls=[\n u_rl.json,\n u_rl2.json,\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var param1 = F5BigIP.Ssl.GetWafEntityParameter.Invoke(new()\n {\n Name = \"Param1\",\n Type = \"explicit\",\n DataType = \"alpha-numeric\",\n PerformStaging = true,\n });\n\n var param2 = F5BigIP.Ssl.GetWafEntityParameter.Invoke(new()\n {\n Name = \"Param2\",\n Type = \"explicit\",\n DataType = \"alpha-numeric\",\n PerformStaging = true,\n });\n\n var uRL = F5BigIP.Ssl.GetWafEntityUrl.Invoke(new()\n {\n Name = \"URL1\",\n Protocol = \"http\",\n });\n\n var uRL2 = F5BigIP.Ssl.GetWafEntityUrl.Invoke(new()\n {\n Name = \"URL2\",\n });\n\n var test_awaf = new F5BigIP.WafPolicy(\"test-awaf\", new()\n {\n Name = \"testpolicyravi\",\n Partition = \"Common\",\n TemplateName = \"POLICY_TEMPLATE_RAPID_DEPLOYMENT\",\n ApplicationLanguage = \"utf-8\",\n EnforcementMode = \"blocking\",\n ServerTechnologies = new[]\n {\n \"MySQL\",\n \"Unix/Linux\",\n \"MongoDB\",\n },\n Parameters = new[]\n {\n param1.Apply(getWafEntityParameterResult =\u003e getWafEntityParameterResult.Json),\n param2.Apply(getWafEntityParameterResult =\u003e getWafEntityParameterResult.Json),\n },\n Urls = new[]\n {\n uRL.Apply(getWafEntityUrlResult =\u003e getWafEntityUrlResult.Json),\n uRL2.Apply(getWafEntityUrlResult =\u003e getWafEntityUrlResult.Json),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip\"\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/ssl\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tparam1, err := ssl.GetWafEntityParameter(ctx, \u0026ssl.GetWafEntityParameterArgs{\n\t\t\tName: \"Param1\",\n\t\t\tType: pulumi.StringRef(\"explicit\"),\n\t\t\tDataType: pulumi.StringRef(\"alpha-numeric\"),\n\t\t\tPerformStaging: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tparam2, err := ssl.GetWafEntityParameter(ctx, \u0026ssl.GetWafEntityParameterArgs{\n\t\t\tName: \"Param2\",\n\t\t\tType: pulumi.StringRef(\"explicit\"),\n\t\t\tDataType: pulumi.StringRef(\"alpha-numeric\"),\n\t\t\tPerformStaging: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tuRL, err := ssl.GetWafEntityUrl(ctx, \u0026ssl.GetWafEntityUrlArgs{\n\t\t\tName: \"URL1\",\n\t\t\tProtocol: pulumi.StringRef(\"http\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tuRL2, err := ssl.GetWafEntityUrl(ctx, \u0026ssl.GetWafEntityUrlArgs{\n\t\t\tName: \"URL2\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = f5bigip.NewWafPolicy(ctx, \"test-awaf\", \u0026f5bigip.WafPolicyArgs{\n\t\t\tName: pulumi.String(\"testpolicyravi\"),\n\t\t\tPartition: pulumi.String(\"Common\"),\n\t\t\tTemplateName: pulumi.String(\"POLICY_TEMPLATE_RAPID_DEPLOYMENT\"),\n\t\t\tApplicationLanguage: pulumi.String(\"utf-8\"),\n\t\t\tEnforcementMode: pulumi.String(\"blocking\"),\n\t\t\tServerTechnologies: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"MySQL\"),\n\t\t\t\tpulumi.String(\"Unix/Linux\"),\n\t\t\t\tpulumi.String(\"MongoDB\"),\n\t\t\t},\n\t\t\tParameters: pulumi.StringArray{\n\t\t\t\t*pulumi.String(param1.Json),\n\t\t\t\t*pulumi.String(param2.Json),\n\t\t\t},\n\t\t\tUrls: pulumi.StringArray{\n\t\t\t\t*pulumi.String(uRL.Json),\n\t\t\t\t*pulumi.String(uRL2.Json),\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.f5bigip.ssl.SslFunctions;\nimport com.pulumi.f5bigip.ssl.inputs.GetWafEntityParameterArgs;\nimport com.pulumi.f5bigip.ssl.inputs.GetWafEntityUrlArgs;\nimport com.pulumi.f5bigip.WafPolicy;\nimport com.pulumi.f5bigip.WafPolicyArgs;\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 final var param1 = SslFunctions.getWafEntityParameter(GetWafEntityParameterArgs.builder()\n .name(\"Param1\")\n .type(\"explicit\")\n .dataType(\"alpha-numeric\")\n .performStaging(true)\n .build());\n\n final var param2 = SslFunctions.getWafEntityParameter(GetWafEntityParameterArgs.builder()\n .name(\"Param2\")\n .type(\"explicit\")\n .dataType(\"alpha-numeric\")\n .performStaging(true)\n .build());\n\n final var uRL = SslFunctions.getWafEntityUrl(GetWafEntityUrlArgs.builder()\n .name(\"URL1\")\n .protocol(\"http\")\n .build());\n\n final var uRL2 = SslFunctions.getWafEntityUrl(GetWafEntityUrlArgs.builder()\n .name(\"URL2\")\n .build());\n\n var test_awaf = new WafPolicy(\"test-awaf\", WafPolicyArgs.builder() \n .name(\"testpolicyravi\")\n .partition(\"Common\")\n .templateName(\"POLICY_TEMPLATE_RAPID_DEPLOYMENT\")\n .applicationLanguage(\"utf-8\")\n .enforcementMode(\"blocking\")\n .serverTechnologies( \n \"MySQL\",\n \"Unix/Linux\",\n \"MongoDB\")\n .parameters( \n param1.applyValue(getWafEntityParameterResult -\u003e getWafEntityParameterResult.json()),\n param2.applyValue(getWafEntityParameterResult -\u003e getWafEntityParameterResult.json()))\n .urls( \n uRL.applyValue(getWafEntityUrlResult -\u003e getWafEntityUrlResult.json()),\n uRL2.applyValue(getWafEntityUrlResult -\u003e getWafEntityUrlResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test-awaf:\n type: f5bigip:WafPolicy\n properties:\n name: testpolicyravi\n partition: Common\n templateName: POLICY_TEMPLATE_RAPID_DEPLOYMENT\n applicationLanguage: utf-8\n enforcementMode: blocking\n serverTechnologies:\n - MySQL\n - Unix/Linux\n - MongoDB\n parameters:\n - ${param1.json}\n - ${param2.json}\n urls:\n - ${uRL.json}\n - ${uRL2.json}\nvariables:\n param1:\n fn::invoke:\n Function: f5bigip:ssl:getWafEntityParameter\n Arguments:\n name: Param1\n type: explicit\n dataType: alpha-numeric\n performStaging: true\n param2:\n fn::invoke:\n Function: f5bigip:ssl:getWafEntityParameter\n Arguments:\n name: Param2\n type: explicit\n dataType: alpha-numeric\n performStaging: true\n uRL:\n fn::invoke:\n Function: f5bigip:ssl:getWafEntityUrl\n Arguments:\n name: URL1\n protocol: http\n uRL2:\n fn::invoke:\n Function: f5bigip:ssl:getWafEntityUrl\n Arguments:\n name: URL2\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAn existing WAF Policy or if the WAF Policy has been manually created or modified on the BIG-IP WebUI, it can be imported using its `id`.\n\n e.g:\n\n ```sh\n $ pulumi import f5bigip:index/wafPolicy:WafPolicy example \u003cid\u003e\n```\n\n ", "properties": { "applicationLanguage": { "type": "string", @@ -10395,7 +10395,7 @@ } }, "f5bigip:ltm/profileHttp:ProfileHttp": { - "description": "`f5bigip.ltm.ProfileHttp` Configures a custom profile_http for use by health checks.\n\nFor resources should be named with their \"full path\". The full path is the combination of the partition + name of the resource. For example /Common/my-pool.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst sanjose_http = new f5bigip.ltm.ProfileHttp(\"sanjose-http\", {\n defaultsFrom: \"/Common/http\",\n fallbackHost: \"titanic\",\n fallbackStatusCodes: [\n \"400\",\n \"500\",\n \"300\",\n ],\n name: \"/Common/sanjose-http\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nsanjose_http = f5bigip.ltm.ProfileHttp(\"sanjose-http\",\n defaults_from=\"/Common/http\",\n fallback_host=\"titanic\",\n fallback_status_codes=[\n \"400\",\n \"500\",\n \"300\",\n ],\n name=\"/Common/sanjose-http\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sanjose_http = new F5BigIP.Ltm.ProfileHttp(\"sanjose-http\", new()\n {\n DefaultsFrom = \"/Common/http\",\n FallbackHost = \"titanic\",\n FallbackStatusCodes = new[]\n {\n \"400\",\n \"500\",\n \"300\",\n },\n Name = \"/Common/sanjose-http\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/ltm\"\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 := ltm.NewProfileHttp(ctx, \"sanjose-http\", \u0026ltm.ProfileHttpArgs{\n\t\t\tDefaultsFrom: pulumi.String(\"/Common/http\"),\n\t\t\tFallbackHost: pulumi.String(\"titanic\"),\n\t\t\tFallbackStatusCodes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"400\"),\n\t\t\t\tpulumi.String(\"500\"),\n\t\t\t\tpulumi.String(\"300\"),\n\t\t\t},\n\t\t\tName: pulumi.String(\"/Common/sanjose-http\"),\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.f5bigip.ltm.ProfileHttp;\nimport com.pulumi.f5bigip.ltm.ProfileHttpArgs;\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 sanjose_http = new ProfileHttp(\"sanjose-http\", ProfileHttpArgs.builder() \n .defaultsFrom(\"/Common/http\")\n .fallbackHost(\"titanic\")\n .fallbackStatusCodes( \n \"400\",\n \"500\",\n \"300\")\n .name(\"/Common/sanjose-http\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n sanjose-http:\n type: f5bigip:ltm:ProfileHttp\n properties:\n defaultsFrom: /Common/http\n fallbackHost: titanic\n fallbackStatusCodes:\n - '400'\n - '500'\n - '300'\n name: /Common/sanjose-http\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nBIG-IP LTM http profiles can be imported using the `name`, e.g. bash\n\n```sh\n $ pulumi import f5bigip:ltm/profileHttp:ProfileHttp test-http /Common/test-http\n```\n\n ", + "description": "`f5bigip.ltm.ProfileHttp` Configures a custom profile_http for use by health checks.\n\nFor resources should be named with their \"full path\". The full path is the combination of the partition + name of the resource. For example /Common/my-pool.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst sanjose_http = new f5bigip.ltm.ProfileHttp(\"sanjose-http\", {\n defaultsFrom: \"/Common/http\",\n fallbackHost: \"titanic\",\n fallbackStatusCodes: [\n \"400\",\n \"500\",\n \"300\",\n ],\n name: \"/Common/sanjose-http\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nsanjose_http = f5bigip.ltm.ProfileHttp(\"sanjose-http\",\n defaults_from=\"/Common/http\",\n fallback_host=\"titanic\",\n fallback_status_codes=[\n \"400\",\n \"500\",\n \"300\",\n ],\n name=\"/Common/sanjose-http\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sanjose_http = new F5BigIP.Ltm.ProfileHttp(\"sanjose-http\", new()\n {\n DefaultsFrom = \"/Common/http\",\n FallbackHost = \"titanic\",\n FallbackStatusCodes = new[]\n {\n \"400\",\n \"500\",\n \"300\",\n },\n Name = \"/Common/sanjose-http\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/ltm\"\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 := ltm.NewProfileHttp(ctx, \"sanjose-http\", \u0026ltm.ProfileHttpArgs{\n\t\t\tDefaultsFrom: pulumi.String(\"/Common/http\"),\n\t\t\tFallbackHost: pulumi.String(\"titanic\"),\n\t\t\tFallbackStatusCodes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"400\"),\n\t\t\t\tpulumi.String(\"500\"),\n\t\t\t\tpulumi.String(\"300\"),\n\t\t\t},\n\t\t\tName: pulumi.String(\"/Common/sanjose-http\"),\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.f5bigip.ltm.ProfileHttp;\nimport com.pulumi.f5bigip.ltm.ProfileHttpArgs;\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 sanjose_http = new ProfileHttp(\"sanjose-http\", ProfileHttpArgs.builder() \n .defaultsFrom(\"/Common/http\")\n .fallbackHost(\"titanic\")\n .fallbackStatusCodes( \n \"400\",\n \"500\",\n \"300\")\n .name(\"/Common/sanjose-http\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n sanjose-http:\n type: f5bigip:ltm:ProfileHttp\n properties:\n defaultsFrom: /Common/http\n fallbackHost: titanic\n fallbackStatusCodes:\n - '400'\n - '500'\n - '300'\n name: /Common/sanjose-http\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nBIG-IP LTM http profiles can be imported using the `name`, e.g.\n\n bash\n\n ```sh\n $ pulumi import f5bigip:ltm/profileHttp:ProfileHttp test-http /Common/test-http\n```\n\n ", "properties": { "acceptXff": { "type": "string", diff --git a/provider/go.mod b/provider/go.mod index c5fa804c..582952a4 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -6,14 +6,14 @@ toolchain go1.21.4 require ( github.com/F5Networks/terraform-provider-bigip v1.20.2 - github.com/pulumi/pulumi-terraform-bridge/v3 v3.73.0 - github.com/pulumi/pulumi/sdk/v3 v3.104.2 + github.com/pulumi/pulumi-terraform-bridge/v3 v3.74.0 + github.com/pulumi/pulumi/sdk/v3 v3.105.0 ) // Fixes build issues on windows: https://github.com/mattn/go-ieproxy/issues/45 replace github.com/mattn/go-ieproxy => github.com/mattn/go-ieproxy v0.0.1 -replace github.com/hashicorp/terraform-plugin-sdk/v2 => github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20240129205329-74776a5cd5f9 +replace github.com/hashicorp/terraform-plugin-sdk/v2 => github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20240202163305-e2a20ae13ef9 require ( cloud.google.com/go v0.110.10 // indirect @@ -193,7 +193,7 @@ require ( github.com/pulumi/pulumi-java/pkg v0.9.9 // indirect github.com/pulumi/pulumi-terraform-bridge/x/muxer v0.0.7 // indirect github.com/pulumi/pulumi-yaml v1.5.0 // indirect - github.com/pulumi/pulumi/pkg/v3 v3.104.2 // indirect + github.com/pulumi/pulumi/pkg/v3 v3.105.0 // indirect github.com/pulumi/schema-tools v0.1.2 // indirect github.com/pulumi/terraform-diff-reader v0.0.2 // indirect github.com/rivo/uniseg v0.4.4 // indirect diff --git a/provider/go.sum b/provider/go.sum index 81ece28d..b3d65343 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -2256,22 +2256,22 @@ github.com/pulumi/providertest v0.0.10 h1:bx77G0JYPO2Alf/SHRP05XpAYMrboKJkMIVkbF github.com/pulumi/providertest v0.0.10/go.mod h1:HsxjVsytcMIuNj19w1lT2W0QXY0oReXl1+h6eD2JXP8= github.com/pulumi/pulumi-java/pkg v0.9.9 h1:F3xJUtMFDVrTGCxb7Rh2Q8s6tj7gMfM5pcoUthz7vFY= github.com/pulumi/pulumi-java/pkg v0.9.9/go.mod h1:LVF1zeg3UkToHWxb67V+zEIxQc3EdMnlot5NWSt+FpA= -github.com/pulumi/pulumi-terraform-bridge/v3 v3.73.0 h1:8EVPKIISUQe/iABfvPa6pe9sOCz6jQViAHx5/cK02LQ= -github.com/pulumi/pulumi-terraform-bridge/v3 v3.73.0/go.mod h1:gdaUiZPVbL5NyfANwaO4Bi87ds822JOm8BHJxr69OXU= +github.com/pulumi/pulumi-terraform-bridge/v3 v3.74.0 h1:cVsqcIJqgCosq9ib0rUyUBLEr3Mamz138JA7gqN21c8= +github.com/pulumi/pulumi-terraform-bridge/v3 v3.74.0/go.mod h1:WOKqq+pzEXcfoXbGPd4weBFIY6RQjzlKO365LPHKrB8= github.com/pulumi/pulumi-terraform-bridge/x/muxer v0.0.7 h1:Z9vmfVTW0QtJrWh+DRR3UKiRZX23f45lFtdhQiUHEqE= github.com/pulumi/pulumi-terraform-bridge/x/muxer v0.0.7/go.mod h1:T9zHpTHyVz2EyobzByFFpjfqgGtXO4C4bNqC0j29D2I= github.com/pulumi/pulumi-yaml v1.5.0 h1:HfXu+WSFNpycref9CK935cViYJzXwSgHGWM/RepyrW0= github.com/pulumi/pulumi-yaml v1.5.0/go.mod h1:AvKSmEQv2EkPbpvAQroR1eP1LkJGC8z5NDM34rVWOtg= -github.com/pulumi/pulumi/pkg/v3 v3.104.2 h1:pxioQCKuTrGyeCmdxkR2M03nFBrPMhPnuHMaaTfxY1Y= -github.com/pulumi/pulumi/pkg/v3 v3.104.2/go.mod h1:AvF18k2O6rZIV27fF9i0UueP/PjiqSJeRMiOi3cVgEM= -github.com/pulumi/pulumi/sdk/v3 v3.104.2 h1:aOwUkrlsyEWrL1jlHqn2/36zMSPQrVUYUyZPqstrmjc= -github.com/pulumi/pulumi/sdk/v3 v3.104.2/go.mod h1:Ml3rpGfyZlI4zQCG7LN2XDSmH4XUNYdyBwJ3yEr/OpI= +github.com/pulumi/pulumi/pkg/v3 v3.105.0 h1:bJG1vUiYH2gDF1pfBKlIABDNoJD2LvU1LmjjL+EbvuM= +github.com/pulumi/pulumi/pkg/v3 v3.105.0/go.mod h1:eZAFEFOwE/skElTfwetfyTxPebmWr5vOS5NSU9XwlVw= +github.com/pulumi/pulumi/sdk/v3 v3.105.0 h1:OKEeubZigWyQVnZS6udnFnZHZ/8OWXuUYv9ir3OY+vs= +github.com/pulumi/pulumi/sdk/v3 v3.105.0/go.mod h1:Ml3rpGfyZlI4zQCG7LN2XDSmH4XUNYdyBwJ3yEr/OpI= github.com/pulumi/schema-tools v0.1.2 h1:Fd9xvUjgck4NA+7/jSk7InqCUT4Kj940+EcnbQKpfZo= github.com/pulumi/schema-tools v0.1.2/go.mod h1:62lgj52Tzq11eqWTIaKd+EVyYAu5dEcDJxMhTjvMO/k= github.com/pulumi/terraform-diff-reader v0.0.2 h1:kTE4nEXU3/SYXESvAIem+wyHMI3abqkI3OhJ0G04LLI= github.com/pulumi/terraform-diff-reader v0.0.2/go.mod h1:sZ9FUzGO+yM41hsQHs/yIcj/Y993qMdBxBU5mpDmAfQ= -github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20240129205329-74776a5cd5f9 h1:p8vtMw4abpcmwE0v8b6x2GKZQKisrmdjojkoP3oelak= -github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20240129205329-74776a5cd5f9/go.mod h1:qH/34G25Ugdj5FcM95cSoXzUgIbgfhVLXCcEcYaMwq8= +github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20240202163305-e2a20ae13ef9 h1:k3SdGlmaJ49yaRV79Ktb5KGdPvuNfeiv4+oHXN+wyhs= +github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20240202163305-e2a20ae13ef9/go.mod h1:qH/34G25Ugdj5FcM95cSoXzUgIbgfhVLXCcEcYaMwq8= github.com/rakyll/embedmd v0.0.0-20171029212350-c8060a0752a2/go.mod h1:7jOTMgqac46PZcF54q6l2hkLEG8op93fZu61KmxWDV4= github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= diff --git a/sdk/dotnet/As3.cs b/sdk/dotnet/As3.cs index 1f9f1807..45e183a2 100644 --- a/sdk/dotnet/As3.cs +++ b/sdk/dotnet/As3.cs @@ -46,22 +46,38 @@ namespace Pulumi.F5BigIP /// As3 resources can be imported using the partition name, e.g., ( use comma separated partition names if there are multiple partitions in as3 deployments ) /// /// ```sh - /// $ pulumi import f5bigip:index/as3:As3 bigip_as3.test Sample_http_01 + /// $ pulumi import f5bigip:index/as3:As3 bigip_as3.test Sample_http_01 /// ``` /// /// ```sh - /// $ pulumi import f5bigip:index/as3:As3 bigip_as3.test Sample_http_01,Sample_non_http_01 + /// $ pulumi import f5bigip:index/as3:As3 bigip_as3.test Sample_http_01,Sample_non_http_01 /// ``` /// /// #### Import examples ( single and multiple partitions ) /// /// ```sh - /// $ pulumi import f5bigip:index/as3:As3 test Sample_http_01 + /// $ pulumi import f5bigip:index/as3:As3 test Sample_http_01 /// ``` /// - /// bigip_as3.testImporting from ID "Sample_http_01"... bigip_as3.testImport prepared! + /// bigip_as3.test: Importing from ID "Sample_http_01"... /// - /// Prepared bigip_as3 for import bigip_as3.testRefreshing state... [id=Sample_http_01] Import successful! The resources that were imported are shown above. These resources are now in your Terraform state and will henceforth be managed by Terraform. $ terraform show bigip_as3.testresource "bigip_as3" "test" { + /// bigip_as3.test: Import prepared! + /// + /// Prepared bigip_as3 for import + /// + /// bigip_as3.test: Refreshing state... [id=Sample_http_01] + /// + /// Import successful! + /// + /// The resources that were imported are shown above. These resources are now in + /// + /// your Terraform state and will henceforth be managed by Terraform. + /// + /// $ terraform show + /// + /// bigip_as3.test: + /// + /// resource "bigip_as3" "test" { /// /// as3_json /// @@ -221,15 +237,33 @@ namespace Pulumi.F5BigIP /// /// tenant_list /// - /// = "Sample_http_01" } + /// = "Sample_http_01" + /// + /// } /// /// ```sh - /// $ pulumi import f5bigip:index/as3:As3 test Sample_http_01,Sample_non_http_01 + /// $ pulumi import f5bigip:index/as3:As3 test Sample_http_01,Sample_non_http_01 /// ``` /// - /// bigip_as3.testImporting from ID "Sample_http_01,Sample_non_http_01"... bigip_as3.testImport prepared! + /// bigip_as3.test: Importing from ID "Sample_http_01,Sample_non_http_01"... + /// + /// bigip_as3.test: Import prepared! /// - /// Prepared bigip_as3 for import bigip_as3.testRefreshing state... [id=Sample_http_01,Sample_non_http_01] Import successful! The resources that were imported are shown above. These resources are now in your Terraform state and will henceforth be managed by Terraform. $ terraform show bigip_as3.testresource "bigip_as3" "test" { + /// Prepared bigip_as3 for import + /// + /// bigip_as3.test: Refreshing state... [id=Sample_http_01,Sample_non_http_01] + /// + /// Import successful! + /// + /// The resources that were imported are shown above. These resources are now in + /// + /// your Terraform state and will henceforth be managed by Terraform. + /// + /// $ terraform show + /// + /// bigip_as3.test: + /// + /// resource "bigip_as3" "test" { /// /// as3_json /// @@ -479,7 +513,11 @@ namespace Pulumi.F5BigIP /// /// tenant_list /// - /// = "Sample_http_01,Sample_non_http_01" } * `AS3 documentation` - https://clouddocs.f5.com/products/extensions/f5-appsvcs-extension/latest/userguide/composing-a-declaration.html + /// = "Sample_http_01,Sample_non_http_01" + /// + /// } + /// + /// * `AS3 documentation` - https://clouddocs.f5.com/products/extensions/f5-appsvcs-extension/latest/userguide/composing-a-declaration.html /// [F5BigIPResourceType("f5bigip:index/as3:As3")] public partial class As3 : global::Pulumi.CustomResource diff --git a/sdk/dotnet/Ltm/ProfileHttp.cs b/sdk/dotnet/Ltm/ProfileHttp.cs index 1e639286..6df42133 100644 --- a/sdk/dotnet/Ltm/ProfileHttp.cs +++ b/sdk/dotnet/Ltm/ProfileHttp.cs @@ -42,10 +42,12 @@ namespace Pulumi.F5BigIP.Ltm /// /// ## Import /// - /// BIG-IP LTM http profiles can be imported using the `name`, e.g. bash + /// BIG-IP LTM http profiles can be imported using the `name`, e.g. + /// + /// bash /// /// ```sh - /// $ pulumi import f5bigip:ltm/profileHttp:ProfileHttp test-http /Common/test-http + /// $ pulumi import f5bigip:ltm/profileHttp:ProfileHttp test-http /Common/test-http /// ``` /// [F5BigIPResourceType("f5bigip:ltm/profileHttp:ProfileHttp")] diff --git a/sdk/dotnet/WafPolicy.cs b/sdk/dotnet/WafPolicy.cs index bf8e4af3..2c304f61 100644 --- a/sdk/dotnet/WafPolicy.cs +++ b/sdk/dotnet/WafPolicy.cs @@ -84,10 +84,12 @@ namespace Pulumi.F5BigIP /// /// ## Import /// - /// An existing WAF Policy or if the WAF Policy has been manually created or modified on the BIG-IP WebUI, it can be imported using its `id`. e.g + /// An existing WAF Policy or if the WAF Policy has been manually created or modified on the BIG-IP WebUI, it can be imported using its `id`. + /// + /// e.g: /// /// ```sh - /// $ pulumi import f5bigip:index/wafPolicy:WafPolicy example <id> + /// $ pulumi import f5bigip:index/wafPolicy:WafPolicy example <id> /// ``` /// [F5BigIPResourceType("f5bigip:index/wafPolicy:WafPolicy")] diff --git a/sdk/go.mod b/sdk/go.mod index 16e49069..00e39747 100644 --- a/sdk/go.mod +++ b/sdk/go.mod @@ -4,7 +4,7 @@ go 1.21 require ( github.com/blang/semver v3.5.1+incompatible - github.com/pulumi/pulumi/sdk/v3 v3.104.2 + github.com/pulumi/pulumi/sdk/v3 v3.105.0 ) require ( diff --git a/sdk/go.sum b/sdk/go.sum index 490f7f7e..6b1732e4 100644 --- a/sdk/go.sum +++ b/sdk/go.sum @@ -148,8 +148,8 @@ github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 h1:vkHw5I/plNdTr435 github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231/go.mod h1:murToZ2N9hNJzewjHBgfFdXhZKjY3z5cYC1VXk+lbFE= github.com/pulumi/esc v0.6.2 h1:+z+l8cuwIauLSwXQS0uoI3rqB+YG4SzsZYtHfNoXBvw= github.com/pulumi/esc v0.6.2/go.mod h1:jNnYNjzsOgVTjCp0LL24NsCk8ZJxq4IoLQdCT0X7l8k= -github.com/pulumi/pulumi/sdk/v3 v3.104.2 h1:aOwUkrlsyEWrL1jlHqn2/36zMSPQrVUYUyZPqstrmjc= -github.com/pulumi/pulumi/sdk/v3 v3.104.2/go.mod h1:Ml3rpGfyZlI4zQCG7LN2XDSmH4XUNYdyBwJ3yEr/OpI= +github.com/pulumi/pulumi/sdk/v3 v3.105.0 h1:OKEeubZigWyQVnZS6udnFnZHZ/8OWXuUYv9ir3OY+vs= +github.com/pulumi/pulumi/sdk/v3 v3.105.0/go.mod h1:Ml3rpGfyZlI4zQCG7LN2XDSmH4XUNYdyBwJ3yEr/OpI= github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis= diff --git a/sdk/go/f5bigip/as3.go b/sdk/go/f5bigip/as3.go index da84e104..fd664e6a 100644 --- a/sdk/go/f5bigip/as3.go +++ b/sdk/go/f5bigip/as3.go @@ -63,28 +63,38 @@ import ( // As3 resources can be imported using the partition name, e.g., ( use comma separated partition names if there are multiple partitions in as3 deployments ) // // ```sh -// -// $ pulumi import f5bigip:index/as3:As3 bigip_as3.test Sample_http_01 -// +// $ pulumi import f5bigip:index/as3:As3 bigip_as3.test Sample_http_01 // ``` // // ```sh -// -// $ pulumi import f5bigip:index/as3:As3 bigip_as3.test Sample_http_01,Sample_non_http_01 -// +// $ pulumi import f5bigip:index/as3:As3 bigip_as3.test Sample_http_01,Sample_non_http_01 // ``` // // #### Import examples ( single and multiple partitions ) // // ```sh +// $ pulumi import f5bigip:index/as3:As3 test Sample_http_01 +// ``` // -// $ pulumi import f5bigip:index/as3:As3 test Sample_http_01 +// bigip_as3.test: Importing from ID "Sample_http_01"... // -// ``` +// bigip_as3.test: Import prepared! +// +// Prepared bigip_as3 for import // -// bigip_as3.testImporting from ID "Sample_http_01"... bigip_as3.testImport prepared! +// bigip_as3.test: Refreshing state... [id=Sample_http_01] // -// Prepared bigip_as3 for import bigip_as3.testRefreshing state... [id=Sample_http_01] Import successful! The resources that were imported are shown above. These resources are now in your Terraform state and will henceforth be managed by Terraform. $ terraform show bigip_as3.testresource "bigip_as3" "test" { +// Import successful! +// +// The resources that were imported are shown above. These resources are now in +// +// your Terraform state and will henceforth be managed by Terraform. +// +// $ terraform show +// +// bigip_as3.test: +// +// resource "bigip_as3" "test" { // // as3_json // @@ -244,17 +254,33 @@ import ( // // tenant_list // -// = "Sample_http_01" } +// = "Sample_http_01" +// +// } // // ```sh +// $ pulumi import f5bigip:index/as3:As3 test Sample_http_01,Sample_non_http_01 +// ``` // -// $ pulumi import f5bigip:index/as3:As3 test Sample_http_01,Sample_non_http_01 +// bigip_as3.test: Importing from ID "Sample_http_01,Sample_non_http_01"... // -// ``` +// bigip_as3.test: Import prepared! +// +// Prepared bigip_as3 for import +// +// bigip_as3.test: Refreshing state... [id=Sample_http_01,Sample_non_http_01] +// +// Import successful! // -// bigip_as3.testImporting from ID "Sample_http_01,Sample_non_http_01"... bigip_as3.testImport prepared! +// The resources that were imported are shown above. These resources are now in // -// Prepared bigip_as3 for import bigip_as3.testRefreshing state... [id=Sample_http_01,Sample_non_http_01] Import successful! The resources that were imported are shown above. These resources are now in your Terraform state and will henceforth be managed by Terraform. $ terraform show bigip_as3.testresource "bigip_as3" "test" { +// your Terraform state and will henceforth be managed by Terraform. +// +// $ terraform show +// +// bigip_as3.test: +// +// resource "bigip_as3" "test" { // // as3_json // @@ -504,7 +530,11 @@ import ( // // tenant_list // -// = "Sample_http_01,Sample_non_http_01" } * `AS3 documentation` - https://clouddocs.f5.com/products/extensions/f5-appsvcs-extension/latest/userguide/composing-a-declaration.html +// = "Sample_http_01,Sample_non_http_01" +// +// } +// +// * `AS3 documentation` - https://clouddocs.f5.com/products/extensions/f5-appsvcs-extension/latest/userguide/composing-a-declaration.html type As3 struct { pulumi.CustomResourceState diff --git a/sdk/go/f5bigip/ltm/profileHttp.go b/sdk/go/f5bigip/ltm/profileHttp.go index 150ad219..c9f3744e 100644 --- a/sdk/go/f5bigip/ltm/profileHttp.go +++ b/sdk/go/f5bigip/ltm/profileHttp.go @@ -51,12 +51,12 @@ import ( // // ## Import // -// BIG-IP LTM http profiles can be imported using the `name`, e.g. bash +// BIG-IP LTM http profiles can be imported using the `name`, e.g. // -// ```sh -// -// $ pulumi import f5bigip:ltm/profileHttp:ProfileHttp test-http /Common/test-http +// bash // +// ```sh +// $ pulumi import f5bigip:ltm/profileHttp:ProfileHttp test-http /Common/test-http // ``` type ProfileHttp struct { pulumi.CustomResourceState diff --git a/sdk/go/f5bigip/wafPolicy.go b/sdk/go/f5bigip/wafPolicy.go index bc36cc6c..3e24f233 100644 --- a/sdk/go/f5bigip/wafPolicy.go +++ b/sdk/go/f5bigip/wafPolicy.go @@ -96,12 +96,12 @@ import ( // // ## Import // -// An existing WAF Policy or if the WAF Policy has been manually created or modified on the BIG-IP WebUI, it can be imported using its `id`. e.g +// An existing WAF Policy or if the WAF Policy has been manually created or modified on the BIG-IP WebUI, it can be imported using its `id`. // -// ```sh -// -// $ pulumi import f5bigip:index/wafPolicy:WafPolicy example +// e.g: // +// ```sh +// $ pulumi import f5bigip:index/wafPolicy:WafPolicy example // ``` type WafPolicy struct { pulumi.CustomResourceState diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/As3.java b/sdk/java/src/main/java/com/pulumi/f5bigip/As3.java index aafb0ff1..4892fe3a 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/As3.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/As3.java @@ -60,22 +60,38 @@ * As3 resources can be imported using the partition name, e.g., ( use comma separated partition names if there are multiple partitions in as3 deployments ) * * ```sh - * $ pulumi import f5bigip:index/as3:As3 bigip_as3.test Sample_http_01 + * $ pulumi import f5bigip:index/as3:As3 bigip_as3.test Sample_http_01 * ``` * * ```sh - * $ pulumi import f5bigip:index/as3:As3 bigip_as3.test Sample_http_01,Sample_non_http_01 + * $ pulumi import f5bigip:index/as3:As3 bigip_as3.test Sample_http_01,Sample_non_http_01 * ``` * * #### Import examples ( single and multiple partitions ) * * ```sh - * $ pulumi import f5bigip:index/as3:As3 test Sample_http_01 + * $ pulumi import f5bigip:index/as3:As3 test Sample_http_01 * ``` * - * bigip_as3.testImporting from ID "Sample_http_01"... bigip_as3.testImport prepared! + * bigip_as3.test: Importing from ID "Sample_http_01"... * - * Prepared bigip_as3 for import bigip_as3.testRefreshing state... [id=Sample_http_01] Import successful! The resources that were imported are shown above. These resources are now in your Terraform state and will henceforth be managed by Terraform. $ terraform show bigip_as3.testresource "bigip_as3" "test" { + * bigip_as3.test: Import prepared! + * + * Prepared bigip_as3 for import + * + * bigip_as3.test: Refreshing state... [id=Sample_http_01] + * + * Import successful! + * + * The resources that were imported are shown above. These resources are now in + * + * your Terraform state and will henceforth be managed by Terraform. + * + * $ terraform show + * + * bigip_as3.test: + * + * resource "bigip_as3" "test" { * * as3_json * @@ -235,15 +251,33 @@ * * tenant_list * - * = "Sample_http_01" } + * = "Sample_http_01" + * + * } * * ```sh - * $ pulumi import f5bigip:index/as3:As3 test Sample_http_01,Sample_non_http_01 + * $ pulumi import f5bigip:index/as3:As3 test Sample_http_01,Sample_non_http_01 * ``` * - * bigip_as3.testImporting from ID "Sample_http_01,Sample_non_http_01"... bigip_as3.testImport prepared! + * bigip_as3.test: Importing from ID "Sample_http_01,Sample_non_http_01"... + * + * bigip_as3.test: Import prepared! * - * Prepared bigip_as3 for import bigip_as3.testRefreshing state... [id=Sample_http_01,Sample_non_http_01] Import successful! The resources that were imported are shown above. These resources are now in your Terraform state and will henceforth be managed by Terraform. $ terraform show bigip_as3.testresource "bigip_as3" "test" { + * Prepared bigip_as3 for import + * + * bigip_as3.test: Refreshing state... [id=Sample_http_01,Sample_non_http_01] + * + * Import successful! + * + * The resources that were imported are shown above. These resources are now in + * + * your Terraform state and will henceforth be managed by Terraform. + * + * $ terraform show + * + * bigip_as3.test: + * + * resource "bigip_as3" "test" { * * as3_json * @@ -493,7 +527,11 @@ * * tenant_list * - * = "Sample_http_01,Sample_non_http_01" } * `AS3 documentation` - https://clouddocs.f5.com/products/extensions/f5-appsvcs-extension/latest/userguide/composing-a-declaration.html + * = "Sample_http_01,Sample_non_http_01" + * + * } + * + * * `AS3 documentation` - https://clouddocs.f5.com/products/extensions/f5-appsvcs-extension/latest/userguide/composing-a-declaration.html * */ @ResourceType(type="f5bigip:index/as3:As3") diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/WafPolicy.java b/sdk/java/src/main/java/com/pulumi/f5bigip/WafPolicy.java index b89f5202..56bc4880 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/WafPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/WafPolicy.java @@ -102,10 +102,12 @@ * * ## Import * - * An existing WAF Policy or if the WAF Policy has been manually created or modified on the BIG-IP WebUI, it can be imported using its `id`. e.g + * An existing WAF Policy or if the WAF Policy has been manually created or modified on the BIG-IP WebUI, it can be imported using its `id`. + * + * e.g: * * ```sh - * $ pulumi import f5bigip:index/wafPolicy:WafPolicy example <id> + * $ pulumi import f5bigip:index/wafPolicy:WafPolicy example <id> * ``` * */ diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/ProfileHttp.java b/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/ProfileHttp.java index 96684bc5..aafe7cd7 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/ProfileHttp.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/ProfileHttp.java @@ -61,10 +61,12 @@ * * ## Import * - * BIG-IP LTM http profiles can be imported using the `name`, e.g. bash + * BIG-IP LTM http profiles can be imported using the `name`, e.g. + * + * bash * * ```sh - * $ pulumi import f5bigip:ltm/profileHttp:ProfileHttp test-http /Common/test-http + * $ pulumi import f5bigip:ltm/profileHttp:ProfileHttp test-http /Common/test-http * ``` * */ diff --git a/sdk/nodejs/as3.ts b/sdk/nodejs/as3.ts index 26cfbb71..82958819 100644 --- a/sdk/nodejs/as3.ts +++ b/sdk/nodejs/as3.ts @@ -30,22 +30,38 @@ import * as utilities from "./utilities"; * As3 resources can be imported using the partition name, e.g., ( use comma separated partition names if there are multiple partitions in as3 deployments ) * * ```sh - * $ pulumi import f5bigip:index/as3:As3 bigip_as3.test Sample_http_01 + * $ pulumi import f5bigip:index/as3:As3 bigip_as3.test Sample_http_01 * ``` * * ```sh - * $ pulumi import f5bigip:index/as3:As3 bigip_as3.test Sample_http_01,Sample_non_http_01 + * $ pulumi import f5bigip:index/as3:As3 bigip_as3.test Sample_http_01,Sample_non_http_01 * ``` * * #### Import examples ( single and multiple partitions ) * * ```sh - * $ pulumi import f5bigip:index/as3:As3 test Sample_http_01 + * $ pulumi import f5bigip:index/as3:As3 test Sample_http_01 * ``` * - * bigip_as3.testImporting from ID "Sample_http_01"... bigip_as3.testImport prepared! + * bigip_as3.test: Importing from ID "Sample_http_01"... * - * Prepared bigip_as3 for import bigip_as3.testRefreshing state... [id=Sample_http_01] Import successful! The resources that were imported are shown above. These resources are now in your Terraform state and will henceforth be managed by Terraform. $ terraform show bigip_as3.testresource "bigip_as3" "test" { + * bigip_as3.test: Import prepared! + * + * Prepared bigip_as3 for import + * + * bigip_as3.test: Refreshing state... [id=Sample_http_01] + * + * Import successful! + * + * The resources that were imported are shown above. These resources are now in + * + * your Terraform state and will henceforth be managed by Terraform. + * + * $ terraform show + * + * bigip_as3.test: + * + * resource "bigip_as3" "test" { * * as3_json * @@ -205,15 +221,33 @@ import * as utilities from "./utilities"; * * tenant_list * - * = "Sample_http_01" } + * = "Sample_http_01" + * + * } * * ```sh - * $ pulumi import f5bigip:index/as3:As3 test Sample_http_01,Sample_non_http_01 + * $ pulumi import f5bigip:index/as3:As3 test Sample_http_01,Sample_non_http_01 * ``` * - * bigip_as3.testImporting from ID "Sample_http_01,Sample_non_http_01"... bigip_as3.testImport prepared! + * bigip_as3.test: Importing from ID "Sample_http_01,Sample_non_http_01"... + * + * bigip_as3.test: Import prepared! * - * Prepared bigip_as3 for import bigip_as3.testRefreshing state... [id=Sample_http_01,Sample_non_http_01] Import successful! The resources that were imported are shown above. These resources are now in your Terraform state and will henceforth be managed by Terraform. $ terraform show bigip_as3.testresource "bigip_as3" "test" { + * Prepared bigip_as3 for import + * + * bigip_as3.test: Refreshing state... [id=Sample_http_01,Sample_non_http_01] + * + * Import successful! + * + * The resources that were imported are shown above. These resources are now in + * + * your Terraform state and will henceforth be managed by Terraform. + * + * $ terraform show + * + * bigip_as3.test: + * + * resource "bigip_as3" "test" { * * as3_json * @@ -463,7 +497,11 @@ import * as utilities from "./utilities"; * * tenant_list * - * = "Sample_http_01,Sample_non_http_01" } * `AS3 documentation` - https://clouddocs.f5.com/products/extensions/f5-appsvcs-extension/latest/userguide/composing-a-declaration.html + * = "Sample_http_01,Sample_non_http_01" + * + * } + * + * * `AS3 documentation` - https://clouddocs.f5.com/products/extensions/f5-appsvcs-extension/latest/userguide/composing-a-declaration.html */ export class As3 extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/ltm/profileHttp.ts b/sdk/nodejs/ltm/profileHttp.ts index 5800992b..9283a6ec 100644 --- a/sdk/nodejs/ltm/profileHttp.ts +++ b/sdk/nodejs/ltm/profileHttp.ts @@ -31,10 +31,12 @@ import * as utilities from "../utilities"; * * ## Import * - * BIG-IP LTM http profiles can be imported using the `name`, e.g. bash + * BIG-IP LTM http profiles can be imported using the `name`, e.g. + * + * bash * * ```sh - * $ pulumi import f5bigip:ltm/profileHttp:ProfileHttp test-http /Common/test-http + * $ pulumi import f5bigip:ltm/profileHttp:ProfileHttp test-http /Common/test-http * ``` */ export class ProfileHttp extends pulumi.CustomResource { diff --git a/sdk/nodejs/wafPolicy.ts b/sdk/nodejs/wafPolicy.ts index 3cba17b1..2003a49b 100644 --- a/sdk/nodejs/wafPolicy.ts +++ b/sdk/nodejs/wafPolicy.ts @@ -63,10 +63,12 @@ import * as utilities from "./utilities"; * * ## Import * - * An existing WAF Policy or if the WAF Policy has been manually created or modified on the BIG-IP WebUI, it can be imported using its `id`. e.g + * An existing WAF Policy or if the WAF Policy has been manually created or modified on the BIG-IP WebUI, it can be imported using its `id`. + * + * e.g: * * ```sh - * $ pulumi import f5bigip:index/wafPolicy:WafPolicy example + * $ pulumi import f5bigip:index/wafPolicy:WafPolicy example * ``` */ export class WafPolicy extends pulumi.CustomResource { diff --git a/sdk/python/pulumi_f5bigip/_utilities.py b/sdk/python/pulumi_f5bigip/_utilities.py index 8219769c..e3b8564d 100644 --- a/sdk/python/pulumi_f5bigip/_utilities.py +++ b/sdk/python/pulumi_f5bigip/_utilities.py @@ -4,6 +4,7 @@ import asyncio +import importlib.metadata import importlib.util import inspect import json @@ -18,11 +19,6 @@ from semver import VersionInfo as SemverVersion from parver import Version as PEP440Version -if sys.version_info >= (3, 8): - from importlib import metadata -else: - import importlib_metadata as metadata - def get_env(*args): for v in args: @@ -76,7 +72,7 @@ def _get_semver_version(): # to receive a valid semver string when receiving requests from the language host, so it's our # responsibility as the library to convert our own PEP440 version into a valid semver string. - pep440_version_string = metadata.version(root_package) + pep440_version_string = importlib.metadata.version(root_package) pep440_version = PEP440Version.parse(pep440_version_string) (major, minor, patch) = pep440_version.release prerelease = None diff --git a/sdk/python/pulumi_f5bigip/as3.py b/sdk/python/pulumi_f5bigip/as3.py index f173491d..fa87e9a5 100644 --- a/sdk/python/pulumi_f5bigip/as3.py +++ b/sdk/python/pulumi_f5bigip/as3.py @@ -344,22 +344,38 @@ def __init__(__self__, As3 resources can be imported using the partition name, e.g., ( use comma separated partition names if there are multiple partitions in as3 deployments ) ```sh - $ pulumi import f5bigip:index/as3:As3 bigip_as3.test Sample_http_01 + $ pulumi import f5bigip:index/as3:As3 bigip_as3.test Sample_http_01 ``` ```sh - $ pulumi import f5bigip:index/as3:As3 bigip_as3.test Sample_http_01,Sample_non_http_01 + $ pulumi import f5bigip:index/as3:As3 bigip_as3.test Sample_http_01,Sample_non_http_01 ``` #### Import examples ( single and multiple partitions ) ```sh - $ pulumi import f5bigip:index/as3:As3 test Sample_http_01 + $ pulumi import f5bigip:index/as3:As3 test Sample_http_01 ``` - bigip_as3.testImporting from ID "Sample_http_01"... bigip_as3.testImport prepared! + bigip_as3.test: Importing from ID "Sample_http_01"... - Prepared bigip_as3 for import bigip_as3.testRefreshing state... [id=Sample_http_01] Import successful! The resources that were imported are shown above. These resources are now in your Terraform state and will henceforth be managed by Terraform. $ terraform show bigip_as3.testresource "bigip_as3" "test" { + bigip_as3.test: Import prepared! + + Prepared bigip_as3 for import + + bigip_as3.test: Refreshing state... [id=Sample_http_01] + + Import successful! + + The resources that were imported are shown above. These resources are now in + + your Terraform state and will henceforth be managed by Terraform. + + $ terraform show + + bigip_as3.test: + + resource "bigip_as3" "test" { as3_json @@ -519,15 +535,33 @@ class = "Tenant" tenant_list - = "Sample_http_01" } + = "Sample_http_01" + + } ```sh - $ pulumi import f5bigip:index/as3:As3 test Sample_http_01,Sample_non_http_01 + $ pulumi import f5bigip:index/as3:As3 test Sample_http_01,Sample_non_http_01 ``` - bigip_as3.testImporting from ID "Sample_http_01,Sample_non_http_01"... bigip_as3.testImport prepared! + bigip_as3.test: Importing from ID "Sample_http_01,Sample_non_http_01"... + + bigip_as3.test: Import prepared! - Prepared bigip_as3 for import bigip_as3.testRefreshing state... [id=Sample_http_01,Sample_non_http_01] Import successful! The resources that were imported are shown above. These resources are now in your Terraform state and will henceforth be managed by Terraform. $ terraform show bigip_as3.testresource "bigip_as3" "test" { + Prepared bigip_as3 for import + + bigip_as3.test: Refreshing state... [id=Sample_http_01,Sample_non_http_01] + + Import successful! + + The resources that were imported are shown above. These resources are now in + + your Terraform state and will henceforth be managed by Terraform. + + $ terraform show + + bigip_as3.test: + + resource "bigip_as3" "test" { as3_json @@ -777,7 +811,11 @@ class = "Tenant" tenant_list - = "Sample_http_01,Sample_non_http_01" } * `AS3 documentation` - https://clouddocs.f5.com/products/extensions/f5-appsvcs-extension/latest/userguide/composing-a-declaration.html + = "Sample_http_01,Sample_non_http_01" + + } + + * `AS3 documentation` - https://clouddocs.f5.com/products/extensions/f5-appsvcs-extension/latest/userguide/composing-a-declaration.html :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. @@ -830,22 +868,38 @@ def __init__(__self__, As3 resources can be imported using the partition name, e.g., ( use comma separated partition names if there are multiple partitions in as3 deployments ) ```sh - $ pulumi import f5bigip:index/as3:As3 bigip_as3.test Sample_http_01 + $ pulumi import f5bigip:index/as3:As3 bigip_as3.test Sample_http_01 ``` ```sh - $ pulumi import f5bigip:index/as3:As3 bigip_as3.test Sample_http_01,Sample_non_http_01 + $ pulumi import f5bigip:index/as3:As3 bigip_as3.test Sample_http_01,Sample_non_http_01 ``` #### Import examples ( single and multiple partitions ) ```sh - $ pulumi import f5bigip:index/as3:As3 test Sample_http_01 + $ pulumi import f5bigip:index/as3:As3 test Sample_http_01 ``` - bigip_as3.testImporting from ID "Sample_http_01"... bigip_as3.testImport prepared! + bigip_as3.test: Importing from ID "Sample_http_01"... - Prepared bigip_as3 for import bigip_as3.testRefreshing state... [id=Sample_http_01] Import successful! The resources that were imported are shown above. These resources are now in your Terraform state and will henceforth be managed by Terraform. $ terraform show bigip_as3.testresource "bigip_as3" "test" { + bigip_as3.test: Import prepared! + + Prepared bigip_as3 for import + + bigip_as3.test: Refreshing state... [id=Sample_http_01] + + Import successful! + + The resources that were imported are shown above. These resources are now in + + your Terraform state and will henceforth be managed by Terraform. + + $ terraform show + + bigip_as3.test: + + resource "bigip_as3" "test" { as3_json @@ -1005,15 +1059,33 @@ class = "Tenant" tenant_list - = "Sample_http_01" } + = "Sample_http_01" + + } ```sh - $ pulumi import f5bigip:index/as3:As3 test Sample_http_01,Sample_non_http_01 + $ pulumi import f5bigip:index/as3:As3 test Sample_http_01,Sample_non_http_01 ``` - bigip_as3.testImporting from ID "Sample_http_01,Sample_non_http_01"... bigip_as3.testImport prepared! + bigip_as3.test: Importing from ID "Sample_http_01,Sample_non_http_01"... + + bigip_as3.test: Import prepared! - Prepared bigip_as3 for import bigip_as3.testRefreshing state... [id=Sample_http_01,Sample_non_http_01] Import successful! The resources that were imported are shown above. These resources are now in your Terraform state and will henceforth be managed by Terraform. $ terraform show bigip_as3.testresource "bigip_as3" "test" { + Prepared bigip_as3 for import + + bigip_as3.test: Refreshing state... [id=Sample_http_01,Sample_non_http_01] + + Import successful! + + The resources that were imported are shown above. These resources are now in + + your Terraform state and will henceforth be managed by Terraform. + + $ terraform show + + bigip_as3.test: + + resource "bigip_as3" "test" { as3_json @@ -1263,7 +1335,11 @@ class = "Tenant" tenant_list - = "Sample_http_01,Sample_non_http_01" } * `AS3 documentation` - https://clouddocs.f5.com/products/extensions/f5-appsvcs-extension/latest/userguide/composing-a-declaration.html + = "Sample_http_01,Sample_non_http_01" + + } + + * `AS3 documentation` - https://clouddocs.f5.com/products/extensions/f5-appsvcs-extension/latest/userguide/composing-a-declaration.html :param str resource_name: The name of the resource. :param As3Args args: The arguments to use to populate this resource's properties. diff --git a/sdk/python/pulumi_f5bigip/ltm/profile_http.py b/sdk/python/pulumi_f5bigip/ltm/profile_http.py index e1833381..1a9b8669 100644 --- a/sdk/python/pulumi_f5bigip/ltm/profile_http.py +++ b/sdk/python/pulumi_f5bigip/ltm/profile_http.py @@ -1019,10 +1019,12 @@ def __init__(__self__, ## Import - BIG-IP LTM http profiles can be imported using the `name`, e.g. bash + BIG-IP LTM http profiles can be imported using the `name`, e.g. + + bash ```sh - $ pulumi import f5bigip:ltm/profileHttp:ProfileHttp test-http /Common/test-http + $ pulumi import f5bigip:ltm/profileHttp:ProfileHttp test-http /Common/test-http ``` :param str resource_name: The name of the resource. @@ -1088,10 +1090,12 @@ def __init__(__self__, ## Import - BIG-IP LTM http profiles can be imported using the `name`, e.g. bash + BIG-IP LTM http profiles can be imported using the `name`, e.g. + + bash ```sh - $ pulumi import f5bigip:ltm/profileHttp:ProfileHttp test-http /Common/test-http + $ pulumi import f5bigip:ltm/profileHttp:ProfileHttp test-http /Common/test-http ``` :param str resource_name: The name of the resource. diff --git a/sdk/python/pulumi_f5bigip/waf_policy.py b/sdk/python/pulumi_f5bigip/waf_policy.py index b994325b..8f414434 100644 --- a/sdk/python/pulumi_f5bigip/waf_policy.py +++ b/sdk/python/pulumi_f5bigip/waf_policy.py @@ -979,10 +979,12 @@ def __init__(__self__, ## Import - An existing WAF Policy or if the WAF Policy has been manually created or modified on the BIG-IP WebUI, it can be imported using its `id`. e.g + An existing WAF Policy or if the WAF Policy has been manually created or modified on the BIG-IP WebUI, it can be imported using its `id`. + + e.g: ```sh - $ pulumi import f5bigip:index/wafPolicy:WafPolicy example + $ pulumi import f5bigip:index/wafPolicy:WafPolicy example ``` :param str resource_name: The name of the resource. @@ -1074,10 +1076,12 @@ def __init__(__self__, ## Import - An existing WAF Policy or if the WAF Policy has been manually created or modified on the BIG-IP WebUI, it can be imported using its `id`. e.g + An existing WAF Policy or if the WAF Policy has been manually created or modified on the BIG-IP WebUI, it can be imported using its `id`. + + e.g: ```sh - $ pulumi import f5bigip:index/wafPolicy:WafPolicy example + $ pulumi import f5bigip:index/wafPolicy:WafPolicy example ``` :param str resource_name: The name of the resource. diff --git a/sdk/python/pyproject.toml b/sdk/python/pyproject.toml index 50e24e75..6e6088b9 100644 --- a/sdk/python/pyproject.toml +++ b/sdk/python/pyproject.toml @@ -1,10 +1,10 @@ [project] name = "pulumi_f5bigip" description = "A Pulumi package for creating and managing F5 BigIP resources." - dependencies = ["importlib-metadata>=6.0.0,<7.0.0; python_version < \"3.8\"", "parver>=0.2.1", "pulumi>=3.0.0,<4.0.0", "semver>=2.8.1"] + dependencies = ["parver>=0.2.1", "pulumi>=3.0.0,<4.0.0", "semver>=2.8.1"] keywords = ["pulumi", "f5", "bigip"] readme = "README.md" - requires-python = ">=3.7" + requires-python = ">=3.8" version = "0.0.0" [project.license] text = "Apache-2.0"