From c642b21d604fe46766cc9d2cec27e5fcf60796d9 Mon Sep 17 00:00:00 2001 From: Thomas Kappler Date: Thu, 28 Sep 2023 21:05:23 +0200 Subject: [PATCH 1/2] make tfgen --- ...ider-to-expose-internal-provider.New.patch | 6 +- patches/0002-Avoid-panic-in-custom_diff.patch | 6 +- ...ernal-provider-has-moved-update-shim.patch | 25 +++ .../bridge-metadata.json | 22 +++ .../cmd/pulumi-resource-aiven/schema.json | 180 +++++++++++++++++- provider/go.mod | 63 +++--- provider/go.sum | 173 +++++++++-------- upstream | 2 +- 8 files changed, 345 insertions(+), 132 deletions(-) create mode 100644 patches/0003-Internal-provider-has-moved-update-shim.patch diff --git a/patches/0001-Add-shim.NewProvider-to-expose-internal-provider.New.patch b/patches/0001-Add-shim.NewProvider-to-expose-internal-provider.New.patch index 2f609e961..e0bc4cce2 100644 --- a/patches/0001-Add-shim.NewProvider-to-expose-internal-provider.New.patch +++ b/patches/0001-Add-shim.NewProvider-to-expose-internal-provider.New.patch @@ -1,7 +1,7 @@ -From 378d643426cf368254b56314f8593a952a40ff22 Mon Sep 17 00:00:00 2001 +From d276ae78f9d250343de08a48e4a93db4eba92cdc Mon Sep 17 00:00:00 2001 From: Aaron Friel Date: Mon, 6 Mar 2023 19:13:42 -0800 -Subject: [PATCH 1/2] Add `shim.NewProvider` to expose `internal/provider.New` +Subject: [PATCH 1/3] Add `shim.NewProvider` to expose `internal/provider.New` --- shim/shim.go | 17 +++++++++++++++++ @@ -32,5 +32,5 @@ index 0000000..796cd94 + return pfProvider.New(version)() +} -- -2.41.0 +2.39.3 (Apple Git-145) diff --git a/patches/0002-Avoid-panic-in-custom_diff.patch b/patches/0002-Avoid-panic-in-custom_diff.patch index bf43b2c11..3bc287cf4 100644 --- a/patches/0002-Avoid-panic-in-custom_diff.patch +++ b/patches/0002-Avoid-panic-in-custom_diff.patch @@ -1,7 +1,7 @@ -From 1549e8211905cfe8fb432a8fdd3c82f70bb26f89 Mon Sep 17 00:00:00 2001 +From 7e63e0bf8f44415fcfad9c3f204cac4ae4b0b399 Mon Sep 17 00:00:00 2001 From: Anton Tayanovskyy Date: Thu, 20 Apr 2023 16:24:38 -0400 -Subject: [PATCH 2/2] Avoid panic in custom_diff +Subject: [PATCH 2/3] Avoid panic in custom_diff --- internal/schemautil/custom_diff.go | 4 ++++ @@ -23,5 +23,5 @@ index 5019feb..ed27976 100644 if strings.Contains(k, "_user_config") { // we only care about *_user_config if err := checkForMultipleValues(v); err != nil { -- -2.41.0 +2.39.3 (Apple Git-145) diff --git a/patches/0003-Internal-provider-has-moved-update-shim.patch b/patches/0003-Internal-provider-has-moved-update-shim.patch new file mode 100644 index 000000000..6c0cc70dc --- /dev/null +++ b/patches/0003-Internal-provider-has-moved-update-shim.patch @@ -0,0 +1,25 @@ +From 08b1e731685c88d95465f1245562dac997424d88 Mon Sep 17 00:00:00 2001 +From: Thomas Kappler +Date: Thu, 28 Sep 2023 20:48:51 +0200 +Subject: [PATCH 3/3] Internal provider has moved, update shim + +--- + shim/shim.go | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/shim/shim.go b/shim/shim.go +index 796cd94..53e4cf3 100644 +--- a/shim/shim.go ++++ b/shim/shim.go +@@ -4,7 +4,7 @@ import ( + pf "github.com/hashicorp/terraform-plugin-framework/provider" + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" + +- pfProvider "github.com/aiven/terraform-provider-aiven/internal/provider" ++ pfProvider "github.com/aiven/terraform-provider-aiven/internal/plugin" + "github.com/aiven/terraform-provider-aiven/internal/sdkprovider/provider" + ) + +-- +2.39.3 (Apple Git-145) + diff --git a/provider/cmd/pulumi-resource-aiven/bridge-metadata.json b/provider/cmd/pulumi-resource-aiven/bridge-metadata.json index 404501b28..2244604d9 100644 --- a/provider/cmd/pulumi-resource-aiven/bridge-metadata.json +++ b/provider/cmd/pulumi-resource-aiven/bridge-metadata.json @@ -966,6 +966,10 @@ "current": "aiven:index/openSearchAclRule:OpenSearchAclRule", "majorVersion": 6 }, + "aiven_opensearch_security_plugin_config": { + "current": "aiven:index/opensearchSecurityPluginConfig:OpensearchSecurityPluginConfig", + "majorVersion": 6 + }, "aiven_opensearch_user": { "current": "aiven:index/opensearchUser:OpensearchUser", "majorVersion": 6 @@ -2339,6 +2343,10 @@ "current": "aiven:index/getOpenSearchAclRule:getOpenSearchAclRule", "majorVersion": 6 }, + "aiven_opensearch_security_plugin_config": { + "current": "aiven:index/getOpensearchSecurityPluginConfig:getOpensearchSecurityPluginConfig", + "majorVersion": 6 + }, "aiven_opensearch_user": { "current": "aiven:index/getOpensearchUser:getOpensearchUser", "majorVersion": 6 @@ -2778,6 +2786,7 @@ "aiven:index/openSearch:OpenSearch": 0, "aiven:index/openSearchAclConfig:OpenSearchAclConfig": 0, "aiven:index/openSearchAclRule:OpenSearchAclRule": 0, + "aiven:index/opensearchSecurityPluginConfig:OpensearchSecurityPluginConfig": 0, "aiven:index/opensearchUser:OpensearchUser": 0, "aiven:index/organization:Organization": 1, "aiven:index/organizationUser:OrganizationUser": 0, @@ -2843,6 +2852,7 @@ "aiven:index/getOpenSearch:getOpenSearch": 0, "aiven:index/getOpenSearchAclConfig:getOpenSearchAclConfig": 0, "aiven:index/getOpenSearchAclRule:getOpenSearchAclRule": 0, + "aiven:index/getOpensearchSecurityPluginConfig:getOpensearchSecurityPluginConfig": 0, "aiven:index/getOpensearchUser:getOpensearchUser": 0, "aiven:index/getOrganization:getOrganization": 1, "aiven:index/getOrganizationUser:getOrganizationUser": 0, @@ -2914,6 +2924,7 @@ "aiven:index/openSearch:OpenSearch": "aiven_opensearch", "aiven:index/openSearchAclConfig:OpenSearchAclConfig": "aiven_opensearch_acl_config", "aiven:index/openSearchAclRule:OpenSearchAclRule": "aiven_opensearch_acl_rule", + "aiven:index/opensearchSecurityPluginConfig:OpensearchSecurityPluginConfig": "aiven_opensearch_security_plugin_config", "aiven:index/opensearchUser:OpensearchUser": "aiven_opensearch_user", "aiven:index/organization:Organization": "aiven_organization", "aiven:index/organizationUser:OrganizationUser": "aiven_organization_user", @@ -2979,6 +2990,7 @@ "aiven:index/getOpenSearch:getOpenSearch": "aiven_opensearch", "aiven:index/getOpenSearchAclConfig:getOpenSearchAclConfig": "aiven_opensearch_acl_config", "aiven:index/getOpenSearchAclRule:getOpenSearchAclRule": "aiven_opensearch_acl_rule", + "aiven:index/getOpensearchSecurityPluginConfig:getOpensearchSecurityPluginConfig": "aiven_opensearch_security_plugin_config", "aiven:index/getOpensearchUser:getOpensearchUser": "aiven_opensearch_user", "aiven:index/getOrganization:getOrganization": "aiven_organization", "aiven:index/getOrganizationUser:getOrganizationUser": "aiven_organization_user", @@ -5460,6 +5472,11 @@ "integrationType": "integration_type", "sourceServiceName": "source_service_name" }, + "aiven:index/getOpensearchSecurityPluginConfig:getOpensearchSecurityPluginConfig": { + "adminEnabled": "admin_enabled", + "adminPassword": "admin_password", + "serviceName": "service_name" + }, "aiven:index/getOpensearchUser:getOpensearchUser": { "serviceName": "service_name" }, @@ -6207,6 +6224,11 @@ "aiven:index/openSearchAclRule:OpenSearchAclRule": { "serviceName": "service_name" }, + "aiven:index/opensearchSecurityPluginConfig:OpensearchSecurityPluginConfig": { + "adminEnabled": "admin_enabled", + "adminPassword": "admin_password", + "serviceName": "service_name" + }, "aiven:index/opensearchUser:OpensearchUser": { "serviceName": "service_name" }, diff --git a/provider/cmd/pulumi-resource-aiven/schema.json b/provider/cmd/pulumi-resource-aiven/schema.json index add93f7bb..3daeac317 100644 --- a/provider/cmd/pulumi-resource-aiven/schema.json +++ b/provider/cmd/pulumi-resource-aiven/schema.json @@ -13236,7 +13236,7 @@ } }, "aiven:index/clickhouseGrant:ClickhouseGrant": { - "description": "The Clickhouse Grant resource allows the creation and management of Grants in Aiven Clickhouse services.\n\nNotes:\n* Due to a ambiguity in the GRANT syntax in clickhouse you should not have users and roles with the same name. It is not clear if a grant refers to the user or the role.\n* Currently changes will first revoke all grants and then reissue the remaining grants for convergence.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst clickhouse = new aiven.Clickhouse(\"clickhouse\", {\n project: _var.aiven_project_name,\n cloudName: \"google-europe-west1\",\n plan: \"startup-8\",\n serviceName: \"exapmle-clickhouse\",\n});\nconst demodb = new aiven.ClickhouseDatabase(\"demodb\", {\n project: clickhouse.project,\n serviceName: clickhouse.serviceName,\n});\nconst demoClickhouseRole = new aiven.ClickhouseRole(\"demoClickhouseRole\", {\n project: clickhouse.project,\n serviceName: clickhouse.serviceName,\n role: \"demo-role\",\n});\nconst demo_role_grant = new aiven.ClickhouseGrant(\"demo-role-grant\", {\n project: clickhouse.project,\n serviceName: clickhouse.serviceName,\n role: demoClickhouseRole.role,\n privilegeGrants: [\n {\n privilege: \"INSERT\",\n database: demodb.name,\n table: \"demo-table\",\n },\n {\n privilege: \"SELECT\",\n database: demodb.name,\n },\n ],\n});\nconst demoClickhouseUser = new aiven.ClickhouseUser(\"demoClickhouseUser\", {\n project: clickhouse.project,\n serviceName: clickhouse.serviceName,\n username: \"demo-user\",\n});\nconst demo_user_grant = new aiven.ClickhouseGrant(\"demo-user-grant\", {\n project: clickhouse.project,\n serviceName: clickhouse.serviceName,\n user: demoClickhouseUser.username,\n roleGrants: [{\n role: demoClickhouseRole.role,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nclickhouse = aiven.Clickhouse(\"clickhouse\",\n project=var[\"aiven_project_name\"],\n cloud_name=\"google-europe-west1\",\n plan=\"startup-8\",\n service_name=\"exapmle-clickhouse\")\ndemodb = aiven.ClickhouseDatabase(\"demodb\",\n project=clickhouse.project,\n service_name=clickhouse.service_name)\ndemo_clickhouse_role = aiven.ClickhouseRole(\"demoClickhouseRole\",\n project=clickhouse.project,\n service_name=clickhouse.service_name,\n role=\"demo-role\")\ndemo_role_grant = aiven.ClickhouseGrant(\"demo-role-grant\",\n project=clickhouse.project,\n service_name=clickhouse.service_name,\n role=demo_clickhouse_role.role,\n privilege_grants=[\n aiven.ClickhouseGrantPrivilegeGrantArgs(\n privilege=\"INSERT\",\n database=demodb.name,\n table=\"demo-table\",\n ),\n aiven.ClickhouseGrantPrivilegeGrantArgs(\n privilege=\"SELECT\",\n database=demodb.name,\n ),\n ])\ndemo_clickhouse_user = aiven.ClickhouseUser(\"demoClickhouseUser\",\n project=clickhouse.project,\n service_name=clickhouse.service_name,\n username=\"demo-user\")\ndemo_user_grant = aiven.ClickhouseGrant(\"demo-user-grant\",\n project=clickhouse.project,\n service_name=clickhouse.service_name,\n user=demo_clickhouse_user.username,\n role_grants=[aiven.ClickhouseGrantRoleGrantArgs(\n role=demo_clickhouse_role.role,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var clickhouse = new Aiven.Clickhouse(\"clickhouse\", new()\n {\n Project = @var.Aiven_project_name,\n CloudName = \"google-europe-west1\",\n Plan = \"startup-8\",\n ServiceName = \"exapmle-clickhouse\",\n });\n\n var demodb = new Aiven.ClickhouseDatabase(\"demodb\", new()\n {\n Project = clickhouse.Project,\n ServiceName = clickhouse.ServiceName,\n });\n\n var demoClickhouseRole = new Aiven.ClickhouseRole(\"demoClickhouseRole\", new()\n {\n Project = clickhouse.Project,\n ServiceName = clickhouse.ServiceName,\n Role = \"demo-role\",\n });\n\n var demo_role_grant = new Aiven.ClickhouseGrant(\"demo-role-grant\", new()\n {\n Project = clickhouse.Project,\n ServiceName = clickhouse.ServiceName,\n Role = demoClickhouseRole.Role,\n PrivilegeGrants = new[]\n {\n new Aiven.Inputs.ClickhouseGrantPrivilegeGrantArgs\n {\n Privilege = \"INSERT\",\n Database = demodb.Name,\n Table = \"demo-table\",\n },\n new Aiven.Inputs.ClickhouseGrantPrivilegeGrantArgs\n {\n Privilege = \"SELECT\",\n Database = demodb.Name,\n },\n },\n });\n\n var demoClickhouseUser = new Aiven.ClickhouseUser(\"demoClickhouseUser\", new()\n {\n Project = clickhouse.Project,\n ServiceName = clickhouse.ServiceName,\n Username = \"demo-user\",\n });\n\n var demo_user_grant = new Aiven.ClickhouseGrant(\"demo-user-grant\", new()\n {\n Project = clickhouse.Project,\n ServiceName = clickhouse.ServiceName,\n User = demoClickhouseUser.Username,\n RoleGrants = new[]\n {\n new Aiven.Inputs.ClickhouseGrantRoleGrantArgs\n {\n Role = demoClickhouseRole.Role,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tclickhouse, err := aiven.NewClickhouse(ctx, \"clickhouse\", \u0026aiven.ClickhouseArgs{\n\t\t\tProject: pulumi.Any(_var.Aiven_project_name),\n\t\t\tCloudName: pulumi.String(\"google-europe-west1\"),\n\t\t\tPlan: pulumi.String(\"startup-8\"),\n\t\t\tServiceName: pulumi.String(\"exapmle-clickhouse\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdemodb, err := aiven.NewClickhouseDatabase(ctx, \"demodb\", \u0026aiven.ClickhouseDatabaseArgs{\n\t\t\tProject: clickhouse.Project,\n\t\t\tServiceName: clickhouse.ServiceName,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdemoClickhouseRole, err := aiven.NewClickhouseRole(ctx, \"demoClickhouseRole\", \u0026aiven.ClickhouseRoleArgs{\n\t\t\tProject: clickhouse.Project,\n\t\t\tServiceName: clickhouse.ServiceName,\n\t\t\tRole: pulumi.String(\"demo-role\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = aiven.NewClickhouseGrant(ctx, \"demo-role-grant\", \u0026aiven.ClickhouseGrantArgs{\n\t\t\tProject: clickhouse.Project,\n\t\t\tServiceName: clickhouse.ServiceName,\n\t\t\tRole: demoClickhouseRole.Role,\n\t\t\tPrivilegeGrants: aiven.ClickhouseGrantPrivilegeGrantArray{\n\t\t\t\t\u0026aiven.ClickhouseGrantPrivilegeGrantArgs{\n\t\t\t\t\tPrivilege: pulumi.String(\"INSERT\"),\n\t\t\t\t\tDatabase: demodb.Name,\n\t\t\t\t\tTable: pulumi.String(\"demo-table\"),\n\t\t\t\t},\n\t\t\t\t\u0026aiven.ClickhouseGrantPrivilegeGrantArgs{\n\t\t\t\t\tPrivilege: pulumi.String(\"SELECT\"),\n\t\t\t\t\tDatabase: demodb.Name,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdemoClickhouseUser, err := aiven.NewClickhouseUser(ctx, \"demoClickhouseUser\", \u0026aiven.ClickhouseUserArgs{\n\t\t\tProject: clickhouse.Project,\n\t\t\tServiceName: clickhouse.ServiceName,\n\t\t\tUsername: pulumi.String(\"demo-user\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = aiven.NewClickhouseGrant(ctx, \"demo-user-grant\", \u0026aiven.ClickhouseGrantArgs{\n\t\t\tProject: clickhouse.Project,\n\t\t\tServiceName: clickhouse.ServiceName,\n\t\t\tUser: demoClickhouseUser.Username,\n\t\t\tRoleGrants: aiven.ClickhouseGrantRoleGrantArray{\n\t\t\t\t\u0026aiven.ClickhouseGrantRoleGrantArgs{\n\t\t\t\t\tRole: demoClickhouseRole.Role,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aiven.Clickhouse;\nimport com.pulumi.aiven.ClickhouseArgs;\nimport com.pulumi.aiven.ClickhouseDatabase;\nimport com.pulumi.aiven.ClickhouseDatabaseArgs;\nimport com.pulumi.aiven.ClickhouseRole;\nimport com.pulumi.aiven.ClickhouseRoleArgs;\nimport com.pulumi.aiven.ClickhouseGrant;\nimport com.pulumi.aiven.ClickhouseGrantArgs;\nimport com.pulumi.aiven.inputs.ClickhouseGrantPrivilegeGrantArgs;\nimport com.pulumi.aiven.ClickhouseUser;\nimport com.pulumi.aiven.ClickhouseUserArgs;\nimport com.pulumi.aiven.inputs.ClickhouseGrantRoleGrantArgs;\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 clickhouse = new Clickhouse(\"clickhouse\", ClickhouseArgs.builder() \n .project(var_.aiven_project_name())\n .cloudName(\"google-europe-west1\")\n .plan(\"startup-8\")\n .serviceName(\"exapmle-clickhouse\")\n .build());\n\n var demodb = new ClickhouseDatabase(\"demodb\", ClickhouseDatabaseArgs.builder() \n .project(clickhouse.project())\n .serviceName(clickhouse.serviceName())\n .build());\n\n var demoClickhouseRole = new ClickhouseRole(\"demoClickhouseRole\", ClickhouseRoleArgs.builder() \n .project(clickhouse.project())\n .serviceName(clickhouse.serviceName())\n .role(\"demo-role\")\n .build());\n\n var demo_role_grant = new ClickhouseGrant(\"demo-role-grant\", ClickhouseGrantArgs.builder() \n .project(clickhouse.project())\n .serviceName(clickhouse.serviceName())\n .role(demoClickhouseRole.role())\n .privilegeGrants( \n ClickhouseGrantPrivilegeGrantArgs.builder()\n .privilege(\"INSERT\")\n .database(demodb.name())\n .table(\"demo-table\")\n .build(),\n ClickhouseGrantPrivilegeGrantArgs.builder()\n .privilege(\"SELECT\")\n .database(demodb.name())\n .build())\n .build());\n\n var demoClickhouseUser = new ClickhouseUser(\"demoClickhouseUser\", ClickhouseUserArgs.builder() \n .project(clickhouse.project())\n .serviceName(clickhouse.serviceName())\n .username(\"demo-user\")\n .build());\n\n var demo_user_grant = new ClickhouseGrant(\"demo-user-grant\", ClickhouseGrantArgs.builder() \n .project(clickhouse.project())\n .serviceName(clickhouse.serviceName())\n .user(demoClickhouseUser.username())\n .roleGrants(ClickhouseGrantRoleGrantArgs.builder()\n .role(demoClickhouseRole.role())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n clickhouse:\n type: aiven:Clickhouse\n properties:\n project: ${var.aiven_project_name}\n cloudName: google-europe-west1\n plan: startup-8\n serviceName: exapmle-clickhouse\n demodb:\n type: aiven:ClickhouseDatabase\n properties:\n project: ${clickhouse.project}\n serviceName: ${clickhouse.serviceName}\n demoClickhouseRole:\n type: aiven:ClickhouseRole\n properties:\n project: ${clickhouse.project}\n serviceName: ${clickhouse.serviceName}\n role: demo-role\n demo-role-grant:\n type: aiven:ClickhouseGrant\n properties:\n project: ${clickhouse.project}\n serviceName: ${clickhouse.serviceName}\n role: ${demoClickhouseRole.role}\n privilegeGrants:\n - privilege: INSERT\n database: ${demodb.name}\n table: demo-table\n - privilege: SELECT\n database: ${demodb.name}\n demoClickhouseUser:\n type: aiven:ClickhouseUser\n properties:\n project: ${clickhouse.project}\n serviceName: ${clickhouse.serviceName}\n username: demo-user\n demo-user-grant:\n type: aiven:ClickhouseGrant\n properties:\n project: ${clickhouse.project}\n serviceName: ${clickhouse.serviceName}\n user: ${demoClickhouseUser.username}\n roleGrants:\n - role: ${demoClickhouseRole.role}\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "The Clickhouse Grant resource allows the creation and management of Grants in Aiven Clickhouse services.\n\nNotes:\n* Due to a ambiguity in the GRANT syntax in clickhouse you should not have users and roles with the same name. It is not clear if a grant refers to the user or the role.\n* To grant a privilege on all tables of a database, do not write table = \"*\". Instead, omit the table and only keep the database.\n* Currently changes will first revoke all grants and then reissue the remaining grants for convergence.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst clickhouse = new aiven.Clickhouse(\"clickhouse\", {\n project: _var.aiven_project_name,\n cloudName: \"google-europe-west1\",\n plan: \"startup-8\",\n serviceName: \"exapmle-clickhouse\",\n});\nconst demodb = new aiven.ClickhouseDatabase(\"demodb\", {\n project: clickhouse.project,\n serviceName: clickhouse.serviceName,\n});\nconst demoClickhouseRole = new aiven.ClickhouseRole(\"demoClickhouseRole\", {\n project: clickhouse.project,\n serviceName: clickhouse.serviceName,\n role: \"demo-role\",\n});\nconst demo_role_grant = new aiven.ClickhouseGrant(\"demo-role-grant\", {\n project: clickhouse.project,\n serviceName: clickhouse.serviceName,\n role: demoClickhouseRole.role,\n privilegeGrants: [\n {\n privilege: \"INSERT\",\n database: demodb.name,\n table: \"demo-table\",\n },\n {\n privilege: \"SELECT\",\n database: demodb.name,\n },\n ],\n});\nconst demoClickhouseUser = new aiven.ClickhouseUser(\"demoClickhouseUser\", {\n project: clickhouse.project,\n serviceName: clickhouse.serviceName,\n username: \"demo-user\",\n});\nconst demo_user_grant = new aiven.ClickhouseGrant(\"demo-user-grant\", {\n project: clickhouse.project,\n serviceName: clickhouse.serviceName,\n user: demoClickhouseUser.username,\n roleGrants: [{\n role: demoClickhouseRole.role,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nclickhouse = aiven.Clickhouse(\"clickhouse\",\n project=var[\"aiven_project_name\"],\n cloud_name=\"google-europe-west1\",\n plan=\"startup-8\",\n service_name=\"exapmle-clickhouse\")\ndemodb = aiven.ClickhouseDatabase(\"demodb\",\n project=clickhouse.project,\n service_name=clickhouse.service_name)\ndemo_clickhouse_role = aiven.ClickhouseRole(\"demoClickhouseRole\",\n project=clickhouse.project,\n service_name=clickhouse.service_name,\n role=\"demo-role\")\ndemo_role_grant = aiven.ClickhouseGrant(\"demo-role-grant\",\n project=clickhouse.project,\n service_name=clickhouse.service_name,\n role=demo_clickhouse_role.role,\n privilege_grants=[\n aiven.ClickhouseGrantPrivilegeGrantArgs(\n privilege=\"INSERT\",\n database=demodb.name,\n table=\"demo-table\",\n ),\n aiven.ClickhouseGrantPrivilegeGrantArgs(\n privilege=\"SELECT\",\n database=demodb.name,\n ),\n ])\ndemo_clickhouse_user = aiven.ClickhouseUser(\"demoClickhouseUser\",\n project=clickhouse.project,\n service_name=clickhouse.service_name,\n username=\"demo-user\")\ndemo_user_grant = aiven.ClickhouseGrant(\"demo-user-grant\",\n project=clickhouse.project,\n service_name=clickhouse.service_name,\n user=demo_clickhouse_user.username,\n role_grants=[aiven.ClickhouseGrantRoleGrantArgs(\n role=demo_clickhouse_role.role,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var clickhouse = new Aiven.Clickhouse(\"clickhouse\", new()\n {\n Project = @var.Aiven_project_name,\n CloudName = \"google-europe-west1\",\n Plan = \"startup-8\",\n ServiceName = \"exapmle-clickhouse\",\n });\n\n var demodb = new Aiven.ClickhouseDatabase(\"demodb\", new()\n {\n Project = clickhouse.Project,\n ServiceName = clickhouse.ServiceName,\n });\n\n var demoClickhouseRole = new Aiven.ClickhouseRole(\"demoClickhouseRole\", new()\n {\n Project = clickhouse.Project,\n ServiceName = clickhouse.ServiceName,\n Role = \"demo-role\",\n });\n\n var demo_role_grant = new Aiven.ClickhouseGrant(\"demo-role-grant\", new()\n {\n Project = clickhouse.Project,\n ServiceName = clickhouse.ServiceName,\n Role = demoClickhouseRole.Role,\n PrivilegeGrants = new[]\n {\n new Aiven.Inputs.ClickhouseGrantPrivilegeGrantArgs\n {\n Privilege = \"INSERT\",\n Database = demodb.Name,\n Table = \"demo-table\",\n },\n new Aiven.Inputs.ClickhouseGrantPrivilegeGrantArgs\n {\n Privilege = \"SELECT\",\n Database = demodb.Name,\n },\n },\n });\n\n var demoClickhouseUser = new Aiven.ClickhouseUser(\"demoClickhouseUser\", new()\n {\n Project = clickhouse.Project,\n ServiceName = clickhouse.ServiceName,\n Username = \"demo-user\",\n });\n\n var demo_user_grant = new Aiven.ClickhouseGrant(\"demo-user-grant\", new()\n {\n Project = clickhouse.Project,\n ServiceName = clickhouse.ServiceName,\n User = demoClickhouseUser.Username,\n RoleGrants = new[]\n {\n new Aiven.Inputs.ClickhouseGrantRoleGrantArgs\n {\n Role = demoClickhouseRole.Role,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tclickhouse, err := aiven.NewClickhouse(ctx, \"clickhouse\", \u0026aiven.ClickhouseArgs{\n\t\t\tProject: pulumi.Any(_var.Aiven_project_name),\n\t\t\tCloudName: pulumi.String(\"google-europe-west1\"),\n\t\t\tPlan: pulumi.String(\"startup-8\"),\n\t\t\tServiceName: pulumi.String(\"exapmle-clickhouse\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdemodb, err := aiven.NewClickhouseDatabase(ctx, \"demodb\", \u0026aiven.ClickhouseDatabaseArgs{\n\t\t\tProject: clickhouse.Project,\n\t\t\tServiceName: clickhouse.ServiceName,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdemoClickhouseRole, err := aiven.NewClickhouseRole(ctx, \"demoClickhouseRole\", \u0026aiven.ClickhouseRoleArgs{\n\t\t\tProject: clickhouse.Project,\n\t\t\tServiceName: clickhouse.ServiceName,\n\t\t\tRole: pulumi.String(\"demo-role\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = aiven.NewClickhouseGrant(ctx, \"demo-role-grant\", \u0026aiven.ClickhouseGrantArgs{\n\t\t\tProject: clickhouse.Project,\n\t\t\tServiceName: clickhouse.ServiceName,\n\t\t\tRole: demoClickhouseRole.Role,\n\t\t\tPrivilegeGrants: aiven.ClickhouseGrantPrivilegeGrantArray{\n\t\t\t\t\u0026aiven.ClickhouseGrantPrivilegeGrantArgs{\n\t\t\t\t\tPrivilege: pulumi.String(\"INSERT\"),\n\t\t\t\t\tDatabase: demodb.Name,\n\t\t\t\t\tTable: pulumi.String(\"demo-table\"),\n\t\t\t\t},\n\t\t\t\t\u0026aiven.ClickhouseGrantPrivilegeGrantArgs{\n\t\t\t\t\tPrivilege: pulumi.String(\"SELECT\"),\n\t\t\t\t\tDatabase: demodb.Name,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdemoClickhouseUser, err := aiven.NewClickhouseUser(ctx, \"demoClickhouseUser\", \u0026aiven.ClickhouseUserArgs{\n\t\t\tProject: clickhouse.Project,\n\t\t\tServiceName: clickhouse.ServiceName,\n\t\t\tUsername: pulumi.String(\"demo-user\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = aiven.NewClickhouseGrant(ctx, \"demo-user-grant\", \u0026aiven.ClickhouseGrantArgs{\n\t\t\tProject: clickhouse.Project,\n\t\t\tServiceName: clickhouse.ServiceName,\n\t\t\tUser: demoClickhouseUser.Username,\n\t\t\tRoleGrants: aiven.ClickhouseGrantRoleGrantArray{\n\t\t\t\t\u0026aiven.ClickhouseGrantRoleGrantArgs{\n\t\t\t\t\tRole: demoClickhouseRole.Role,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aiven.Clickhouse;\nimport com.pulumi.aiven.ClickhouseArgs;\nimport com.pulumi.aiven.ClickhouseDatabase;\nimport com.pulumi.aiven.ClickhouseDatabaseArgs;\nimport com.pulumi.aiven.ClickhouseRole;\nimport com.pulumi.aiven.ClickhouseRoleArgs;\nimport com.pulumi.aiven.ClickhouseGrant;\nimport com.pulumi.aiven.ClickhouseGrantArgs;\nimport com.pulumi.aiven.inputs.ClickhouseGrantPrivilegeGrantArgs;\nimport com.pulumi.aiven.ClickhouseUser;\nimport com.pulumi.aiven.ClickhouseUserArgs;\nimport com.pulumi.aiven.inputs.ClickhouseGrantRoleGrantArgs;\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 clickhouse = new Clickhouse(\"clickhouse\", ClickhouseArgs.builder() \n .project(var_.aiven_project_name())\n .cloudName(\"google-europe-west1\")\n .plan(\"startup-8\")\n .serviceName(\"exapmle-clickhouse\")\n .build());\n\n var demodb = new ClickhouseDatabase(\"demodb\", ClickhouseDatabaseArgs.builder() \n .project(clickhouse.project())\n .serviceName(clickhouse.serviceName())\n .build());\n\n var demoClickhouseRole = new ClickhouseRole(\"demoClickhouseRole\", ClickhouseRoleArgs.builder() \n .project(clickhouse.project())\n .serviceName(clickhouse.serviceName())\n .role(\"demo-role\")\n .build());\n\n var demo_role_grant = new ClickhouseGrant(\"demo-role-grant\", ClickhouseGrantArgs.builder() \n .project(clickhouse.project())\n .serviceName(clickhouse.serviceName())\n .role(demoClickhouseRole.role())\n .privilegeGrants( \n ClickhouseGrantPrivilegeGrantArgs.builder()\n .privilege(\"INSERT\")\n .database(demodb.name())\n .table(\"demo-table\")\n .build(),\n ClickhouseGrantPrivilegeGrantArgs.builder()\n .privilege(\"SELECT\")\n .database(demodb.name())\n .build())\n .build());\n\n var demoClickhouseUser = new ClickhouseUser(\"demoClickhouseUser\", ClickhouseUserArgs.builder() \n .project(clickhouse.project())\n .serviceName(clickhouse.serviceName())\n .username(\"demo-user\")\n .build());\n\n var demo_user_grant = new ClickhouseGrant(\"demo-user-grant\", ClickhouseGrantArgs.builder() \n .project(clickhouse.project())\n .serviceName(clickhouse.serviceName())\n .user(demoClickhouseUser.username())\n .roleGrants(ClickhouseGrantRoleGrantArgs.builder()\n .role(demoClickhouseRole.role())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n clickhouse:\n type: aiven:Clickhouse\n properties:\n project: ${var.aiven_project_name}\n cloudName: google-europe-west1\n plan: startup-8\n serviceName: exapmle-clickhouse\n demodb:\n type: aiven:ClickhouseDatabase\n properties:\n project: ${clickhouse.project}\n serviceName: ${clickhouse.serviceName}\n demoClickhouseRole:\n type: aiven:ClickhouseRole\n properties:\n project: ${clickhouse.project}\n serviceName: ${clickhouse.serviceName}\n role: demo-role\n demo-role-grant:\n type: aiven:ClickhouseGrant\n properties:\n project: ${clickhouse.project}\n serviceName: ${clickhouse.serviceName}\n role: ${demoClickhouseRole.role}\n privilegeGrants:\n - privilege: INSERT\n database: ${demodb.name}\n table: demo-table\n - privilege: SELECT\n database: ${demodb.name}\n demoClickhouseUser:\n type: aiven:ClickhouseUser\n properties:\n project: ${clickhouse.project}\n serviceName: ${clickhouse.serviceName}\n username: demo-user\n demo-user-grant:\n type: aiven:ClickhouseGrant\n properties:\n project: ${clickhouse.project}\n serviceName: ${clickhouse.serviceName}\n user: ${demoClickhouseUser.username}\n roleGrants:\n - role: ${demoClickhouseRole.role}\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "privilegeGrants": { "type": "array", @@ -19488,7 +19488,7 @@ } }, "aiven:index/openSearchAclConfig:OpenSearchAclConfig": { - "description": "The OpenSearch resource allows the creation and management of Aiven OpenSearch services.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst fooProject = aiven.getProject({\n project: \"example_project\",\n});\nconst bar = new aiven.OpenSearch(\"bar\", {\n project: fooProject.then(fooProject =\u003e fooProject.project),\n cloudName: \"google-europe-west1\",\n plan: \"startup-4\",\n serviceName: \"example_service_name\",\n maintenanceWindowDow: \"monday\",\n maintenanceWindowTime: \"10:00:00\",\n});\nconst fooOpensearchUser = new aiven.OpensearchUser(\"fooOpensearchUser\", {\n serviceName: bar.serviceName,\n project: fooProject.then(fooProject =\u003e fooProject.project),\n username: \"user-example\",\n});\nconst fooOpenSearchAclConfig = new aiven.OpenSearchAclConfig(\"fooOpenSearchAclConfig\", {\n project: fooProject.then(fooProject =\u003e fooProject.project),\n serviceName: bar.serviceName,\n enabled: true,\n extendedAcl: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nfoo_project = aiven.get_project(project=\"example_project\")\nbar = aiven.OpenSearch(\"bar\",\n project=foo_project.project,\n cloud_name=\"google-europe-west1\",\n plan=\"startup-4\",\n service_name=\"example_service_name\",\n maintenance_window_dow=\"monday\",\n maintenance_window_time=\"10:00:00\")\nfoo_opensearch_user = aiven.OpensearchUser(\"fooOpensearchUser\",\n service_name=bar.service_name,\n project=foo_project.project,\n username=\"user-example\")\nfoo_open_search_acl_config = aiven.OpenSearchAclConfig(\"fooOpenSearchAclConfig\",\n project=foo_project.project,\n service_name=bar.service_name,\n enabled=True,\n extended_acl=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var fooProject = Aiven.GetProject.Invoke(new()\n {\n Project = \"example_project\",\n });\n\n var bar = new Aiven.OpenSearch(\"bar\", new()\n {\n Project = fooProject.Apply(getProjectResult =\u003e getProjectResult.Project),\n CloudName = \"google-europe-west1\",\n Plan = \"startup-4\",\n ServiceName = \"example_service_name\",\n MaintenanceWindowDow = \"monday\",\n MaintenanceWindowTime = \"10:00:00\",\n });\n\n var fooOpensearchUser = new Aiven.OpensearchUser(\"fooOpensearchUser\", new()\n {\n ServiceName = bar.ServiceName,\n Project = fooProject.Apply(getProjectResult =\u003e getProjectResult.Project),\n Username = \"user-example\",\n });\n\n var fooOpenSearchAclConfig = new Aiven.OpenSearchAclConfig(\"fooOpenSearchAclConfig\", new()\n {\n Project = fooProject.Apply(getProjectResult =\u003e getProjectResult.Project),\n ServiceName = bar.ServiceName,\n Enabled = true,\n ExtendedAcl = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfooProject, err := aiven.LookupProject(ctx, \u0026aiven.LookupProjectArgs{\n\t\t\tProject: \"example_project\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbar, err := aiven.NewOpenSearch(ctx, \"bar\", \u0026aiven.OpenSearchArgs{\n\t\t\tProject: *pulumi.String(fooProject.Project),\n\t\t\tCloudName: pulumi.String(\"google-europe-west1\"),\n\t\t\tPlan: pulumi.String(\"startup-4\"),\n\t\t\tServiceName: pulumi.String(\"example_service_name\"),\n\t\t\tMaintenanceWindowDow: pulumi.String(\"monday\"),\n\t\t\tMaintenanceWindowTime: pulumi.String(\"10:00:00\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = aiven.NewOpensearchUser(ctx, \"fooOpensearchUser\", \u0026aiven.OpensearchUserArgs{\n\t\t\tServiceName: bar.ServiceName,\n\t\t\tProject: *pulumi.String(fooProject.Project),\n\t\t\tUsername: pulumi.String(\"user-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = aiven.NewOpenSearchAclConfig(ctx, \"fooOpenSearchAclConfig\", \u0026aiven.OpenSearchAclConfigArgs{\n\t\t\tProject: *pulumi.String(fooProject.Project),\n\t\t\tServiceName: bar.ServiceName,\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tExtendedAcl: pulumi.Bool(false),\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.aiven.AivenFunctions;\nimport com.pulumi.aiven.inputs.GetProjectArgs;\nimport com.pulumi.aiven.OpenSearch;\nimport com.pulumi.aiven.OpenSearchArgs;\nimport com.pulumi.aiven.OpensearchUser;\nimport com.pulumi.aiven.OpensearchUserArgs;\nimport com.pulumi.aiven.OpenSearchAclConfig;\nimport com.pulumi.aiven.OpenSearchAclConfigArgs;\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 fooProject = AivenFunctions.getProject(GetProjectArgs.builder()\n .project(\"example_project\")\n .build());\n\n var bar = new OpenSearch(\"bar\", OpenSearchArgs.builder() \n .project(fooProject.applyValue(getProjectResult -\u003e getProjectResult.project()))\n .cloudName(\"google-europe-west1\")\n .plan(\"startup-4\")\n .serviceName(\"example_service_name\")\n .maintenanceWindowDow(\"monday\")\n .maintenanceWindowTime(\"10:00:00\")\n .build());\n\n var fooOpensearchUser = new OpensearchUser(\"fooOpensearchUser\", OpensearchUserArgs.builder() \n .serviceName(bar.serviceName())\n .project(fooProject.applyValue(getProjectResult -\u003e getProjectResult.project()))\n .username(\"user-example\")\n .build());\n\n var fooOpenSearchAclConfig = new OpenSearchAclConfig(\"fooOpenSearchAclConfig\", OpenSearchAclConfigArgs.builder() \n .project(fooProject.applyValue(getProjectResult -\u003e getProjectResult.project()))\n .serviceName(bar.serviceName())\n .enabled(true)\n .extendedAcl(false)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bar:\n type: aiven:OpenSearch\n properties:\n project: ${fooProject.project}\n cloudName: google-europe-west1\n plan: startup-4\n serviceName: example_service_name\n maintenanceWindowDow: monday\n maintenanceWindowTime: 10:00:00\n fooOpensearchUser:\n type: aiven:OpensearchUser\n properties:\n serviceName: ${bar.serviceName}\n project: ${fooProject.project}\n username: user-example\n fooOpenSearchAclConfig:\n type: aiven:OpenSearchAclConfig\n properties:\n project: ${fooProject.project}\n serviceName: ${bar.serviceName}\n enabled: true\n extendedAcl: false\nvariables:\n fooProject:\n fn::invoke:\n Function: aiven:getProject\n Arguments:\n project: example_project\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n\n\n```sh\n $ pulumi import aiven:index/openSearchAclConfig:OpenSearchAclConfig foo project/service_name\n```\n\n ", + "description": "The OpenSearch ACL Config resource allows the creation and management of Aiven OpenSearch ACLs.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst fooProject = aiven.getProject({\n project: \"example_project\",\n});\nconst bar = new aiven.OpenSearch(\"bar\", {\n project: fooProject.then(fooProject =\u003e fooProject.project),\n cloudName: \"google-europe-west1\",\n plan: \"startup-4\",\n serviceName: \"example_service_name\",\n maintenanceWindowDow: \"monday\",\n maintenanceWindowTime: \"10:00:00\",\n});\nconst fooOpensearchUser = new aiven.OpensearchUser(\"fooOpensearchUser\", {\n serviceName: bar.serviceName,\n project: fooProject.then(fooProject =\u003e fooProject.project),\n username: \"user-example\",\n});\nconst fooOpenSearchAclConfig = new aiven.OpenSearchAclConfig(\"fooOpenSearchAclConfig\", {\n project: fooProject.then(fooProject =\u003e fooProject.project),\n serviceName: bar.serviceName,\n enabled: true,\n extendedAcl: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nfoo_project = aiven.get_project(project=\"example_project\")\nbar = aiven.OpenSearch(\"bar\",\n project=foo_project.project,\n cloud_name=\"google-europe-west1\",\n plan=\"startup-4\",\n service_name=\"example_service_name\",\n maintenance_window_dow=\"monday\",\n maintenance_window_time=\"10:00:00\")\nfoo_opensearch_user = aiven.OpensearchUser(\"fooOpensearchUser\",\n service_name=bar.service_name,\n project=foo_project.project,\n username=\"user-example\")\nfoo_open_search_acl_config = aiven.OpenSearchAclConfig(\"fooOpenSearchAclConfig\",\n project=foo_project.project,\n service_name=bar.service_name,\n enabled=True,\n extended_acl=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var fooProject = Aiven.GetProject.Invoke(new()\n {\n Project = \"example_project\",\n });\n\n var bar = new Aiven.OpenSearch(\"bar\", new()\n {\n Project = fooProject.Apply(getProjectResult =\u003e getProjectResult.Project),\n CloudName = \"google-europe-west1\",\n Plan = \"startup-4\",\n ServiceName = \"example_service_name\",\n MaintenanceWindowDow = \"monday\",\n MaintenanceWindowTime = \"10:00:00\",\n });\n\n var fooOpensearchUser = new Aiven.OpensearchUser(\"fooOpensearchUser\", new()\n {\n ServiceName = bar.ServiceName,\n Project = fooProject.Apply(getProjectResult =\u003e getProjectResult.Project),\n Username = \"user-example\",\n });\n\n var fooOpenSearchAclConfig = new Aiven.OpenSearchAclConfig(\"fooOpenSearchAclConfig\", new()\n {\n Project = fooProject.Apply(getProjectResult =\u003e getProjectResult.Project),\n ServiceName = bar.ServiceName,\n Enabled = true,\n ExtendedAcl = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfooProject, err := aiven.LookupProject(ctx, \u0026aiven.LookupProjectArgs{\n\t\t\tProject: \"example_project\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbar, err := aiven.NewOpenSearch(ctx, \"bar\", \u0026aiven.OpenSearchArgs{\n\t\t\tProject: *pulumi.String(fooProject.Project),\n\t\t\tCloudName: pulumi.String(\"google-europe-west1\"),\n\t\t\tPlan: pulumi.String(\"startup-4\"),\n\t\t\tServiceName: pulumi.String(\"example_service_name\"),\n\t\t\tMaintenanceWindowDow: pulumi.String(\"monday\"),\n\t\t\tMaintenanceWindowTime: pulumi.String(\"10:00:00\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = aiven.NewOpensearchUser(ctx, \"fooOpensearchUser\", \u0026aiven.OpensearchUserArgs{\n\t\t\tServiceName: bar.ServiceName,\n\t\t\tProject: *pulumi.String(fooProject.Project),\n\t\t\tUsername: pulumi.String(\"user-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = aiven.NewOpenSearchAclConfig(ctx, \"fooOpenSearchAclConfig\", \u0026aiven.OpenSearchAclConfigArgs{\n\t\t\tProject: *pulumi.String(fooProject.Project),\n\t\t\tServiceName: bar.ServiceName,\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tExtendedAcl: pulumi.Bool(false),\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.aiven.AivenFunctions;\nimport com.pulumi.aiven.inputs.GetProjectArgs;\nimport com.pulumi.aiven.OpenSearch;\nimport com.pulumi.aiven.OpenSearchArgs;\nimport com.pulumi.aiven.OpensearchUser;\nimport com.pulumi.aiven.OpensearchUserArgs;\nimport com.pulumi.aiven.OpenSearchAclConfig;\nimport com.pulumi.aiven.OpenSearchAclConfigArgs;\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 fooProject = AivenFunctions.getProject(GetProjectArgs.builder()\n .project(\"example_project\")\n .build());\n\n var bar = new OpenSearch(\"bar\", OpenSearchArgs.builder() \n .project(fooProject.applyValue(getProjectResult -\u003e getProjectResult.project()))\n .cloudName(\"google-europe-west1\")\n .plan(\"startup-4\")\n .serviceName(\"example_service_name\")\n .maintenanceWindowDow(\"monday\")\n .maintenanceWindowTime(\"10:00:00\")\n .build());\n\n var fooOpensearchUser = new OpensearchUser(\"fooOpensearchUser\", OpensearchUserArgs.builder() \n .serviceName(bar.serviceName())\n .project(fooProject.applyValue(getProjectResult -\u003e getProjectResult.project()))\n .username(\"user-example\")\n .build());\n\n var fooOpenSearchAclConfig = new OpenSearchAclConfig(\"fooOpenSearchAclConfig\", OpenSearchAclConfigArgs.builder() \n .project(fooProject.applyValue(getProjectResult -\u003e getProjectResult.project()))\n .serviceName(bar.serviceName())\n .enabled(true)\n .extendedAcl(false)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bar:\n type: aiven:OpenSearch\n properties:\n project: ${fooProject.project}\n cloudName: google-europe-west1\n plan: startup-4\n serviceName: example_service_name\n maintenanceWindowDow: monday\n maintenanceWindowTime: 10:00:00\n fooOpensearchUser:\n type: aiven:OpensearchUser\n properties:\n serviceName: ${bar.serviceName}\n project: ${fooProject.project}\n username: user-example\n fooOpenSearchAclConfig:\n type: aiven:OpenSearchAclConfig\n properties:\n project: ${fooProject.project}\n serviceName: ${bar.serviceName}\n enabled: true\n extendedAcl: false\nvariables:\n fooProject:\n fn::invoke:\n Function: aiven:getProject\n Arguments:\n project: example_project\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n\n\n```sh\n $ pulumi import aiven:index/openSearchAclConfig:OpenSearchAclConfig foo project/service_name\n```\n\n ", "properties": { "enabled": { "type": "boolean", @@ -19655,6 +19655,99 @@ "type": "object" } }, + "aiven:index/opensearchSecurityPluginConfig:OpensearchSecurityPluginConfig": { + "description": "The OpenSearch Security Plugin Config resource allows the creation and management of AivenOpenSearch Security Plugin config.\n\n\n## Import\n\n\n\n```sh\n $ pulumi import aiven:index/opensearchSecurityPluginConfig:OpensearchSecurityPluginConfig foo project/service_name\n```\n\n ", + "properties": { + "adminEnabled": { + "type": "boolean", + "description": "Whether the os-sec-admin user is enabled. This indicates whether the user management with the security plugin is enabled. This is always true when the os-sec-admin password was set at least once.\n" + }, + "adminPassword": { + "type": "string", + "description": "The password for the os-sec-admin user.\n", + "secret": true + }, + "available": { + "type": "boolean", + "description": "Whether the security plugin is available. This is always true for recently created services.\n" + }, + "enabled": { + "type": "boolean", + "description": "Whether the security plugin is enabled. This is always true for recently created services.\n" + }, + "project": { + "type": "string", + "description": "Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource.\n" + }, + "serviceName": { + "type": "string", + "description": "Specifies the name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource.\n" + } + }, + "required": [ + "adminEnabled", + "adminPassword", + "available", + "enabled", + "project", + "serviceName" + ], + "inputProperties": { + "adminPassword": { + "type": "string", + "description": "The password for the os-sec-admin user.\n", + "secret": true + }, + "project": { + "type": "string", + "description": "Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource.\n", + "willReplaceOnChanges": true + }, + "serviceName": { + "type": "string", + "description": "Specifies the name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "adminPassword", + "project", + "serviceName" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering OpensearchSecurityPluginConfig resources.\n", + "properties": { + "adminEnabled": { + "type": "boolean", + "description": "Whether the os-sec-admin user is enabled. This indicates whether the user management with the security plugin is enabled. This is always true when the os-sec-admin password was set at least once.\n" + }, + "adminPassword": { + "type": "string", + "description": "The password for the os-sec-admin user.\n", + "secret": true + }, + "available": { + "type": "boolean", + "description": "Whether the security plugin is available. This is always true for recently created services.\n" + }, + "enabled": { + "type": "boolean", + "description": "Whether the security plugin is enabled. This is always true for recently created services.\n" + }, + "project": { + "type": "string", + "description": "Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource.\n", + "willReplaceOnChanges": true + }, + "serviceName": { + "type": "string", + "description": "Specifies the name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + }, "aiven:index/opensearchUser:OpensearchUser": { "description": "The OpenSearch User resource allows the creation and management of Aiven OpenSearch Users.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst foo = new aiven.OpensearchUser(\"foo\", {\n serviceName: aiven_opensearch.bar.service_name,\n project: \"my-project\",\n username: \"user-1\",\n password: \"Test$1234\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nfoo = aiven.OpensearchUser(\"foo\",\n service_name=aiven_opensearch[\"bar\"][\"service_name\"],\n project=\"my-project\",\n username=\"user-1\",\n password=\"Test$1234\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aiven.OpensearchUser(\"foo\", new()\n {\n ServiceName = aiven_opensearch.Bar.Service_name,\n Project = \"my-project\",\n Username = \"user-1\",\n Password = \"Test$1234\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.NewOpensearchUser(ctx, \"foo\", \u0026aiven.OpensearchUserArgs{\n\t\t\tServiceName: pulumi.Any(aiven_opensearch.Bar.Service_name),\n\t\t\tProject: pulumi.String(\"my-project\"),\n\t\t\tUsername: pulumi.String(\"user-1\"),\n\t\t\tPassword: pulumi.String(\"Test$1234\"),\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.aiven.OpensearchUser;\nimport com.pulumi.aiven.OpensearchUserArgs;\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 foo = new OpensearchUser(\"foo\", OpensearchUserArgs.builder() \n .serviceName(aiven_opensearch.bar().service_name())\n .project(\"my-project\")\n .username(\"user-1\")\n .password(\"Test$1234\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aiven:OpensearchUser\n properties:\n serviceName: ${aiven_opensearch.bar.service_name}\n project: my-project\n username: user-1\n password: Test$1234\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n\n\n```sh\n $ pulumi import aiven:index/opensearchUser:OpensearchUser foo project/service_name/username\n```\n\n ", "properties": { @@ -20645,7 +20738,8 @@ }, "addAccountOwnersAdminAccess": { "type": "boolean", - "description": "If parent_id is set, grant account owner team admin access to the new project. The default value is `true`.\n" + "description": "If parent_id is set, grant account owner team admin access to the new project. The default value is `true`.\n", + "deprecationMessage": "This field is deprecated and will be removed in the next major release. Currently, it will always be set to true, regardless of the value set in the manifest." }, "availableCredits": { "type": "string", @@ -20705,7 +20799,8 @@ }, "useSourceProjectBillingGroup": { "type": "boolean", - "description": "Use the same billing group that is used in source project.\n" + "description": "Use the same billing group that is used in source project.\n", + "deprecationMessage": "This field is deprecated and will be removed in the next major release." } }, "required": [ @@ -20723,7 +20818,8 @@ }, "addAccountOwnersAdminAccess": { "type": "boolean", - "description": "If parent_id is set, grant account owner team admin access to the new project. The default value is `true`.\n" + "description": "If parent_id is set, grant account owner team admin access to the new project. The default value is `true`.\n", + "deprecationMessage": "This field is deprecated and will be removed in the next major release. Currently, it will always be set to true, regardless of the value set in the manifest." }, "billingGroup": { "type": "string", @@ -20766,7 +20862,8 @@ }, "useSourceProjectBillingGroup": { "type": "boolean", - "description": "Use the same billing group that is used in source project.\n" + "description": "Use the same billing group that is used in source project.\n", + "deprecationMessage": "This field is deprecated and will be removed in the next major release." } }, "requiredInputs": [ @@ -20782,7 +20879,8 @@ }, "addAccountOwnersAdminAccess": { "type": "boolean", - "description": "If parent_id is set, grant account owner team admin access to the new project. The default value is `true`.\n" + "description": "If parent_id is set, grant account owner team admin access to the new project. The default value is `true`.\n", + "deprecationMessage": "This field is deprecated and will be removed in the next major release. Currently, it will always be set to true, regardless of the value set in the manifest." }, "availableCredits": { "type": "string", @@ -20842,7 +20940,8 @@ }, "useSourceProjectBillingGroup": { "type": "boolean", - "description": "Use the same billing group that is used in source project.\n" + "description": "Use the same billing group that is used in source project.\n", + "deprecationMessage": "This field is deprecated and will be removed in the next major release." } }, "type": "object" @@ -27228,6 +27327,71 @@ ] } }, + "aiven:index/getOpensearchSecurityPluginConfig:getOpensearchSecurityPluginConfig": { + "description": "The OpenSearch Security Plugin Config data source provides information about an existing Aiven OpenSearch Security Plugin Config.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst os-sec-config = aiven.getOpensearchSecurityPluginConfig({\n project: aiven_project[\"os-project\"].project,\n serviceName: aiven_opensearch.os.service_name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nos_sec_config = aiven.get_opensearch_security_plugin_config(project=aiven_project[\"os-project\"][\"project\"],\n service_name=aiven_opensearch[\"os\"][\"service_name\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var os_sec_config = Aiven.GetOpensearchSecurityPluginConfig.Invoke(new()\n {\n Project = aiven_project.Os_project.Project,\n ServiceName = aiven_opensearch.Os.Service_name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.LookupOpensearchSecurityPluginConfig(ctx, \u0026aiven.LookupOpensearchSecurityPluginConfigArgs{\n\t\t\tProject: aiven_project.OsProject.Project,\n\t\t\tServiceName: aiven_opensearch.Os.Service_name,\n\t\t}, nil)\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.aiven.AivenFunctions;\nimport com.pulumi.aiven.inputs.GetOpensearchSecurityPluginConfigArgs;\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 os-sec-config = AivenFunctions.getOpensearchSecurityPluginConfig(GetOpensearchSecurityPluginConfigArgs.builder()\n .project(aiven_project.os-project().project())\n .serviceName(aiven_opensearch.os().service_name())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n os-sec-config:\n fn::invoke:\n Function: aiven:getOpensearchSecurityPluginConfig\n Arguments:\n project: ${aiven_project\"os-project\"[%!s(MISSING)].project}\n serviceName: ${aiven_opensearch.os.service_name}\n```\n{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getOpensearchSecurityPluginConfig.\n", + "properties": { + "project": { + "type": "string", + "description": "Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource.\n" + }, + "serviceName": { + "type": "string", + "description": "Specifies the name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource.\n" + } + }, + "type": "object", + "required": [ + "project", + "serviceName" + ] + }, + "outputs": { + "description": "A collection of values returned by getOpensearchSecurityPluginConfig.\n", + "properties": { + "adminEnabled": { + "type": "boolean", + "description": "Whether the os-sec-admin user is enabled. This indicates whether the user management with the security plugin is enabled. This is always true when the os-sec-admin password was set at least once.\n" + }, + "adminPassword": { + "type": "string", + "description": "The password for the os-sec-admin user.\n", + "secret": true + }, + "available": { + "type": "boolean", + "description": "Whether the security plugin is available. This is always true for recently created services.\n" + }, + "enabled": { + "type": "boolean", + "description": "Whether the security plugin is enabled. This is always true for recently created services.\n" + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "project": { + "type": "string", + "description": "Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource.\n" + }, + "serviceName": { + "type": "string", + "description": "Specifies the name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource.\n" + } + }, + "type": "object", + "required": [ + "adminEnabled", + "adminPassword", + "available", + "enabled", + "project", + "serviceName", + "id" + ] + } + }, "aiven:index/getOpensearchUser:getOpensearchUser": { "description": "The OpenSearch User data source provides information about the existing Aiven OpenSearch User.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst user = aiven.getOpensearchUser({\n project: \"my-project\",\n serviceName: \"my-service\",\n username: \"user1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nuser = aiven.get_opensearch_user(project=\"my-project\",\n service_name=\"my-service\",\n username=\"user1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var user = Aiven.GetOpensearchUser.Invoke(new()\n {\n Project = \"my-project\",\n ServiceName = \"my-service\",\n Username = \"user1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.LookupOpensearchUser(ctx, \u0026aiven.LookupOpensearchUserArgs{\n\t\t\tProject: \"my-project\",\n\t\t\tServiceName: \"my-service\",\n\t\t\tUsername: \"user1\",\n\t\t}, nil)\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.aiven.AivenFunctions;\nimport com.pulumi.aiven.inputs.GetOpensearchUserArgs;\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 user = AivenFunctions.getOpensearchUser(GetOpensearchUserArgs.builder()\n .project(\"my-project\")\n .serviceName(\"my-service\")\n .username(\"user1\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n user:\n fn::invoke:\n Function: aiven:getOpensearchUser\n Arguments:\n project: my-project\n serviceName: my-service\n username: user1\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { diff --git a/provider/go.mod b/provider/go.mod index bf881c61e..917e8aa4d 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -4,14 +4,14 @@ go 1.21 replace ( github.com/aiven/terraform-provider-aiven => ../upstream - github.com/hashicorp/terraform-plugin-sdk/v2 => github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20230710100801-03a71d0fca3d + github.com/hashicorp/terraform-plugin-sdk/v2 => github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20230912190043-e6d96b3b8f7e github.com/hashicorp/vault => github.com/hashicorp/vault v1.2.0 ) require ( - github.com/hashicorp/terraform-plugin-sdk/v2 v2.27.0 // indirect - github.com/pulumi/pulumi-terraform-bridge/pf v0.16.0 - github.com/pulumi/pulumi-terraform-bridge/v3 v3.59.0 + github.com/hashicorp/terraform-plugin-sdk/v2 v2.28.0 // indirect + github.com/pulumi/pulumi-terraform-bridge/pf v0.16.1 + github.com/pulumi/pulumi-terraform-bridge/v3 v3.60.1 github.com/pulumi/pulumi/pkg/v3 v3.81.0 // indirect github.com/pulumi/pulumi/sdk/v3 v3.81.0 ) @@ -27,6 +27,7 @@ require ( cloud.google.com/go/logging v1.7.0 // indirect cloud.google.com/go/longrunning v0.5.1 // indirect cloud.google.com/go/storage v1.30.1 // indirect + dario.cat/mergo v1.0.0 // indirect github.com/AlecAivazis/survey/v2 v2.0.5 // indirect github.com/Azure/azure-sdk-for-go v66.0.0+incompatible // indirect github.com/Azure/azure-sdk-for-go/sdk/azcore v1.1.1 // indirect @@ -49,15 +50,15 @@ require ( github.com/Masterminds/semver v1.5.0 // indirect github.com/Masterminds/semver/v3 v3.1.1 // indirect github.com/Masterminds/sprig/v3 v3.2.2 // indirect - github.com/Microsoft/go-winio v0.5.2 // indirect - github.com/ProtonMail/go-crypto v0.0.0-20230217124315-7d5c6f04bbb8 // indirect + github.com/Microsoft/go-winio v0.6.1 // indirect + github.com/ProtonMail/go-crypto v0.0.0-20230717121422-5aa5874ade95 // indirect github.com/acomagu/bufpipe v1.0.4 // indirect github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da // indirect github.com/agext/levenshtein v1.2.3 // indirect - github.com/aiven/aiven-go-client v1.35.0 // indirect + github.com/aiven/aiven-go-client v1.36.0 // indirect github.com/aiven/go-api-schemas v1.27.1-0.20230823111901-1e0306909d02 // indirect github.com/apparentlymart/go-cidr v1.1.0 // indirect - github.com/apparentlymart/go-textseg/v13 v13.0.0 // indirect + github.com/apparentlymart/go-textseg/v15 v15.0.0 // indirect github.com/armon/go-metrics v0.4.0 // indirect github.com/armon/go-radix v1.0.0 // indirect github.com/atotto/clipboard v0.1.4 // indirect @@ -103,9 +104,9 @@ require ( github.com/ettle/strcase v0.1.1 // indirect github.com/fatih/color v1.15.0 // indirect github.com/gedex/inflector v0.0.0-20170307190818-16278e9db813 // indirect - github.com/go-git/gcfg v1.5.0 // indirect + github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect github.com/go-git/go-billy/v5 v5.4.1 // indirect - github.com/go-git/go-git/v5 v5.6.1 // indirect + github.com/go-git/go-git/v5 v5.8.1 // indirect github.com/gofrs/uuid v4.2.0+incompatible // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang-jwt/jwt v3.2.1+incompatible // indirect @@ -132,7 +133,7 @@ require ( github.com/hashicorp/go-hclog v1.5.0 // indirect github.com/hashicorp/go-immutable-radix v1.3.1 // indirect github.com/hashicorp/go-multierror v1.1.1 // indirect - github.com/hashicorp/go-plugin v1.4.10 // indirect + github.com/hashicorp/go-plugin v1.5.1 // indirect github.com/hashicorp/go-retryablehttp v0.7.4 // indirect github.com/hashicorp/go-rootcerts v1.0.2 // indirect github.com/hashicorp/go-safetemp v1.0.0 // indirect @@ -143,20 +144,21 @@ require ( github.com/hashicorp/go-uuid v1.0.3 // indirect github.com/hashicorp/go-version v1.6.0 // indirect github.com/hashicorp/golang-lru v0.5.4 // indirect - github.com/hashicorp/hc-install v0.5.2 // indirect + github.com/hashicorp/hc-install v0.6.0 // indirect github.com/hashicorp/hcl v1.0.0 // indirect - github.com/hashicorp/hcl/v2 v2.17.0 // indirect + github.com/hashicorp/hcl/v2 v2.18.0 // indirect github.com/hashicorp/hil v0.0.0-20190212132231-97b3a9cdfa93 // indirect github.com/hashicorp/logutils v1.0.0 // indirect - github.com/hashicorp/terraform-exec v0.18.1 // indirect + github.com/hashicorp/terraform-exec v0.19.0 // indirect github.com/hashicorp/terraform-json v0.17.1 // indirect - github.com/hashicorp/terraform-plugin-framework v1.3.5 // indirect + github.com/hashicorp/terraform-plugin-framework v1.4.0 // indirect github.com/hashicorp/terraform-plugin-framework-timeouts v0.4.1 // indirect - github.com/hashicorp/terraform-plugin-framework-validators v0.11.0 // indirect - github.com/hashicorp/terraform-plugin-go v0.18.0 // indirect + github.com/hashicorp/terraform-plugin-framework-validators v0.12.0 // indirect + github.com/hashicorp/terraform-plugin-go v0.19.0 // indirect github.com/hashicorp/terraform-plugin-log v0.9.0 // indirect - github.com/hashicorp/terraform-plugin-testing v1.4.0 // indirect - github.com/hashicorp/terraform-registry-address v0.2.1 // indirect + github.com/hashicorp/terraform-plugin-mux v0.12.0 // indirect + github.com/hashicorp/terraform-plugin-testing v1.5.1 // indirect + github.com/hashicorp/terraform-registry-address v0.2.2 // indirect github.com/hashicorp/terraform-svchost v0.1.1 // indirect github.com/hashicorp/vault/api v1.8.2 // indirect github.com/hashicorp/vault/sdk v0.6.1 // indirect @@ -164,7 +166,7 @@ require ( github.com/huandu/xstrings v1.3.2 // indirect github.com/iancoleman/strcase v0.2.0 // indirect github.com/ijc/Gotty v0.0.0-20170406111628-a8b993ba6abd // indirect - github.com/imdario/mergo v0.3.13 // indirect + github.com/imdario/mergo v0.3.15 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect github.com/jmespath/go-jmespath v0.4.0 // indirect @@ -207,7 +209,7 @@ require ( github.com/pmezard/go-difflib v1.0.0 // indirect github.com/posener/complete v1.2.3 // indirect github.com/pulumi/pulumi-java/pkg v0.9.6 // indirect - github.com/pulumi/pulumi-terraform-bridge/x/muxer v0.0.4 // indirect + github.com/pulumi/pulumi-terraform-bridge/x/muxer v0.0.6 // indirect github.com/pulumi/pulumi-yaml v1.2.2 // indirect github.com/pulumi/schema-tools v0.1.2 // indirect github.com/pulumi/terraform-diff-reader v0.0.2 // indirect @@ -221,7 +223,7 @@ require ( github.com/segmentio/encoding v0.3.5 // indirect github.com/sergi/go-diff v1.3.1 // indirect github.com/shopspring/decimal v1.3.1 // indirect - github.com/skeema/knownhosts v1.1.0 // indirect + github.com/skeema/knownhosts v1.2.0 // indirect github.com/spf13/afero v1.9.5 // indirect github.com/spf13/cast v1.5.0 // indirect github.com/spf13/cobra v1.7.0 // indirect @@ -239,21 +241,22 @@ require ( github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f // indirect github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect github.com/xeipuuv/gojsonschema v1.2.0 // indirect - github.com/zclconf/go-cty v1.13.2 // indirect + github.com/zclconf/go-cty v1.14.0 // indirect go.opencensus.io v0.24.0 // indirect go.uber.org/atomic v1.9.0 // indirect gocloud.dev v0.27.0 // indirect gocloud.dev/secrets/hashivault v0.27.0 // indirect - golang.org/x/crypto v0.11.0 // indirect - golang.org/x/exp v0.0.0-20230321023759-10a507213a29 // indirect - golang.org/x/mod v0.10.0 // indirect - golang.org/x/net v0.11.0 // indirect + golang.org/x/crypto v0.13.0 // indirect + golang.org/x/exp v0.0.0-20230809150735-7b3493d9a819 // indirect + golang.org/x/mod v0.12.0 // indirect + golang.org/x/net v0.13.0 // indirect golang.org/x/oauth2 v0.8.0 // indirect golang.org/x/sync v0.3.0 // indirect - golang.org/x/sys v0.10.0 // indirect - golang.org/x/term v0.10.0 // indirect - golang.org/x/text v0.11.0 // indirect + golang.org/x/sys v0.12.0 // indirect + golang.org/x/term v0.12.0 // indirect + golang.org/x/text v0.13.0 // indirect golang.org/x/time v0.3.0 // indirect + golang.org/x/tools v0.9.3 // indirect golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect google.golang.org/api v0.126.0 // indirect google.golang.org/appengine v1.6.7 // indirect diff --git a/provider/go.sum b/provider/go.sum index d7c2c56f7..99a7570b8 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -623,6 +623,8 @@ code.cloudfoundry.org/clock v0.0.0-20180518195852-02e53af36e6c/go.mod h1:QD9Lzhd contrib.go.opencensus.io/exporter/aws v0.0.0-20200617204711-c478e41e60e9/go.mod h1:uu1P0UCM/6RbsMrgPa98ll8ZcHM858i/AD06a9aLRCA= contrib.go.opencensus.io/exporter/stackdriver v0.13.13/go.mod h1:5pSSGY0Bhuk7waTHuDf4aQ8D2DrhgETRo9fy6k3Xlzc= contrib.go.opencensus.io/integrations/ocsql v0.1.7/go.mod h1:8DsSdjz3F+APR+0z0WkU1aRorQCFfRxvqjUUPMbF3fE= +dario.cat/mergo v1.0.0 h1:AGCNq9Evsj31mOgNPcLyXc+4PNABt905YmuqPYYpBWk= +dario.cat/mergo v1.0.0/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= gioui.org v0.0.0-20210308172011-57750fc8a0a6/go.mod h1:RSH6KIUZ0p2xy5zHDxgAM4zumjgTw83q2ge/PI+yyw8= git.sr.ht/~sbinet/gg v0.3.1/go.mod h1:KGYtlADtqsqANL9ueOFkWymvzUvLMQllU5Ixo+8v3pc= @@ -720,8 +722,9 @@ github.com/Microsoft/go-winio v0.4.17-0.20210211115548-6eac466e5fa3/go.mod h1:JP github.com/Microsoft/go-winio v0.4.17-0.20210324224401-5516f17a5958/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= github.com/Microsoft/go-winio v0.4.17/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= github.com/Microsoft/go-winio v0.5.1/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= -github.com/Microsoft/go-winio v0.5.2 h1:a9IhgEQBCUEk6QCdml9CiJGhAws+YwffDHEMp1VMrpA= github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY= +github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow= +github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM= github.com/Microsoft/hcsshim v0.8.6/go.mod h1:Op3hHsoHPAvb6lceZHDtd9OkTew38wNoXnJs8iY7rUg= github.com/Microsoft/hcsshim v0.8.7-0.20190325164909-8abdbb8205e4/go.mod h1:Op3hHsoHPAvb6lceZHDtd9OkTew38wNoXnJs8iY7rUg= github.com/Microsoft/hcsshim v0.8.7/go.mod h1:OHd7sQqRFrYd3RmSgbgji+ctCwkbq2wbEYNSzOYtcBQ= @@ -741,9 +744,8 @@ github.com/Netflix/go-expect v0.0.0-20180615182759-c93bf25de8e8/go.mod h1:oX5x61 github.com/Netflix/go-expect v0.0.0-20220104043353-73e0943537d2 h1:+vx7roKuyA63nhn5WAunQHLTznkw5W8b1Xc0dNjp83s= github.com/Netflix/go-expect v0.0.0-20220104043353-73e0943537d2/go.mod h1:HBCaDeC1lPdgDeDbhX8XFpy1jqjK0IBG8W5K+xYqA0w= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= -github.com/ProtonMail/go-crypto v0.0.0-20210428141323-04723f9f07d7/go.mod h1:z4/9nQmJSSwwds7ejkxaJwO37dru3geImFUdJlaLzQo= -github.com/ProtonMail/go-crypto v0.0.0-20230217124315-7d5c6f04bbb8 h1:wPbRQzjjwFc0ih8puEVAOFGELsn1zoIIYdxvML7mDxA= -github.com/ProtonMail/go-crypto v0.0.0-20230217124315-7d5c6f04bbb8/go.mod h1:I0gYDMZ6Z5GRU7l58bNFSkPTFN6Yl12dsUlAZ8xy98g= +github.com/ProtonMail/go-crypto v0.0.0-20230717121422-5aa5874ade95 h1:KLq8BE0KwCL+mmXnjLWEAOYO+2l2AE4YMmqG1ZpZHBs= +github.com/ProtonMail/go-crypto v0.0.0-20230717121422-5aa5874ade95/go.mod h1:EjAoLdwvbIOoOQr3ihjnSoLZRtE8azugULFRteWMNc0= github.com/PuerkitoBio/purell v1.0.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= @@ -752,7 +754,6 @@ github.com/Shopify/logrus-bugsnag v0.0.0-20171204204709-577dee27f20d/go.mod h1:H github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/4+TcAqDqk/vUH7g= -github.com/acomagu/bufpipe v1.0.3/go.mod h1:mxdxdup/WdsKVreO5GpW4+M/1CE2sMG4jeGJ2sYmHc4= github.com/acomagu/bufpipe v1.0.4 h1:e3H4WUzM3npvo5uv95QuJM3cQspFNtFBzvJ2oNjKIDQ= github.com/acomagu/bufpipe v1.0.4/go.mod h1:mxdxdup/WdsKVreO5GpW4+M/1CE2sMG4jeGJ2sYmHc4= github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da h1:KjTM2ks9d14ZYCvmHS9iAKVt9AyzRSqNU1qabPih5BY= @@ -763,8 +764,8 @@ github.com/agext/levenshtein v1.2.2/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki github.com/agext/levenshtein v1.2.3 h1:YB2fHEn0UJagG8T1rrWknE3ZQzWM06O8AMAatNn7lmo= github.com/agext/levenshtein v1.2.3/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558= github.com/agl/ed25519 v0.0.0-20170116200512-5312a6153412/go.mod h1:WPjqKcmVOxf0XSf3YxCJs6N6AOSrOx3obionmG7T0y0= -github.com/aiven/aiven-go-client v1.35.0 h1:zNKo0HRnTQVEhh3NQPT1iYN2dJHbizoPgpaAnpEO+a8= -github.com/aiven/aiven-go-client v1.35.0/go.mod h1:3Hh1PDNcqNNCYrkU/jSAHMV/b/ynoy73fwhBPKnMe6I= +github.com/aiven/aiven-go-client v1.36.0 h1:AUuldvYdk2b9wu4v7L9qx01d6ZB5VckiMgRW37yxZVE= +github.com/aiven/aiven-go-client v1.36.0/go.mod h1:3Hh1PDNcqNNCYrkU/jSAHMV/b/ynoy73fwhBPKnMe6I= github.com/aiven/go-api-schemas v1.27.1-0.20230823111901-1e0306909d02 h1:nFAKxncY/5aokoDdnKRvUVsjV6MKQq0Cf/21uAPRjDg= github.com/aiven/go-api-schemas v1.27.1-0.20230823111901-1e0306909d02/go.mod h1:RmQ8MfxwxAP2ji9eJtP6dICOaTMcQD9b5aQT3Bp7uzI= github.com/ajstarks/deck v0.0.0-20200831202436-30c9fc6549a9/go.mod h1:JynElWSGnm/4RlzPXRlREEwqTHAN3T56Bv2ITsFT3gY= @@ -780,7 +781,6 @@ github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137/go.mod h1:OMCwj8V github.com/alexflint/go-filemutex v0.0.0-20171022225611-72bdc8eae2ae/go.mod h1:CgnQgUtFrFz9mxFNtED3jI5tLDjKlOM+oUF/sTk6ps0= github.com/alexflint/go-filemutex v1.1.0/go.mod h1:7P4iRhttt/nUvUOrYIhcpMzv2G6CY9UnI16Z+UJqRyk= github.com/andybalholm/brotli v1.0.4/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig= -github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be h1:9AeTilPcZAjCFIImctFaOjnTIavg87rW78vTPkQqLI8= github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= @@ -797,8 +797,9 @@ github.com/apparentlymart/go-dump v0.0.0-20190214190832-042adf3cf4a0 h1:MzVXffFU github.com/apparentlymart/go-dump v0.0.0-20190214190832-042adf3cf4a0/go.mod h1:oL81AME2rN47vu18xqj1S1jPIPuN7afo62yKTNn3XMM= github.com/apparentlymart/go-textseg v1.0.0/go.mod h1:z96Txxhf3xSFMPmb5X/1W05FF/Nj9VFpLOpjS5yuumk= github.com/apparentlymart/go-textseg/v12 v12.0.0/go.mod h1:S/4uRK2UtaQttw1GenVJEynmyUenKwP++x/+DdGV/Ec= -github.com/apparentlymart/go-textseg/v13 v13.0.0 h1:Y+KvPE1NYz0xl601PVImeQfFyEy6iT90AvPUL1NNfNw= github.com/apparentlymart/go-textseg/v13 v13.0.0/go.mod h1:ZK2fH7c4NqDTLtiYLvIkEghdlcqw7yxLeM89kiTRPUo= +github.com/apparentlymart/go-textseg/v15 v15.0.0 h1:uYvfpb3DyLSCGWnctWKGj857c6ew1u1fNQOlOtuGxQY= +github.com/apparentlymart/go-textseg/v15 v15.0.0/go.mod h1:K8XmNZdhEBkdlyDdvbmmsvpAG721bKi0joRfFdHIWJ4= github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= @@ -902,12 +903,13 @@ github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869/go.mod h1:Ekp36dR github.com/boombuler/barcode v1.0.0/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8= github.com/boombuler/barcode v1.0.1/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8= github.com/bshuster-repo/logrus-logstash-hook v0.4.1/go.mod h1:zsTqEiSzDgAa/8GZR7E1qaXrhYNDKBYy5/dWPTIflbk= +github.com/bufbuild/protocompile v0.4.0 h1:LbFKd2XowZvQ/kajzguUp2DC9UEIQhIq77fZZlaQsNA= +github.com/bufbuild/protocompile v0.4.0/go.mod h1:3v93+mbWn/v3xzN+31nwkJfrEpAUwp+BagBSZWx+TP8= github.com/buger/jsonparser v0.0.0-20180808090653-f4dd9f5a6b44/go.mod h1:bbYlZJ7hK1yFx9hf58LP0zeX7UjIGs20ufpu3evjr+s= github.com/buger/jsonparser v1.1.1/go.mod h1:6RYKKt7H4d4+iWqouImQ9R2FZql3VbhNgx27UK13J/0= github.com/bugsnag/bugsnag-go v0.0.0-20141110184014-b1d153021fcd/go.mod h1:2oa8nejYd4cQ/b0hMIopN0lCRxU0bueqREvZLWFrtK8= github.com/bugsnag/osext v0.0.0-20130617224835-0dd3f918b21b/go.mod h1:obH5gd0BsqsP2LwDJ9aOkm/6J86V6lyAXCoQWGw3K50= github.com/bugsnag/panicwrap v0.0.0-20151223152923-e2c28503fcd0/go.mod h1:D/8v3kj0zr8ZAKg1AQ6crr+5VwKN5eIywRkfhyM/+dE= -github.com/bwesterb/go-ristretto v1.2.0/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= github.com/bwesterb/go-ristretto v1.2.3/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ= github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= @@ -954,7 +956,6 @@ github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6D github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I= github.com/clbanning/x2j v0.0.0-20191024224557-825249438eec/go.mod h1:jMjuTZXRI4dUb/I5gc9Hdhagfvm9+RyrPryS/auMzxE= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudflare/circl v1.1.0/go.mod h1:prBCrKB9DV4poKZY1l9zBXg2QJY7mvgRvtMxxK7fi4I= github.com/cloudflare/circl v1.3.3 h1:fE/Qz0QdIGqeWfnwq0RE0R7MI51s0M2E4Ga9kq5AEMs= github.com/cloudflare/circl v1.3.3/go.mod h1:5XYMA4rFBvNIrhs50XuiBJ15vF2pZn4nnUKZrLbUZFA= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= @@ -1160,9 +1161,11 @@ github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaB github.com/edsrzf/mmap-go v1.1.0 h1:6EUwBLQ/Mcr1EYLE4Tn1VdW1A4ckqCQWZBw8Hr0kjpQ= github.com/edsrzf/mmap-go v1.1.0/go.mod h1:19H/e8pUPLicwkyNgOykDXkJ9F0MHE+Z52B8EIth78Q= github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= +github.com/elazarl/goproxy v0.0.0-20221015165544-a0805db90819 h1:RIB4cRk+lBqKK3Oy0r2gRX4ui7tuhiZq2SuTtTCi0/0= +github.com/elazarl/goproxy v0.0.0-20221015165544-a0805db90819/go.mod h1:Ro8st/ElPeALwNFlcTpWmkr6IoMFfkjXAvTHpevnDsM= +github.com/elazarl/goproxy/ext v0.0.0-20190711103511-473e67f1d7d2/go.mod h1:gNh8nYJoAm43RfaxurUnxr+N1PwuFV3ZMl/efxlIlY8= github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= -github.com/emirpasic/gods v1.12.0/go.mod h1:YfzfFFoVP/catgzJb4IKIqXjX78Ha8FMSDh3ymbK86o= github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc= github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ= github.com/envoyproxy/go-control-plane v0.6.9/go.mod h1:SBwIajubJHhxtWwsL9s8ss4safvEdbitLhGGK48rN6g= @@ -1199,7 +1202,6 @@ github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/felixge/httpsnoop v1.0.2/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/felixge/httpsnoop v1.0.3/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= -github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc= github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= github.com/fogleman/gg v1.3.0/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= @@ -1228,7 +1230,6 @@ github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeME github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= github.com/gin-gonic/gin v1.6.3/go.mod h1:75u5sXoLsGZoRN5Sgbi1eraJ4GU3++wFwWzhwvtwp4M= github.com/gin-gonic/gin v1.7.7/go.mod h1:axIBovoeJpVj8S3BwE0uPMTeReE4+AfFtqpqaZ1qq1U= -github.com/gliderlabs/ssh v0.2.2/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0= github.com/gliderlabs/ssh v0.3.5 h1:OcaySEmAQJgyYcArR+gGGTHCyE7nvhEMTlYY+Dp8CpY= github.com/gliderlabs/ssh v0.3.5/go.mod h1:8XB4KraRrX39qHhT6yxPsHedjA08I/uBVwj4xC+/+z4= github.com/go-asn1-ber/asn1-ber v1.3.1/go.mod h1:hEBeB/ic+5LoWskz+yKT7vGhhPYkProFKoKdwZRWMe0= @@ -1237,18 +1238,15 @@ github.com/go-fonts/latin-modern v0.2.0/go.mod h1:rQVLdDMK+mK1xscDwsqM5J8U2jrRa3 github.com/go-fonts/liberation v0.1.1/go.mod h1:K6qoJYypsmfVjWg8KOVDQhLc8UDgIK2HYqyqAO9z7GY= github.com/go-fonts/liberation v0.2.0/go.mod h1:K6qoJYypsmfVjWg8KOVDQhLc8UDgIK2HYqyqAO9z7GY= github.com/go-fonts/stix v0.1.0/go.mod h1:w/c1f0ldAUlJmLBvlbkvVXLAD+tAMqobIIQpmnUIzUY= -github.com/go-git/gcfg v1.5.0 h1:Q5ViNfGF8zFgyJWPqYwA7qGFoMTEiBmdlkcfRmpIMa4= -github.com/go-git/gcfg v1.5.0/go.mod h1:5m20vg6GwYabIxaOonVkTdrILxQMpEShl1xiMF4ua+E= -github.com/go-git/go-billy/v5 v5.2.0/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0= +github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 h1:+zs/tPmkDkHx3U66DAb0lQFJrpS6731Oaa12ikc+DiI= +github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376/go.mod h1:an3vInlBmSxCcxctByoQdvwPiA7DTK7jaaFDBTtu0ic= github.com/go-git/go-billy/v5 v5.3.1/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0= github.com/go-git/go-billy/v5 v5.4.1 h1:Uwp5tDRkPr+l/TnbHOQzp+tmJfLceOlbVucgpTz8ix4= github.com/go-git/go-billy/v5 v5.4.1/go.mod h1:vjbugF6Fz7JIflbVpl1hJsGjSHNltrSw45YK/ukIvQg= -github.com/go-git/go-git-fixtures/v4 v4.2.1/go.mod h1:K8zd3kDUAykwTdDCr+I0per6Y6vMiRR/nnVTBtavnB0= -github.com/go-git/go-git-fixtures/v4 v4.3.1 h1:y5z6dd3qi8Hl+stezc8p3JxDkoTRqMAlKnXHuzrfjTQ= -github.com/go-git/go-git-fixtures/v4 v4.3.1/go.mod h1:8LHG1a3SRW71ettAD/jW13h8c6AqjVSeL11RAdgaqpo= -github.com/go-git/go-git/v5 v5.4.2/go.mod h1:gQ1kArt6d+n+BGd+/B/I74HwRTLhth2+zti4ihgckDc= -github.com/go-git/go-git/v5 v5.6.1 h1:q4ZRqQl4pR/ZJHc1L5CFjGA1a10u76aV1iC+nh+bHsk= -github.com/go-git/go-git/v5 v5.6.1/go.mod h1:mvyoL6Unz0PiTQrGQfSfiLFhBH1c1e84ylC2MDs4ee8= +github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20230305113008-0c11038e723f h1:Pz0DHeFij3XFhoBRGUDPzSJ+w2UcK5/0JvF8DRI58r8= +github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20230305113008-0c11038e723f/go.mod h1:8LHG1a3SRW71ettAD/jW13h8c6AqjVSeL11RAdgaqpo= +github.com/go-git/go-git/v5 v5.8.1 h1:Zo79E4p7TRk0xoRgMq0RShiTHGKcKI4+DI6BfJc/Q+A= +github.com/go-git/go-git/v5 v5.8.1/go.mod h1:FHFuoD6yGz5OSKEBK+aWN9Oah0q54Jxl0abmj6GnqAo= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= @@ -1596,8 +1594,8 @@ github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9 github.com/hashicorp/go-plugin v1.0.1/go.mod h1:++UyYGoz3o5w9ZzAdZxtQKrWWP+iqPBn3cQptSMzBuY= github.com/hashicorp/go-plugin v1.4.3/go.mod h1:5fGEH17QVwTTcR0zV7yhDPLLmFX9YSZ38b18Udy6vYQ= github.com/hashicorp/go-plugin v1.4.4/go.mod h1:viDMjcLJuDui6pXb8U4HVfb8AamCWhHGUjr2IrTF67s= -github.com/hashicorp/go-plugin v1.4.10 h1:xUbmA4jC6Dq163/fWcp8P3JuHilrHHMLNRxzGQJ9hNk= -github.com/hashicorp/go-plugin v1.4.10/go.mod h1:6/1TEzT0eQznvI/gV2CM29DLSkAK/e58mUWKVsPaph0= +github.com/hashicorp/go-plugin v1.5.1 h1:oGm7cWBaYIp3lJpx1RUEfLWophprE2EV/KUeqBYo+6k= +github.com/hashicorp/go-plugin v1.5.1/go.mod h1:w1sAEES3g3PuV/RzUrgow20W2uErMly84hhD3um1WL4= github.com/hashicorp/go-retryablehttp v0.5.3/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs= github.com/hashicorp/go-retryablehttp v0.6.6/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY= github.com/hashicorp/go-retryablehttp v0.7.1/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY= @@ -1638,15 +1636,14 @@ github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.4 h1:YDjusn29QI/Das2iO9M0BHnIbxPeyuCHsjMW+lJfyTc= github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= -github.com/hashicorp/hc-install v0.5.0/go.mod h1:JyzMfbzfSBSjoDCRPna1vi/24BEDxFaCPfdHtM5SCdo= -github.com/hashicorp/hc-install v0.5.2 h1:SfwMFnEXVVirpwkDuSF5kymUOhrUxrTq3udEseZdOD0= -github.com/hashicorp/hc-install v0.5.2/go.mod h1:9QISwe6newMWIfEiXpzuu1k9HAGtQYgnSH8H9T8wmoI= +github.com/hashicorp/hc-install v0.6.0 h1:fDHnU7JNFNSQebVKYhHZ0va1bC6SrPQ8fpebsvNr2w4= +github.com/hashicorp/hc-install v0.6.0/go.mod h1:10I912u3nntx9Umo1VAeYPUUuehk0aRQJYpMwbX5wQA= github.com/hashicorp/hcl v0.0.0-20170504190234-a4b07c25de5f/go.mod h1:oZtUIOe8dh44I2q6ScRibXws4Ajl+d+nod3AaR9vL5w= github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= github.com/hashicorp/hcl/v2 v2.0.0/go.mod h1:oVVDG71tEinNGYCxinCYadcmKU9bglqW9pV3txagJ90= -github.com/hashicorp/hcl/v2 v2.17.0 h1:z1XvSUyXd1HP10U4lrLg5e0JMVz6CPaJvAgxM0KNZVY= -github.com/hashicorp/hcl/v2 v2.17.0/go.mod h1:gJyW2PTShkJqQBKpAmPO3yxMxIuoXkOF2TpqXzrQyx4= +github.com/hashicorp/hcl/v2 v2.18.0 h1:wYnG7Lt31t2zYkcquwgKo6MWXzRUDIeIVU5naZwHLl8= +github.com/hashicorp/hcl/v2 v2.18.0/go.mod h1:ThLC89FV4p9MPW804KVbe/cEXoQ8NZEh+JtMeeGErHE= github.com/hashicorp/hil v0.0.0-20190212132231-97b3a9cdfa93 h1:T1Q6ag9tCwun16AW+XK3tAql24P4uTGUMIn1/92WsQQ= github.com/hashicorp/hil v0.0.0-20190212132231-97b3a9cdfa93/go.mod h1:n2TSygSNwsLJ76m8qFXTSc7beTb+auJxYdqrnoqwZWE= github.com/hashicorp/logutils v1.0.0 h1:dLEQVugN8vlakKOUE3ihGLTZJRB4j+M2cdTm/ORI65Y= @@ -1660,31 +1657,30 @@ github.com/hashicorp/nomad/api v0.0.0-20220629141207-c2428e1673ec/go.mod h1:jP79 github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= github.com/hashicorp/serf v0.9.6/go.mod h1:TXZNMjZQijwlDvp+r0b63xZ45H7JmCmgg4gpTwn9UV4= github.com/hashicorp/terraform-config-inspect v0.0.0-20191115094559-17f92b0546e8/go.mod h1:p+ivJws3dpqbp1iP84+npOyAmTTOLMgCzrXd3GSdn/A= -github.com/hashicorp/terraform-exec v0.18.1 h1:LAbfDvNQU1l0NOQlTuudjczVhHj061fNX5H8XZxHlH4= -github.com/hashicorp/terraform-exec v0.18.1/go.mod h1:58wg4IeuAJ6LVsLUeD2DWZZoc/bYi6dzhLHzxM41980= +github.com/hashicorp/terraform-exec v0.19.0 h1:FpqZ6n50Tk95mItTSS9BjeOVUb4eg81SpgVtZNNtFSM= +github.com/hashicorp/terraform-exec v0.19.0/go.mod h1:tbxUpe3JKruE9Cuf65mycSIT8KiNPZ0FkuTE3H4urQg= github.com/hashicorp/terraform-json v0.4.0/go.mod h1:eAbqb4w0pSlRmdvl8fOyHAi/+8jnkVYN28gJkSJrLhU= -github.com/hashicorp/terraform-json v0.15.0/go.mod h1:+L1RNzjDU5leLFZkHTFTbJXaoqUC6TqXlFgDoOXrtvk= -github.com/hashicorp/terraform-json v0.17.0/go.mod h1:Huy6zt6euxaY9knPAFKjUITn8QxUFIe9VuSzb4zn/0o= github.com/hashicorp/terraform-json v0.17.1 h1:eMfvh/uWggKmY7Pmb3T85u86E2EQg6EQHgyRwf3RkyA= github.com/hashicorp/terraform-json v0.17.1/go.mod h1:Huy6zt6euxaY9knPAFKjUITn8QxUFIe9VuSzb4zn/0o= -github.com/hashicorp/terraform-plugin-framework v1.3.5 h1:FJ6s3CVWVAxlhiF/jhy6hzs4AnPHiflsp9KgzTGl1wo= -github.com/hashicorp/terraform-plugin-framework v1.3.5/go.mod h1:2gGDpWiTI0irr9NSTLFAKlTi6KwGti3AoU19rFqU30o= +github.com/hashicorp/terraform-plugin-framework v1.4.0 h1:WKbtCRtNrjsh10eA7NZvC/Qyr7zp77j+D21aDO5th9c= +github.com/hashicorp/terraform-plugin-framework v1.4.0/go.mod h1:XC0hPcQbBvlbxwmjxuV/8sn8SbZRg4XwGMs22f+kqV0= github.com/hashicorp/terraform-plugin-framework-timeouts v0.4.1 h1:gm5b1kHgFFhaKFhm4h2TgvMUlNzFAtUqlcOWnWPm+9E= github.com/hashicorp/terraform-plugin-framework-timeouts v0.4.1/go.mod h1:MsjL1sQ9L7wGwzJ5RjcI6FzEMdyoBnw+XK8ZnOvQOLY= -github.com/hashicorp/terraform-plugin-framework-validators v0.11.0 h1:DKb1bX7/EPZUTW6F5zdwJzS/EZ/ycVD6JAW5RYOj4f8= -github.com/hashicorp/terraform-plugin-framework-validators v0.11.0/go.mod h1:dzxOiHh7O9CAwc6p8N4mR1H++LtRkl+u+21YNiBVNno= -github.com/hashicorp/terraform-plugin-go v0.16.0/go.mod h1:4sn8bFuDbt+2+Yztt35IbOrvZc0zyEi87gJzsTgCES8= -github.com/hashicorp/terraform-plugin-go v0.18.0 h1:IwTkOS9cOW1ehLd/rG0y+u/TGLK9y6fGoBjXVUquzpE= -github.com/hashicorp/terraform-plugin-go v0.18.0/go.mod h1:l7VK+2u5Kf2y+A+742GX0ouLut3gttudmvMgN0PA74Y= +github.com/hashicorp/terraform-plugin-framework-validators v0.12.0 h1:HOjBuMbOEzl7snOdOoUfE2Jgeto6JOjLVQ39Ls2nksc= +github.com/hashicorp/terraform-plugin-framework-validators v0.12.0/go.mod h1:jfHGE/gzjxYz6XoUwi/aYiiKrJDeutQNUtGQXkaHklg= +github.com/hashicorp/terraform-plugin-go v0.19.0 h1:BuZx/6Cp+lkmiG0cOBk6Zps0Cb2tmqQpDM3iAtnhDQU= +github.com/hashicorp/terraform-plugin-go v0.19.0/go.mod h1:EhRSkEPNoylLQntYsk5KrDHTZJh9HQoumZXbOGOXmec= github.com/hashicorp/terraform-plugin-log v0.9.0 h1:i7hOA+vdAItN1/7UrfBqBwvYPQ9TFvymaRGZED3FCV0= github.com/hashicorp/terraform-plugin-log v0.9.0/go.mod h1:rKL8egZQ/eXSyDqzLUuwUYLVdlYeamldAHSxjUFADow= +github.com/hashicorp/terraform-plugin-mux v0.12.0 h1:TJlmeslQ11WlQtIFAfth0vXx+gSNgvMEng2Rn9z3WZY= +github.com/hashicorp/terraform-plugin-mux v0.12.0/go.mod h1:8MR0AgmV+Q03DIjyrAKxXyYlq2EUnYBQP8gxAAA0zeM= github.com/hashicorp/terraform-plugin-sdk v1.7.0 h1:B//oq0ZORG+EkVrIJy0uPGSonvmXqxSzXe8+GhknoW0= github.com/hashicorp/terraform-plugin-sdk v1.7.0/go.mod h1:OjgQmey5VxnPej/buEhe+YqKm0KNvV3QqU4hkqHqPCY= github.com/hashicorp/terraform-plugin-test v1.2.0/go.mod h1:QIJHYz8j+xJtdtLrFTlzQVC0ocr3rf/OjIpgZLK56Hs= -github.com/hashicorp/terraform-plugin-testing v1.4.0 h1:DVIXxw7VHZvnwWVik4HzhpC2yytaJ5FpiHxz5debKmE= -github.com/hashicorp/terraform-plugin-testing v1.4.0/go.mod h1:b7Bha24iGrbZQjT+ZE8m9crck1YjdVOZ8mfGCQ19OxA= -github.com/hashicorp/terraform-registry-address v0.2.1 h1:QuTf6oJ1+WSflJw6WYOHhLgwUiQ0FrROpHPYFtwTYWM= -github.com/hashicorp/terraform-registry-address v0.2.1/go.mod h1:BSE9fIFzp0qWsJUUyGquo4ldV9k2n+psif6NYkBRS3Y= +github.com/hashicorp/terraform-plugin-testing v1.5.1 h1:T4aQh9JAhmWo4+t1A7x+rnxAJHCDIYW9kXyo4sVO92c= +github.com/hashicorp/terraform-plugin-testing v1.5.1/go.mod h1:dg8clO6K59rZ8w9EshBmDp1CxTIPu3yA4iaDpX1h5u0= +github.com/hashicorp/terraform-registry-address v0.2.2 h1:lPQBg403El8PPicg/qONZJDC6YlgCVbWDtNmmZKtBno= +github.com/hashicorp/terraform-registry-address v0.2.2/go.mod h1:LtwNbCihUoUZ3RYriyS2wF/lGPB6gF9ICLRtuDk7hSo= github.com/hashicorp/terraform-svchost v0.0.0-20191011084731-65d371908596/go.mod h1:kNDNcF7sN4DocDLBkQYz73HGKwN1ANB1blq4lIYLYvg= github.com/hashicorp/terraform-svchost v0.1.1 h1:EZZimZ1GxdqFRinZ1tpJwVxxt49xc/S52uzrw4x0jKQ= github.com/hashicorp/terraform-svchost v0.1.1/go.mod h1:mNsjQfZyf/Jhz35v6/0LWcv26+X7JPS+buii2c9/ctc= @@ -1728,8 +1724,8 @@ github.com/imdario/mergo v0.3.8/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJ github.com/imdario/mergo v0.3.10/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= github.com/imdario/mergo v0.3.11/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= -github.com/imdario/mergo v0.3.13 h1:lFzP57bqS/wsqKssCGmtLAb8A0wKjLGrve2q3PPVcBk= -github.com/imdario/mergo v0.3.13/go.mod h1:4lJ1jqUDcsbIECGy0RUJAXNIhg+6ocWgb1ALK2O4oXg= +github.com/imdario/mergo v0.3.15 h1:M8XP7IuFNsqUx6VPK2P9OSmsYsI/YFaGil0uD21V3dM= +github.com/imdario/mergo v0.3.15/go.mod h1:WBLT9ZmE3lPoWsEzCh9LPo3TiwVN+ZKEjmz+hD27ysY= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= @@ -1780,8 +1776,13 @@ github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOl github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo= github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= github.com/jessevdk/go-flags v1.5.0/go.mod h1:Fw0T6WPc1dYxT4mKEZRfG5kJhaTDP9pj1c2EWnYs/m4= -github.com/jhump/protoreflect v1.6.0 h1:h5jfMVslIg6l29nsMs0D8Wj17RDVdNYti0vDN/PZZoE= +github.com/jhump/gopoet v0.0.0-20190322174617-17282ff210b3/go.mod h1:me9yfT6IJSlOL3FCfrg+L6yzUEZ+5jW6WHt4Sk+UPUI= +github.com/jhump/gopoet v0.1.0/go.mod h1:me9yfT6IJSlOL3FCfrg+L6yzUEZ+5jW6WHt4Sk+UPUI= +github.com/jhump/goprotoc v0.5.0/go.mod h1:VrbvcYrQOrTi3i0Vf+m+oqQWk9l72mjkJCYo7UvLHRQ= github.com/jhump/protoreflect v1.6.0/go.mod h1:eaTn3RZAmMBcV0fifFvlm6VHNz3wSkYyXYWUh7ymB74= +github.com/jhump/protoreflect v1.11.0/go.mod h1:U7aMIjN0NWq9swDP7xDdoMfRHb35uiuTd3Z9nFXJf5E= +github.com/jhump/protoreflect v1.15.1 h1:HUMERORf3I3ZdX05WaQ6MIpd/NJ434hTp5YiKgfCL6c= +github.com/jhump/protoreflect v1.15.1/go.mod h1:jD/2GMKKE6OqX8qTjhADU1e6DShO+gavG9e0Q693nKo= github.com/jmespath/go-jmespath v0.0.0-20160202185014-0b12d6b521d8/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= github.com/jmespath/go-jmespath v0.0.0-20160803190731-bd40a432e4c7/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= @@ -1816,7 +1817,6 @@ github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 h1:Z9n2FFNU github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8= github.com/kelseyhightower/envconfig v1.4.0 h1:Im6hONhd3pLkfDFsbRgu68RDNkGF1r3dvMUtDTo2cv8= github.com/kelseyhightower/envconfig v1.4.0/go.mod h1:cccZRl6mQpaq41TPp5QxidR+Sa3axMbJDNb//FQX6Gg= -github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= github.com/kevinburke/ssh_config v1.2.0 h1:x584FjTGwHzMwvHx18PXxbBVzfnxogHaAReU4gf13a4= github.com/kevinburke/ssh_config v1.2.0/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= github.com/keybase/go-crypto v0.0.0-20161004153544-93f5b35093ba/go.mod h1:ghbZscTyKdM07+Fw3KSi0hcJm+AlEUWj8QLlPtijN/M= @@ -2203,14 +2203,14 @@ github.com/prometheus/prometheus v0.37.0/go.mod h1:egARUgz+K93zwqsVIAneFlLZefyGO github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= github.com/pulumi/pulumi-java/pkg v0.9.6 h1:UJrOAsYHRchwb4QlfI9Q224qg1TOI3rIsI6DDTUnn30= github.com/pulumi/pulumi-java/pkg v0.9.6/go.mod h1:c6rSw/+q4O0IImgJ9axxoC6QesbPYWBaG5gimbHouUQ= -github.com/pulumi/pulumi-terraform-bridge/pf v0.16.0 h1:0Z6cmTjb/1p2z3W4L4e7OwhmsE6FJUbyxTihtyNs9y4= -github.com/pulumi/pulumi-terraform-bridge/pf v0.16.0/go.mod h1:XdOy385fEso7q3NuL+zAS3I1i+X47Bg01AlVD5aJRS4= +github.com/pulumi/pulumi-terraform-bridge/pf v0.16.1 h1:fdedACdg9+11sy/0UZoN5sKbhlGsgUOfRyKpfWhaPig= +github.com/pulumi/pulumi-terraform-bridge/pf v0.16.1/go.mod h1:d/Gr5Q+guqusxOnvqruuxqKqUEI0dCv7g+c6zYHNlE4= github.com/pulumi/pulumi-terraform-bridge/testing v0.0.1 h1:SCg1gjfY9N4yn8U8peIUYATifjoDABkyR7H9lmefsfc= github.com/pulumi/pulumi-terraform-bridge/testing v0.0.1/go.mod h1:7OeUPH8rpt5ipyj9EFcnXpuzQ8SHL0dyqdfa8nOacdk= -github.com/pulumi/pulumi-terraform-bridge/v3 v3.59.0 h1:55mlXQtnYo2Pa1y0VeILi1W382vK10raX4z69LX2jn0= -github.com/pulumi/pulumi-terraform-bridge/v3 v3.59.0/go.mod h1:o0Vfch2UXtHOnGYpNElzGg4htT6B8X8hS9fa5AguP7g= -github.com/pulumi/pulumi-terraform-bridge/x/muxer v0.0.4 h1:rIzMmtcVpPX8ynaz6/nW5AHNY63DiNfCohqmxWvMpM4= -github.com/pulumi/pulumi-terraform-bridge/x/muxer v0.0.4/go.mod h1:Kt8RIZWa/N8rW3+0g6NrqCBmF3o+HuIhFaZpssEkG6w= +github.com/pulumi/pulumi-terraform-bridge/v3 v3.60.1 h1:+W2JHLi4y+G57jLPLJbDLv1xvm/9L2NO0gWXrtR8MDM= +github.com/pulumi/pulumi-terraform-bridge/v3 v3.60.1/go.mod h1:o0Vfch2UXtHOnGYpNElzGg4htT6B8X8hS9fa5AguP7g= +github.com/pulumi/pulumi-terraform-bridge/x/muxer v0.0.6 h1:uy8P3aaAbrOrGvytvCb2KsYqZMA9TJiY8IKeVQgNAJo= +github.com/pulumi/pulumi-terraform-bridge/x/muxer v0.0.6/go.mod h1:uw1IN0Mlvi5SL0cmWzmKqZ+ZDNueRIXkr9aE+XQkrug= github.com/pulumi/pulumi-yaml v1.2.2 h1:W6BeUBLhDrJ2GSU0em1AUVelG9PBI4ABY61DdhJOO3E= github.com/pulumi/pulumi-yaml v1.2.2/go.mod h1:EgakC7b/4+VBNnlgM1RZIea2gUstV8s/7bdFJZt0P64= github.com/pulumi/pulumi/pkg/v3 v3.81.0 h1:6rf2farQLszi8inHCu9YdJtDvK0fqNguix51b3FEDRQ= @@ -2221,8 +2221,8 @@ github.com/pulumi/schema-tools v0.1.2 h1:Fd9xvUjgck4NA+7/jSk7InqCUT4Kj940+EcnbQK 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-20230710100801-03a71d0fca3d h1:DfAVBLi3G5hXbqiWs9wIGYZXF1VZu6+9kbl2CQO6cOE= -github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20230710100801-03a71d0fca3d/go.mod h1:cUEP4ly/nxlHy5HzD6YRrHydtlheGvGRJDhiWqqVik4= +github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20230912190043-e6d96b3b8f7e h1:blSirnXqvm8JXLxwxelsBroUNRhOHakDO7cgJUYTdpQ= +github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20230912190043-e6d96b3b8f7e/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= @@ -2232,6 +2232,7 @@ github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis= github.com/rivo/uniseg v0.4.4/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= +github.com/rogpeppe/go-charset v0.0.0-20180617210344-2471d30d28b4/go.mod h1:qgYeAmZ5ZIpBWTGllZSQnw97Dj+woV0toclVaRGI8pc= github.com/rogpeppe/go-internal v1.1.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.2.2/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= @@ -2293,8 +2294,9 @@ github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6Mwd github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= -github.com/skeema/knownhosts v1.1.0 h1:Wvr9V0MxhjRbl3f9nMnKnFfiWTJmtECJ9Njkea3ysW0= -github.com/skeema/knownhosts v1.1.0/go.mod h1:sKFq3RD6/TKZkSWn8boUbDC7Qkgcv+8XXijpFO6roag= +github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= +github.com/skeema/knownhosts v1.2.0 h1:h9r9cf0+u7wSE+M183ZtMGgOJKiL96brpaz5ekfJCpM= +github.com/skeema/knownhosts v1.2.0/go.mod h1:g4fPeYpque7P0xefxtGzV81ihjC8sX2IqpAoNkjxbMo= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= github.com/smartystreets/goconvey v0.0.0-20190330032615-68dc04aab96a/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= @@ -2400,16 +2402,13 @@ github.com/vmihailenco/msgpack v3.3.3+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6Ac github.com/vmihailenco/msgpack v4.0.1+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk= github.com/vmihailenco/msgpack v4.0.4+incompatible h1:dSLoQfGFAo3F6OoNhwUmLwVgaUXK79GlxNBwueZn0xI= github.com/vmihailenco/msgpack v4.0.4+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk= -github.com/vmihailenco/msgpack/v4 v4.3.12/go.mod h1:gborTTJjAo/GWTqqRjrLCn9pgNN+NXzzngzBKDPIqw4= github.com/vmihailenco/msgpack/v5 v5.3.5 h1:5gO0H1iULLWGhs2H5tbAHIZTV8/cYafcFOr9znI5mJU= github.com/vmihailenco/msgpack/v5 v5.3.5/go.mod h1:7xyJ9e+0+9SaZT0Wt1RGleJXzli6Q/V5KbhBonMG9jc= -github.com/vmihailenco/tagparser v0.1.1/go.mod h1:OeAg3pn3UbLjkWt+rN9oFYB6u/cQgqMEUPoW2WPyhdI= github.com/vmihailenco/tagparser/v2 v2.0.0 h1:y09buUbR+b5aycVFQs/g70pqKVZNBmxwAhO7/IwNM9g= github.com/vmihailenco/tagparser/v2 v2.0.0/go.mod h1:Wri+At7QHww0WTrCBeu4J6bNtoV6mEfg5OIWRZA9qds= github.com/vultr/govultr/v2 v2.17.2/go.mod h1:ZFOKGWmgjytfyjeyAdhQlSWwTjh2ig+X49cAp50dzXI= github.com/willf/bitset v1.1.11-0.20200630133818-d5bec3311243/go.mod h1:RjeCKbqT1RxIR/KWY6phxZiaY1IyutSBfGjNPySAYV4= github.com/willf/bitset v1.1.11/go.mod h1:83CECat5yLh5zVOf4P1ErAgKA5UDvKtgyUABdr3+MjI= -github.com/xanzy/ssh-agent v0.3.0/go.mod h1:3s9xbODqPuuhK9JV1R321M/FlMZSBvE5aY6eAcqrDh0= github.com/xanzy/ssh-agent v0.3.3 h1:+/15pJfg/RsTxqYcX6fHqOXZwwMP+2VyYWJeWM2qQFM= github.com/xanzy/ssh-agent v0.3.3/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI1Bc68Uw= github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI= @@ -2440,11 +2439,11 @@ github.com/zclconf/go-cty v1.0.0/go.mod h1:xnAOWiHeOqg2nWS62VtQ7pbOu17FtxJNW8RLE github.com/zclconf/go-cty v1.1.0/go.mod h1:xnAOWiHeOqg2nWS62VtQ7pbOu17FtxJNW8RLEih+O3s= github.com/zclconf/go-cty v1.2.0/go.mod h1:hOPWgoHbaTUnI5k4D2ld+GRpFJSCe6bCM7m1q/N4PQ8= github.com/zclconf/go-cty v1.2.1/go.mod h1:hOPWgoHbaTUnI5k4D2ld+GRpFJSCe6bCM7m1q/N4PQ8= -github.com/zclconf/go-cty v1.10.0/go.mod h1:vVKLxnk3puL4qRAv72AO+W99LUD4da90g3uUAzyuvAk= github.com/zclconf/go-cty v1.13.0/go.mod h1:YKQzy/7pZ7iq2jNFzy5go57xdxdWoLLpaEp4u238AE0= github.com/zclconf/go-cty v1.13.1/go.mod h1:YKQzy/7pZ7iq2jNFzy5go57xdxdWoLLpaEp4u238AE0= -github.com/zclconf/go-cty v1.13.2 h1:4GvrUxe/QUDYuJKAav4EYqdM47/kZa672LwmXFmEKT0= github.com/zclconf/go-cty v1.13.2/go.mod h1:YKQzy/7pZ7iq2jNFzy5go57xdxdWoLLpaEp4u238AE0= +github.com/zclconf/go-cty v1.14.0 h1:/Xrd39K7DXbHzlisFP9c4pHao4yyf+/Ug9LEz+Y/yhc= +github.com/zclconf/go-cty v1.14.0/go.mod h1:VvMs5i0vgZdhYawQNq5kePSpLAoz8u1xvZgrPIxfnZE= github.com/zclconf/go-cty-debug v0.0.0-20191215020915-b22d67c1ba0b h1:FosyBZYxY34Wul7O/MSKey3txpPYyCqVO5ZyceuQJEI= github.com/zclconf/go-cty-debug v0.0.0-20191215020915-b22d67c1ba0b/go.mod h1:ZRKQfBXbGkpdV6QMzT3rU1kSTAnfu1dO8dPKjYprgj8= github.com/zclconf/go-cty-yaml v1.0.1 h1:up11wlgAaDvlAGENcFDnZgkn0qUJurso7k6EpURKNF8= @@ -2557,7 +2556,6 @@ golang.org/x/crypto v0.0.0-20171113213409-9f005a07e0d3/go.mod h1:6SG95UA2DQfeDnf golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181009213950-7c1a557ab941/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20190219172222-a4c6cb3142f2/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190411191339-88737f569e3a/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= golang.org/x/crypto v0.0.0-20190422162423-af44ce270edf/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= @@ -2593,18 +2591,16 @@ golang.org/x/crypto v0.0.0-20220214200702-86341886e292/go.mod h1:IxCIyHEi3zRg3s0 golang.org/x/crypto v0.0.0-20220314234659-1baeb1ce4c0b/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220511200225-c6db032c6c88/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220517005047-85d78b3ac167/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.0.0-20220525230936-793ad666bf5e/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220826181053-bd7e27e6170d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw= golang.org/x/crypto v0.3.1-0.20221117191849-2c476679df9a/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= -golang.org/x/crypto v0.5.0/go.mod h1:NK/OQwhpMQP3MwtdjgLlYHnH9ebylxKWv3e0fK+mkQU= -golang.org/x/crypto v0.6.0/go.mod h1:OFC/31mSvZgRz0V1QTNCzfAI1aIRzbiufJtkMIlEp58= +golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= golang.org/x/crypto v0.8.0/go.mod h1:mRqEX+O9/h5TFCrQhkgjo2yKi0yYA+9ecGkdQoHrywE= -golang.org/x/crypto v0.10.0/go.mod h1:o4eNf7Ede1fv+hwOwZsTHl9EsPFO6q6ZvYR8vYfY45I= -golang.org/x/crypto v0.11.0 h1:6Ewdq3tDic1mg5xRO4milcWCfMVQhI4NkqWWvqejpuA= golang.org/x/crypto v0.11.0/go.mod h1:xgJhtzW8F9jGdVFWZESrid1U1bjeNy4zgy5cRr/CIio= +golang.org/x/crypto v0.13.0 h1:mvySKfSWJ+UKUii46M40LOvyWfN0s2U+46/jDd0e6Ck= +golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc= golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -2620,8 +2616,8 @@ golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u0 golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= golang.org/x/exp v0.0.0-20220827204233-334a2380cb91/go.mod h1:cyybsKvd6eL0RnXn6p/Grxp8F5bW7iYuBgsNCOHpMYE= -golang.org/x/exp v0.0.0-20230321023759-10a507213a29 h1:ooxPy7fPvB4kwsA2h+iBNHkAbp/4JxTSwCmvdjEYmug= -golang.org/x/exp v0.0.0-20230321023759-10a507213a29/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc= +golang.org/x/exp v0.0.0-20230809150735-7b3493d9a819 h1:EDuYyU/MkFXllv9QF9819VlI9a4tzGuCbhG0ExK9o1U= +golang.org/x/exp v0.0.0-20230809150735-7b3493d9a819/go.mod h1:FXUEEKJgO7OQYeo8N01OfiKP8RXMtf6e8aTskBGqWdc= golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= @@ -2666,8 +2662,8 @@ golang.org/x/mod v0.6.0/go.mod h1:4mET923SAdbXp2ki8ey+zGs1SLqsuM2Y0uvdZR/fUNI= golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.9.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.10.0 h1:lFO9qtOdlre5W1jxS3r/4szv2/6iXxScdzjoBMXNhYk= -golang.org/x/mod v0.10.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.12.0 h1:rmsUpXtvNzj340zd98LZ4KntptpfRHwpFOHG188oHXc= +golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/net v0.0.0-20180530234432-1e491301e022/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180811021610-c39426892332/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -2724,7 +2720,6 @@ golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= -golang.org/x/net v0.0.0-20210326060303-6b1517762897/go.mod h1:uSPa2vr4CLtc/ILN5odXGNXS6mhrKVzTaCXzk9m6W3k= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= golang.org/x/net v0.0.0-20210410081132-afb366fc7cd1/go.mod h1:9tjilg8BloeKEkVJvy7fQ90B1CfIiPueXVOjqfkSzI8= golang.org/x/net v0.0.0-20210421230115-4e50805a0758/go.mod h1:72T/g9IO56b78aLF+1Kcs5dz7/ng1VjMUvfKvpfy+jM= @@ -2763,8 +2758,9 @@ golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns= golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= -golang.org/x/net v0.11.0 h1:Gi2tvZIJyBtO9SDr1q9h5hEQCp/4L2RQ+ar0qjx2oNU= -golang.org/x/net v0.11.0/go.mod h1:2L/ixqYpgIVXmeoSA/4Lu7BzTG4KIyPIryS4IsOd1oQ= +golang.org/x/net v0.12.0/go.mod h1:zEVYFnQC7m/vmpQFELhcD1EWkZlX69l4oqgmer6hfKA= +golang.org/x/net v0.13.0 h1:Nvo8UFsZ8X3BhAC9699Z1j7XQ3rsZnUUm7jfBEk1ueY= +golang.org/x/net v0.13.0/go.mod h1:zEVYFnQC7m/vmpQFELhcD1EWkZlX69l4oqgmer6hfKA= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -2924,7 +2920,6 @@ golang.org/x/sys v0.0.0-20210420072515-93ed5bcd2bfe/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210426230700-d19ff857e887/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210502180810-71e4cd670f79/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210503080704-8803ae5d1324/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -2980,9 +2975,9 @@ golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.9.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.10.0 h1:SqMFp9UcQJZa+pmYuAKjd9xq1f0j5rLcDIk0mj4qAsA= golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.12.0 h1:CM0HF96J0hcLAwsHPJZjfdNzs0gftsLfgKt57wWHJ0o= +golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= @@ -2997,9 +2992,9 @@ golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY= golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= -golang.org/x/term v0.9.0/go.mod h1:M6DEAAIenWoTxdKrOltXcmDY3rSplQUkrvaDU5FcQyo= -golang.org/x/term v0.10.0 h1:3R7pNqamzBraeqj/Tj8qt1aQ2HpmlC+Cx/qL/7hn4/c= golang.org/x/term v0.10.0/go.mod h1:lpqdcUyK/oCiQxvxVrppt5ggO2KCZ5QblwqPnfZ6d5o= +golang.org/x/term v0.12.0 h1:/ZfYdc3zq+q02Rv9vGqTeSItdzZTSNDmfTi0mBAuidU= +golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -3016,9 +3011,9 @@ golang.org/x/text v0.6.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= -golang.org/x/text v0.10.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= -golang.org/x/text v0.11.0 h1:LAntKIrcmeSKERyiOh0XMV39LXS8IE9UL2yP7+f5ij4= golang.org/x/text v0.11.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= +golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k= +golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -3373,11 +3368,16 @@ google.golang.org/genproto v0.0.0-20230320184635-7606e756e683/go.mod h1:NWraEVix google.golang.org/genproto v0.0.0-20230323212658-478b75c54725/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak= google.golang.org/genproto v0.0.0-20230330154414-c0448cd141ea/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak= google.golang.org/genproto v0.0.0-20230331144136-dcfb400f0633/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak= -google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1/go.mod h1:nKE/iIaLqn2bQwXBg8f1g2Ylh6r5MN5CmZvuzZCgsCU= +google.golang.org/genproto v0.0.0-20230525234025-438c736192d0/go.mod h1:9ExIQyXL5hZrHzQceCwuSYwZZ5QZBazOcprJ5rgs3lY= +google.golang.org/genproto v0.0.0-20230526161137-0005af68ea54/go.mod h1:zqTuNwFlFRsw5zIts5VnzLQxSRqh+CGOTVMlYbY0Eyk= google.golang.org/genproto v0.0.0-20230726155614-23370e0ffb3e h1:xIXmWJ303kJCuogpj0bHq+dcjcZHU+XFyc1I0Yl9cRg= google.golang.org/genproto v0.0.0-20230726155614-23370e0ffb3e/go.mod h1:0ggbjUrZYpy1q+ANUS30SEoGZ53cdfwtbuG7Ptgy108= +google.golang.org/genproto/googleapis/api v0.0.0-20230525234020-1aefcd67740a/go.mod h1:ts19tUU+Z0ZShN1y3aPyq2+O3d5FUNNgT6FtOzmrNn8= +google.golang.org/genproto/googleapis/api v0.0.0-20230525234035-dd9d682886f9/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig= google.golang.org/genproto/googleapis/api v0.0.0-20230706204954-ccb25ca9f130 h1:XVeBY8d/FaK4848myy41HBqnDwvxeV3zMZhwN1TvAMU= google.golang.org/genproto/googleapis/api v0.0.0-20230706204954-ccb25ca9f130/go.mod h1:mPBs5jNgx2GuQGvFwUvVKqtn6HsUw9nP64BedgvqEsQ= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234015-3fc162c6f38a/go.mod h1:xURIpW9ES5+/GZhnV6beoEtxQrnkRGIfP5VQG2tCBLc= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA= google.golang.org/genproto/googleapis/rpc v0.0.0-20230706204954-ccb25ca9f130 h1:2FZP5XuJY9zQyGM5N0rtovnoXjiMUEIUMvw0m9wlpLc= google.golang.org/genproto/googleapis/rpc v0.0.0-20230706204954-ccb25ca9f130/go.mod h1:8mL13HKkDa+IuJ8yruA3ci0q+0vsUz4m//+ottjwS5o= google.golang.org/grpc v0.0.0-20160317175043-d3ddb4469d5a/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= @@ -3431,7 +3431,6 @@ google.golang.org/grpc v1.51.0/go.mod h1:wgNDFcnuBGmxLKI/qn4T+m5BtEBYXJPvibbUPsA google.golang.org/grpc v1.52.3/go.mod h1:pu6fVzoFb+NBYNAvQL08ic+lvB2IojljRYuun5vorUY= google.golang.org/grpc v1.53.0/go.mod h1:OnIrk0ipVdj4N5d9IUoFUx72/VlD7+jUsHwZgwSMQpw= google.golang.org/grpc v1.54.0/go.mod h1:PUSEXI6iWghWaB6lXM4knEgpJNu2qUcKfDtNci3EC2g= -google.golang.org/grpc v1.56.0/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s= google.golang.org/grpc v1.57.0 h1:kfzNeI/klCGD2YPMUlaGNT3pxvYfga7smW3Vth8Zsiw= google.golang.org/grpc v1.57.0/go.mod h1:Sd+9RMTACXwmub0zcNY2c4arhtrbBYD1AUHI/dt16Mo= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= @@ -3450,6 +3449,7 @@ google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQ google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.28.2-0.20230222093303-bc1253ad3743/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.29.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8= @@ -3499,7 +3499,6 @@ gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C gopkg.in/yaml.v3 v3.0.0-20200605160147-a5ece683394c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= diff --git a/upstream b/upstream index f17c17484..dadb7c27f 160000 --- a/upstream +++ b/upstream @@ -1 +1 @@ -Subproject commit f17c1748472b8fe36e4a8f8b3cc62ac22283b87f +Subproject commit dadb7c27ff9e66483ecbe71eff848847076e3b69 From b3d2fde851df078981fb9eda6cb157302c7f12bc Mon Sep 17 00:00:00 2001 From: Thomas Kappler Date: Thu, 28 Sep 2023 21:06:33 +0200 Subject: [PATCH 2/2] make build_sdks --- sdk/dotnet/ClickhouseGrant.cs | 1 + .../GetOpensearchSecurityPluginConfig.cs | 172 +++++++++ sdk/dotnet/OpenSearchAclConfig.cs | 2 +- sdk/dotnet/OpensearchSecurityPluginConfig.cs | 197 ++++++++++ sdk/go/aiven/clickhouseGrant.go | 1 + .../getOpensearchSecurityPluginConfig.go | 162 +++++++++ sdk/go/aiven/init.go | 7 + sdk/go/aiven/openSearchAclConfig.go | 2 +- .../aiven/opensearchSecurityPluginConfig.go | 340 ++++++++++++++++++ sdk/go/aiven/project.go | 24 ++ .../java/com/pulumi/aiven/AivenFunctions.java | 155 ++++++++ .../com/pulumi/aiven/ClickhouseGrant.java | 1 + .../com/pulumi/aiven/OpenSearchAclConfig.java | 2 +- .../aiven/OpensearchSecurityPluginConfig.java | 166 +++++++++ .../OpensearchSecurityPluginConfigArgs.java | 158 ++++++++ .../main/java/com/pulumi/aiven/Project.java | 8 + .../java/com/pulumi/aiven/ProjectArgs.java | 32 ++ ...GetOpensearchSecurityPluginConfigArgs.java | 120 +++++++ ...ensearchSecurityPluginConfigPlainArgs.java | 99 +++++ .../OpensearchSecurityPluginConfigState.java | 269 ++++++++++++++ .../com/pulumi/aiven/inputs/ProjectState.java | 32 ++ ...tOpensearchSecurityPluginConfigResult.java | 175 +++++++++ sdk/nodejs/clickhouseGrant.ts | 1 + .../getOpensearchSecurityPluginConfig.ts | 109 ++++++ sdk/nodejs/index.ts | 13 + sdk/nodejs/openSearchAclConfig.ts | 2 +- sdk/nodejs/opensearchSecurityPluginConfig.ts | 159 ++++++++ sdk/nodejs/project.ts | 12 + sdk/nodejs/tsconfig.json | 2 + sdk/python/pulumi_aiven/__init__.py | 10 + sdk/python/pulumi_aiven/clickhouse_grant.py | 2 + .../get_opensearch_security_plugin_config.py | 176 +++++++++ .../pulumi_aiven/open_search_acl_config.py | 4 +- .../opensearch_security_plugin_config.py | 340 ++++++++++++++++++ sdk/python/pulumi_aiven/project.py | 36 ++ 35 files changed, 2985 insertions(+), 6 deletions(-) create mode 100644 sdk/dotnet/GetOpensearchSecurityPluginConfig.cs create mode 100644 sdk/dotnet/OpensearchSecurityPluginConfig.cs create mode 100644 sdk/go/aiven/getOpensearchSecurityPluginConfig.go create mode 100644 sdk/go/aiven/opensearchSecurityPluginConfig.go create mode 100644 sdk/java/src/main/java/com/pulumi/aiven/OpensearchSecurityPluginConfig.java create mode 100644 sdk/java/src/main/java/com/pulumi/aiven/OpensearchSecurityPluginConfigArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aiven/inputs/GetOpensearchSecurityPluginConfigArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aiven/inputs/GetOpensearchSecurityPluginConfigPlainArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aiven/inputs/OpensearchSecurityPluginConfigState.java create mode 100644 sdk/java/src/main/java/com/pulumi/aiven/outputs/GetOpensearchSecurityPluginConfigResult.java create mode 100644 sdk/nodejs/getOpensearchSecurityPluginConfig.ts create mode 100644 sdk/nodejs/opensearchSecurityPluginConfig.ts create mode 100644 sdk/python/pulumi_aiven/get_opensearch_security_plugin_config.py create mode 100644 sdk/python/pulumi_aiven/opensearch_security_plugin_config.py diff --git a/sdk/dotnet/ClickhouseGrant.cs b/sdk/dotnet/ClickhouseGrant.cs index 92ae1421d..612ec3692 100644 --- a/sdk/dotnet/ClickhouseGrant.cs +++ b/sdk/dotnet/ClickhouseGrant.cs @@ -14,6 +14,7 @@ namespace Pulumi.Aiven /// /// Notes: /// * Due to a ambiguity in the GRANT syntax in clickhouse you should not have users and roles with the same name. It is not clear if a grant refers to the user or the role. + /// * To grant a privilege on all tables of a database, do not write table = "*". Instead, omit the table and only keep the database. /// * Currently changes will first revoke all grants and then reissue the remaining grants for convergence. /// /// ## Example Usage diff --git a/sdk/dotnet/GetOpensearchSecurityPluginConfig.cs b/sdk/dotnet/GetOpensearchSecurityPluginConfig.cs new file mode 100644 index 000000000..5a8e5584d --- /dev/null +++ b/sdk/dotnet/GetOpensearchSecurityPluginConfig.cs @@ -0,0 +1,172 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aiven +{ + public static class GetOpensearchSecurityPluginConfig + { + /// + /// The OpenSearch Security Plugin Config data source provides information about an existing Aiven OpenSearch Security Plugin Config. + /// + /// {{% examples %}} + /// ## Example Usage + /// {{% example %}} + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Aiven = Pulumi.Aiven; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var os_sec_config = Aiven.GetOpensearchSecurityPluginConfig.Invoke(new() + /// { + /// Project = aiven_project.Os_project.Project, + /// ServiceName = aiven_opensearch.Os.Service_name, + /// }); + /// + /// }); + /// ``` + /// {{% /example %}} + /// {{% /examples %}} + /// + public static Task InvokeAsync(GetOpensearchSecurityPluginConfigArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("aiven:index/getOpensearchSecurityPluginConfig:getOpensearchSecurityPluginConfig", args ?? new GetOpensearchSecurityPluginConfigArgs(), options.WithDefaults()); + + /// + /// The OpenSearch Security Plugin Config data source provides information about an existing Aiven OpenSearch Security Plugin Config. + /// + /// {{% examples %}} + /// ## Example Usage + /// {{% example %}} + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Aiven = Pulumi.Aiven; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var os_sec_config = Aiven.GetOpensearchSecurityPluginConfig.Invoke(new() + /// { + /// Project = aiven_project.Os_project.Project, + /// ServiceName = aiven_opensearch.Os.Service_name, + /// }); + /// + /// }); + /// ``` + /// {{% /example %}} + /// {{% /examples %}} + /// + public static Output Invoke(GetOpensearchSecurityPluginConfigInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("aiven:index/getOpensearchSecurityPluginConfig:getOpensearchSecurityPluginConfig", args ?? new GetOpensearchSecurityPluginConfigInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetOpensearchSecurityPluginConfigArgs : global::Pulumi.InvokeArgs + { + /// + /// Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + /// + [Input("project", required: true)] + public string Project { get; set; } = null!; + + /// + /// Specifies the name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + /// + [Input("serviceName", required: true)] + public string ServiceName { get; set; } = null!; + + public GetOpensearchSecurityPluginConfigArgs() + { + } + public static new GetOpensearchSecurityPluginConfigArgs Empty => new GetOpensearchSecurityPluginConfigArgs(); + } + + public sealed class GetOpensearchSecurityPluginConfigInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + /// + [Input("project", required: true)] + public Input Project { get; set; } = null!; + + /// + /// Specifies the name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + /// + [Input("serviceName", required: true)] + public Input ServiceName { get; set; } = null!; + + public GetOpensearchSecurityPluginConfigInvokeArgs() + { + } + public static new GetOpensearchSecurityPluginConfigInvokeArgs Empty => new GetOpensearchSecurityPluginConfigInvokeArgs(); + } + + + [OutputType] + public sealed class GetOpensearchSecurityPluginConfigResult + { + /// + /// Whether the os-sec-admin user is enabled. This indicates whether the user management with the security plugin is enabled. This is always true when the os-sec-admin password was set at least once. + /// + public readonly bool AdminEnabled; + /// + /// The password for the os-sec-admin user. + /// + public readonly string AdminPassword; + /// + /// Whether the security plugin is available. This is always true for recently created services. + /// + public readonly bool Available; + /// + /// Whether the security plugin is enabled. This is always true for recently created services. + /// + public readonly bool Enabled; + /// + /// The provider-assigned unique ID for this managed resource. + /// + public readonly string Id; + /// + /// Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + /// + public readonly string Project; + /// + /// Specifies the name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + /// + public readonly string ServiceName; + + [OutputConstructor] + private GetOpensearchSecurityPluginConfigResult( + bool adminEnabled, + + string adminPassword, + + bool available, + + bool enabled, + + string id, + + string project, + + string serviceName) + { + AdminEnabled = adminEnabled; + AdminPassword = adminPassword; + Available = available; + Enabled = enabled; + Id = id; + Project = project; + ServiceName = serviceName; + } + } +} diff --git a/sdk/dotnet/OpenSearchAclConfig.cs b/sdk/dotnet/OpenSearchAclConfig.cs index 89cc2d3bd..3bd71edc3 100644 --- a/sdk/dotnet/OpenSearchAclConfig.cs +++ b/sdk/dotnet/OpenSearchAclConfig.cs @@ -10,7 +10,7 @@ namespace Pulumi.Aiven { /// - /// The OpenSearch resource allows the creation and management of Aiven OpenSearch services. + /// The OpenSearch ACL Config resource allows the creation and management of Aiven OpenSearch ACLs. /// /// ## Example Usage /// diff --git a/sdk/dotnet/OpensearchSecurityPluginConfig.cs b/sdk/dotnet/OpensearchSecurityPluginConfig.cs new file mode 100644 index 000000000..45c0cbe03 --- /dev/null +++ b/sdk/dotnet/OpensearchSecurityPluginConfig.cs @@ -0,0 +1,197 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aiven +{ + /// + /// The OpenSearch Security Plugin Config resource allows the creation and management of AivenOpenSearch Security Plugin config. + /// + /// ## Import + /// + /// ```sh + /// $ pulumi import aiven:index/opensearchSecurityPluginConfig:OpensearchSecurityPluginConfig foo project/service_name + /// ``` + /// + [AivenResourceType("aiven:index/opensearchSecurityPluginConfig:OpensearchSecurityPluginConfig")] + public partial class OpensearchSecurityPluginConfig : global::Pulumi.CustomResource + { + /// + /// Whether the os-sec-admin user is enabled. This indicates whether the user management with the security plugin is enabled. This is always true when the os-sec-admin password was set at least once. + /// + [Output("adminEnabled")] + public Output AdminEnabled { get; private set; } = null!; + + /// + /// The password for the os-sec-admin user. + /// + [Output("adminPassword")] + public Output AdminPassword { get; private set; } = null!; + + /// + /// Whether the security plugin is available. This is always true for recently created services. + /// + [Output("available")] + public Output Available { get; private set; } = null!; + + /// + /// Whether the security plugin is enabled. This is always true for recently created services. + /// + [Output("enabled")] + public Output Enabled { get; private set; } = null!; + + /// + /// Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + /// + [Output("project")] + public Output Project { get; private set; } = null!; + + /// + /// Specifies the name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + /// + [Output("serviceName")] + public Output ServiceName { get; private set; } = null!; + + + /// + /// Create a OpensearchSecurityPluginConfig resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public OpensearchSecurityPluginConfig(string name, OpensearchSecurityPluginConfigArgs args, CustomResourceOptions? options = null) + : base("aiven:index/opensearchSecurityPluginConfig:OpensearchSecurityPluginConfig", name, args ?? new OpensearchSecurityPluginConfigArgs(), MakeResourceOptions(options, "")) + { + } + + private OpensearchSecurityPluginConfig(string name, Input id, OpensearchSecurityPluginConfigState? state = null, CustomResourceOptions? options = null) + : base("aiven:index/opensearchSecurityPluginConfig:OpensearchSecurityPluginConfig", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + AdditionalSecretOutputs = + { + "adminPassword", + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing OpensearchSecurityPluginConfig resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static OpensearchSecurityPluginConfig Get(string name, Input id, OpensearchSecurityPluginConfigState? state = null, CustomResourceOptions? options = null) + { + return new OpensearchSecurityPluginConfig(name, id, state, options); + } + } + + public sealed class OpensearchSecurityPluginConfigArgs : global::Pulumi.ResourceArgs + { + [Input("adminPassword", required: true)] + private Input? _adminPassword; + + /// + /// The password for the os-sec-admin user. + /// + public Input? AdminPassword + { + get => _adminPassword; + set + { + var emptySecret = Output.CreateSecret(0); + _adminPassword = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + /// + /// Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + /// + [Input("project", required: true)] + public Input Project { get; set; } = null!; + + /// + /// Specifies the name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + /// + [Input("serviceName", required: true)] + public Input ServiceName { get; set; } = null!; + + public OpensearchSecurityPluginConfigArgs() + { + } + public static new OpensearchSecurityPluginConfigArgs Empty => new OpensearchSecurityPluginConfigArgs(); + } + + public sealed class OpensearchSecurityPluginConfigState : global::Pulumi.ResourceArgs + { + /// + /// Whether the os-sec-admin user is enabled. This indicates whether the user management with the security plugin is enabled. This is always true when the os-sec-admin password was set at least once. + /// + [Input("adminEnabled")] + public Input? AdminEnabled { get; set; } + + [Input("adminPassword")] + private Input? _adminPassword; + + /// + /// The password for the os-sec-admin user. + /// + public Input? AdminPassword + { + get => _adminPassword; + set + { + var emptySecret = Output.CreateSecret(0); + _adminPassword = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + /// + /// Whether the security plugin is available. This is always true for recently created services. + /// + [Input("available")] + public Input? Available { get; set; } + + /// + /// Whether the security plugin is enabled. This is always true for recently created services. + /// + [Input("enabled")] + public Input? Enabled { get; set; } + + /// + /// Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + /// + [Input("project")] + public Input? Project { get; set; } + + /// + /// Specifies the name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + /// + [Input("serviceName")] + public Input? ServiceName { get; set; } + + public OpensearchSecurityPluginConfigState() + { + } + public static new OpensearchSecurityPluginConfigState Empty => new OpensearchSecurityPluginConfigState(); + } +} diff --git a/sdk/go/aiven/clickhouseGrant.go b/sdk/go/aiven/clickhouseGrant.go index 240981e07..44192a626 100644 --- a/sdk/go/aiven/clickhouseGrant.go +++ b/sdk/go/aiven/clickhouseGrant.go @@ -17,6 +17,7 @@ import ( // // Notes: // * Due to a ambiguity in the GRANT syntax in clickhouse you should not have users and roles with the same name. It is not clear if a grant refers to the user or the role. +// * To grant a privilege on all tables of a database, do not write table = "*". Instead, omit the table and only keep the database. // * Currently changes will first revoke all grants and then reissue the remaining grants for convergence. // // ## Example Usage diff --git a/sdk/go/aiven/getOpensearchSecurityPluginConfig.go b/sdk/go/aiven/getOpensearchSecurityPluginConfig.go new file mode 100644 index 000000000..36aff16a8 --- /dev/null +++ b/sdk/go/aiven/getOpensearchSecurityPluginConfig.go @@ -0,0 +1,162 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package aiven + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumi/pulumi/sdk/v3/go/pulumix" +) + +// The OpenSearch Security Plugin Config data source provides information about an existing Aiven OpenSearch Security Plugin Config. +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := aiven.LookupOpensearchSecurityPluginConfig(ctx, &aiven.LookupOpensearchSecurityPluginConfigArgs{ +// Project: aiven_project.OsProject.Project, +// ServiceName: aiven_opensearch.Os.Service_name, +// }, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +func LookupOpensearchSecurityPluginConfig(ctx *pulumi.Context, args *LookupOpensearchSecurityPluginConfigArgs, opts ...pulumi.InvokeOption) (*LookupOpensearchSecurityPluginConfigResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupOpensearchSecurityPluginConfigResult + err := ctx.Invoke("aiven:index/getOpensearchSecurityPluginConfig:getOpensearchSecurityPluginConfig", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getOpensearchSecurityPluginConfig. +type LookupOpensearchSecurityPluginConfigArgs struct { + // Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + Project string `pulumi:"project"` + // Specifies the name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + ServiceName string `pulumi:"serviceName"` +} + +// A collection of values returned by getOpensearchSecurityPluginConfig. +type LookupOpensearchSecurityPluginConfigResult struct { + // Whether the os-sec-admin user is enabled. This indicates whether the user management with the security plugin is enabled. This is always true when the os-sec-admin password was set at least once. + AdminEnabled bool `pulumi:"adminEnabled"` + // The password for the os-sec-admin user. + AdminPassword string `pulumi:"adminPassword"` + // Whether the security plugin is available. This is always true for recently created services. + Available bool `pulumi:"available"` + // Whether the security plugin is enabled. This is always true for recently created services. + Enabled bool `pulumi:"enabled"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + // Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + Project string `pulumi:"project"` + // Specifies the name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + ServiceName string `pulumi:"serviceName"` +} + +func LookupOpensearchSecurityPluginConfigOutput(ctx *pulumi.Context, args LookupOpensearchSecurityPluginConfigOutputArgs, opts ...pulumi.InvokeOption) LookupOpensearchSecurityPluginConfigResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (LookupOpensearchSecurityPluginConfigResult, error) { + args := v.(LookupOpensearchSecurityPluginConfigArgs) + r, err := LookupOpensearchSecurityPluginConfig(ctx, &args, opts...) + var s LookupOpensearchSecurityPluginConfigResult + if r != nil { + s = *r + } + return s, err + }).(LookupOpensearchSecurityPluginConfigResultOutput) +} + +// A collection of arguments for invoking getOpensearchSecurityPluginConfig. +type LookupOpensearchSecurityPluginConfigOutputArgs struct { + // Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + Project pulumi.StringInput `pulumi:"project"` + // Specifies the name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + ServiceName pulumi.StringInput `pulumi:"serviceName"` +} + +func (LookupOpensearchSecurityPluginConfigOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupOpensearchSecurityPluginConfigArgs)(nil)).Elem() +} + +// A collection of values returned by getOpensearchSecurityPluginConfig. +type LookupOpensearchSecurityPluginConfigResultOutput struct{ *pulumi.OutputState } + +func (LookupOpensearchSecurityPluginConfigResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupOpensearchSecurityPluginConfigResult)(nil)).Elem() +} + +func (o LookupOpensearchSecurityPluginConfigResultOutput) ToLookupOpensearchSecurityPluginConfigResultOutput() LookupOpensearchSecurityPluginConfigResultOutput { + return o +} + +func (o LookupOpensearchSecurityPluginConfigResultOutput) ToLookupOpensearchSecurityPluginConfigResultOutputWithContext(ctx context.Context) LookupOpensearchSecurityPluginConfigResultOutput { + return o +} + +func (o LookupOpensearchSecurityPluginConfigResultOutput) ToOutput(ctx context.Context) pulumix.Output[LookupOpensearchSecurityPluginConfigResult] { + return pulumix.Output[LookupOpensearchSecurityPluginConfigResult]{ + OutputState: o.OutputState, + } +} + +// Whether the os-sec-admin user is enabled. This indicates whether the user management with the security plugin is enabled. This is always true when the os-sec-admin password was set at least once. +func (o LookupOpensearchSecurityPluginConfigResultOutput) AdminEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v LookupOpensearchSecurityPluginConfigResult) bool { return v.AdminEnabled }).(pulumi.BoolOutput) +} + +// The password for the os-sec-admin user. +func (o LookupOpensearchSecurityPluginConfigResultOutput) AdminPassword() pulumi.StringOutput { + return o.ApplyT(func(v LookupOpensearchSecurityPluginConfigResult) string { return v.AdminPassword }).(pulumi.StringOutput) +} + +// Whether the security plugin is available. This is always true for recently created services. +func (o LookupOpensearchSecurityPluginConfigResultOutput) Available() pulumi.BoolOutput { + return o.ApplyT(func(v LookupOpensearchSecurityPluginConfigResult) bool { return v.Available }).(pulumi.BoolOutput) +} + +// Whether the security plugin is enabled. This is always true for recently created services. +func (o LookupOpensearchSecurityPluginConfigResultOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v LookupOpensearchSecurityPluginConfigResult) bool { return v.Enabled }).(pulumi.BoolOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupOpensearchSecurityPluginConfigResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupOpensearchSecurityPluginConfigResult) string { return v.Id }).(pulumi.StringOutput) +} + +// Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. +func (o LookupOpensearchSecurityPluginConfigResultOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v LookupOpensearchSecurityPluginConfigResult) string { return v.Project }).(pulumi.StringOutput) +} + +// Specifies the name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. +func (o LookupOpensearchSecurityPluginConfigResultOutput) ServiceName() pulumi.StringOutput { + return o.ApplyT(func(v LookupOpensearchSecurityPluginConfigResult) string { return v.ServiceName }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupOpensearchSecurityPluginConfigResultOutput{}) +} diff --git a/sdk/go/aiven/init.go b/sdk/go/aiven/init.go index 8237d8c5f..78a5361d2 100644 --- a/sdk/go/aiven/init.go +++ b/sdk/go/aiven/init.go @@ -121,6 +121,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &OpenSearchAclConfig{} case "aiven:index/openSearchAclRule:OpenSearchAclRule": r = &OpenSearchAclRule{} + case "aiven:index/opensearchSecurityPluginConfig:OpensearchSecurityPluginConfig": + r = &OpensearchSecurityPluginConfig{} case "aiven:index/opensearchUser:OpensearchUser": r = &OpensearchUser{} case "aiven:index/organization:Organization": @@ -436,6 +438,11 @@ func init() { "index/openSearchAclRule", &module{version}, ) + pulumi.RegisterResourceModule( + "aiven", + "index/opensearchSecurityPluginConfig", + &module{version}, + ) pulumi.RegisterResourceModule( "aiven", "index/opensearchUser", diff --git a/sdk/go/aiven/openSearchAclConfig.go b/sdk/go/aiven/openSearchAclConfig.go index 51909a4d5..59a4677ad 100644 --- a/sdk/go/aiven/openSearchAclConfig.go +++ b/sdk/go/aiven/openSearchAclConfig.go @@ -13,7 +13,7 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumix" ) -// The OpenSearch resource allows the creation and management of Aiven OpenSearch services. +// The OpenSearch ACL Config resource allows the creation and management of Aiven OpenSearch ACLs. // // ## Example Usage // diff --git a/sdk/go/aiven/opensearchSecurityPluginConfig.go b/sdk/go/aiven/opensearchSecurityPluginConfig.go new file mode 100644 index 000000000..dffe15a72 --- /dev/null +++ b/sdk/go/aiven/opensearchSecurityPluginConfig.go @@ -0,0 +1,340 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package aiven + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumi/pulumi/sdk/v3/go/pulumix" +) + +// The OpenSearch Security Plugin Config resource allows the creation and management of AivenOpenSearch Security Plugin config. +// +// ## Import +// +// ```sh +// +// $ pulumi import aiven:index/opensearchSecurityPluginConfig:OpensearchSecurityPluginConfig foo project/service_name +// +// ``` +type OpensearchSecurityPluginConfig struct { + pulumi.CustomResourceState + + // Whether the os-sec-admin user is enabled. This indicates whether the user management with the security plugin is enabled. This is always true when the os-sec-admin password was set at least once. + AdminEnabled pulumi.BoolOutput `pulumi:"adminEnabled"` + // The password for the os-sec-admin user. + AdminPassword pulumi.StringOutput `pulumi:"adminPassword"` + // Whether the security plugin is available. This is always true for recently created services. + Available pulumi.BoolOutput `pulumi:"available"` + // Whether the security plugin is enabled. This is always true for recently created services. + Enabled pulumi.BoolOutput `pulumi:"enabled"` + // Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + Project pulumi.StringOutput `pulumi:"project"` + // Specifies the name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + ServiceName pulumi.StringOutput `pulumi:"serviceName"` +} + +// NewOpensearchSecurityPluginConfig registers a new resource with the given unique name, arguments, and options. +func NewOpensearchSecurityPluginConfig(ctx *pulumi.Context, + name string, args *OpensearchSecurityPluginConfigArgs, opts ...pulumi.ResourceOption) (*OpensearchSecurityPluginConfig, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.AdminPassword == nil { + return nil, errors.New("invalid value for required argument 'AdminPassword'") + } + if args.Project == nil { + return nil, errors.New("invalid value for required argument 'Project'") + } + if args.ServiceName == nil { + return nil, errors.New("invalid value for required argument 'ServiceName'") + } + if args.AdminPassword != nil { + args.AdminPassword = pulumi.ToSecret(args.AdminPassword).(pulumi.StringInput) + } + secrets := pulumi.AdditionalSecretOutputs([]string{ + "adminPassword", + }) + opts = append(opts, secrets) + opts = internal.PkgResourceDefaultOpts(opts) + var resource OpensearchSecurityPluginConfig + err := ctx.RegisterResource("aiven:index/opensearchSecurityPluginConfig:OpensearchSecurityPluginConfig", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetOpensearchSecurityPluginConfig gets an existing OpensearchSecurityPluginConfig resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetOpensearchSecurityPluginConfig(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *OpensearchSecurityPluginConfigState, opts ...pulumi.ResourceOption) (*OpensearchSecurityPluginConfig, error) { + var resource OpensearchSecurityPluginConfig + err := ctx.ReadResource("aiven:index/opensearchSecurityPluginConfig:OpensearchSecurityPluginConfig", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering OpensearchSecurityPluginConfig resources. +type opensearchSecurityPluginConfigState struct { + // Whether the os-sec-admin user is enabled. This indicates whether the user management with the security plugin is enabled. This is always true when the os-sec-admin password was set at least once. + AdminEnabled *bool `pulumi:"adminEnabled"` + // The password for the os-sec-admin user. + AdminPassword *string `pulumi:"adminPassword"` + // Whether the security plugin is available. This is always true for recently created services. + Available *bool `pulumi:"available"` + // Whether the security plugin is enabled. This is always true for recently created services. + Enabled *bool `pulumi:"enabled"` + // Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + Project *string `pulumi:"project"` + // Specifies the name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + ServiceName *string `pulumi:"serviceName"` +} + +type OpensearchSecurityPluginConfigState struct { + // Whether the os-sec-admin user is enabled. This indicates whether the user management with the security plugin is enabled. This is always true when the os-sec-admin password was set at least once. + AdminEnabled pulumi.BoolPtrInput + // The password for the os-sec-admin user. + AdminPassword pulumi.StringPtrInput + // Whether the security plugin is available. This is always true for recently created services. + Available pulumi.BoolPtrInput + // Whether the security plugin is enabled. This is always true for recently created services. + Enabled pulumi.BoolPtrInput + // Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + Project pulumi.StringPtrInput + // Specifies the name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + ServiceName pulumi.StringPtrInput +} + +func (OpensearchSecurityPluginConfigState) ElementType() reflect.Type { + return reflect.TypeOf((*opensearchSecurityPluginConfigState)(nil)).Elem() +} + +type opensearchSecurityPluginConfigArgs struct { + // The password for the os-sec-admin user. + AdminPassword string `pulumi:"adminPassword"` + // Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + Project string `pulumi:"project"` + // Specifies the name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + ServiceName string `pulumi:"serviceName"` +} + +// The set of arguments for constructing a OpensearchSecurityPluginConfig resource. +type OpensearchSecurityPluginConfigArgs struct { + // The password for the os-sec-admin user. + AdminPassword pulumi.StringInput + // Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + Project pulumi.StringInput + // Specifies the name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + ServiceName pulumi.StringInput +} + +func (OpensearchSecurityPluginConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*opensearchSecurityPluginConfigArgs)(nil)).Elem() +} + +type OpensearchSecurityPluginConfigInput interface { + pulumi.Input + + ToOpensearchSecurityPluginConfigOutput() OpensearchSecurityPluginConfigOutput + ToOpensearchSecurityPluginConfigOutputWithContext(ctx context.Context) OpensearchSecurityPluginConfigOutput +} + +func (*OpensearchSecurityPluginConfig) ElementType() reflect.Type { + return reflect.TypeOf((**OpensearchSecurityPluginConfig)(nil)).Elem() +} + +func (i *OpensearchSecurityPluginConfig) ToOpensearchSecurityPluginConfigOutput() OpensearchSecurityPluginConfigOutput { + return i.ToOpensearchSecurityPluginConfigOutputWithContext(context.Background()) +} + +func (i *OpensearchSecurityPluginConfig) ToOpensearchSecurityPluginConfigOutputWithContext(ctx context.Context) OpensearchSecurityPluginConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(OpensearchSecurityPluginConfigOutput) +} + +func (i *OpensearchSecurityPluginConfig) ToOutput(ctx context.Context) pulumix.Output[*OpensearchSecurityPluginConfig] { + return pulumix.Output[*OpensearchSecurityPluginConfig]{ + OutputState: i.ToOpensearchSecurityPluginConfigOutputWithContext(ctx).OutputState, + } +} + +// OpensearchSecurityPluginConfigArrayInput is an input type that accepts OpensearchSecurityPluginConfigArray and OpensearchSecurityPluginConfigArrayOutput values. +// You can construct a concrete instance of `OpensearchSecurityPluginConfigArrayInput` via: +// +// OpensearchSecurityPluginConfigArray{ OpensearchSecurityPluginConfigArgs{...} } +type OpensearchSecurityPluginConfigArrayInput interface { + pulumi.Input + + ToOpensearchSecurityPluginConfigArrayOutput() OpensearchSecurityPluginConfigArrayOutput + ToOpensearchSecurityPluginConfigArrayOutputWithContext(context.Context) OpensearchSecurityPluginConfigArrayOutput +} + +type OpensearchSecurityPluginConfigArray []OpensearchSecurityPluginConfigInput + +func (OpensearchSecurityPluginConfigArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*OpensearchSecurityPluginConfig)(nil)).Elem() +} + +func (i OpensearchSecurityPluginConfigArray) ToOpensearchSecurityPluginConfigArrayOutput() OpensearchSecurityPluginConfigArrayOutput { + return i.ToOpensearchSecurityPluginConfigArrayOutputWithContext(context.Background()) +} + +func (i OpensearchSecurityPluginConfigArray) ToOpensearchSecurityPluginConfigArrayOutputWithContext(ctx context.Context) OpensearchSecurityPluginConfigArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(OpensearchSecurityPluginConfigArrayOutput) +} + +func (i OpensearchSecurityPluginConfigArray) ToOutput(ctx context.Context) pulumix.Output[[]*OpensearchSecurityPluginConfig] { + return pulumix.Output[[]*OpensearchSecurityPluginConfig]{ + OutputState: i.ToOpensearchSecurityPluginConfigArrayOutputWithContext(ctx).OutputState, + } +} + +// OpensearchSecurityPluginConfigMapInput is an input type that accepts OpensearchSecurityPluginConfigMap and OpensearchSecurityPluginConfigMapOutput values. +// You can construct a concrete instance of `OpensearchSecurityPluginConfigMapInput` via: +// +// OpensearchSecurityPluginConfigMap{ "key": OpensearchSecurityPluginConfigArgs{...} } +type OpensearchSecurityPluginConfigMapInput interface { + pulumi.Input + + ToOpensearchSecurityPluginConfigMapOutput() OpensearchSecurityPluginConfigMapOutput + ToOpensearchSecurityPluginConfigMapOutputWithContext(context.Context) OpensearchSecurityPluginConfigMapOutput +} + +type OpensearchSecurityPluginConfigMap map[string]OpensearchSecurityPluginConfigInput + +func (OpensearchSecurityPluginConfigMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*OpensearchSecurityPluginConfig)(nil)).Elem() +} + +func (i OpensearchSecurityPluginConfigMap) ToOpensearchSecurityPluginConfigMapOutput() OpensearchSecurityPluginConfigMapOutput { + return i.ToOpensearchSecurityPluginConfigMapOutputWithContext(context.Background()) +} + +func (i OpensearchSecurityPluginConfigMap) ToOpensearchSecurityPluginConfigMapOutputWithContext(ctx context.Context) OpensearchSecurityPluginConfigMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(OpensearchSecurityPluginConfigMapOutput) +} + +func (i OpensearchSecurityPluginConfigMap) ToOutput(ctx context.Context) pulumix.Output[map[string]*OpensearchSecurityPluginConfig] { + return pulumix.Output[map[string]*OpensearchSecurityPluginConfig]{ + OutputState: i.ToOpensearchSecurityPluginConfigMapOutputWithContext(ctx).OutputState, + } +} + +type OpensearchSecurityPluginConfigOutput struct{ *pulumi.OutputState } + +func (OpensearchSecurityPluginConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((**OpensearchSecurityPluginConfig)(nil)).Elem() +} + +func (o OpensearchSecurityPluginConfigOutput) ToOpensearchSecurityPluginConfigOutput() OpensearchSecurityPluginConfigOutput { + return o +} + +func (o OpensearchSecurityPluginConfigOutput) ToOpensearchSecurityPluginConfigOutputWithContext(ctx context.Context) OpensearchSecurityPluginConfigOutput { + return o +} + +func (o OpensearchSecurityPluginConfigOutput) ToOutput(ctx context.Context) pulumix.Output[*OpensearchSecurityPluginConfig] { + return pulumix.Output[*OpensearchSecurityPluginConfig]{ + OutputState: o.OutputState, + } +} + +// Whether the os-sec-admin user is enabled. This indicates whether the user management with the security plugin is enabled. This is always true when the os-sec-admin password was set at least once. +func (o OpensearchSecurityPluginConfigOutput) AdminEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v *OpensearchSecurityPluginConfig) pulumi.BoolOutput { return v.AdminEnabled }).(pulumi.BoolOutput) +} + +// The password for the os-sec-admin user. +func (o OpensearchSecurityPluginConfigOutput) AdminPassword() pulumi.StringOutput { + return o.ApplyT(func(v *OpensearchSecurityPluginConfig) pulumi.StringOutput { return v.AdminPassword }).(pulumi.StringOutput) +} + +// Whether the security plugin is available. This is always true for recently created services. +func (o OpensearchSecurityPluginConfigOutput) Available() pulumi.BoolOutput { + return o.ApplyT(func(v *OpensearchSecurityPluginConfig) pulumi.BoolOutput { return v.Available }).(pulumi.BoolOutput) +} + +// Whether the security plugin is enabled. This is always true for recently created services. +func (o OpensearchSecurityPluginConfigOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v *OpensearchSecurityPluginConfig) pulumi.BoolOutput { return v.Enabled }).(pulumi.BoolOutput) +} + +// Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. +func (o OpensearchSecurityPluginConfigOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v *OpensearchSecurityPluginConfig) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) +} + +// Specifies the name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. +func (o OpensearchSecurityPluginConfigOutput) ServiceName() pulumi.StringOutput { + return o.ApplyT(func(v *OpensearchSecurityPluginConfig) pulumi.StringOutput { return v.ServiceName }).(pulumi.StringOutput) +} + +type OpensearchSecurityPluginConfigArrayOutput struct{ *pulumi.OutputState } + +func (OpensearchSecurityPluginConfigArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*OpensearchSecurityPluginConfig)(nil)).Elem() +} + +func (o OpensearchSecurityPluginConfigArrayOutput) ToOpensearchSecurityPluginConfigArrayOutput() OpensearchSecurityPluginConfigArrayOutput { + return o +} + +func (o OpensearchSecurityPluginConfigArrayOutput) ToOpensearchSecurityPluginConfigArrayOutputWithContext(ctx context.Context) OpensearchSecurityPluginConfigArrayOutput { + return o +} + +func (o OpensearchSecurityPluginConfigArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]*OpensearchSecurityPluginConfig] { + return pulumix.Output[[]*OpensearchSecurityPluginConfig]{ + OutputState: o.OutputState, + } +} + +func (o OpensearchSecurityPluginConfigArrayOutput) Index(i pulumi.IntInput) OpensearchSecurityPluginConfigOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *OpensearchSecurityPluginConfig { + return vs[0].([]*OpensearchSecurityPluginConfig)[vs[1].(int)] + }).(OpensearchSecurityPluginConfigOutput) +} + +type OpensearchSecurityPluginConfigMapOutput struct{ *pulumi.OutputState } + +func (OpensearchSecurityPluginConfigMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*OpensearchSecurityPluginConfig)(nil)).Elem() +} + +func (o OpensearchSecurityPluginConfigMapOutput) ToOpensearchSecurityPluginConfigMapOutput() OpensearchSecurityPluginConfigMapOutput { + return o +} + +func (o OpensearchSecurityPluginConfigMapOutput) ToOpensearchSecurityPluginConfigMapOutputWithContext(ctx context.Context) OpensearchSecurityPluginConfigMapOutput { + return o +} + +func (o OpensearchSecurityPluginConfigMapOutput) ToOutput(ctx context.Context) pulumix.Output[map[string]*OpensearchSecurityPluginConfig] { + return pulumix.Output[map[string]*OpensearchSecurityPluginConfig]{ + OutputState: o.OutputState, + } +} + +func (o OpensearchSecurityPluginConfigMapOutput) MapIndex(k pulumi.StringInput) OpensearchSecurityPluginConfigOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *OpensearchSecurityPluginConfig { + return vs[0].(map[string]*OpensearchSecurityPluginConfig)[vs[1].(string)] + }).(OpensearchSecurityPluginConfigOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*OpensearchSecurityPluginConfigInput)(nil)).Elem(), &OpensearchSecurityPluginConfig{}) + pulumi.RegisterInputType(reflect.TypeOf((*OpensearchSecurityPluginConfigArrayInput)(nil)).Elem(), OpensearchSecurityPluginConfigArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*OpensearchSecurityPluginConfigMapInput)(nil)).Elem(), OpensearchSecurityPluginConfigMap{}) + pulumi.RegisterOutputType(OpensearchSecurityPluginConfigOutput{}) + pulumi.RegisterOutputType(OpensearchSecurityPluginConfigArrayOutput{}) + pulumi.RegisterOutputType(OpensearchSecurityPluginConfigMapOutput{}) +} diff --git a/sdk/go/aiven/project.go b/sdk/go/aiven/project.go index f2da35aa6..78a3a5feb 100644 --- a/sdk/go/aiven/project.go +++ b/sdk/go/aiven/project.go @@ -30,6 +30,8 @@ type Project struct { // Deprecated: Use parent_id instead. This field will be removed in the next major release. AccountId pulumi.StringPtrOutput `pulumi:"accountId"` // If parentId is set, grant account owner team admin access to the new project. The default value is `true`. + // + // Deprecated: This field is deprecated and will be removed in the next major release. Currently, it will always be set to true, regardless of the value set in the manifest. AddAccountOwnersAdminAccess pulumi.BoolPtrOutput `pulumi:"addAccountOwnersAdminAccess"` // The amount of platform credits available to the project. This could be your free trial or other promotional credits. AvailableCredits pulumi.StringOutput `pulumi:"availableCredits"` @@ -54,6 +56,8 @@ type Project struct { // Defines the email addresses that will receive alerts about upcoming maintenance updates or warnings about service instability. It is good practice to keep this up-to-date to be aware of any potential issues with your project. TechnicalEmails pulumi.StringArrayOutput `pulumi:"technicalEmails"` // Use the same billing group that is used in source project. + // + // Deprecated: This field is deprecated and will be removed in the next major release. UseSourceProjectBillingGroup pulumi.BoolPtrOutput `pulumi:"useSourceProjectBillingGroup"` } @@ -99,6 +103,8 @@ type projectState struct { // Deprecated: Use parent_id instead. This field will be removed in the next major release. AccountId *string `pulumi:"accountId"` // If parentId is set, grant account owner team admin access to the new project. The default value is `true`. + // + // Deprecated: This field is deprecated and will be removed in the next major release. Currently, it will always be set to true, regardless of the value set in the manifest. AddAccountOwnersAdminAccess *bool `pulumi:"addAccountOwnersAdminAccess"` // The amount of platform credits available to the project. This could be your free trial or other promotional credits. AvailableCredits *string `pulumi:"availableCredits"` @@ -123,6 +129,8 @@ type projectState struct { // Defines the email addresses that will receive alerts about upcoming maintenance updates or warnings about service instability. It is good practice to keep this up-to-date to be aware of any potential issues with your project. TechnicalEmails []string `pulumi:"technicalEmails"` // Use the same billing group that is used in source project. + // + // Deprecated: This field is deprecated and will be removed in the next major release. UseSourceProjectBillingGroup *bool `pulumi:"useSourceProjectBillingGroup"` } @@ -132,6 +140,8 @@ type ProjectState struct { // Deprecated: Use parent_id instead. This field will be removed in the next major release. AccountId pulumi.StringPtrInput // If parentId is set, grant account owner team admin access to the new project. The default value is `true`. + // + // Deprecated: This field is deprecated and will be removed in the next major release. Currently, it will always be set to true, regardless of the value set in the manifest. AddAccountOwnersAdminAccess pulumi.BoolPtrInput // The amount of platform credits available to the project. This could be your free trial or other promotional credits. AvailableCredits pulumi.StringPtrInput @@ -156,6 +166,8 @@ type ProjectState struct { // Defines the email addresses that will receive alerts about upcoming maintenance updates or warnings about service instability. It is good practice to keep this up-to-date to be aware of any potential issues with your project. TechnicalEmails pulumi.StringArrayInput // Use the same billing group that is used in source project. + // + // Deprecated: This field is deprecated and will be removed in the next major release. UseSourceProjectBillingGroup pulumi.BoolPtrInput } @@ -169,6 +181,8 @@ type projectArgs struct { // Deprecated: Use parent_id instead. This field will be removed in the next major release. AccountId *string `pulumi:"accountId"` // If parentId is set, grant account owner team admin access to the new project. The default value is `true`. + // + // Deprecated: This field is deprecated and will be removed in the next major release. Currently, it will always be set to true, regardless of the value set in the manifest. AddAccountOwnersAdminAccess *bool `pulumi:"addAccountOwnersAdminAccess"` // The id of the billing group that is linked to this project. To set up proper dependencies please refer to this variable as a reference. BillingGroup *string `pulumi:"billingGroup"` @@ -185,6 +199,8 @@ type projectArgs struct { // Defines the email addresses that will receive alerts about upcoming maintenance updates or warnings about service instability. It is good practice to keep this up-to-date to be aware of any potential issues with your project. TechnicalEmails []string `pulumi:"technicalEmails"` // Use the same billing group that is used in source project. + // + // Deprecated: This field is deprecated and will be removed in the next major release. UseSourceProjectBillingGroup *bool `pulumi:"useSourceProjectBillingGroup"` } @@ -195,6 +211,8 @@ type ProjectArgs struct { // Deprecated: Use parent_id instead. This field will be removed in the next major release. AccountId pulumi.StringPtrInput // If parentId is set, grant account owner team admin access to the new project. The default value is `true`. + // + // Deprecated: This field is deprecated and will be removed in the next major release. Currently, it will always be set to true, regardless of the value set in the manifest. AddAccountOwnersAdminAccess pulumi.BoolPtrInput // The id of the billing group that is linked to this project. To set up proper dependencies please refer to this variable as a reference. BillingGroup pulumi.StringPtrInput @@ -211,6 +229,8 @@ type ProjectArgs struct { // Defines the email addresses that will receive alerts about upcoming maintenance updates or warnings about service instability. It is good practice to keep this up-to-date to be aware of any potential issues with your project. TechnicalEmails pulumi.StringArrayInput // Use the same billing group that is used in source project. + // + // Deprecated: This field is deprecated and will be removed in the next major release. UseSourceProjectBillingGroup pulumi.BoolPtrInput } @@ -333,6 +353,8 @@ func (o ProjectOutput) AccountId() pulumi.StringPtrOutput { } // If parentId is set, grant account owner team admin access to the new project. The default value is `true`. +// +// Deprecated: This field is deprecated and will be removed in the next major release. Currently, it will always be set to true, regardless of the value set in the manifest. func (o ProjectOutput) AddAccountOwnersAdminAccess() pulumi.BoolPtrOutput { return o.ApplyT(func(v *Project) pulumi.BoolPtrOutput { return v.AddAccountOwnersAdminAccess }).(pulumi.BoolPtrOutput) } @@ -393,6 +415,8 @@ func (o ProjectOutput) TechnicalEmails() pulumi.StringArrayOutput { } // Use the same billing group that is used in source project. +// +// Deprecated: This field is deprecated and will be removed in the next major release. func (o ProjectOutput) UseSourceProjectBillingGroup() pulumi.BoolPtrOutput { return o.ApplyT(func(v *Project) pulumi.BoolPtrOutput { return v.UseSourceProjectBillingGroup }).(pulumi.BoolPtrOutput) } diff --git a/sdk/java/src/main/java/com/pulumi/aiven/AivenFunctions.java b/sdk/java/src/main/java/com/pulumi/aiven/AivenFunctions.java index 6aa8530fa..0aacf7b4e 100644 --- a/sdk/java/src/main/java/com/pulumi/aiven/AivenFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aiven/AivenFunctions.java @@ -96,6 +96,8 @@ import com.pulumi.aiven.inputs.GetOpenSearchAclRulePlainArgs; import com.pulumi.aiven.inputs.GetOpenSearchArgs; import com.pulumi.aiven.inputs.GetOpenSearchPlainArgs; +import com.pulumi.aiven.inputs.GetOpensearchSecurityPluginConfigArgs; +import com.pulumi.aiven.inputs.GetOpensearchSecurityPluginConfigPlainArgs; import com.pulumi.aiven.inputs.GetOpensearchUserArgs; import com.pulumi.aiven.inputs.GetOpensearchUserPlainArgs; import com.pulumi.aiven.inputs.GetOrganizationArgs; @@ -176,6 +178,7 @@ import com.pulumi.aiven.outputs.GetOpenSearchAclConfigResult; import com.pulumi.aiven.outputs.GetOpenSearchAclRuleResult; import com.pulumi.aiven.outputs.GetOpenSearchResult; +import com.pulumi.aiven.outputs.GetOpensearchSecurityPluginConfigResult; import com.pulumi.aiven.outputs.GetOpensearchUserResult; import com.pulumi.aiven.outputs.GetOrganizationResult; import com.pulumi.aiven.outputs.GetOrganizationUserGroupResult; @@ -6292,6 +6295,158 @@ public static Output getOpenSearchAclRule(GetOpenSea public static CompletableFuture getOpenSearchAclRulePlain(GetOpenSearchAclRulePlainArgs args, InvokeOptions options) { return Deployment.getInstance().invokeAsync("aiven:index/getOpenSearchAclRule:getOpenSearchAclRule", TypeShape.of(GetOpenSearchAclRuleResult.class), args, Utilities.withVersion(options)); } + /** + * The OpenSearch Security Plugin Config data source provides information about an existing Aiven OpenSearch Security Plugin Config. + * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aiven.AivenFunctions; + * import com.pulumi.aiven.inputs.GetOpensearchSecurityPluginConfigArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var os-sec-config = AivenFunctions.getOpensearchSecurityPluginConfig(GetOpensearchSecurityPluginConfigArgs.builder() + * .project(aiven_project.os-project().project()) + * .serviceName(aiven_opensearch.os().service_name()) + * .build()); + * + * } + * } + * ``` + * + */ + public static Output getOpensearchSecurityPluginConfig(GetOpensearchSecurityPluginConfigArgs args) { + return getOpensearchSecurityPluginConfig(args, InvokeOptions.Empty); + } + /** + * The OpenSearch Security Plugin Config data source provides information about an existing Aiven OpenSearch Security Plugin Config. + * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aiven.AivenFunctions; + * import com.pulumi.aiven.inputs.GetOpensearchSecurityPluginConfigArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var os-sec-config = AivenFunctions.getOpensearchSecurityPluginConfig(GetOpensearchSecurityPluginConfigArgs.builder() + * .project(aiven_project.os-project().project()) + * .serviceName(aiven_opensearch.os().service_name()) + * .build()); + * + * } + * } + * ``` + * + */ + public static CompletableFuture getOpensearchSecurityPluginConfigPlain(GetOpensearchSecurityPluginConfigPlainArgs args) { + return getOpensearchSecurityPluginConfigPlain(args, InvokeOptions.Empty); + } + /** + * The OpenSearch Security Plugin Config data source provides information about an existing Aiven OpenSearch Security Plugin Config. + * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aiven.AivenFunctions; + * import com.pulumi.aiven.inputs.GetOpensearchSecurityPluginConfigArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var os-sec-config = AivenFunctions.getOpensearchSecurityPluginConfig(GetOpensearchSecurityPluginConfigArgs.builder() + * .project(aiven_project.os-project().project()) + * .serviceName(aiven_opensearch.os().service_name()) + * .build()); + * + * } + * } + * ``` + * + */ + public static Output getOpensearchSecurityPluginConfig(GetOpensearchSecurityPluginConfigArgs args, InvokeOptions options) { + return Deployment.getInstance().invoke("aiven:index/getOpensearchSecurityPluginConfig:getOpensearchSecurityPluginConfig", TypeShape.of(GetOpensearchSecurityPluginConfigResult.class), args, Utilities.withVersion(options)); + } + /** + * The OpenSearch Security Plugin Config data source provides information about an existing Aiven OpenSearch Security Plugin Config. + * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aiven.AivenFunctions; + * import com.pulumi.aiven.inputs.GetOpensearchSecurityPluginConfigArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var os-sec-config = AivenFunctions.getOpensearchSecurityPluginConfig(GetOpensearchSecurityPluginConfigArgs.builder() + * .project(aiven_project.os-project().project()) + * .serviceName(aiven_opensearch.os().service_name()) + * .build()); + * + * } + * } + * ``` + * + */ + public static CompletableFuture getOpensearchSecurityPluginConfigPlain(GetOpensearchSecurityPluginConfigPlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("aiven:index/getOpensearchSecurityPluginConfig:getOpensearchSecurityPluginConfig", TypeShape.of(GetOpensearchSecurityPluginConfigResult.class), args, Utilities.withVersion(options)); + } /** * The OpenSearch User data source provides information about the existing Aiven OpenSearch User. * diff --git a/sdk/java/src/main/java/com/pulumi/aiven/ClickhouseGrant.java b/sdk/java/src/main/java/com/pulumi/aiven/ClickhouseGrant.java index fe6c82b50..0dbc0d5d5 100644 --- a/sdk/java/src/main/java/com/pulumi/aiven/ClickhouseGrant.java +++ b/sdk/java/src/main/java/com/pulumi/aiven/ClickhouseGrant.java @@ -22,6 +22,7 @@ * * Notes: * * Due to a ambiguity in the GRANT syntax in clickhouse you should not have users and roles with the same name. It is not clear if a grant refers to the user or the role. + * * To grant a privilege on all tables of a database, do not write table = "*". Instead, omit the table and only keep the database. * * Currently changes will first revoke all grants and then reissue the remaining grants for convergence. * * ## Example Usage diff --git a/sdk/java/src/main/java/com/pulumi/aiven/OpenSearchAclConfig.java b/sdk/java/src/main/java/com/pulumi/aiven/OpenSearchAclConfig.java index 963f2c974..5c7d33f9b 100644 --- a/sdk/java/src/main/java/com/pulumi/aiven/OpenSearchAclConfig.java +++ b/sdk/java/src/main/java/com/pulumi/aiven/OpenSearchAclConfig.java @@ -16,7 +16,7 @@ import javax.annotation.Nullable; /** - * The OpenSearch resource allows the creation and management of Aiven OpenSearch services. + * The OpenSearch ACL Config resource allows the creation and management of Aiven OpenSearch ACLs. * * ## Example Usage * ```java diff --git a/sdk/java/src/main/java/com/pulumi/aiven/OpensearchSecurityPluginConfig.java b/sdk/java/src/main/java/com/pulumi/aiven/OpensearchSecurityPluginConfig.java new file mode 100644 index 000000000..6a1f3831c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aiven/OpensearchSecurityPluginConfig.java @@ -0,0 +1,166 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aiven; + +import com.pulumi.aiven.OpensearchSecurityPluginConfigArgs; +import com.pulumi.aiven.Utilities; +import com.pulumi.aiven.inputs.OpensearchSecurityPluginConfigState; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import java.lang.Boolean; +import java.lang.String; +import java.util.List; +import javax.annotation.Nullable; + +/** + * The OpenSearch Security Plugin Config resource allows the creation and management of AivenOpenSearch Security Plugin config. + * + * ## Import + * + * ```sh + * $ pulumi import aiven:index/opensearchSecurityPluginConfig:OpensearchSecurityPluginConfig foo project/service_name + * ``` + * + */ +@ResourceType(type="aiven:index/opensearchSecurityPluginConfig:OpensearchSecurityPluginConfig") +public class OpensearchSecurityPluginConfig extends com.pulumi.resources.CustomResource { + /** + * Whether the os-sec-admin user is enabled. This indicates whether the user management with the security plugin is enabled. This is always true when the os-sec-admin password was set at least once. + * + */ + @Export(name="adminEnabled", refs={Boolean.class}, tree="[0]") + private Output adminEnabled; + + /** + * @return Whether the os-sec-admin user is enabled. This indicates whether the user management with the security plugin is enabled. This is always true when the os-sec-admin password was set at least once. + * + */ + public Output adminEnabled() { + return this.adminEnabled; + } + /** + * The password for the os-sec-admin user. + * + */ + @Export(name="adminPassword", refs={String.class}, tree="[0]") + private Output adminPassword; + + /** + * @return The password for the os-sec-admin user. + * + */ + public Output adminPassword() { + return this.adminPassword; + } + /** + * Whether the security plugin is available. This is always true for recently created services. + * + */ + @Export(name="available", refs={Boolean.class}, tree="[0]") + private Output available; + + /** + * @return Whether the security plugin is available. This is always true for recently created services. + * + */ + public Output available() { + return this.available; + } + /** + * Whether the security plugin is enabled. This is always true for recently created services. + * + */ + @Export(name="enabled", refs={Boolean.class}, tree="[0]") + private Output enabled; + + /** + * @return Whether the security plugin is enabled. This is always true for recently created services. + * + */ + public Output enabled() { + return this.enabled; + } + /** + * Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + * + */ + @Export(name="project", refs={String.class}, tree="[0]") + private Output project; + + /** + * @return Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + * + */ + public Output project() { + return this.project; + } + /** + * Specifies the name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + * + */ + @Export(name="serviceName", refs={String.class}, tree="[0]") + private Output serviceName; + + /** + * @return Specifies the name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + * + */ + public Output serviceName() { + return this.serviceName; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public OpensearchSecurityPluginConfig(String name) { + this(name, OpensearchSecurityPluginConfigArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public OpensearchSecurityPluginConfig(String name, OpensearchSecurityPluginConfigArgs args) { + this(name, args, null); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + * @param options A bag of options that control this resource's behavior. + */ + public OpensearchSecurityPluginConfig(String name, OpensearchSecurityPluginConfigArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aiven:index/opensearchSecurityPluginConfig:OpensearchSecurityPluginConfig", name, args == null ? OpensearchSecurityPluginConfigArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + } + + private OpensearchSecurityPluginConfig(String name, Output id, @Nullable OpensearchSecurityPluginConfigState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aiven:index/opensearchSecurityPluginConfig:OpensearchSecurityPluginConfig", name, state, makeResourceOptions(options, id)); + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .additionalSecretOutputs(List.of( + "adminPassword" + )) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static OpensearchSecurityPluginConfig get(String name, Output id, @Nullable OpensearchSecurityPluginConfigState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new OpensearchSecurityPluginConfig(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aiven/OpensearchSecurityPluginConfigArgs.java b/sdk/java/src/main/java/com/pulumi/aiven/OpensearchSecurityPluginConfigArgs.java new file mode 100644 index 000000000..77561084d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aiven/OpensearchSecurityPluginConfigArgs.java @@ -0,0 +1,158 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aiven; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class OpensearchSecurityPluginConfigArgs extends com.pulumi.resources.ResourceArgs { + + public static final OpensearchSecurityPluginConfigArgs Empty = new OpensearchSecurityPluginConfigArgs(); + + /** + * The password for the os-sec-admin user. + * + */ + @Import(name="adminPassword", required=true) + private Output adminPassword; + + /** + * @return The password for the os-sec-admin user. + * + */ + public Output adminPassword() { + return this.adminPassword; + } + + /** + * Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + * + */ + @Import(name="project", required=true) + private Output project; + + /** + * @return Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + * + */ + public Output project() { + return this.project; + } + + /** + * Specifies the name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + * + */ + @Import(name="serviceName", required=true) + private Output serviceName; + + /** + * @return Specifies the name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + * + */ + public Output serviceName() { + return this.serviceName; + } + + private OpensearchSecurityPluginConfigArgs() {} + + private OpensearchSecurityPluginConfigArgs(OpensearchSecurityPluginConfigArgs $) { + this.adminPassword = $.adminPassword; + this.project = $.project; + this.serviceName = $.serviceName; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(OpensearchSecurityPluginConfigArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private OpensearchSecurityPluginConfigArgs $; + + public Builder() { + $ = new OpensearchSecurityPluginConfigArgs(); + } + + public Builder(OpensearchSecurityPluginConfigArgs defaults) { + $ = new OpensearchSecurityPluginConfigArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param adminPassword The password for the os-sec-admin user. + * + * @return builder + * + */ + public Builder adminPassword(Output adminPassword) { + $.adminPassword = adminPassword; + return this; + } + + /** + * @param adminPassword The password for the os-sec-admin user. + * + * @return builder + * + */ + public Builder adminPassword(String adminPassword) { + return adminPassword(Output.of(adminPassword)); + } + + /** + * @param project Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + * + * @return builder + * + */ + public Builder project(Output project) { + $.project = project; + return this; + } + + /** + * @param project Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + * + * @return builder + * + */ + public Builder project(String project) { + return project(Output.of(project)); + } + + /** + * @param serviceName Specifies the name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + * + * @return builder + * + */ + public Builder serviceName(Output serviceName) { + $.serviceName = serviceName; + return this; + } + + /** + * @param serviceName Specifies the name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + * + * @return builder + * + */ + public Builder serviceName(String serviceName) { + return serviceName(Output.of(serviceName)); + } + + public OpensearchSecurityPluginConfigArgs build() { + $.adminPassword = Objects.requireNonNull($.adminPassword, "expected parameter 'adminPassword' to be non-null"); + $.project = Objects.requireNonNull($.project, "expected parameter 'project' to be non-null"); + $.serviceName = Objects.requireNonNull($.serviceName, "expected parameter 'serviceName' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aiven/Project.java b/sdk/java/src/main/java/com/pulumi/aiven/Project.java index ad7cf8e9e..bab05e2ce 100644 --- a/sdk/java/src/main/java/com/pulumi/aiven/Project.java +++ b/sdk/java/src/main/java/com/pulumi/aiven/Project.java @@ -50,7 +50,11 @@ public Output> accountId() { /** * If parent_id is set, grant account owner team admin access to the new project. The default value is `true`. * + * @deprecated + * This field is deprecated and will be removed in the next major release. Currently, it will always be set to true, regardless of the value set in the manifest. + * */ + @Deprecated /* This field is deprecated and will be removed in the next major release. Currently, it will always be set to true, regardless of the value set in the manifest. */ @Export(name="addAccountOwnersAdminAccess", refs={Boolean.class}, tree="[0]") private Output addAccountOwnersAdminAccess; @@ -218,7 +222,11 @@ public Output>> technicalEmails() { /** * Use the same billing group that is used in source project. * + * @deprecated + * This field is deprecated and will be removed in the next major release. + * */ + @Deprecated /* This field is deprecated and will be removed in the next major release. */ @Export(name="useSourceProjectBillingGroup", refs={Boolean.class}, tree="[0]") private Output useSourceProjectBillingGroup; diff --git a/sdk/java/src/main/java/com/pulumi/aiven/ProjectArgs.java b/sdk/java/src/main/java/com/pulumi/aiven/ProjectArgs.java index dca85a02b..1458e7480 100644 --- a/sdk/java/src/main/java/com/pulumi/aiven/ProjectArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aiven/ProjectArgs.java @@ -44,14 +44,22 @@ public Optional> accountId() { /** * If parent_id is set, grant account owner team admin access to the new project. The default value is `true`. * + * @deprecated + * This field is deprecated and will be removed in the next major release. Currently, it will always be set to true, regardless of the value set in the manifest. + * */ + @Deprecated /* This field is deprecated and will be removed in the next major release. Currently, it will always be set to true, regardless of the value set in the manifest. */ @Import(name="addAccountOwnersAdminAccess") private @Nullable Output addAccountOwnersAdminAccess; /** * @return If parent_id is set, grant account owner team admin access to the new project. The default value is `true`. * + * @deprecated + * This field is deprecated and will be removed in the next major release. Currently, it will always be set to true, regardless of the value set in the manifest. + * */ + @Deprecated /* This field is deprecated and will be removed in the next major release. Currently, it will always be set to true, regardless of the value set in the manifest. */ public Optional> addAccountOwnersAdminAccess() { return Optional.ofNullable(this.addAccountOwnersAdminAccess); } @@ -164,14 +172,22 @@ public Optional>> technicalEmails() { /** * Use the same billing group that is used in source project. * + * @deprecated + * This field is deprecated and will be removed in the next major release. + * */ + @Deprecated /* This field is deprecated and will be removed in the next major release. */ @Import(name="useSourceProjectBillingGroup") private @Nullable Output useSourceProjectBillingGroup; /** * @return Use the same billing group that is used in source project. * + * @deprecated + * This field is deprecated and will be removed in the next major release. + * */ + @Deprecated /* This field is deprecated and will be removed in the next major release. */ public Optional> useSourceProjectBillingGroup() { return Optional.ofNullable(this.useSourceProjectBillingGroup); } @@ -243,7 +259,11 @@ public Builder accountId(String accountId) { * * @return builder * + * @deprecated + * This field is deprecated and will be removed in the next major release. Currently, it will always be set to true, regardless of the value set in the manifest. + * */ + @Deprecated /* This field is deprecated and will be removed in the next major release. Currently, it will always be set to true, regardless of the value set in the manifest. */ public Builder addAccountOwnersAdminAccess(@Nullable Output addAccountOwnersAdminAccess) { $.addAccountOwnersAdminAccess = addAccountOwnersAdminAccess; return this; @@ -254,7 +274,11 @@ public Builder addAccountOwnersAdminAccess(@Nullable Output addAccountO * * @return builder * + * @deprecated + * This field is deprecated and will be removed in the next major release. Currently, it will always be set to true, regardless of the value set in the manifest. + * */ + @Deprecated /* This field is deprecated and will be removed in the next major release. Currently, it will always be set to true, regardless of the value set in the manifest. */ public Builder addAccountOwnersAdminAccess(Boolean addAccountOwnersAdminAccess) { return addAccountOwnersAdminAccess(Output.of(addAccountOwnersAdminAccess)); } @@ -431,7 +455,11 @@ public Builder technicalEmails(String... technicalEmails) { * * @return builder * + * @deprecated + * This field is deprecated and will be removed in the next major release. + * */ + @Deprecated /* This field is deprecated and will be removed in the next major release. */ public Builder useSourceProjectBillingGroup(@Nullable Output useSourceProjectBillingGroup) { $.useSourceProjectBillingGroup = useSourceProjectBillingGroup; return this; @@ -442,7 +470,11 @@ public Builder useSourceProjectBillingGroup(@Nullable Output useSourceP * * @return builder * + * @deprecated + * This field is deprecated and will be removed in the next major release. + * */ + @Deprecated /* This field is deprecated and will be removed in the next major release. */ public Builder useSourceProjectBillingGroup(Boolean useSourceProjectBillingGroup) { return useSourceProjectBillingGroup(Output.of(useSourceProjectBillingGroup)); } diff --git a/sdk/java/src/main/java/com/pulumi/aiven/inputs/GetOpensearchSecurityPluginConfigArgs.java b/sdk/java/src/main/java/com/pulumi/aiven/inputs/GetOpensearchSecurityPluginConfigArgs.java new file mode 100644 index 000000000..cf03b5e4e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aiven/inputs/GetOpensearchSecurityPluginConfigArgs.java @@ -0,0 +1,120 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aiven.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class GetOpensearchSecurityPluginConfigArgs extends com.pulumi.resources.InvokeArgs { + + public static final GetOpensearchSecurityPluginConfigArgs Empty = new GetOpensearchSecurityPluginConfigArgs(); + + /** + * Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + * + */ + @Import(name="project", required=true) + private Output project; + + /** + * @return Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + * + */ + public Output project() { + return this.project; + } + + /** + * Specifies the name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + * + */ + @Import(name="serviceName", required=true) + private Output serviceName; + + /** + * @return Specifies the name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + * + */ + public Output serviceName() { + return this.serviceName; + } + + private GetOpensearchSecurityPluginConfigArgs() {} + + private GetOpensearchSecurityPluginConfigArgs(GetOpensearchSecurityPluginConfigArgs $) { + this.project = $.project; + this.serviceName = $.serviceName; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetOpensearchSecurityPluginConfigArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetOpensearchSecurityPluginConfigArgs $; + + public Builder() { + $ = new GetOpensearchSecurityPluginConfigArgs(); + } + + public Builder(GetOpensearchSecurityPluginConfigArgs defaults) { + $ = new GetOpensearchSecurityPluginConfigArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param project Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + * + * @return builder + * + */ + public Builder project(Output project) { + $.project = project; + return this; + } + + /** + * @param project Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + * + * @return builder + * + */ + public Builder project(String project) { + return project(Output.of(project)); + } + + /** + * @param serviceName Specifies the name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + * + * @return builder + * + */ + public Builder serviceName(Output serviceName) { + $.serviceName = serviceName; + return this; + } + + /** + * @param serviceName Specifies the name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + * + * @return builder + * + */ + public Builder serviceName(String serviceName) { + return serviceName(Output.of(serviceName)); + } + + public GetOpensearchSecurityPluginConfigArgs build() { + $.project = Objects.requireNonNull($.project, "expected parameter 'project' to be non-null"); + $.serviceName = Objects.requireNonNull($.serviceName, "expected parameter 'serviceName' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aiven/inputs/GetOpensearchSecurityPluginConfigPlainArgs.java b/sdk/java/src/main/java/com/pulumi/aiven/inputs/GetOpensearchSecurityPluginConfigPlainArgs.java new file mode 100644 index 000000000..2187ec480 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aiven/inputs/GetOpensearchSecurityPluginConfigPlainArgs.java @@ -0,0 +1,99 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aiven.inputs; + +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class GetOpensearchSecurityPluginConfigPlainArgs extends com.pulumi.resources.InvokeArgs { + + public static final GetOpensearchSecurityPluginConfigPlainArgs Empty = new GetOpensearchSecurityPluginConfigPlainArgs(); + + /** + * Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + * + */ + @Import(name="project", required=true) + private String project; + + /** + * @return Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + * + */ + public String project() { + return this.project; + } + + /** + * Specifies the name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + * + */ + @Import(name="serviceName", required=true) + private String serviceName; + + /** + * @return Specifies the name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + * + */ + public String serviceName() { + return this.serviceName; + } + + private GetOpensearchSecurityPluginConfigPlainArgs() {} + + private GetOpensearchSecurityPluginConfigPlainArgs(GetOpensearchSecurityPluginConfigPlainArgs $) { + this.project = $.project; + this.serviceName = $.serviceName; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetOpensearchSecurityPluginConfigPlainArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetOpensearchSecurityPluginConfigPlainArgs $; + + public Builder() { + $ = new GetOpensearchSecurityPluginConfigPlainArgs(); + } + + public Builder(GetOpensearchSecurityPluginConfigPlainArgs defaults) { + $ = new GetOpensearchSecurityPluginConfigPlainArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param project Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + * + * @return builder + * + */ + public Builder project(String project) { + $.project = project; + return this; + } + + /** + * @param serviceName Specifies the name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + * + * @return builder + * + */ + public Builder serviceName(String serviceName) { + $.serviceName = serviceName; + return this; + } + + public GetOpensearchSecurityPluginConfigPlainArgs build() { + $.project = Objects.requireNonNull($.project, "expected parameter 'project' to be non-null"); + $.serviceName = Objects.requireNonNull($.serviceName, "expected parameter 'serviceName' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aiven/inputs/OpensearchSecurityPluginConfigState.java b/sdk/java/src/main/java/com/pulumi/aiven/inputs/OpensearchSecurityPluginConfigState.java new file mode 100644 index 000000000..4e628f6b5 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aiven/inputs/OpensearchSecurityPluginConfigState.java @@ -0,0 +1,269 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aiven.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class OpensearchSecurityPluginConfigState extends com.pulumi.resources.ResourceArgs { + + public static final OpensearchSecurityPluginConfigState Empty = new OpensearchSecurityPluginConfigState(); + + /** + * Whether the os-sec-admin user is enabled. This indicates whether the user management with the security plugin is enabled. This is always true when the os-sec-admin password was set at least once. + * + */ + @Import(name="adminEnabled") + private @Nullable Output adminEnabled; + + /** + * @return Whether the os-sec-admin user is enabled. This indicates whether the user management with the security plugin is enabled. This is always true when the os-sec-admin password was set at least once. + * + */ + public Optional> adminEnabled() { + return Optional.ofNullable(this.adminEnabled); + } + + /** + * The password for the os-sec-admin user. + * + */ + @Import(name="adminPassword") + private @Nullable Output adminPassword; + + /** + * @return The password for the os-sec-admin user. + * + */ + public Optional> adminPassword() { + return Optional.ofNullable(this.adminPassword); + } + + /** + * Whether the security plugin is available. This is always true for recently created services. + * + */ + @Import(name="available") + private @Nullable Output available; + + /** + * @return Whether the security plugin is available. This is always true for recently created services. + * + */ + public Optional> available() { + return Optional.ofNullable(this.available); + } + + /** + * Whether the security plugin is enabled. This is always true for recently created services. + * + */ + @Import(name="enabled") + private @Nullable Output enabled; + + /** + * @return Whether the security plugin is enabled. This is always true for recently created services. + * + */ + public Optional> enabled() { + return Optional.ofNullable(this.enabled); + } + + /** + * Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + * + */ + @Import(name="project") + private @Nullable Output project; + + /** + * @return Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + * + */ + public Optional> project() { + return Optional.ofNullable(this.project); + } + + /** + * Specifies the name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + * + */ + @Import(name="serviceName") + private @Nullable Output serviceName; + + /** + * @return Specifies the name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + * + */ + public Optional> serviceName() { + return Optional.ofNullable(this.serviceName); + } + + private OpensearchSecurityPluginConfigState() {} + + private OpensearchSecurityPluginConfigState(OpensearchSecurityPluginConfigState $) { + this.adminEnabled = $.adminEnabled; + this.adminPassword = $.adminPassword; + this.available = $.available; + this.enabled = $.enabled; + this.project = $.project; + this.serviceName = $.serviceName; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(OpensearchSecurityPluginConfigState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private OpensearchSecurityPluginConfigState $; + + public Builder() { + $ = new OpensearchSecurityPluginConfigState(); + } + + public Builder(OpensearchSecurityPluginConfigState defaults) { + $ = new OpensearchSecurityPluginConfigState(Objects.requireNonNull(defaults)); + } + + /** + * @param adminEnabled Whether the os-sec-admin user is enabled. This indicates whether the user management with the security plugin is enabled. This is always true when the os-sec-admin password was set at least once. + * + * @return builder + * + */ + public Builder adminEnabled(@Nullable Output adminEnabled) { + $.adminEnabled = adminEnabled; + return this; + } + + /** + * @param adminEnabled Whether the os-sec-admin user is enabled. This indicates whether the user management with the security plugin is enabled. This is always true when the os-sec-admin password was set at least once. + * + * @return builder + * + */ + public Builder adminEnabled(Boolean adminEnabled) { + return adminEnabled(Output.of(adminEnabled)); + } + + /** + * @param adminPassword The password for the os-sec-admin user. + * + * @return builder + * + */ + public Builder adminPassword(@Nullable Output adminPassword) { + $.adminPassword = adminPassword; + return this; + } + + /** + * @param adminPassword The password for the os-sec-admin user. + * + * @return builder + * + */ + public Builder adminPassword(String adminPassword) { + return adminPassword(Output.of(adminPassword)); + } + + /** + * @param available Whether the security plugin is available. This is always true for recently created services. + * + * @return builder + * + */ + public Builder available(@Nullable Output available) { + $.available = available; + return this; + } + + /** + * @param available Whether the security plugin is available. This is always true for recently created services. + * + * @return builder + * + */ + public Builder available(Boolean available) { + return available(Output.of(available)); + } + + /** + * @param enabled Whether the security plugin is enabled. This is always true for recently created services. + * + * @return builder + * + */ + public Builder enabled(@Nullable Output enabled) { + $.enabled = enabled; + return this; + } + + /** + * @param enabled Whether the security plugin is enabled. This is always true for recently created services. + * + * @return builder + * + */ + public Builder enabled(Boolean enabled) { + return enabled(Output.of(enabled)); + } + + /** + * @param project Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + * + * @return builder + * + */ + public Builder project(@Nullable Output project) { + $.project = project; + return this; + } + + /** + * @param project Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + * + * @return builder + * + */ + public Builder project(String project) { + return project(Output.of(project)); + } + + /** + * @param serviceName Specifies the name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + * + * @return builder + * + */ + public Builder serviceName(@Nullable Output serviceName) { + $.serviceName = serviceName; + return this; + } + + /** + * @param serviceName Specifies the name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + * + * @return builder + * + */ + public Builder serviceName(String serviceName) { + return serviceName(Output.of(serviceName)); + } + + public OpensearchSecurityPluginConfigState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aiven/inputs/ProjectState.java b/sdk/java/src/main/java/com/pulumi/aiven/inputs/ProjectState.java index 5c751b5a4..261ae190e 100644 --- a/sdk/java/src/main/java/com/pulumi/aiven/inputs/ProjectState.java +++ b/sdk/java/src/main/java/com/pulumi/aiven/inputs/ProjectState.java @@ -44,14 +44,22 @@ public Optional> accountId() { /** * If parent_id is set, grant account owner team admin access to the new project. The default value is `true`. * + * @deprecated + * This field is deprecated and will be removed in the next major release. Currently, it will always be set to true, regardless of the value set in the manifest. + * */ + @Deprecated /* This field is deprecated and will be removed in the next major release. Currently, it will always be set to true, regardless of the value set in the manifest. */ @Import(name="addAccountOwnersAdminAccess") private @Nullable Output addAccountOwnersAdminAccess; /** * @return If parent_id is set, grant account owner team admin access to the new project. The default value is `true`. * + * @deprecated + * This field is deprecated and will be removed in the next major release. Currently, it will always be set to true, regardless of the value set in the manifest. + * */ + @Deprecated /* This field is deprecated and will be removed in the next major release. Currently, it will always be set to true, regardless of the value set in the manifest. */ public Optional> addAccountOwnersAdminAccess() { return Optional.ofNullable(this.addAccountOwnersAdminAccess); } @@ -224,14 +232,22 @@ public Optional>> technicalEmails() { /** * Use the same billing group that is used in source project. * + * @deprecated + * This field is deprecated and will be removed in the next major release. + * */ + @Deprecated /* This field is deprecated and will be removed in the next major release. */ @Import(name="useSourceProjectBillingGroup") private @Nullable Output useSourceProjectBillingGroup; /** * @return Use the same billing group that is used in source project. * + * @deprecated + * This field is deprecated and will be removed in the next major release. + * */ + @Deprecated /* This field is deprecated and will be removed in the next major release. */ public Optional> useSourceProjectBillingGroup() { return Optional.ofNullable(this.useSourceProjectBillingGroup); } @@ -307,7 +323,11 @@ public Builder accountId(String accountId) { * * @return builder * + * @deprecated + * This field is deprecated and will be removed in the next major release. Currently, it will always be set to true, regardless of the value set in the manifest. + * */ + @Deprecated /* This field is deprecated and will be removed in the next major release. Currently, it will always be set to true, regardless of the value set in the manifest. */ public Builder addAccountOwnersAdminAccess(@Nullable Output addAccountOwnersAdminAccess) { $.addAccountOwnersAdminAccess = addAccountOwnersAdminAccess; return this; @@ -318,7 +338,11 @@ public Builder addAccountOwnersAdminAccess(@Nullable Output addAccountO * * @return builder * + * @deprecated + * This field is deprecated and will be removed in the next major release. Currently, it will always be set to true, regardless of the value set in the manifest. + * */ + @Deprecated /* This field is deprecated and will be removed in the next major release. Currently, it will always be set to true, regardless of the value set in the manifest. */ public Builder addAccountOwnersAdminAccess(Boolean addAccountOwnersAdminAccess) { return addAccountOwnersAdminAccess(Output.of(addAccountOwnersAdminAccess)); } @@ -579,7 +603,11 @@ public Builder technicalEmails(String... technicalEmails) { * * @return builder * + * @deprecated + * This field is deprecated and will be removed in the next major release. + * */ + @Deprecated /* This field is deprecated and will be removed in the next major release. */ public Builder useSourceProjectBillingGroup(@Nullable Output useSourceProjectBillingGroup) { $.useSourceProjectBillingGroup = useSourceProjectBillingGroup; return this; @@ -590,7 +618,11 @@ public Builder useSourceProjectBillingGroup(@Nullable Output useSourceP * * @return builder * + * @deprecated + * This field is deprecated and will be removed in the next major release. + * */ + @Deprecated /* This field is deprecated and will be removed in the next major release. */ public Builder useSourceProjectBillingGroup(Boolean useSourceProjectBillingGroup) { return useSourceProjectBillingGroup(Output.of(useSourceProjectBillingGroup)); } diff --git a/sdk/java/src/main/java/com/pulumi/aiven/outputs/GetOpensearchSecurityPluginConfigResult.java b/sdk/java/src/main/java/com/pulumi/aiven/outputs/GetOpensearchSecurityPluginConfigResult.java new file mode 100644 index 000000000..d6f6a007f --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aiven/outputs/GetOpensearchSecurityPluginConfigResult.java @@ -0,0 +1,175 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aiven.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetOpensearchSecurityPluginConfigResult { + /** + * @return Whether the os-sec-admin user is enabled. This indicates whether the user management with the security plugin is enabled. This is always true when the os-sec-admin password was set at least once. + * + */ + private Boolean adminEnabled; + /** + * @return The password for the os-sec-admin user. + * + */ + private String adminPassword; + /** + * @return Whether the security plugin is available. This is always true for recently created services. + * + */ + private Boolean available; + /** + * @return Whether the security plugin is enabled. This is always true for recently created services. + * + */ + private Boolean enabled; + /** + * @return The provider-assigned unique ID for this managed resource. + * + */ + private String id; + /** + * @return Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + * + */ + private String project; + /** + * @return Specifies the name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + * + */ + private String serviceName; + + private GetOpensearchSecurityPluginConfigResult() {} + /** + * @return Whether the os-sec-admin user is enabled. This indicates whether the user management with the security plugin is enabled. This is always true when the os-sec-admin password was set at least once. + * + */ + public Boolean adminEnabled() { + return this.adminEnabled; + } + /** + * @return The password for the os-sec-admin user. + * + */ + public String adminPassword() { + return this.adminPassword; + } + /** + * @return Whether the security plugin is available. This is always true for recently created services. + * + */ + public Boolean available() { + return this.available; + } + /** + * @return Whether the security plugin is enabled. This is always true for recently created services. + * + */ + public Boolean enabled() { + return this.enabled; + } + /** + * @return The provider-assigned unique ID for this managed resource. + * + */ + public String id() { + return this.id; + } + /** + * @return Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + * + */ + public String project() { + return this.project; + } + /** + * @return Specifies the name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + * + */ + public String serviceName() { + return this.serviceName; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetOpensearchSecurityPluginConfigResult defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private Boolean adminEnabled; + private String adminPassword; + private Boolean available; + private Boolean enabled; + private String id; + private String project; + private String serviceName; + public Builder() {} + public Builder(GetOpensearchSecurityPluginConfigResult defaults) { + Objects.requireNonNull(defaults); + this.adminEnabled = defaults.adminEnabled; + this.adminPassword = defaults.adminPassword; + this.available = defaults.available; + this.enabled = defaults.enabled; + this.id = defaults.id; + this.project = defaults.project; + this.serviceName = defaults.serviceName; + } + + @CustomType.Setter + public Builder adminEnabled(Boolean adminEnabled) { + this.adminEnabled = Objects.requireNonNull(adminEnabled); + return this; + } + @CustomType.Setter + public Builder adminPassword(String adminPassword) { + this.adminPassword = Objects.requireNonNull(adminPassword); + return this; + } + @CustomType.Setter + public Builder available(Boolean available) { + this.available = Objects.requireNonNull(available); + return this; + } + @CustomType.Setter + public Builder enabled(Boolean enabled) { + this.enabled = Objects.requireNonNull(enabled); + return this; + } + @CustomType.Setter + public Builder id(String id) { + this.id = Objects.requireNonNull(id); + return this; + } + @CustomType.Setter + public Builder project(String project) { + this.project = Objects.requireNonNull(project); + return this; + } + @CustomType.Setter + public Builder serviceName(String serviceName) { + this.serviceName = Objects.requireNonNull(serviceName); + return this; + } + public GetOpensearchSecurityPluginConfigResult build() { + final var o = new GetOpensearchSecurityPluginConfigResult(); + o.adminEnabled = adminEnabled; + o.adminPassword = adminPassword; + o.available = available; + o.enabled = enabled; + o.id = id; + o.project = project; + o.serviceName = serviceName; + return o; + } + } +} diff --git a/sdk/nodejs/clickhouseGrant.ts b/sdk/nodejs/clickhouseGrant.ts index fe169b5d2..d66fe7732 100644 --- a/sdk/nodejs/clickhouseGrant.ts +++ b/sdk/nodejs/clickhouseGrant.ts @@ -11,6 +11,7 @@ import * as utilities from "./utilities"; * * Notes: * * Due to a ambiguity in the GRANT syntax in clickhouse you should not have users and roles with the same name. It is not clear if a grant refers to the user or the role. + * * To grant a privilege on all tables of a database, do not write table = "*". Instead, omit the table and only keep the database. * * Currently changes will first revoke all grants and then reissue the remaining grants for convergence. * * ## Example Usage diff --git a/sdk/nodejs/getOpensearchSecurityPluginConfig.ts b/sdk/nodejs/getOpensearchSecurityPluginConfig.ts new file mode 100644 index 000000000..dec3cd23b --- /dev/null +++ b/sdk/nodejs/getOpensearchSecurityPluginConfig.ts @@ -0,0 +1,109 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "./utilities"; + +/** + * The OpenSearch Security Plugin Config data source provides information about an existing Aiven OpenSearch Security Plugin Config. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aiven from "@pulumi/aiven"; + * + * const os-sec-config = aiven.getOpensearchSecurityPluginConfig({ + * project: aiven_project["os-project"].project, + * serviceName: aiven_opensearch.os.service_name, + * }); + * ``` + */ +export function getOpensearchSecurityPluginConfig(args: GetOpensearchSecurityPluginConfigArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("aiven:index/getOpensearchSecurityPluginConfig:getOpensearchSecurityPluginConfig", { + "project": args.project, + "serviceName": args.serviceName, + }, opts); +} + +/** + * A collection of arguments for invoking getOpensearchSecurityPluginConfig. + */ +export interface GetOpensearchSecurityPluginConfigArgs { + /** + * Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + */ + project: string; + /** + * Specifies the name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + */ + serviceName: string; +} + +/** + * A collection of values returned by getOpensearchSecurityPluginConfig. + */ +export interface GetOpensearchSecurityPluginConfigResult { + /** + * Whether the os-sec-admin user is enabled. This indicates whether the user management with the security plugin is enabled. This is always true when the os-sec-admin password was set at least once. + */ + readonly adminEnabled: boolean; + /** + * The password for the os-sec-admin user. + */ + readonly adminPassword: string; + /** + * Whether the security plugin is available. This is always true for recently created services. + */ + readonly available: boolean; + /** + * Whether the security plugin is enabled. This is always true for recently created services. + */ + readonly enabled: boolean; + /** + * The provider-assigned unique ID for this managed resource. + */ + readonly id: string; + /** + * Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + */ + readonly project: string; + /** + * Specifies the name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + */ + readonly serviceName: string; +} +/** + * The OpenSearch Security Plugin Config data source provides information about an existing Aiven OpenSearch Security Plugin Config. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aiven from "@pulumi/aiven"; + * + * const os-sec-config = aiven.getOpensearchSecurityPluginConfig({ + * project: aiven_project["os-project"].project, + * serviceName: aiven_opensearch.os.service_name, + * }); + * ``` + */ +export function getOpensearchSecurityPluginConfigOutput(args: GetOpensearchSecurityPluginConfigOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getOpensearchSecurityPluginConfig(a, opts)) +} + +/** + * A collection of arguments for invoking getOpensearchSecurityPluginConfig. + */ +export interface GetOpensearchSecurityPluginConfigOutputArgs { + /** + * Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + */ + project: pulumi.Input; + /** + * Specifies the name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + */ + serviceName: pulumi.Input; +} diff --git a/sdk/nodejs/index.ts b/sdk/nodejs/index.ts index a3ee821d9..50bae8c4f 100644 --- a/sdk/nodejs/index.ts +++ b/sdk/nodejs/index.ts @@ -365,6 +365,11 @@ export const getOpenSearchAclRule: typeof import("./getOpenSearchAclRule").getOp export const getOpenSearchAclRuleOutput: typeof import("./getOpenSearchAclRule").getOpenSearchAclRuleOutput = null as any; utilities.lazyLoad(exports, ["getOpenSearchAclRule","getOpenSearchAclRuleOutput"], () => require("./getOpenSearchAclRule")); +export { GetOpensearchSecurityPluginConfigArgs, GetOpensearchSecurityPluginConfigResult, GetOpensearchSecurityPluginConfigOutputArgs } from "./getOpensearchSecurityPluginConfig"; +export const getOpensearchSecurityPluginConfig: typeof import("./getOpensearchSecurityPluginConfig").getOpensearchSecurityPluginConfig = null as any; +export const getOpensearchSecurityPluginConfigOutput: typeof import("./getOpensearchSecurityPluginConfig").getOpensearchSecurityPluginConfigOutput = null as any; +utilities.lazyLoad(exports, ["getOpensearchSecurityPluginConfig","getOpensearchSecurityPluginConfigOutput"], () => require("./getOpensearchSecurityPluginConfig")); + export { GetOpensearchUserArgs, GetOpensearchUserResult, GetOpensearchUserOutputArgs } from "./getOpensearchUser"; export const getOpensearchUser: typeof import("./getOpensearchUser").getOpensearchUser = null as any; export const getOpensearchUserOutput: typeof import("./getOpensearchUser").getOpensearchUserOutput = null as any; @@ -570,6 +575,11 @@ export type OpenSearchAclRule = import("./openSearchAclRule").OpenSearchAclRule; export const OpenSearchAclRule: typeof import("./openSearchAclRule").OpenSearchAclRule = null as any; utilities.lazyLoad(exports, ["OpenSearchAclRule"], () => require("./openSearchAclRule")); +export { OpensearchSecurityPluginConfigArgs, OpensearchSecurityPluginConfigState } from "./opensearchSecurityPluginConfig"; +export type OpensearchSecurityPluginConfig = import("./opensearchSecurityPluginConfig").OpensearchSecurityPluginConfig; +export const OpensearchSecurityPluginConfig: typeof import("./opensearchSecurityPluginConfig").OpensearchSecurityPluginConfig = null as any; +utilities.lazyLoad(exports, ["OpensearchSecurityPluginConfig"], () => require("./opensearchSecurityPluginConfig")); + export { OpensearchUserArgs, OpensearchUserState } from "./opensearchUser"; export type OpensearchUser = import("./opensearchUser").OpensearchUser; export const OpensearchUser: typeof import("./opensearchUser").OpensearchUser = null as any; @@ -774,6 +784,8 @@ const _module = { return new OpenSearchAclConfig(name, undefined, { urn }) case "aiven:index/openSearchAclRule:OpenSearchAclRule": return new OpenSearchAclRule(name, undefined, { urn }) + case "aiven:index/opensearchSecurityPluginConfig:OpensearchSecurityPluginConfig": + return new OpensearchSecurityPluginConfig(name, undefined, { urn }) case "aiven:index/opensearchUser:OpensearchUser": return new OpensearchUser(name, undefined, { urn }) case "aiven:index/organization:Organization": @@ -863,6 +875,7 @@ pulumi.runtime.registerResourceModule("aiven", "index/mysqlUser", _module) pulumi.runtime.registerResourceModule("aiven", "index/openSearch", _module) pulumi.runtime.registerResourceModule("aiven", "index/openSearchAclConfig", _module) pulumi.runtime.registerResourceModule("aiven", "index/openSearchAclRule", _module) +pulumi.runtime.registerResourceModule("aiven", "index/opensearchSecurityPluginConfig", _module) pulumi.runtime.registerResourceModule("aiven", "index/opensearchUser", _module) pulumi.runtime.registerResourceModule("aiven", "index/organization", _module) pulumi.runtime.registerResourceModule("aiven", "index/organizationUser", _module) diff --git a/sdk/nodejs/openSearchAclConfig.ts b/sdk/nodejs/openSearchAclConfig.ts index 579b8a977..9bf89b215 100644 --- a/sdk/nodejs/openSearchAclConfig.ts +++ b/sdk/nodejs/openSearchAclConfig.ts @@ -5,7 +5,7 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "./utilities"; /** - * The OpenSearch resource allows the creation and management of Aiven OpenSearch services. + * The OpenSearch ACL Config resource allows the creation and management of Aiven OpenSearch ACLs. * * ## Example Usage * diff --git a/sdk/nodejs/opensearchSecurityPluginConfig.ts b/sdk/nodejs/opensearchSecurityPluginConfig.ts new file mode 100644 index 000000000..fca5634d5 --- /dev/null +++ b/sdk/nodejs/opensearchSecurityPluginConfig.ts @@ -0,0 +1,159 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "./utilities"; + +/** + * The OpenSearch Security Plugin Config resource allows the creation and management of AivenOpenSearch Security Plugin config. + * + * ## Import + * + * ```sh + * $ pulumi import aiven:index/opensearchSecurityPluginConfig:OpensearchSecurityPluginConfig foo project/service_name + * ``` + */ +export class OpensearchSecurityPluginConfig extends pulumi.CustomResource { + /** + * Get an existing OpensearchSecurityPluginConfig resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: OpensearchSecurityPluginConfigState, opts?: pulumi.CustomResourceOptions): OpensearchSecurityPluginConfig { + return new OpensearchSecurityPluginConfig(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aiven:index/opensearchSecurityPluginConfig:OpensearchSecurityPluginConfig'; + + /** + * Returns true if the given object is an instance of OpensearchSecurityPluginConfig. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is OpensearchSecurityPluginConfig { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === OpensearchSecurityPluginConfig.__pulumiType; + } + + /** + * Whether the os-sec-admin user is enabled. This indicates whether the user management with the security plugin is enabled. This is always true when the os-sec-admin password was set at least once. + */ + public /*out*/ readonly adminEnabled!: pulumi.Output; + /** + * The password for the os-sec-admin user. + */ + public readonly adminPassword!: pulumi.Output; + /** + * Whether the security plugin is available. This is always true for recently created services. + */ + public /*out*/ readonly available!: pulumi.Output; + /** + * Whether the security plugin is enabled. This is always true for recently created services. + */ + public /*out*/ readonly enabled!: pulumi.Output; + /** + * Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + */ + public readonly project!: pulumi.Output; + /** + * Specifies the name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + */ + public readonly serviceName!: pulumi.Output; + + /** + * Create a OpensearchSecurityPluginConfig resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: OpensearchSecurityPluginConfigArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: OpensearchSecurityPluginConfigArgs | OpensearchSecurityPluginConfigState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as OpensearchSecurityPluginConfigState | undefined; + resourceInputs["adminEnabled"] = state ? state.adminEnabled : undefined; + resourceInputs["adminPassword"] = state ? state.adminPassword : undefined; + resourceInputs["available"] = state ? state.available : undefined; + resourceInputs["enabled"] = state ? state.enabled : undefined; + resourceInputs["project"] = state ? state.project : undefined; + resourceInputs["serviceName"] = state ? state.serviceName : undefined; + } else { + const args = argsOrState as OpensearchSecurityPluginConfigArgs | undefined; + if ((!args || args.adminPassword === undefined) && !opts.urn) { + throw new Error("Missing required property 'adminPassword'"); + } + if ((!args || args.project === undefined) && !opts.urn) { + throw new Error("Missing required property 'project'"); + } + if ((!args || args.serviceName === undefined) && !opts.urn) { + throw new Error("Missing required property 'serviceName'"); + } + resourceInputs["adminPassword"] = args?.adminPassword ? pulumi.secret(args.adminPassword) : undefined; + resourceInputs["project"] = args ? args.project : undefined; + resourceInputs["serviceName"] = args ? args.serviceName : undefined; + resourceInputs["adminEnabled"] = undefined /*out*/; + resourceInputs["available"] = undefined /*out*/; + resourceInputs["enabled"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const secretOpts = { additionalSecretOutputs: ["adminPassword"] }; + opts = pulumi.mergeOptions(opts, secretOpts); + super(OpensearchSecurityPluginConfig.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering OpensearchSecurityPluginConfig resources. + */ +export interface OpensearchSecurityPluginConfigState { + /** + * Whether the os-sec-admin user is enabled. This indicates whether the user management with the security plugin is enabled. This is always true when the os-sec-admin password was set at least once. + */ + adminEnabled?: pulumi.Input; + /** + * The password for the os-sec-admin user. + */ + adminPassword?: pulumi.Input; + /** + * Whether the security plugin is available. This is always true for recently created services. + */ + available?: pulumi.Input; + /** + * Whether the security plugin is enabled. This is always true for recently created services. + */ + enabled?: pulumi.Input; + /** + * Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + */ + project?: pulumi.Input; + /** + * Specifies the name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + */ + serviceName?: pulumi.Input; +} + +/** + * The set of arguments for constructing a OpensearchSecurityPluginConfig resource. + */ +export interface OpensearchSecurityPluginConfigArgs { + /** + * The password for the os-sec-admin user. + */ + adminPassword: pulumi.Input; + /** + * Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + */ + project: pulumi.Input; + /** + * Specifies the name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + */ + serviceName: pulumi.Input; +} diff --git a/sdk/nodejs/project.ts b/sdk/nodejs/project.ts index 939f8a3b4..4aef19cbb 100644 --- a/sdk/nodejs/project.ts +++ b/sdk/nodejs/project.ts @@ -51,6 +51,8 @@ export class Project extends pulumi.CustomResource { public readonly accountId!: pulumi.Output; /** * If parentId is set, grant account owner team admin access to the new project. The default value is `true`. + * + * @deprecated This field is deprecated and will be removed in the next major release. Currently, it will always be set to true, regardless of the value set in the manifest. */ public readonly addAccountOwnersAdminAccess!: pulumi.Output; /** @@ -99,6 +101,8 @@ export class Project extends pulumi.CustomResource { public readonly technicalEmails!: pulumi.Output; /** * Use the same billing group that is used in source project. + * + * @deprecated This field is deprecated and will be removed in the next major release. */ public readonly useSourceProjectBillingGroup!: pulumi.Output; @@ -168,6 +172,8 @@ export interface ProjectState { accountId?: pulumi.Input; /** * If parentId is set, grant account owner team admin access to the new project. The default value is `true`. + * + * @deprecated This field is deprecated and will be removed in the next major release. Currently, it will always be set to true, regardless of the value set in the manifest. */ addAccountOwnersAdminAccess?: pulumi.Input; /** @@ -216,6 +222,8 @@ export interface ProjectState { technicalEmails?: pulumi.Input[]>; /** * Use the same billing group that is used in source project. + * + * @deprecated This field is deprecated and will be removed in the next major release. */ useSourceProjectBillingGroup?: pulumi.Input; } @@ -232,6 +240,8 @@ export interface ProjectArgs { accountId?: pulumi.Input; /** * If parentId is set, grant account owner team admin access to the new project. The default value is `true`. + * + * @deprecated This field is deprecated and will be removed in the next major release. Currently, it will always be set to true, regardless of the value set in the manifest. */ addAccountOwnersAdminAccess?: pulumi.Input; /** @@ -264,6 +274,8 @@ export interface ProjectArgs { technicalEmails?: pulumi.Input[]>; /** * Use the same billing group that is used in source project. + * + * @deprecated This field is deprecated and will be removed in the next major release. */ useSourceProjectBillingGroup?: pulumi.Input; } diff --git a/sdk/nodejs/tsconfig.json b/sdk/nodejs/tsconfig.json index db63d1dfe..158cb81d6 100644 --- a/sdk/nodejs/tsconfig.json +++ b/sdk/nodejs/tsconfig.json @@ -87,6 +87,7 @@ "getOpenSearch.ts", "getOpenSearchAclConfig.ts", "getOpenSearchAclRule.ts", + "getOpensearchSecurityPluginConfig.ts", "getOpensearchUser.ts", "getOrganization.ts", "getOrganizationUser.ts", @@ -129,6 +130,7 @@ "openSearch.ts", "openSearchAclConfig.ts", "openSearchAclRule.ts", + "opensearchSecurityPluginConfig.ts", "opensearchUser.ts", "organization.ts", "organizationUser.ts", diff --git a/sdk/python/pulumi_aiven/__init__.py b/sdk/python/pulumi_aiven/__init__.py index 158bfea2f..77fd26ed3 100644 --- a/sdk/python/pulumi_aiven/__init__.py +++ b/sdk/python/pulumi_aiven/__init__.py @@ -77,6 +77,7 @@ from .get_open_search import * from .get_open_search_acl_config import * from .get_open_search_acl_rule import * +from .get_opensearch_security_plugin_config import * from .get_opensearch_user import * from .get_organization import * from .get_organization_user import * @@ -118,6 +119,7 @@ from .open_search import * from .open_search_acl_config import * from .open_search_acl_rule import * +from .opensearch_security_plugin_config import * from .opensearch_user import * from .organization import * from .organization_user import * @@ -549,6 +551,14 @@ "aiven:index/openSearchAclRule:OpenSearchAclRule": "OpenSearchAclRule" } }, + { + "pkg": "aiven", + "mod": "index/opensearchSecurityPluginConfig", + "fqn": "pulumi_aiven", + "classes": { + "aiven:index/opensearchSecurityPluginConfig:OpensearchSecurityPluginConfig": "OpensearchSecurityPluginConfig" + } + }, { "pkg": "aiven", "mod": "index/opensearchUser", diff --git a/sdk/python/pulumi_aiven/clickhouse_grant.py b/sdk/python/pulumi_aiven/clickhouse_grant.py index 09ed9b749..7fe832dda 100644 --- a/sdk/python/pulumi_aiven/clickhouse_grant.py +++ b/sdk/python/pulumi_aiven/clickhouse_grant.py @@ -236,6 +236,7 @@ def __init__(__self__, Notes: * Due to a ambiguity in the GRANT syntax in clickhouse you should not have users and roles with the same name. It is not clear if a grant refers to the user or the role. + * To grant a privilege on all tables of a database, do not write table = "*". Instead, omit the table and only keep the database. * Currently changes will first revoke all grants and then reissue the remaining grants for convergence. ## Example Usage @@ -304,6 +305,7 @@ def __init__(__self__, Notes: * Due to a ambiguity in the GRANT syntax in clickhouse you should not have users and roles with the same name. It is not clear if a grant refers to the user or the role. + * To grant a privilege on all tables of a database, do not write table = "*". Instead, omit the table and only keep the database. * Currently changes will first revoke all grants and then reissue the remaining grants for convergence. ## Example Usage diff --git a/sdk/python/pulumi_aiven/get_opensearch_security_plugin_config.py b/sdk/python/pulumi_aiven/get_opensearch_security_plugin_config.py new file mode 100644 index 000000000..a8ba5afe1 --- /dev/null +++ b/sdk/python/pulumi_aiven/get_opensearch_security_plugin_config.py @@ -0,0 +1,176 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = [ + 'GetOpensearchSecurityPluginConfigResult', + 'AwaitableGetOpensearchSecurityPluginConfigResult', + 'get_opensearch_security_plugin_config', + 'get_opensearch_security_plugin_config_output', +] + +@pulumi.output_type +class GetOpensearchSecurityPluginConfigResult: + """ + A collection of values returned by getOpensearchSecurityPluginConfig. + """ + def __init__(__self__, admin_enabled=None, admin_password=None, available=None, enabled=None, id=None, project=None, service_name=None): + if admin_enabled and not isinstance(admin_enabled, bool): + raise TypeError("Expected argument 'admin_enabled' to be a bool") + pulumi.set(__self__, "admin_enabled", admin_enabled) + if admin_password and not isinstance(admin_password, str): + raise TypeError("Expected argument 'admin_password' to be a str") + pulumi.set(__self__, "admin_password", admin_password) + if available and not isinstance(available, bool): + raise TypeError("Expected argument 'available' to be a bool") + pulumi.set(__self__, "available", available) + if enabled and not isinstance(enabled, bool): + raise TypeError("Expected argument 'enabled' to be a bool") + pulumi.set(__self__, "enabled", enabled) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if project and not isinstance(project, str): + raise TypeError("Expected argument 'project' to be a str") + pulumi.set(__self__, "project", project) + if service_name and not isinstance(service_name, str): + raise TypeError("Expected argument 'service_name' to be a str") + pulumi.set(__self__, "service_name", service_name) + + @property + @pulumi.getter(name="adminEnabled") + def admin_enabled(self) -> bool: + """ + Whether the os-sec-admin user is enabled. This indicates whether the user management with the security plugin is enabled. This is always true when the os-sec-admin password was set at least once. + """ + return pulumi.get(self, "admin_enabled") + + @property + @pulumi.getter(name="adminPassword") + def admin_password(self) -> str: + """ + The password for the os-sec-admin user. + """ + return pulumi.get(self, "admin_password") + + @property + @pulumi.getter + def available(self) -> bool: + """ + Whether the security plugin is available. This is always true for recently created services. + """ + return pulumi.get(self, "available") + + @property + @pulumi.getter + def enabled(self) -> bool: + """ + Whether the security plugin is enabled. This is always true for recently created services. + """ + return pulumi.get(self, "enabled") + + @property + @pulumi.getter + def id(self) -> str: + """ + The provider-assigned unique ID for this managed resource. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def project(self) -> str: + """ + Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + """ + return pulumi.get(self, "project") + + @property + @pulumi.getter(name="serviceName") + def service_name(self) -> str: + """ + Specifies the name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + """ + return pulumi.get(self, "service_name") + + +class AwaitableGetOpensearchSecurityPluginConfigResult(GetOpensearchSecurityPluginConfigResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetOpensearchSecurityPluginConfigResult( + admin_enabled=self.admin_enabled, + admin_password=self.admin_password, + available=self.available, + enabled=self.enabled, + id=self.id, + project=self.project, + service_name=self.service_name) + + +def get_opensearch_security_plugin_config(project: Optional[str] = None, + service_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetOpensearchSecurityPluginConfigResult: + """ + The OpenSearch Security Plugin Config data source provides information about an existing Aiven OpenSearch Security Plugin Config. + + ## Example Usage + + ```python + import pulumi + import pulumi_aiven as aiven + + os_sec_config = aiven.get_opensearch_security_plugin_config(project=aiven_project["os-project"]["project"], + service_name=aiven_opensearch["os"]["service_name"]) + ``` + + + :param str project: Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + :param str service_name: Specifies the name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + """ + __args__ = dict() + __args__['project'] = project + __args__['serviceName'] = service_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('aiven:index/getOpensearchSecurityPluginConfig:getOpensearchSecurityPluginConfig', __args__, opts=opts, typ=GetOpensearchSecurityPluginConfigResult).value + + return AwaitableGetOpensearchSecurityPluginConfigResult( + admin_enabled=pulumi.get(__ret__, 'admin_enabled'), + admin_password=pulumi.get(__ret__, 'admin_password'), + available=pulumi.get(__ret__, 'available'), + enabled=pulumi.get(__ret__, 'enabled'), + id=pulumi.get(__ret__, 'id'), + project=pulumi.get(__ret__, 'project'), + service_name=pulumi.get(__ret__, 'service_name')) + + +@_utilities.lift_output_func(get_opensearch_security_plugin_config) +def get_opensearch_security_plugin_config_output(project: Optional[pulumi.Input[str]] = None, + service_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetOpensearchSecurityPluginConfigResult]: + """ + The OpenSearch Security Plugin Config data source provides information about an existing Aiven OpenSearch Security Plugin Config. + + ## Example Usage + + ```python + import pulumi + import pulumi_aiven as aiven + + os_sec_config = aiven.get_opensearch_security_plugin_config(project=aiven_project["os-project"]["project"], + service_name=aiven_opensearch["os"]["service_name"]) + ``` + + + :param str project: Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + :param str service_name: Specifies the name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + """ + ... diff --git a/sdk/python/pulumi_aiven/open_search_acl_config.py b/sdk/python/pulumi_aiven/open_search_acl_config.py index 5c2f81dce..d0e9e6593 100644 --- a/sdk/python/pulumi_aiven/open_search_acl_config.py +++ b/sdk/python/pulumi_aiven/open_search_acl_config.py @@ -164,7 +164,7 @@ def __init__(__self__, service_name: Optional[pulumi.Input[str]] = None, __props__=None): """ - The OpenSearch resource allows the creation and management of Aiven OpenSearch services. + The OpenSearch ACL Config resource allows the creation and management of Aiven OpenSearch ACLs. ## Example Usage @@ -211,7 +211,7 @@ def __init__(__self__, args: OpenSearchAclConfigArgs, opts: Optional[pulumi.ResourceOptions] = None): """ - The OpenSearch resource allows the creation and management of Aiven OpenSearch services. + The OpenSearch ACL Config resource allows the creation and management of Aiven OpenSearch ACLs. ## Example Usage diff --git a/sdk/python/pulumi_aiven/opensearch_security_plugin_config.py b/sdk/python/pulumi_aiven/opensearch_security_plugin_config.py new file mode 100644 index 000000000..12cdc5309 --- /dev/null +++ b/sdk/python/pulumi_aiven/opensearch_security_plugin_config.py @@ -0,0 +1,340 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['OpensearchSecurityPluginConfigArgs', 'OpensearchSecurityPluginConfig'] + +@pulumi.input_type +class OpensearchSecurityPluginConfigArgs: + def __init__(__self__, *, + admin_password: pulumi.Input[str], + project: pulumi.Input[str], + service_name: pulumi.Input[str]): + """ + The set of arguments for constructing a OpensearchSecurityPluginConfig resource. + :param pulumi.Input[str] admin_password: The password for the os-sec-admin user. + :param pulumi.Input[str] project: Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + :param pulumi.Input[str] service_name: Specifies the name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + """ + pulumi.set(__self__, "admin_password", admin_password) + pulumi.set(__self__, "project", project) + pulumi.set(__self__, "service_name", service_name) + + @property + @pulumi.getter(name="adminPassword") + def admin_password(self) -> pulumi.Input[str]: + """ + The password for the os-sec-admin user. + """ + return pulumi.get(self, "admin_password") + + @admin_password.setter + def admin_password(self, value: pulumi.Input[str]): + pulumi.set(self, "admin_password", value) + + @property + @pulumi.getter + def project(self) -> pulumi.Input[str]: + """ + Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + """ + return pulumi.get(self, "project") + + @project.setter + def project(self, value: pulumi.Input[str]): + pulumi.set(self, "project", value) + + @property + @pulumi.getter(name="serviceName") + def service_name(self) -> pulumi.Input[str]: + """ + Specifies the name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + """ + return pulumi.get(self, "service_name") + + @service_name.setter + def service_name(self, value: pulumi.Input[str]): + pulumi.set(self, "service_name", value) + + +@pulumi.input_type +class _OpensearchSecurityPluginConfigState: + def __init__(__self__, *, + admin_enabled: Optional[pulumi.Input[bool]] = None, + admin_password: Optional[pulumi.Input[str]] = None, + available: Optional[pulumi.Input[bool]] = None, + enabled: Optional[pulumi.Input[bool]] = None, + project: Optional[pulumi.Input[str]] = None, + service_name: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering OpensearchSecurityPluginConfig resources. + :param pulumi.Input[bool] admin_enabled: Whether the os-sec-admin user is enabled. This indicates whether the user management with the security plugin is enabled. This is always true when the os-sec-admin password was set at least once. + :param pulumi.Input[str] admin_password: The password for the os-sec-admin user. + :param pulumi.Input[bool] available: Whether the security plugin is available. This is always true for recently created services. + :param pulumi.Input[bool] enabled: Whether the security plugin is enabled. This is always true for recently created services. + :param pulumi.Input[str] project: Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + :param pulumi.Input[str] service_name: Specifies the name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + """ + if admin_enabled is not None: + pulumi.set(__self__, "admin_enabled", admin_enabled) + if admin_password is not None: + pulumi.set(__self__, "admin_password", admin_password) + if available is not None: + pulumi.set(__self__, "available", available) + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + if project is not None: + pulumi.set(__self__, "project", project) + if service_name is not None: + pulumi.set(__self__, "service_name", service_name) + + @property + @pulumi.getter(name="adminEnabled") + def admin_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Whether the os-sec-admin user is enabled. This indicates whether the user management with the security plugin is enabled. This is always true when the os-sec-admin password was set at least once. + """ + return pulumi.get(self, "admin_enabled") + + @admin_enabled.setter + def admin_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "admin_enabled", value) + + @property + @pulumi.getter(name="adminPassword") + def admin_password(self) -> Optional[pulumi.Input[str]]: + """ + The password for the os-sec-admin user. + """ + return pulumi.get(self, "admin_password") + + @admin_password.setter + def admin_password(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "admin_password", value) + + @property + @pulumi.getter + def available(self) -> Optional[pulumi.Input[bool]]: + """ + Whether the security plugin is available. This is always true for recently created services. + """ + return pulumi.get(self, "available") + + @available.setter + def available(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "available", value) + + @property + @pulumi.getter + def enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Whether the security plugin is enabled. This is always true for recently created services. + """ + return pulumi.get(self, "enabled") + + @enabled.setter + def enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enabled", value) + + @property + @pulumi.getter + def project(self) -> Optional[pulumi.Input[str]]: + """ + Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + """ + return pulumi.get(self, "project") + + @project.setter + def project(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "project", value) + + @property + @pulumi.getter(name="serviceName") + def service_name(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + """ + return pulumi.get(self, "service_name") + + @service_name.setter + def service_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "service_name", value) + + +class OpensearchSecurityPluginConfig(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + admin_password: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + service_name: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + The OpenSearch Security Plugin Config resource allows the creation and management of AivenOpenSearch Security Plugin config. + + ## Import + + ```sh + $ pulumi import aiven:index/opensearchSecurityPluginConfig:OpensearchSecurityPluginConfig foo project/service_name + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] admin_password: The password for the os-sec-admin user. + :param pulumi.Input[str] project: Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + :param pulumi.Input[str] service_name: Specifies the name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: OpensearchSecurityPluginConfigArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + The OpenSearch Security Plugin Config resource allows the creation and management of AivenOpenSearch Security Plugin config. + + ## Import + + ```sh + $ pulumi import aiven:index/opensearchSecurityPluginConfig:OpensearchSecurityPluginConfig foo project/service_name + ``` + + :param str resource_name: The name of the resource. + :param OpensearchSecurityPluginConfigArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(OpensearchSecurityPluginConfigArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + admin_password: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + service_name: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = OpensearchSecurityPluginConfigArgs.__new__(OpensearchSecurityPluginConfigArgs) + + if admin_password is None and not opts.urn: + raise TypeError("Missing required property 'admin_password'") + __props__.__dict__["admin_password"] = None if admin_password is None else pulumi.Output.secret(admin_password) + if project is None and not opts.urn: + raise TypeError("Missing required property 'project'") + __props__.__dict__["project"] = project + if service_name is None and not opts.urn: + raise TypeError("Missing required property 'service_name'") + __props__.__dict__["service_name"] = service_name + __props__.__dict__["admin_enabled"] = None + __props__.__dict__["available"] = None + __props__.__dict__["enabled"] = None + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["adminPassword"]) + opts = pulumi.ResourceOptions.merge(opts, secret_opts) + super(OpensearchSecurityPluginConfig, __self__).__init__( + 'aiven:index/opensearchSecurityPluginConfig:OpensearchSecurityPluginConfig', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + admin_enabled: Optional[pulumi.Input[bool]] = None, + admin_password: Optional[pulumi.Input[str]] = None, + available: Optional[pulumi.Input[bool]] = None, + enabled: Optional[pulumi.Input[bool]] = None, + project: Optional[pulumi.Input[str]] = None, + service_name: Optional[pulumi.Input[str]] = None) -> 'OpensearchSecurityPluginConfig': + """ + Get an existing OpensearchSecurityPluginConfig resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[bool] admin_enabled: Whether the os-sec-admin user is enabled. This indicates whether the user management with the security plugin is enabled. This is always true when the os-sec-admin password was set at least once. + :param pulumi.Input[str] admin_password: The password for the os-sec-admin user. + :param pulumi.Input[bool] available: Whether the security plugin is available. This is always true for recently created services. + :param pulumi.Input[bool] enabled: Whether the security plugin is enabled. This is always true for recently created services. + :param pulumi.Input[str] project: Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + :param pulumi.Input[str] service_name: Specifies the name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _OpensearchSecurityPluginConfigState.__new__(_OpensearchSecurityPluginConfigState) + + __props__.__dict__["admin_enabled"] = admin_enabled + __props__.__dict__["admin_password"] = admin_password + __props__.__dict__["available"] = available + __props__.__dict__["enabled"] = enabled + __props__.__dict__["project"] = project + __props__.__dict__["service_name"] = service_name + return OpensearchSecurityPluginConfig(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="adminEnabled") + def admin_enabled(self) -> pulumi.Output[bool]: + """ + Whether the os-sec-admin user is enabled. This indicates whether the user management with the security plugin is enabled. This is always true when the os-sec-admin password was set at least once. + """ + return pulumi.get(self, "admin_enabled") + + @property + @pulumi.getter(name="adminPassword") + def admin_password(self) -> pulumi.Output[str]: + """ + The password for the os-sec-admin user. + """ + return pulumi.get(self, "admin_password") + + @property + @pulumi.getter + def available(self) -> pulumi.Output[bool]: + """ + Whether the security plugin is available. This is always true for recently created services. + """ + return pulumi.get(self, "available") + + @property + @pulumi.getter + def enabled(self) -> pulumi.Output[bool]: + """ + Whether the security plugin is enabled. This is always true for recently created services. + """ + return pulumi.get(self, "enabled") + + @property + @pulumi.getter + def project(self) -> pulumi.Output[str]: + """ + Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + """ + return pulumi.get(self, "project") + + @property + @pulumi.getter(name="serviceName") + def service_name(self) -> pulumi.Output[str]: + """ + Specifies the name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource. + """ + return pulumi.get(self, "service_name") + diff --git a/sdk/python/pulumi_aiven/project.py b/sdk/python/pulumi_aiven/project.py index 8d24af161..6ef55b6c4 100644 --- a/sdk/python/pulumi_aiven/project.py +++ b/sdk/python/pulumi_aiven/project.py @@ -45,6 +45,9 @@ def __init__(__self__, *, pulumi.log.warn("""account_id is deprecated: Use parent_id instead. This field will be removed in the next major release.""") if account_id is not None: pulumi.set(__self__, "account_id", account_id) + if add_account_owners_admin_access is not None: + warnings.warn("""This field is deprecated and will be removed in the next major release. Currently, it will always be set to true, regardless of the value set in the manifest.""", DeprecationWarning) + pulumi.log.warn("""add_account_owners_admin_access is deprecated: This field is deprecated and will be removed in the next major release. Currently, it will always be set to true, regardless of the value set in the manifest.""") if add_account_owners_admin_access is not None: pulumi.set(__self__, "add_account_owners_admin_access", add_account_owners_admin_access) if billing_group is not None: @@ -59,6 +62,9 @@ def __init__(__self__, *, pulumi.set(__self__, "tags", tags) if technical_emails is not None: pulumi.set(__self__, "technical_emails", technical_emails) + if use_source_project_billing_group is not None: + warnings.warn("""This field is deprecated and will be removed in the next major release.""", DeprecationWarning) + pulumi.log.warn("""use_source_project_billing_group is deprecated: This field is deprecated and will be removed in the next major release.""") if use_source_project_billing_group is not None: pulumi.set(__self__, "use_source_project_billing_group", use_source_project_billing_group) @@ -95,6 +101,9 @@ def add_account_owners_admin_access(self) -> Optional[pulumi.Input[bool]]: """ If parent_id is set, grant account owner team admin access to the new project. The default value is `true`. """ + warnings.warn("""This field is deprecated and will be removed in the next major release. Currently, it will always be set to true, regardless of the value set in the manifest.""", DeprecationWarning) + pulumi.log.warn("""add_account_owners_admin_access is deprecated: This field is deprecated and will be removed in the next major release. Currently, it will always be set to true, regardless of the value set in the manifest.""") + return pulumi.get(self, "add_account_owners_admin_access") @add_account_owners_admin_access.setter @@ -179,6 +188,9 @@ def use_source_project_billing_group(self) -> Optional[pulumi.Input[bool]]: """ Use the same billing group that is used in source project. """ + warnings.warn("""This field is deprecated and will be removed in the next major release.""", DeprecationWarning) + pulumi.log.warn("""use_source_project_billing_group is deprecated: This field is deprecated and will be removed in the next major release.""") + return pulumi.get(self, "use_source_project_billing_group") @use_source_project_billing_group.setter @@ -225,6 +237,9 @@ def __init__(__self__, *, pulumi.log.warn("""account_id is deprecated: Use parent_id instead. This field will be removed in the next major release.""") if account_id is not None: pulumi.set(__self__, "account_id", account_id) + if add_account_owners_admin_access is not None: + warnings.warn("""This field is deprecated and will be removed in the next major release. Currently, it will always be set to true, regardless of the value set in the manifest.""", DeprecationWarning) + pulumi.log.warn("""add_account_owners_admin_access is deprecated: This field is deprecated and will be removed in the next major release. Currently, it will always be set to true, regardless of the value set in the manifest.""") if add_account_owners_admin_access is not None: pulumi.set(__self__, "add_account_owners_admin_access", add_account_owners_admin_access) if available_credits is not None: @@ -249,6 +264,9 @@ def __init__(__self__, *, pulumi.set(__self__, "tags", tags) if technical_emails is not None: pulumi.set(__self__, "technical_emails", technical_emails) + if use_source_project_billing_group is not None: + warnings.warn("""This field is deprecated and will be removed in the next major release.""", DeprecationWarning) + pulumi.log.warn("""use_source_project_billing_group is deprecated: This field is deprecated and will be removed in the next major release.""") if use_source_project_billing_group is not None: pulumi.set(__self__, "use_source_project_billing_group", use_source_project_billing_group) @@ -273,6 +291,9 @@ def add_account_owners_admin_access(self) -> Optional[pulumi.Input[bool]]: """ If parent_id is set, grant account owner team admin access to the new project. The default value is `true`. """ + warnings.warn("""This field is deprecated and will be removed in the next major release. Currently, it will always be set to true, regardless of the value set in the manifest.""", DeprecationWarning) + pulumi.log.warn("""add_account_owners_admin_access is deprecated: This field is deprecated and will be removed in the next major release. Currently, it will always be set to true, regardless of the value set in the manifest.""") + return pulumi.get(self, "add_account_owners_admin_access") @add_account_owners_admin_access.setter @@ -417,6 +438,9 @@ def use_source_project_billing_group(self) -> Optional[pulumi.Input[bool]]: """ Use the same billing group that is used in source project. """ + warnings.warn("""This field is deprecated and will be removed in the next major release.""", DeprecationWarning) + pulumi.log.warn("""use_source_project_billing_group is deprecated: This field is deprecated and will be removed in the next major release.""") + return pulumi.get(self, "use_source_project_billing_group") @use_source_project_billing_group.setter @@ -515,6 +539,9 @@ def _internal_init(__self__, warnings.warn("""Use parent_id instead. This field will be removed in the next major release.""", DeprecationWarning) pulumi.log.warn("""account_id is deprecated: Use parent_id instead. This field will be removed in the next major release.""") __props__.__dict__["account_id"] = account_id + if add_account_owners_admin_access is not None and not opts.urn: + warnings.warn("""This field is deprecated and will be removed in the next major release. Currently, it will always be set to true, regardless of the value set in the manifest.""", DeprecationWarning) + pulumi.log.warn("""add_account_owners_admin_access is deprecated: This field is deprecated and will be removed in the next major release. Currently, it will always be set to true, regardless of the value set in the manifest.""") __props__.__dict__["add_account_owners_admin_access"] = add_account_owners_admin_access __props__.__dict__["billing_group"] = billing_group __props__.__dict__["copy_from_project"] = copy_from_project @@ -525,6 +552,9 @@ def _internal_init(__self__, __props__.__dict__["project"] = project __props__.__dict__["tags"] = tags __props__.__dict__["technical_emails"] = technical_emails + if use_source_project_billing_group is not None and not opts.urn: + warnings.warn("""This field is deprecated and will be removed in the next major release.""", DeprecationWarning) + pulumi.log.warn("""use_source_project_billing_group is deprecated: This field is deprecated and will be removed in the next major release.""") __props__.__dict__["use_source_project_billing_group"] = use_source_project_billing_group __props__.__dict__["available_credits"] = None __props__.__dict__["ca_cert"] = None @@ -615,6 +645,9 @@ def add_account_owners_admin_access(self) -> pulumi.Output[Optional[bool]]: """ If parent_id is set, grant account owner team admin access to the new project. The default value is `true`. """ + warnings.warn("""This field is deprecated and will be removed in the next major release. Currently, it will always be set to true, regardless of the value set in the manifest.""", DeprecationWarning) + pulumi.log.warn("""add_account_owners_admin_access is deprecated: This field is deprecated and will be removed in the next major release. Currently, it will always be set to true, regardless of the value set in the manifest.""") + return pulumi.get(self, "add_account_owners_admin_access") @property @@ -711,5 +744,8 @@ def use_source_project_billing_group(self) -> pulumi.Output[Optional[bool]]: """ Use the same billing group that is used in source project. """ + warnings.warn("""This field is deprecated and will be removed in the next major release.""", DeprecationWarning) + pulumi.log.warn("""use_source_project_billing_group is deprecated: This field is deprecated and will be removed in the next major release.""") + return pulumi.get(self, "use_source_project_billing_group")