From ade5f586974f8553dbc5794521d60a6f5dbda4e8 Mon Sep 17 00:00:00 2001 From: arttii Date: Fri, 5 Jul 2024 11:47:30 +0200 Subject: [PATCH 01/14] upgrade tf-provider to v1.3.0 --- .devcontainer/Dockerfile | 2 +- .golangci.yml | 24 +- package.json | 5 + pnpm-lock.yaml | 7 + .../cmd/pulumi-resource-zitadel/schema.json | 1712 ++++++++++++++--- provider/go.mod | 12 +- provider/go.sum | 24 +- provider/resources.go | 14 +- sdk/dotnet/Action.cs | 2 +- sdk/dotnet/ApplicationApi.cs | 2 +- sdk/dotnet/ApplicationKey.cs | 2 +- sdk/dotnet/ApplicationOidc.cs | 2 +- sdk/dotnet/ApplicationSaml.cs | 2 +- sdk/dotnet/DefaultDomainPolicy.cs | 2 +- sdk/dotnet/DefaultLabelPolicy.cs | 20 +- sdk/dotnet/DefaultLockoutPolicy.cs | 2 +- sdk/dotnet/DefaultLoginPolicy.cs | 2 +- sdk/dotnet/DefaultNotificationPolicy.cs | 2 +- sdk/dotnet/DefaultPasswordComplexityPolicy.cs | 2 +- sdk/dotnet/DefaultPrivacyPolicy.cs | 2 +- sdk/dotnet/Domain.cs | 2 +- sdk/dotnet/DomainPolicy.cs | 2 +- sdk/dotnet/GetApplicationApi.cs | 4 + sdk/dotnet/GetApplicationOidc.cs | 4 + sdk/dotnet/GetIdpOauth.cs | 201 ++ sdk/dotnet/GetIdpSaml.cs | 173 ++ sdk/dotnet/GetOrgIdpOauth.cs | 222 +++ sdk/dotnet/GetOrgIdpSaml.cs | 194 ++ sdk/dotnet/HumanUser.cs | 2 +- sdk/dotnet/IdpAzureAd.cs | 2 +- sdk/dotnet/IdpGithub.cs | 2 +- sdk/dotnet/IdpGithubEs.cs | 2 +- sdk/dotnet/IdpGitlab.cs | 2 +- sdk/dotnet/IdpGitlabSelfHosted.cs | 2 +- sdk/dotnet/IdpGoogle.cs | 2 +- sdk/dotnet/IdpLdap.cs | 2 +- sdk/dotnet/IdpOauth.cs | 372 ++++ sdk/dotnet/IdpSaml.cs | 293 +++ sdk/dotnet/InstanceMember.cs | 2 +- sdk/dotnet/LabelPolicy.cs | 20 +- sdk/dotnet/LockoutPolicy.cs | 2 +- sdk/dotnet/LoginPolicy.cs | 2 +- sdk/dotnet/MachineKey.cs | 2 +- sdk/dotnet/MachineUser.cs | 2 +- sdk/dotnet/NotificationPolicy.cs | 2 +- sdk/dotnet/Org.cs | 2 +- sdk/dotnet/OrgIdpAzureAd.cs | 2 +- sdk/dotnet/OrgIdpGithub.cs | 2 +- sdk/dotnet/OrgIdpGithubEs.cs | 2 +- sdk/dotnet/OrgIdpGitlab.cs | 2 +- sdk/dotnet/OrgIdpGitlabSelfHosted.cs | 2 +- sdk/dotnet/OrgIdpGoogle.cs | 2 +- sdk/dotnet/OrgIdpJwt.cs | 2 +- sdk/dotnet/OrgIdpLdap.cs | 2 +- sdk/dotnet/OrgIdpOauth.cs | 391 ++++ sdk/dotnet/OrgIdpOidc.cs | 2 +- sdk/dotnet/OrgIdpSaml.cs | 311 +++ sdk/dotnet/OrgMember.cs | 2 +- sdk/dotnet/OrgMetadata.cs | 159 ++ sdk/dotnet/PersonalAccessToken.cs | 2 +- sdk/dotnet/PrivacyPolicy.cs | 2 +- sdk/dotnet/Project.cs | 2 +- sdk/dotnet/ProjectGrant.cs | 2 +- sdk/dotnet/ProjectGrantMember.cs | 2 +- sdk/dotnet/ProjectMember.cs | 2 +- sdk/dotnet/ProjectRole.cs | 2 +- sdk/dotnet/SmsProviderTwilio.cs | 2 +- sdk/dotnet/SmtpConfig.cs | 2 +- sdk/dotnet/TriggerActions.cs | 2 +- sdk/dotnet/UserGrant.cs | 2 +- sdk/dotnet/UserMetadata.cs | 178 ++ sdk/go/zitadel/action.go | 2 +- sdk/go/zitadel/applicationApi.go | 2 +- sdk/go/zitadel/applicationKey.go | 2 +- sdk/go/zitadel/applicationOidc.go | 2 +- sdk/go/zitadel/applicationSaml.go | 2 +- sdk/go/zitadel/defaultDomainPolicy.go | 2 +- sdk/go/zitadel/defaultLabelPolicy.go | 17 +- sdk/go/zitadel/defaultLockoutPolicy.go | 2 +- sdk/go/zitadel/defaultLoginPolicy.go | 2 +- sdk/go/zitadel/defaultNotificationPolicy.go | 2 +- .../defaultPasswordComplexityPolicy.go | 2 +- sdk/go/zitadel/defaultPrivacyPolicy.go | 2 +- sdk/go/zitadel/domain.go | 2 +- sdk/go/zitadel/domainPolicy.go | 2 +- sdk/go/zitadel/getApplicationApi.go | 5 + sdk/go/zitadel/getApplicationOidc.go | 5 + sdk/go/zitadel/getIdpOauth.go | 199 ++ sdk/go/zitadel/getIdpSaml.go | 171 ++ sdk/go/zitadel/getOrgIdpOauth.go | 211 ++ sdk/go/zitadel/getOrgIdpSaml.go | 183 ++ sdk/go/zitadel/humanUser.go | 2 +- sdk/go/zitadel/idpAzureAd.go | 2 +- sdk/go/zitadel/idpGithub.go | 2 +- sdk/go/zitadel/idpGithubEs.go | 2 +- sdk/go/zitadel/idpGitlab.go | 2 +- sdk/go/zitadel/idpGitlabSelfHosted.go | 2 +- sdk/go/zitadel/idpGoogle.go | 2 +- sdk/go/zitadel/idpLdap.go | 2 +- sdk/go/zitadel/idpOauth.go | 505 +++++ sdk/go/zitadel/idpSaml.go | 459 +++++ sdk/go/zitadel/init.go | 42 + sdk/go/zitadel/instanceMember.go | 2 +- sdk/go/zitadel/labelPolicy.go | 17 +- sdk/go/zitadel/lockoutPolicy.go | 2 +- sdk/go/zitadel/loginPolicy.go | 2 +- sdk/go/zitadel/machineKey.go | 2 +- sdk/go/zitadel/machineUser.go | 2 +- sdk/go/zitadel/notificationPolicy.go | 2 +- sdk/go/zitadel/org.go | 2 +- sdk/go/zitadel/orgIdpAzureAd.go | 2 +- sdk/go/zitadel/orgIdpGithub.go | 2 +- sdk/go/zitadel/orgIdpGithubEs.go | 2 +- sdk/go/zitadel/orgIdpGitlab.go | 2 +- sdk/go/zitadel/orgIdpGitlabSelfHosted.go | 2 +- sdk/go/zitadel/orgIdpGoogle.go | 2 +- sdk/go/zitadel/orgIdpJwt.go | 2 +- sdk/go/zitadel/orgIdpLdap.go | 2 +- sdk/go/zitadel/orgIdpOauth.go | 521 +++++ sdk/go/zitadel/orgIdpOidc.go | 2 +- sdk/go/zitadel/orgIdpSaml.go | 474 +++++ sdk/go/zitadel/orgMember.go | 2 +- sdk/go/zitadel/orgMetadata.go | 325 ++++ sdk/go/zitadel/personalAccessToken.go | 2 +- sdk/go/zitadel/privacyPolicy.go | 2 +- sdk/go/zitadel/project.go | 2 +- sdk/go/zitadel/projectGrant.go | 2 +- sdk/go/zitadel/projectGrantMember.go | 2 +- sdk/go/zitadel/projectMember.go | 2 +- sdk/go/zitadel/projectRole.go | 2 +- sdk/go/zitadel/smsProviderTwilio.go | 2 +- sdk/go/zitadel/smtpConfig.go | 2 +- sdk/go/zitadel/triggerActions.go | 2 +- sdk/go/zitadel/userGrant.go | 2 +- sdk/go/zitadel/userMetadata.go | 344 ++++ sdk/nodejs/action.ts | 2 +- sdk/nodejs/applicationApi.ts | 2 +- sdk/nodejs/applicationKey.ts | 2 +- sdk/nodejs/applicationOidc.ts | 2 +- sdk/nodejs/applicationSaml.ts | 2 +- sdk/nodejs/defaultDomainPolicy.ts | 2 +- sdk/nodejs/defaultLabelPolicy.ts | 16 +- sdk/nodejs/defaultLockoutPolicy.ts | 2 +- sdk/nodejs/defaultLoginPolicy.ts | 2 +- sdk/nodejs/defaultNotificationPolicy.ts | 2 +- sdk/nodejs/defaultPasswordComplexityPolicy.ts | 2 +- sdk/nodejs/defaultPrivacyPolicy.ts | 2 +- sdk/nodejs/domain.ts | 2 +- sdk/nodejs/domainPolicy.ts | 2 +- sdk/nodejs/getApplicationApi.ts | 1 + sdk/nodejs/getApplicationOidc.ts | 1 + sdk/nodejs/getIdpOauth.ts | 122 ++ sdk/nodejs/getIdpSaml.ts | 106 + sdk/nodejs/getOrgIdpOauth.ts | 137 ++ sdk/nodejs/getOrgIdpSaml.ts | 121 ++ sdk/nodejs/humanUser.ts | 2 +- sdk/nodejs/idpAzureAd.ts | 2 +- sdk/nodejs/idpGithub.ts | 2 +- sdk/nodejs/idpGithubEs.ts | 2 +- sdk/nodejs/idpGitlab.ts | 2 +- sdk/nodejs/idpGitlabSelfHosted.ts | 2 +- sdk/nodejs/idpGoogle.ts | 2 +- sdk/nodejs/idpLdap.ts | 2 +- sdk/nodejs/idpOauth.ts | 303 +++ sdk/nodejs/idpSaml.ts | 260 +++ sdk/nodejs/index.ts | 68 + sdk/nodejs/instanceMember.ts | 2 +- sdk/nodejs/labelPolicy.ts | 16 +- sdk/nodejs/lockoutPolicy.ts | 2 +- sdk/nodejs/loginPolicy.ts | 2 +- sdk/nodejs/machineKey.ts | 2 +- sdk/nodejs/machineUser.ts | 2 +- sdk/nodejs/notificationPolicy.ts | 2 +- sdk/nodejs/org.ts | 2 +- sdk/nodejs/orgIdpAzureAd.ts | 2 +- sdk/nodejs/orgIdpGithub.ts | 2 +- sdk/nodejs/orgIdpGithubEs.ts | 2 +- sdk/nodejs/orgIdpGitlab.ts | 2 +- sdk/nodejs/orgIdpGitlabSelfHosted.ts | 2 +- sdk/nodejs/orgIdpGoogle.ts | 2 +- sdk/nodejs/orgIdpJwt.ts | 2 +- sdk/nodejs/orgIdpLdap.ts | 2 +- sdk/nodejs/orgIdpOauth.ts | 318 +++ sdk/nodejs/orgIdpOidc.ts | 2 +- sdk/nodejs/orgIdpSaml.ts | 274 +++ sdk/nodejs/orgMember.ts | 2 +- sdk/nodejs/orgMetadata.ts | 137 ++ sdk/nodejs/personalAccessToken.ts | 2 +- sdk/nodejs/privacyPolicy.ts | 2 +- sdk/nodejs/project.ts | 2 +- sdk/nodejs/projectGrant.ts | 2 +- sdk/nodejs/projectGrantMember.ts | 2 +- sdk/nodejs/projectMember.ts | 2 +- sdk/nodejs/projectRole.ts | 2 +- sdk/nodejs/smsProviderTwilio.ts | 2 +- sdk/nodejs/smtpConfig.ts | 2 +- sdk/nodejs/triggerActions.ts | 2 +- sdk/nodejs/tsconfig.json | 10 + sdk/nodejs/userGrant.ts | 2 +- sdk/nodejs/userMetadata.ts | 155 ++ sdk/python/pulumiverse_zitadel/__init__.py | 58 + sdk/python/pulumiverse_zitadel/action.py | 4 +- .../pulumiverse_zitadel/application_api.py | 4 +- .../pulumiverse_zitadel/application_key.py | 4 +- .../pulumiverse_zitadel/application_oidc.py | 4 +- .../pulumiverse_zitadel/application_saml.py | 4 +- .../default_domain_policy.py | 4 +- .../default_label_policy.py | 61 +- .../default_lockout_policy.py | 4 +- .../default_login_policy.py | 4 +- .../default_notification_policy.py | 4 +- .../default_password_complexity_policy.py | 4 +- .../default_privacy_policy.py | 4 +- sdk/python/pulumiverse_zitadel/domain.py | 4 +- .../pulumiverse_zitadel/domain_policy.py | 4 +- .../get_application_api.py | 12 +- .../get_application_oidc.py | 12 +- .../pulumiverse_zitadel/get_idp_oauth.py | 247 +++ .../pulumiverse_zitadel/get_idp_saml.py | 195 ++ .../pulumiverse_zitadel/get_org_idp_oauth.py | 267 +++ .../pulumiverse_zitadel/get_org_idp_saml.py | 215 +++ sdk/python/pulumiverse_zitadel/human_user.py | 4 +- .../pulumiverse_zitadel/idp_azure_ad.py | 4 +- sdk/python/pulumiverse_zitadel/idp_github.py | 4 +- .../pulumiverse_zitadel/idp_github_es.py | 4 +- sdk/python/pulumiverse_zitadel/idp_gitlab.py | 4 +- .../idp_gitlab_self_hosted.py | 4 +- sdk/python/pulumiverse_zitadel/idp_google.py | 4 +- sdk/python/pulumiverse_zitadel/idp_ldap.py | 4 +- sdk/python/pulumiverse_zitadel/idp_oauth.py | 848 ++++++++ sdk/python/pulumiverse_zitadel/idp_saml.py | 681 +++++++ .../pulumiverse_zitadel/instance_member.py | 4 +- .../pulumiverse_zitadel/label_policy.py | 61 +- .../pulumiverse_zitadel/lockout_policy.py | 4 +- .../pulumiverse_zitadel/login_policy.py | 4 +- sdk/python/pulumiverse_zitadel/machine_key.py | 4 +- .../pulumiverse_zitadel/machine_user.py | 4 +- .../notification_policy.py | 4 +- sdk/python/pulumiverse_zitadel/org.py | 4 +- .../pulumiverse_zitadel/org_idp_azure_ad.py | 4 +- .../pulumiverse_zitadel/org_idp_github.py | 4 +- .../pulumiverse_zitadel/org_idp_github_es.py | 4 +- .../pulumiverse_zitadel/org_idp_gitlab.py | 4 +- .../org_idp_gitlab_self_hosted.py | 4 +- .../pulumiverse_zitadel/org_idp_google.py | 4 +- sdk/python/pulumiverse_zitadel/org_idp_jwt.py | 4 +- .../pulumiverse_zitadel/org_idp_ldap.py | 4 +- .../pulumiverse_zitadel/org_idp_oauth.py | 905 +++++++++ .../pulumiverse_zitadel/org_idp_oidc.py | 4 +- .../pulumiverse_zitadel/org_idp_saml.py | 736 +++++++ sdk/python/pulumiverse_zitadel/org_member.py | 4 +- .../pulumiverse_zitadel/org_metadata.py | 315 +++ .../personal_access_token.py | 4 +- .../pulumiverse_zitadel/privacy_policy.py | 4 +- sdk/python/pulumiverse_zitadel/project.py | 4 +- .../pulumiverse_zitadel/project_grant.py | 4 +- .../project_grant_member.py | 4 +- .../pulumiverse_zitadel/project_member.py | 4 +- .../pulumiverse_zitadel/project_role.py | 4 +- .../sms_provider_twilio.py | 4 +- sdk/python/pulumiverse_zitadel/smtp_config.py | 4 +- .../pulumiverse_zitadel/trigger_actions.py | 4 +- sdk/python/pulumiverse_zitadel/user_grant.py | 4 +- .../pulumiverse_zitadel/user_metadata.py | 373 ++++ 264 files changed, 14787 insertions(+), 554 deletions(-) create mode 100644 package.json create mode 100644 pnpm-lock.yaml create mode 100644 sdk/dotnet/GetIdpOauth.cs create mode 100644 sdk/dotnet/GetIdpSaml.cs create mode 100644 sdk/dotnet/GetOrgIdpOauth.cs create mode 100644 sdk/dotnet/GetOrgIdpSaml.cs create mode 100644 sdk/dotnet/IdpOauth.cs create mode 100644 sdk/dotnet/IdpSaml.cs create mode 100644 sdk/dotnet/OrgIdpOauth.cs create mode 100644 sdk/dotnet/OrgIdpSaml.cs create mode 100644 sdk/dotnet/OrgMetadata.cs create mode 100644 sdk/dotnet/UserMetadata.cs create mode 100644 sdk/go/zitadel/getIdpOauth.go create mode 100644 sdk/go/zitadel/getIdpSaml.go create mode 100644 sdk/go/zitadel/getOrgIdpOauth.go create mode 100644 sdk/go/zitadel/getOrgIdpSaml.go create mode 100644 sdk/go/zitadel/idpOauth.go create mode 100644 sdk/go/zitadel/idpSaml.go create mode 100644 sdk/go/zitadel/orgIdpOauth.go create mode 100644 sdk/go/zitadel/orgIdpSaml.go create mode 100644 sdk/go/zitadel/orgMetadata.go create mode 100644 sdk/go/zitadel/userMetadata.go create mode 100644 sdk/nodejs/getIdpOauth.ts create mode 100644 sdk/nodejs/getIdpSaml.ts create mode 100644 sdk/nodejs/getOrgIdpOauth.ts create mode 100644 sdk/nodejs/getOrgIdpSaml.ts create mode 100644 sdk/nodejs/idpOauth.ts create mode 100644 sdk/nodejs/idpSaml.ts create mode 100644 sdk/nodejs/orgIdpOauth.ts create mode 100644 sdk/nodejs/orgIdpSaml.ts create mode 100644 sdk/nodejs/orgMetadata.ts create mode 100644 sdk/nodejs/userMetadata.ts create mode 100644 sdk/python/pulumiverse_zitadel/get_idp_oauth.py create mode 100644 sdk/python/pulumiverse_zitadel/get_idp_saml.py create mode 100644 sdk/python/pulumiverse_zitadel/get_org_idp_oauth.py create mode 100644 sdk/python/pulumiverse_zitadel/get_org_idp_saml.py create mode 100644 sdk/python/pulumiverse_zitadel/idp_oauth.py create mode 100644 sdk/python/pulumiverse_zitadel/idp_saml.py create mode 100644 sdk/python/pulumiverse_zitadel/org_idp_oauth.py create mode 100644 sdk/python/pulumiverse_zitadel/org_idp_saml.py create mode 100644 sdk/python/pulumiverse_zitadel/org_metadata.py create mode 100644 sdk/python/pulumiverse_zitadel/user_metadata.py diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index 3990fe3..bbb6763 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -25,7 +25,7 @@ ENV PATH=$PATH:/usr/local/go/bin # Install go linter RUN mkdir -p $GOPATH/bin && \ - curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $GOPATH/bin v1.46.2 + curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $GOPATH/bin v1.59.1 ENV PATH=$PATH:$GOPATH/bin diff --git a/.golangci.yml b/.golangci.yml index 6569b5b..b4dba4c 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -1,24 +1,34 @@ linters: enable: - - deadcode + - unused - errcheck - goconst - gofmt - - golint + - revive - gosec - govet - ineffassign - - interfacer - lll - megacheck - misspell - nakedret - - structcheck + - unconvert - - varcheck + enable-all: false -run: - skip-files: +issues: + exclude-files: - schema.go - pulumiManifest.go +run: + timeout: 20m +linters-settings: + lll: + # Max line length, lines longer will be reported. + # '\t' is counted as 1 character by default, and can be changed with the tab-width option. + # Default: 120. + line-length: 150 + # Tab width in spaces. + # Default: 1 + tab-width: 1 \ No newline at end of file diff --git a/package.json b/package.json new file mode 100644 index 0000000..9a085f9 --- /dev/null +++ b/package.json @@ -0,0 +1,5 @@ +{ + "dependencies": { + "scoretech-infra-zitadel": "link:/home/arti/workdir/scoretech/infra/zitadel" + } +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 0000000..ac531b7 --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,7 @@ +lockfileVersion: 5.4 + +specifiers: + scoretech-infra-zitadel: link:/home/arti/workdir/scoretech/infra/zitadel + +dependencies: + scoretech-infra-zitadel: link:../scoretech/infra/zitadel diff --git a/provider/cmd/pulumi-resource-zitadel/schema.json b/provider/cmd/pulumi-resource-zitadel/schema.json index c4f8967..3f27de4 100644 --- a/provider/cmd/pulumi-resource-zitadel/schema.json +++ b/provider/cmd/pulumi-resource-zitadel/schema.json @@ -146,7 +146,7 @@ }, "resources": { "zitadel:index/action:Action": { - "description": "Resource representing an action belonging to an organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.Action(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n script: \"testscript\",\n timeout: \"10s\",\n allowedToFail: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.Action(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n script=\"testscript\",\n timeout=\"10s\",\n allowed_to_fail=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.Action(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n Script = \"testscript\",\n Timeout = \"10s\",\n AllowedToFail = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewAction(ctx, \"default\", \u0026zitadel.ActionArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tScript: pulumi.String(\"testscript\"),\n\t\t\tTimeout: pulumi.String(\"10s\"),\n\t\t\tAllowedToFail: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.Action;\nimport com.pulumi.zitadel.ActionArgs;\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 default_ = new Action(\"default\", ActionArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .script(\"testscript\")\n .timeout(\"10s\")\n .allowedToFail(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:Action\n properties:\n orgId: ${data.zitadel_org.default.id}\n script: testscript\n timeout: 10s\n allowedToFail: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid[:org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/action:Action imported '123456789012345678:123456789012345678'\n```\n\n ", + "description": "Resource representing an action belonging to an organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.Action(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n script: \"testscript\",\n timeout: \"10s\",\n allowedToFail: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.Action(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n script=\"testscript\",\n timeout=\"10s\",\n allowed_to_fail=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.Action(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n Script = \"testscript\",\n Timeout = \"10s\",\n AllowedToFail = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewAction(ctx, \"default\", \u0026zitadel.ActionArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tScript: pulumi.String(\"testscript\"),\n\t\t\tTimeout: pulumi.String(\"10s\"),\n\t\t\tAllowedToFail: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.Action;\nimport com.pulumi.zitadel.ActionArgs;\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 default_ = new Action(\"default\", ActionArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .script(\"testscript\")\n .timeout(\"10s\")\n .allowedToFail(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:Action\n properties:\n orgId: ${data.zitadel_org.default.id}\n script: testscript\n timeout: 10s\n allowedToFail: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid[:org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/action:Action imported '123456789012345678:123456789012345678'\n```\n\n ", "properties": { "allowedToFail": { "type": "boolean", @@ -235,7 +235,7 @@ } }, "zitadel:index/applicationApi:ApplicationApi": { - "description": "Resource representing an API application belonging to a project, with all configuration possibilities.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.ApplicationApi(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n projectId: data.zitadel_project[\"default\"].id,\n authMethodType: \"API_AUTH_METHOD_TYPE_BASIC\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.ApplicationApi(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n project_id=data[\"zitadel_project\"][\"default\"][\"id\"],\n auth_method_type=\"API_AUTH_METHOD_TYPE_BASIC\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.ApplicationApi(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ProjectId = data.Zitadel_project.Default.Id,\n AuthMethodType = \"API_AUTH_METHOD_TYPE_BASIC\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewApplicationApi(ctx, \"default\", \u0026zitadel.ApplicationApiArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tProjectId: pulumi.Any(data.Zitadel_project.Default.Id),\n\t\t\tAuthMethodType: pulumi.String(\"API_AUTH_METHOD_TYPE_BASIC\"),\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.zitadel.ApplicationApi;\nimport com.pulumi.zitadel.ApplicationApiArgs;\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 default_ = new ApplicationApi(\"default\", ApplicationApiArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .projectId(data.zitadel_project().default().id())\n .authMethodType(\"API_AUTH_METHOD_TYPE_BASIC\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:ApplicationApi\n properties:\n orgId: ${data.zitadel_org.default.id}\n projectId: ${data.zitadel_project.default.id}\n authMethodType: API_AUTH_METHOD_TYPE_BASIC\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid:project_id[:org_id][:client_id][:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/applicationApi:ApplicationApi imported '123456789012345678:123456789012345678:123456789012345678:123456789012345678@zitadel:JuaDFFeOak5DGE655KCYPSAclSkbMVEJXXuX1lEMBT14eLMSs0A0qhafKX5SA2Df'\n```\n\n ", + "description": "Resource representing an API application belonging to a project, with all configuration possibilities.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.ApplicationApi(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n projectId: data.zitadel_project[\"default\"].id,\n authMethodType: \"API_AUTH_METHOD_TYPE_BASIC\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.ApplicationApi(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n project_id=data[\"zitadel_project\"][\"default\"][\"id\"],\n auth_method_type=\"API_AUTH_METHOD_TYPE_BASIC\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.ApplicationApi(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ProjectId = data.Zitadel_project.Default.Id,\n AuthMethodType = \"API_AUTH_METHOD_TYPE_BASIC\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewApplicationApi(ctx, \"default\", \u0026zitadel.ApplicationApiArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tProjectId: pulumi.Any(data.Zitadel_project.Default.Id),\n\t\t\tAuthMethodType: pulumi.String(\"API_AUTH_METHOD_TYPE_BASIC\"),\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.zitadel.ApplicationApi;\nimport com.pulumi.zitadel.ApplicationApiArgs;\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 default_ = new ApplicationApi(\"default\", ApplicationApiArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .projectId(data.zitadel_project().default().id())\n .authMethodType(\"API_AUTH_METHOD_TYPE_BASIC\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:ApplicationApi\n properties:\n orgId: ${data.zitadel_org.default.id}\n projectId: ${data.zitadel_project.default.id}\n authMethodType: API_AUTH_METHOD_TYPE_BASIC\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid:project_id[:org_id][:client_id][:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/applicationApi:ApplicationApi imported '123456789012345678:123456789012345678:123456789012345678:123456789012345678@zitadel:JuaDFFeOak5DGE655KCYPSAclSkbMVEJXXuX1lEMBT14eLMSs0A0qhafKX5SA2Df'\n```\n\n ", "properties": { "authMethodType": { "type": "string", @@ -329,7 +329,7 @@ } }, "zitadel:index/applicationKey:ApplicationKey": { - "description": "Resource representing a app key\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.ApplicationKey(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n projectId: data.zitadel_project[\"default\"].id,\n appId: data.zitadel_application_api[\"default\"].id,\n keyType: \"KEY_TYPE_JSON\",\n expirationDate: \"2519-04-01T08:45:00Z\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.ApplicationKey(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n project_id=data[\"zitadel_project\"][\"default\"][\"id\"],\n app_id=data[\"zitadel_application_api\"][\"default\"][\"id\"],\n key_type=\"KEY_TYPE_JSON\",\n expiration_date=\"2519-04-01T08:45:00Z\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.ApplicationKey(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ProjectId = data.Zitadel_project.Default.Id,\n AppId = data.Zitadel_application_api.Default.Id,\n KeyType = \"KEY_TYPE_JSON\",\n ExpirationDate = \"2519-04-01T08:45:00Z\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewApplicationKey(ctx, \"default\", \u0026zitadel.ApplicationKeyArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tProjectId: pulumi.Any(data.Zitadel_project.Default.Id),\n\t\t\tAppId: pulumi.Any(data.Zitadel_application_api.Default.Id),\n\t\t\tKeyType: pulumi.String(\"KEY_TYPE_JSON\"),\n\t\t\tExpirationDate: pulumi.String(\"2519-04-01T08:45:00Z\"),\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.zitadel.ApplicationKey;\nimport com.pulumi.zitadel.ApplicationKeyArgs;\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 default_ = new ApplicationKey(\"default\", ApplicationKeyArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .projectId(data.zitadel_project().default().id())\n .appId(data.zitadel_application_api().default().id())\n .keyType(\"KEY_TYPE_JSON\")\n .expirationDate(\"2519-04-01T08:45:00Z\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:ApplicationKey\n properties:\n orgId: ${data.zitadel_org.default.id}\n projectId: ${data.zitadel_project.default.id}\n appId: ${data.zitadel_application_api.default.id}\n keyType: KEY_TYPE_JSON\n expirationDate: 2519-04-01T08:45:00Z\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid:project_id:app_id[:org_id][:key_details]\u003e`. You can use __SEMICOLON__ to escape :, e.g.\n\n```sh\n $ pulumi import zitadel:index/applicationKey:ApplicationKey imported \"123456789012345678:123456789012345678:123456789012345678:123456789012345678:$(cat ~/Downloads/123456789012345678.json | sed -e 's/:/__SEMICOLON__/g')\"\n```\n\n ", + "description": "Resource representing a app key\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.ApplicationKey(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n projectId: data.zitadel_project[\"default\"].id,\n appId: data.zitadel_application_api[\"default\"].id,\n keyType: \"KEY_TYPE_JSON\",\n expirationDate: \"2519-04-01T08:45:00Z\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.ApplicationKey(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n project_id=data[\"zitadel_project\"][\"default\"][\"id\"],\n app_id=data[\"zitadel_application_api\"][\"default\"][\"id\"],\n key_type=\"KEY_TYPE_JSON\",\n expiration_date=\"2519-04-01T08:45:00Z\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.ApplicationKey(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ProjectId = data.Zitadel_project.Default.Id,\n AppId = data.Zitadel_application_api.Default.Id,\n KeyType = \"KEY_TYPE_JSON\",\n ExpirationDate = \"2519-04-01T08:45:00Z\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewApplicationKey(ctx, \"default\", \u0026zitadel.ApplicationKeyArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tProjectId: pulumi.Any(data.Zitadel_project.Default.Id),\n\t\t\tAppId: pulumi.Any(data.Zitadel_application_api.Default.Id),\n\t\t\tKeyType: pulumi.String(\"KEY_TYPE_JSON\"),\n\t\t\tExpirationDate: pulumi.String(\"2519-04-01T08:45:00Z\"),\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.zitadel.ApplicationKey;\nimport com.pulumi.zitadel.ApplicationKeyArgs;\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 default_ = new ApplicationKey(\"default\", ApplicationKeyArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .projectId(data.zitadel_project().default().id())\n .appId(data.zitadel_application_api().default().id())\n .keyType(\"KEY_TYPE_JSON\")\n .expirationDate(\"2519-04-01T08:45:00Z\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:ApplicationKey\n properties:\n orgId: ${data.zitadel_org.default.id}\n projectId: ${data.zitadel_project.default.id}\n appId: ${data.zitadel_application_api.default.id}\n keyType: KEY_TYPE_JSON\n expirationDate: 2519-04-01T08:45:00Z\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid:project_id:app_id[:org_id][:key_details]\u003e`. You can use __SEMICOLON__ to escape :, e.g.\n\n```sh\n $ pulumi import zitadel:index/applicationKey:ApplicationKey imported \"123456789012345678:123456789012345678:123456789012345678:123456789012345678:$(cat ~/Downloads/123456789012345678.json | sed -e 's/:/__SEMICOLON__/g')\"\n```\n\n ", "properties": { "appId": { "type": "string", @@ -435,7 +435,7 @@ } }, "zitadel:index/applicationOidc:ApplicationOidc": { - "description": "Resource representing an OIDC application belonging to a project, with all configuration possibilities.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.ApplicationOidc(\"default\", {\n projectId: data.zitadel_project[\"default\"].id,\n orgId: data.zitadel_org[\"default\"].id,\n redirectUris: [\"https://localhost.com\"],\n responseTypes: [\"OIDC_RESPONSE_TYPE_CODE\"],\n grantTypes: [\"OIDC_GRANT_TYPE_AUTHORIZATION_CODE\"],\n postLogoutRedirectUris: [\"https://localhost.com\"],\n appType: \"OIDC_APP_TYPE_WEB\",\n authMethodType: \"OIDC_AUTH_METHOD_TYPE_BASIC\",\n version: \"OIDC_VERSION_1_0\",\n clockSkew: \"0s\",\n devMode: true,\n accessTokenType: \"OIDC_TOKEN_TYPE_BEARER\",\n accessTokenRoleAssertion: false,\n idTokenRoleAssertion: false,\n idTokenUserinfoAssertion: false,\n additionalOrigins: [],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.ApplicationOidc(\"default\",\n project_id=data[\"zitadel_project\"][\"default\"][\"id\"],\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n redirect_uris=[\"https://localhost.com\"],\n response_types=[\"OIDC_RESPONSE_TYPE_CODE\"],\n grant_types=[\"OIDC_GRANT_TYPE_AUTHORIZATION_CODE\"],\n post_logout_redirect_uris=[\"https://localhost.com\"],\n app_type=\"OIDC_APP_TYPE_WEB\",\n auth_method_type=\"OIDC_AUTH_METHOD_TYPE_BASIC\",\n version=\"OIDC_VERSION_1_0\",\n clock_skew=\"0s\",\n dev_mode=True,\n access_token_type=\"OIDC_TOKEN_TYPE_BEARER\",\n access_token_role_assertion=False,\n id_token_role_assertion=False,\n id_token_userinfo_assertion=False,\n additional_origins=[])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.ApplicationOidc(\"default\", new()\n {\n ProjectId = data.Zitadel_project.Default.Id,\n OrgId = data.Zitadel_org.Default.Id,\n RedirectUris = new[]\n {\n \"https://localhost.com\",\n },\n ResponseTypes = new[]\n {\n \"OIDC_RESPONSE_TYPE_CODE\",\n },\n GrantTypes = new[]\n {\n \"OIDC_GRANT_TYPE_AUTHORIZATION_CODE\",\n },\n PostLogoutRedirectUris = new[]\n {\n \"https://localhost.com\",\n },\n AppType = \"OIDC_APP_TYPE_WEB\",\n AuthMethodType = \"OIDC_AUTH_METHOD_TYPE_BASIC\",\n Version = \"OIDC_VERSION_1_0\",\n ClockSkew = \"0s\",\n DevMode = true,\n AccessTokenType = \"OIDC_TOKEN_TYPE_BEARER\",\n AccessTokenRoleAssertion = false,\n IdTokenRoleAssertion = false,\n IdTokenUserinfoAssertion = false,\n AdditionalOrigins = new[] {},\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewApplicationOidc(ctx, \"default\", \u0026zitadel.ApplicationOidcArgs{\n\t\t\tProjectId: pulumi.Any(data.Zitadel_project.Default.Id),\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tRedirectUris: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"https://localhost.com\"),\n\t\t\t},\n\t\t\tResponseTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"OIDC_RESPONSE_TYPE_CODE\"),\n\t\t\t},\n\t\t\tGrantTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"OIDC_GRANT_TYPE_AUTHORIZATION_CODE\"),\n\t\t\t},\n\t\t\tPostLogoutRedirectUris: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"https://localhost.com\"),\n\t\t\t},\n\t\t\tAppType: pulumi.String(\"OIDC_APP_TYPE_WEB\"),\n\t\t\tAuthMethodType: pulumi.String(\"OIDC_AUTH_METHOD_TYPE_BASIC\"),\n\t\t\tVersion: pulumi.String(\"OIDC_VERSION_1_0\"),\n\t\t\tClockSkew: pulumi.String(\"0s\"),\n\t\t\tDevMode: pulumi.Bool(true),\n\t\t\tAccessTokenType: pulumi.String(\"OIDC_TOKEN_TYPE_BEARER\"),\n\t\t\tAccessTokenRoleAssertion: pulumi.Bool(false),\n\t\t\tIdTokenRoleAssertion: pulumi.Bool(false),\n\t\t\tIdTokenUserinfoAssertion: pulumi.Bool(false),\n\t\t\tAdditionalOrigins: pulumi.StringArray{},\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.zitadel.ApplicationOidc;\nimport com.pulumi.zitadel.ApplicationOidcArgs;\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 default_ = new ApplicationOidc(\"default\", ApplicationOidcArgs.builder() \n .projectId(data.zitadel_project().default().id())\n .orgId(data.zitadel_org().default().id())\n .redirectUris(\"https://localhost.com\")\n .responseTypes(\"OIDC_RESPONSE_TYPE_CODE\")\n .grantTypes(\"OIDC_GRANT_TYPE_AUTHORIZATION_CODE\")\n .postLogoutRedirectUris(\"https://localhost.com\")\n .appType(\"OIDC_APP_TYPE_WEB\")\n .authMethodType(\"OIDC_AUTH_METHOD_TYPE_BASIC\")\n .version(\"OIDC_VERSION_1_0\")\n .clockSkew(\"0s\")\n .devMode(true)\n .accessTokenType(\"OIDC_TOKEN_TYPE_BEARER\")\n .accessTokenRoleAssertion(false)\n .idTokenRoleAssertion(false)\n .idTokenUserinfoAssertion(false)\n .additionalOrigins()\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:ApplicationOidc\n properties:\n projectId: ${data.zitadel_project.default.id}\n orgId: ${data.zitadel_org.default.id}\n redirectUris:\n - https://localhost.com\n responseTypes:\n - OIDC_RESPONSE_TYPE_CODE\n grantTypes:\n - OIDC_GRANT_TYPE_AUTHORIZATION_CODE\n postLogoutRedirectUris:\n - https://localhost.com\n appType: OIDC_APP_TYPE_WEB\n authMethodType: OIDC_AUTH_METHOD_TYPE_BASIC\n version: OIDC_VERSION_1_0\n clockSkew: 0s\n devMode: true\n accessTokenType: OIDC_TOKEN_TYPE_BEARER\n accessTokenRoleAssertion: false\n idTokenRoleAssertion: false\n idTokenUserinfoAssertion: false\n additionalOrigins: []\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid:project_id[:org_id][:client_id][:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/applicationOidc:ApplicationOidc imported '123456789012345678:123456789012345678:123456789012345678:123456789012345678@zitadel:JuaDFFeOak5DGE655KCYPSAclSkbMVEJXXuX1lEMBT14eLMSs0A0qhafKX5SA2Df'\n```\n\n ", + "description": "Resource representing an OIDC application belonging to a project, with all configuration possibilities.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.ApplicationOidc(\"default\", {\n projectId: data.zitadel_project[\"default\"].id,\n orgId: data.zitadel_org[\"default\"].id,\n redirectUris: [\"https://localhost.com\"],\n responseTypes: [\"OIDC_RESPONSE_TYPE_CODE\"],\n grantTypes: [\"OIDC_GRANT_TYPE_AUTHORIZATION_CODE\"],\n postLogoutRedirectUris: [\"https://localhost.com\"],\n appType: \"OIDC_APP_TYPE_WEB\",\n authMethodType: \"OIDC_AUTH_METHOD_TYPE_BASIC\",\n version: \"OIDC_VERSION_1_0\",\n clockSkew: \"0s\",\n devMode: true,\n accessTokenType: \"OIDC_TOKEN_TYPE_BEARER\",\n accessTokenRoleAssertion: false,\n idTokenRoleAssertion: false,\n idTokenUserinfoAssertion: false,\n additionalOrigins: [],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.ApplicationOidc(\"default\",\n project_id=data[\"zitadel_project\"][\"default\"][\"id\"],\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n redirect_uris=[\"https://localhost.com\"],\n response_types=[\"OIDC_RESPONSE_TYPE_CODE\"],\n grant_types=[\"OIDC_GRANT_TYPE_AUTHORIZATION_CODE\"],\n post_logout_redirect_uris=[\"https://localhost.com\"],\n app_type=\"OIDC_APP_TYPE_WEB\",\n auth_method_type=\"OIDC_AUTH_METHOD_TYPE_BASIC\",\n version=\"OIDC_VERSION_1_0\",\n clock_skew=\"0s\",\n dev_mode=True,\n access_token_type=\"OIDC_TOKEN_TYPE_BEARER\",\n access_token_role_assertion=False,\n id_token_role_assertion=False,\n id_token_userinfo_assertion=False,\n additional_origins=[])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.ApplicationOidc(\"default\", new()\n {\n ProjectId = data.Zitadel_project.Default.Id,\n OrgId = data.Zitadel_org.Default.Id,\n RedirectUris = new[]\n {\n \"https://localhost.com\",\n },\n ResponseTypes = new[]\n {\n \"OIDC_RESPONSE_TYPE_CODE\",\n },\n GrantTypes = new[]\n {\n \"OIDC_GRANT_TYPE_AUTHORIZATION_CODE\",\n },\n PostLogoutRedirectUris = new[]\n {\n \"https://localhost.com\",\n },\n AppType = \"OIDC_APP_TYPE_WEB\",\n AuthMethodType = \"OIDC_AUTH_METHOD_TYPE_BASIC\",\n Version = \"OIDC_VERSION_1_0\",\n ClockSkew = \"0s\",\n DevMode = true,\n AccessTokenType = \"OIDC_TOKEN_TYPE_BEARER\",\n AccessTokenRoleAssertion = false,\n IdTokenRoleAssertion = false,\n IdTokenUserinfoAssertion = false,\n AdditionalOrigins = new[] {},\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewApplicationOidc(ctx, \"default\", \u0026zitadel.ApplicationOidcArgs{\n\t\t\tProjectId: pulumi.Any(data.Zitadel_project.Default.Id),\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tRedirectUris: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"https://localhost.com\"),\n\t\t\t},\n\t\t\tResponseTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"OIDC_RESPONSE_TYPE_CODE\"),\n\t\t\t},\n\t\t\tGrantTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"OIDC_GRANT_TYPE_AUTHORIZATION_CODE\"),\n\t\t\t},\n\t\t\tPostLogoutRedirectUris: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"https://localhost.com\"),\n\t\t\t},\n\t\t\tAppType: pulumi.String(\"OIDC_APP_TYPE_WEB\"),\n\t\t\tAuthMethodType: pulumi.String(\"OIDC_AUTH_METHOD_TYPE_BASIC\"),\n\t\t\tVersion: pulumi.String(\"OIDC_VERSION_1_0\"),\n\t\t\tClockSkew: pulumi.String(\"0s\"),\n\t\t\tDevMode: pulumi.Bool(true),\n\t\t\tAccessTokenType: pulumi.String(\"OIDC_TOKEN_TYPE_BEARER\"),\n\t\t\tAccessTokenRoleAssertion: pulumi.Bool(false),\n\t\t\tIdTokenRoleAssertion: pulumi.Bool(false),\n\t\t\tIdTokenUserinfoAssertion: pulumi.Bool(false),\n\t\t\tAdditionalOrigins: pulumi.StringArray{},\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.zitadel.ApplicationOidc;\nimport com.pulumi.zitadel.ApplicationOidcArgs;\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 default_ = new ApplicationOidc(\"default\", ApplicationOidcArgs.builder() \n .projectId(data.zitadel_project().default().id())\n .orgId(data.zitadel_org().default().id())\n .redirectUris(\"https://localhost.com\")\n .responseTypes(\"OIDC_RESPONSE_TYPE_CODE\")\n .grantTypes(\"OIDC_GRANT_TYPE_AUTHORIZATION_CODE\")\n .postLogoutRedirectUris(\"https://localhost.com\")\n .appType(\"OIDC_APP_TYPE_WEB\")\n .authMethodType(\"OIDC_AUTH_METHOD_TYPE_BASIC\")\n .version(\"OIDC_VERSION_1_0\")\n .clockSkew(\"0s\")\n .devMode(true)\n .accessTokenType(\"OIDC_TOKEN_TYPE_BEARER\")\n .accessTokenRoleAssertion(false)\n .idTokenRoleAssertion(false)\n .idTokenUserinfoAssertion(false)\n .additionalOrigins()\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:ApplicationOidc\n properties:\n projectId: ${data.zitadel_project.default.id}\n orgId: ${data.zitadel_org.default.id}\n redirectUris:\n - https://localhost.com\n responseTypes:\n - OIDC_RESPONSE_TYPE_CODE\n grantTypes:\n - OIDC_GRANT_TYPE_AUTHORIZATION_CODE\n postLogoutRedirectUris:\n - https://localhost.com\n appType: OIDC_APP_TYPE_WEB\n authMethodType: OIDC_AUTH_METHOD_TYPE_BASIC\n version: OIDC_VERSION_1_0\n clockSkew: 0s\n devMode: true\n accessTokenType: OIDC_TOKEN_TYPE_BEARER\n accessTokenRoleAssertion: false\n idTokenRoleAssertion: false\n idTokenUserinfoAssertion: false\n additionalOrigins: []\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid:project_id[:org_id][:client_id][:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/applicationOidc:ApplicationOidc imported '123456789012345678:123456789012345678:123456789012345678:123456789012345678@zitadel:JuaDFFeOak5DGE655KCYPSAclSkbMVEJXXuX1lEMBT14eLMSs0A0qhafKX5SA2Df'\n```\n\n ", "properties": { "accessTokenRoleAssertion": { "type": "boolean", @@ -738,7 +738,7 @@ } }, "zitadel:index/applicationSaml:ApplicationSaml": { - "description": "Resource representing a SAML application belonging to a project, with all configuration possibilities.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.ApplicationSaml(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n projectId: data.zitadel_project[\"default\"].id,\n metadataXml: `\u003c?xml version=\"1.0\"?\u003e\n\u003cmd:EntityDescriptor xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\"\n validUntil=\"2024-01-26T17:48:38Z\"\n cacheDuration=\"PT604800S\"\n entityID=\"http://example.com/saml/metadata\"\u003e\n \u003cmd:SPSSODescriptor AuthnRequestsSigned=\"false\" WantAssertionsSigned=\"false\" protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\"\u003e\n \u003cmd:NameIDFormat\u003eurn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\u003c/md:NameIDFormat\u003e\n \u003cmd:AssertionConsumerService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\"\n Location=\"http://example.com/saml/cas\"\n index=\"1\" /\u003e\n \n \u003c/md:SPSSODescriptor\u003e\n\u003c/md:EntityDescriptor\u003e`,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.ApplicationSaml(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n project_id=data[\"zitadel_project\"][\"default\"][\"id\"],\n metadata_xml=\"\"\"\u003c?xml version=\"1.0\"?\u003e\n\u003cmd:EntityDescriptor xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\"\n validUntil=\"2024-01-26T17:48:38Z\"\n cacheDuration=\"PT604800S\"\n entityID=\"http://example.com/saml/metadata\"\u003e\n \u003cmd:SPSSODescriptor AuthnRequestsSigned=\"false\" WantAssertionsSigned=\"false\" protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\"\u003e\n \u003cmd:NameIDFormat\u003eurn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\u003c/md:NameIDFormat\u003e\n \u003cmd:AssertionConsumerService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\"\n Location=\"http://example.com/saml/cas\"\n index=\"1\" /\u003e\n \n \u003c/md:SPSSODescriptor\u003e\n\u003c/md:EntityDescriptor\u003e\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.ApplicationSaml(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ProjectId = data.Zitadel_project.Default.Id,\n MetadataXml = @\"\u003c?xml version=\"\"1.0\"\"?\u003e\n\u003cmd:EntityDescriptor xmlns:md=\"\"urn:oasis:names:tc:SAML:2.0:metadata\"\"\n validUntil=\"\"2024-01-26T17:48:38Z\"\"\n cacheDuration=\"\"PT604800S\"\"\n entityID=\"\"http://example.com/saml/metadata\"\"\u003e\n \u003cmd:SPSSODescriptor AuthnRequestsSigned=\"\"false\"\" WantAssertionsSigned=\"\"false\"\" protocolSupportEnumeration=\"\"urn:oasis:names:tc:SAML:2.0:protocol\"\"\u003e\n \u003cmd:NameIDFormat\u003eurn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\u003c/md:NameIDFormat\u003e\n \u003cmd:AssertionConsumerService Binding=\"\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\"\"\n Location=\"\"http://example.com/saml/cas\"\"\n index=\"\"1\"\" /\u003e\n \n \u003c/md:SPSSODescriptor\u003e\n\u003c/md:EntityDescriptor\u003e\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewApplicationSaml(ctx, \"default\", \u0026zitadel.ApplicationSamlArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tProjectId: pulumi.Any(data.Zitadel_project.Default.Id),\n\t\t\tMetadataXml: pulumi.String(`\u003c?xml version=\"1.0\"?\u003e\n\u003cmd:EntityDescriptor xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\"\n validUntil=\"2024-01-26T17:48:38Z\"\n cacheDuration=\"PT604800S\"\n entityID=\"http://example.com/saml/metadata\"\u003e\n \u003cmd:SPSSODescriptor AuthnRequestsSigned=\"false\" WantAssertionsSigned=\"false\" protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\"\u003e\n \u003cmd:NameIDFormat\u003eurn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\u003c/md:NameIDFormat\u003e\n \u003cmd:AssertionConsumerService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\"\n Location=\"http://example.com/saml/cas\"\n index=\"1\" /\u003e\n \n \u003c/md:SPSSODescriptor\u003e\n\u003c/md:EntityDescriptor\u003e`),\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.zitadel.ApplicationSaml;\nimport com.pulumi.zitadel.ApplicationSamlArgs;\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 default_ = new ApplicationSaml(\"default\", ApplicationSamlArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .projectId(data.zitadel_project().default().id())\n .metadataXml(\"\"\"\n\u003c?xml version=\"1.0\"?\u003e\n\u003cmd:EntityDescriptor xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\"\n validUntil=\"2024-01-26T17:48:38Z\"\n cacheDuration=\"PT604800S\"\n entityID=\"http://example.com/saml/metadata\"\u003e\n \u003cmd:SPSSODescriptor AuthnRequestsSigned=\"false\" WantAssertionsSigned=\"false\" protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\"\u003e\n \u003cmd:NameIDFormat\u003eurn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\u003c/md:NameIDFormat\u003e\n \u003cmd:AssertionConsumerService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\"\n Location=\"http://example.com/saml/cas\"\n index=\"1\" /\u003e\n \n \u003c/md:SPSSODescriptor\u003e\n\u003c/md:EntityDescriptor\u003e \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:ApplicationSaml\n properties:\n orgId: ${data.zitadel_org.default.id}\n projectId: ${data.zitadel_project.default.id}\n metadataXml: \"\u003c?xml version=\\\"1.0\\\"?\u003e\\n\u003cmd:EntityDescriptor xmlns:md=\\\"urn:oasis:names:tc:SAML:2.0:metadata\\\"\\n validUntil=\\\"2024-01-26T17:48:38Z\\\"\\n cacheDuration=\\\"PT604800S\\\"\\n entityID=\\\"http://example.com/saml/metadata\\\"\u003e\\n \u003cmd:SPSSODescriptor AuthnRequestsSigned=\\\"false\\\" WantAssertionsSigned=\\\"false\\\" protocolSupportEnumeration=\\\"urn:oasis:names:tc:SAML:2.0:protocol\\\"\u003e\\n \u003cmd:NameIDFormat\u003eurn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\u003c/md:NameIDFormat\u003e\\n \u003cmd:AssertionConsumerService Binding=\\\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\\\"\\n Location=\\\"http://example.com/saml/cas\\\"\\n index=\\\"1\\\" /\u003e\\n \\n \u003c/md:SPSSODescriptor\u003e\\n\u003c/md:EntityDescriptor\u003e\"\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid:project_id[:org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/applicationSaml:ApplicationSaml imported '123456789012345678:123456789012345678:123456789012345678'\n```\n\n ", + "description": "Resource representing a SAML application belonging to a project, with all configuration possibilities.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.ApplicationSaml(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n projectId: data.zitadel_project[\"default\"].id,\n metadataXml: `\u003c?xml version=\"1.0\"?\u003e\n\u003cmd:EntityDescriptor xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\"\n validUntil=\"2024-01-26T17:48:38Z\"\n cacheDuration=\"PT604800S\"\n entityID=\"http://example.com/saml/metadata\"\u003e\n \u003cmd:SPSSODescriptor AuthnRequestsSigned=\"false\" WantAssertionsSigned=\"false\" protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\"\u003e\n \u003cmd:NameIDFormat\u003eurn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\u003c/md:NameIDFormat\u003e\n \u003cmd:AssertionConsumerService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\"\n Location=\"http://example.com/saml/cas\"\n index=\"1\" /\u003e\n \n \u003c/md:SPSSODescriptor\u003e\n\u003c/md:EntityDescriptor\u003e`,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.ApplicationSaml(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n project_id=data[\"zitadel_project\"][\"default\"][\"id\"],\n metadata_xml=\"\"\"\u003c?xml version=\"1.0\"?\u003e\n\u003cmd:EntityDescriptor xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\"\n validUntil=\"2024-01-26T17:48:38Z\"\n cacheDuration=\"PT604800S\"\n entityID=\"http://example.com/saml/metadata\"\u003e\n \u003cmd:SPSSODescriptor AuthnRequestsSigned=\"false\" WantAssertionsSigned=\"false\" protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\"\u003e\n \u003cmd:NameIDFormat\u003eurn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\u003c/md:NameIDFormat\u003e\n \u003cmd:AssertionConsumerService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\"\n Location=\"http://example.com/saml/cas\"\n index=\"1\" /\u003e\n \n \u003c/md:SPSSODescriptor\u003e\n\u003c/md:EntityDescriptor\u003e\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.ApplicationSaml(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ProjectId = data.Zitadel_project.Default.Id,\n MetadataXml = @\"\u003c?xml version=\"\"1.0\"\"?\u003e\n\u003cmd:EntityDescriptor xmlns:md=\"\"urn:oasis:names:tc:SAML:2.0:metadata\"\"\n validUntil=\"\"2024-01-26T17:48:38Z\"\"\n cacheDuration=\"\"PT604800S\"\"\n entityID=\"\"http://example.com/saml/metadata\"\"\u003e\n \u003cmd:SPSSODescriptor AuthnRequestsSigned=\"\"false\"\" WantAssertionsSigned=\"\"false\"\" protocolSupportEnumeration=\"\"urn:oasis:names:tc:SAML:2.0:protocol\"\"\u003e\n \u003cmd:NameIDFormat\u003eurn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\u003c/md:NameIDFormat\u003e\n \u003cmd:AssertionConsumerService Binding=\"\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\"\"\n Location=\"\"http://example.com/saml/cas\"\"\n index=\"\"1\"\" /\u003e\n \n \u003c/md:SPSSODescriptor\u003e\n\u003c/md:EntityDescriptor\u003e\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewApplicationSaml(ctx, \"default\", \u0026zitadel.ApplicationSamlArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tProjectId: pulumi.Any(data.Zitadel_project.Default.Id),\n\t\t\tMetadataXml: pulumi.String(`\u003c?xml version=\"1.0\"?\u003e\n\u003cmd:EntityDescriptor xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\"\n validUntil=\"2024-01-26T17:48:38Z\"\n cacheDuration=\"PT604800S\"\n entityID=\"http://example.com/saml/metadata\"\u003e\n \u003cmd:SPSSODescriptor AuthnRequestsSigned=\"false\" WantAssertionsSigned=\"false\" protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\"\u003e\n \u003cmd:NameIDFormat\u003eurn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\u003c/md:NameIDFormat\u003e\n \u003cmd:AssertionConsumerService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\"\n Location=\"http://example.com/saml/cas\"\n index=\"1\" /\u003e\n \n \u003c/md:SPSSODescriptor\u003e\n\u003c/md:EntityDescriptor\u003e`),\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.zitadel.ApplicationSaml;\nimport com.pulumi.zitadel.ApplicationSamlArgs;\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 default_ = new ApplicationSaml(\"default\", ApplicationSamlArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .projectId(data.zitadel_project().default().id())\n .metadataXml(\"\"\"\n\u003c?xml version=\"1.0\"?\u003e\n\u003cmd:EntityDescriptor xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\"\n validUntil=\"2024-01-26T17:48:38Z\"\n cacheDuration=\"PT604800S\"\n entityID=\"http://example.com/saml/metadata\"\u003e\n \u003cmd:SPSSODescriptor AuthnRequestsSigned=\"false\" WantAssertionsSigned=\"false\" protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\"\u003e\n \u003cmd:NameIDFormat\u003eurn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\u003c/md:NameIDFormat\u003e\n \u003cmd:AssertionConsumerService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\"\n Location=\"http://example.com/saml/cas\"\n index=\"1\" /\u003e\n \n \u003c/md:SPSSODescriptor\u003e\n\u003c/md:EntityDescriptor\u003e \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:ApplicationSaml\n properties:\n orgId: ${data.zitadel_org.default.id}\n projectId: ${data.zitadel_project.default.id}\n metadataXml: \"\u003c?xml version=\\\"1.0\\\"?\u003e\\n\u003cmd:EntityDescriptor xmlns:md=\\\"urn:oasis:names:tc:SAML:2.0:metadata\\\"\\n validUntil=\\\"2024-01-26T17:48:38Z\\\"\\n cacheDuration=\\\"PT604800S\\\"\\n entityID=\\\"http://example.com/saml/metadata\\\"\u003e\\n \u003cmd:SPSSODescriptor AuthnRequestsSigned=\\\"false\\\" WantAssertionsSigned=\\\"false\\\" protocolSupportEnumeration=\\\"urn:oasis:names:tc:SAML:2.0:protocol\\\"\u003e\\n \u003cmd:NameIDFormat\u003eurn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\u003c/md:NameIDFormat\u003e\\n \u003cmd:AssertionConsumerService Binding=\\\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\\\"\\n Location=\\\"http://example.com/saml/cas\\\"\\n index=\\\"1\\\" /\u003e\\n \\n \u003c/md:SPSSODescriptor\u003e\\n\u003c/md:EntityDescriptor\u003e\"\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid:project_id[:org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/applicationSaml:ApplicationSaml imported '123456789012345678:123456789012345678:123456789012345678'\n```\n\n ", "properties": { "metadataXml": { "type": "string", @@ -815,7 +815,7 @@ } }, "zitadel:index/defaultDomainPolicy:DefaultDomainPolicy": { - "description": "Resource representing the default domain policy.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.DefaultDomainPolicy(\"default\", {\n smtpSenderAddressMatchesInstanceDomain: true,\n userLoginMustBeDomain: false,\n validateOrgDomains: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.DefaultDomainPolicy(\"default\",\n smtp_sender_address_matches_instance_domain=True,\n user_login_must_be_domain=False,\n validate_org_domains=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.DefaultDomainPolicy(\"default\", new()\n {\n SmtpSenderAddressMatchesInstanceDomain = true,\n UserLoginMustBeDomain = false,\n ValidateOrgDomains = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewDefaultDomainPolicy(ctx, \"default\", \u0026zitadel.DefaultDomainPolicyArgs{\n\t\t\tSmtpSenderAddressMatchesInstanceDomain: pulumi.Bool(true),\n\t\t\tUserLoginMustBeDomain: pulumi.Bool(false),\n\t\t\tValidateOrgDomains: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.DefaultDomainPolicy;\nimport com.pulumi.zitadel.DefaultDomainPolicyArgs;\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 default_ = new DefaultDomainPolicy(\"default\", DefaultDomainPolicyArgs.builder() \n .smtpSenderAddressMatchesInstanceDomain(true)\n .userLoginMustBeDomain(false)\n .validateOrgDomains(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:DefaultDomainPolicy\n properties:\n smtpSenderAddressMatchesInstanceDomain: true\n userLoginMustBeDomain: false\n validateOrgDomains: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003c\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/defaultDomainPolicy:DefaultDomainPolicy imported ''\n```\n\n ", + "description": "Resource representing the default domain policy.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.DefaultDomainPolicy(\"default\", {\n smtpSenderAddressMatchesInstanceDomain: true,\n userLoginMustBeDomain: false,\n validateOrgDomains: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.DefaultDomainPolicy(\"default\",\n smtp_sender_address_matches_instance_domain=True,\n user_login_must_be_domain=False,\n validate_org_domains=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.DefaultDomainPolicy(\"default\", new()\n {\n SmtpSenderAddressMatchesInstanceDomain = true,\n UserLoginMustBeDomain = false,\n ValidateOrgDomains = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewDefaultDomainPolicy(ctx, \"default\", \u0026zitadel.DefaultDomainPolicyArgs{\n\t\t\tSmtpSenderAddressMatchesInstanceDomain: pulumi.Bool(true),\n\t\t\tUserLoginMustBeDomain: pulumi.Bool(false),\n\t\t\tValidateOrgDomains: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.DefaultDomainPolicy;\nimport com.pulumi.zitadel.DefaultDomainPolicyArgs;\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 default_ = new DefaultDomainPolicy(\"default\", DefaultDomainPolicyArgs.builder() \n .smtpSenderAddressMatchesInstanceDomain(true)\n .userLoginMustBeDomain(false)\n .validateOrgDomains(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:DefaultDomainPolicy\n properties:\n smtpSenderAddressMatchesInstanceDomain: true\n userLoginMustBeDomain: false\n validateOrgDomains: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003c\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/defaultDomainPolicy:DefaultDomainPolicy imported ''\n```\n\n ", "properties": { "smtpSenderAddressMatchesInstanceDomain": { "type": "boolean" @@ -871,7 +871,7 @@ } }, "zitadel:index/defaultLabelPolicy:DefaultLabelPolicy": { - "description": "Resource representing the default label policy.\n\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003c\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/defaultLabelPolicy:DefaultLabelPolicy imported ''\n```\n\n ", + "description": "Resource representing the default label policy.\n\n\n## Import\n\nbash The resource can be imported using the ID format `\u003c\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/defaultLabelPolicy:DefaultLabelPolicy imported ''\n```\n\n ", "properties": { "backgroundColor": { "type": "string", @@ -954,6 +954,10 @@ "type": "boolean", "description": "set the label policy active after creating/updating\n" }, + "themeMode": { + "type": "string", + "description": "theme mode, supported values: THEME*MODE*UNSPECIFIED, THEME*MODE*AUTO, THEME*MODE*DARK, THEME*MODE*LIGHT\n" + }, "warnColor": { "type": "string", "description": "hex value for warn color\n" @@ -1047,6 +1051,10 @@ "type": "boolean", "description": "set the label policy active after creating/updating\n" }, + "themeMode": { + "type": "string", + "description": "theme mode, supported values: THEME*MODE*UNSPECIFIED, THEME*MODE*AUTO, THEME*MODE*DARK, THEME*MODE*LIGHT\n" + }, "warnColor": { "type": "string", "description": "hex value for warn color\n" @@ -1152,6 +1160,10 @@ "type": "boolean", "description": "set the label policy active after creating/updating\n" }, + "themeMode": { + "type": "string", + "description": "theme mode, supported values: THEME*MODE*UNSPECIFIED, THEME*MODE*AUTO, THEME*MODE*DARK, THEME*MODE*LIGHT\n" + }, "warnColor": { "type": "string", "description": "hex value for warn color\n" @@ -1165,7 +1177,7 @@ } }, "zitadel:index/defaultLockoutPolicy:DefaultLockoutPolicy": { - "description": "Resource representing the default lockout policy.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.DefaultLockoutPolicy(\"default\", {maxPasswordAttempts: 5});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.DefaultLockoutPolicy(\"default\", max_password_attempts=5)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.DefaultLockoutPolicy(\"default\", new()\n {\n MaxPasswordAttempts = 5,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewDefaultLockoutPolicy(ctx, \"default\", \u0026zitadel.DefaultLockoutPolicyArgs{\n\t\t\tMaxPasswordAttempts: pulumi.Int(5),\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.zitadel.DefaultLockoutPolicy;\nimport com.pulumi.zitadel.DefaultLockoutPolicyArgs;\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 default_ = new DefaultLockoutPolicy(\"default\", DefaultLockoutPolicyArgs.builder() \n .maxPasswordAttempts(\"5\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:DefaultLockoutPolicy\n properties:\n maxPasswordAttempts: '5'\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003c\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/defaultLockoutPolicy:DefaultLockoutPolicy imported ''\n```\n\n ", + "description": "Resource representing the default lockout policy.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.DefaultLockoutPolicy(\"default\", {maxPasswordAttempts: 5});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.DefaultLockoutPolicy(\"default\", max_password_attempts=5)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.DefaultLockoutPolicy(\"default\", new()\n {\n MaxPasswordAttempts = 5,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewDefaultLockoutPolicy(ctx, \"default\", \u0026zitadel.DefaultLockoutPolicyArgs{\n\t\t\tMaxPasswordAttempts: pulumi.Int(5),\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.zitadel.DefaultLockoutPolicy;\nimport com.pulumi.zitadel.DefaultLockoutPolicyArgs;\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 default_ = new DefaultLockoutPolicy(\"default\", DefaultLockoutPolicyArgs.builder() \n .maxPasswordAttempts(\"5\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:DefaultLockoutPolicy\n properties:\n maxPasswordAttempts: '5'\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003c\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/defaultLockoutPolicy:DefaultLockoutPolicy imported ''\n```\n\n ", "properties": { "maxPasswordAttempts": { "type": "integer", @@ -1196,7 +1208,7 @@ } }, "zitadel:index/defaultLoginPolicy:DefaultLoginPolicy": { - "description": "Resource representing the default login policy.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.DefaultLoginPolicy(\"default\", {\n userLogin: true,\n allowRegister: true,\n allowExternalIdp: true,\n forceMfa: false,\n forceMfaLocalOnly: false,\n passwordlessType: \"PASSWORDLESS_TYPE_ALLOWED\",\n hidePasswordReset: false,\n passwordCheckLifetime: \"240h0m0s\",\n externalLoginCheckLifetime: \"240h0m0s\",\n multiFactorCheckLifetime: \"24h0m0s\",\n mfaInitSkipLifetime: \"720h0m0s\",\n secondFactorCheckLifetime: \"24h0m0s\",\n ignoreUnknownUsernames: true,\n defaultRedirectUri: \"localhost:8080\",\n secondFactors: [\n \"SECOND_FACTOR_TYPE_OTP\",\n \"SECOND_FACTOR_TYPE_U2F\",\n ],\n multiFactors: [\"MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION\"],\n idps: [\n data.zitadel_idp_google[\"default\"].id,\n data.zitadel_idp_azure_ad[\"default\"].id,\n ],\n allowDomainDiscovery: true,\n disableLoginWithEmail: true,\n disableLoginWithPhone: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.DefaultLoginPolicy(\"default\",\n user_login=True,\n allow_register=True,\n allow_external_idp=True,\n force_mfa=False,\n force_mfa_local_only=False,\n passwordless_type=\"PASSWORDLESS_TYPE_ALLOWED\",\n hide_password_reset=False,\n password_check_lifetime=\"240h0m0s\",\n external_login_check_lifetime=\"240h0m0s\",\n multi_factor_check_lifetime=\"24h0m0s\",\n mfa_init_skip_lifetime=\"720h0m0s\",\n second_factor_check_lifetime=\"24h0m0s\",\n ignore_unknown_usernames=True,\n default_redirect_uri=\"localhost:8080\",\n second_factors=[\n \"SECOND_FACTOR_TYPE_OTP\",\n \"SECOND_FACTOR_TYPE_U2F\",\n ],\n multi_factors=[\"MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION\"],\n idps=[\n data[\"zitadel_idp_google\"][\"default\"][\"id\"],\n data[\"zitadel_idp_azure_ad\"][\"default\"][\"id\"],\n ],\n allow_domain_discovery=True,\n disable_login_with_email=True,\n disable_login_with_phone=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.DefaultLoginPolicy(\"default\", new()\n {\n UserLogin = true,\n AllowRegister = true,\n AllowExternalIdp = true,\n ForceMfa = false,\n ForceMfaLocalOnly = false,\n PasswordlessType = \"PASSWORDLESS_TYPE_ALLOWED\",\n HidePasswordReset = false,\n PasswordCheckLifetime = \"240h0m0s\",\n ExternalLoginCheckLifetime = \"240h0m0s\",\n MultiFactorCheckLifetime = \"24h0m0s\",\n MfaInitSkipLifetime = \"720h0m0s\",\n SecondFactorCheckLifetime = \"24h0m0s\",\n IgnoreUnknownUsernames = true,\n DefaultRedirectUri = \"localhost:8080\",\n SecondFactors = new[]\n {\n \"SECOND_FACTOR_TYPE_OTP\",\n \"SECOND_FACTOR_TYPE_U2F\",\n },\n MultiFactors = new[]\n {\n \"MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION\",\n },\n Idps = new[]\n {\n data.Zitadel_idp_google.Default.Id,\n data.Zitadel_idp_azure_ad.Default.Id,\n },\n AllowDomainDiscovery = true,\n DisableLoginWithEmail = true,\n DisableLoginWithPhone = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewDefaultLoginPolicy(ctx, \"default\", \u0026zitadel.DefaultLoginPolicyArgs{\n\t\t\tUserLogin: pulumi.Bool(true),\n\t\t\tAllowRegister: pulumi.Bool(true),\n\t\t\tAllowExternalIdp: pulumi.Bool(true),\n\t\t\tForceMfa: pulumi.Bool(false),\n\t\t\tForceMfaLocalOnly: pulumi.Bool(false),\n\t\t\tPasswordlessType: pulumi.String(\"PASSWORDLESS_TYPE_ALLOWED\"),\n\t\t\tHidePasswordReset: pulumi.Bool(false),\n\t\t\tPasswordCheckLifetime: pulumi.String(\"240h0m0s\"),\n\t\t\tExternalLoginCheckLifetime: pulumi.String(\"240h0m0s\"),\n\t\t\tMultiFactorCheckLifetime: pulumi.String(\"24h0m0s\"),\n\t\t\tMfaInitSkipLifetime: pulumi.String(\"720h0m0s\"),\n\t\t\tSecondFactorCheckLifetime: pulumi.String(\"24h0m0s\"),\n\t\t\tIgnoreUnknownUsernames: pulumi.Bool(true),\n\t\t\tDefaultRedirectUri: pulumi.String(\"localhost:8080\"),\n\t\t\tSecondFactors: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"SECOND_FACTOR_TYPE_OTP\"),\n\t\t\t\tpulumi.String(\"SECOND_FACTOR_TYPE_U2F\"),\n\t\t\t},\n\t\t\tMultiFactors: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION\"),\n\t\t\t},\n\t\t\tIdps: pulumi.StringArray{\n\t\t\t\tdata.Zitadel_idp_google.Default.Id,\n\t\t\t\tdata.Zitadel_idp_azure_ad.Default.Id,\n\t\t\t},\n\t\t\tAllowDomainDiscovery: pulumi.Bool(true),\n\t\t\tDisableLoginWithEmail: pulumi.Bool(true),\n\t\t\tDisableLoginWithPhone: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.DefaultLoginPolicy;\nimport com.pulumi.zitadel.DefaultLoginPolicyArgs;\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 default_ = new DefaultLoginPolicy(\"default\", DefaultLoginPolicyArgs.builder() \n .userLogin(true)\n .allowRegister(true)\n .allowExternalIdp(true)\n .forceMfa(false)\n .forceMfaLocalOnly(false)\n .passwordlessType(\"PASSWORDLESS_TYPE_ALLOWED\")\n .hidePasswordReset(\"false\")\n .passwordCheckLifetime(\"240h0m0s\")\n .externalLoginCheckLifetime(\"240h0m0s\")\n .multiFactorCheckLifetime(\"24h0m0s\")\n .mfaInitSkipLifetime(\"720h0m0s\")\n .secondFactorCheckLifetime(\"24h0m0s\")\n .ignoreUnknownUsernames(true)\n .defaultRedirectUri(\"localhost:8080\")\n .secondFactors( \n \"SECOND_FACTOR_TYPE_OTP\",\n \"SECOND_FACTOR_TYPE_U2F\")\n .multiFactors(\"MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION\")\n .idps( \n data.zitadel_idp_google().default().id(),\n data.zitadel_idp_azure_ad().default().id())\n .allowDomainDiscovery(true)\n .disableLoginWithEmail(true)\n .disableLoginWithPhone(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:DefaultLoginPolicy\n properties:\n userLogin: true\n allowRegister: true\n allowExternalIdp: true\n forceMfa: false\n forceMfaLocalOnly: false\n passwordlessType: PASSWORDLESS_TYPE_ALLOWED\n hidePasswordReset: 'false'\n passwordCheckLifetime: 240h0m0s\n externalLoginCheckLifetime: 240h0m0s\n multiFactorCheckLifetime: 24h0m0s\n mfaInitSkipLifetime: 720h0m0s\n secondFactorCheckLifetime: 24h0m0s\n ignoreUnknownUsernames: true\n defaultRedirectUri: localhost:8080\n secondFactors:\n - SECOND_FACTOR_TYPE_OTP\n - SECOND_FACTOR_TYPE_U2F\n multiFactors:\n - MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION\n idps:\n - ${data.zitadel_idp_google.default.id}\n - ${data.zitadel_idp_azure_ad.default.id}\n allowDomainDiscovery: true\n disableLoginWithEmail: true\n disableLoginWithPhone: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003c\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/defaultLoginPolicy:DefaultLoginPolicy imported ''\n```\n\n ", + "description": "Resource representing the default login policy.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.DefaultLoginPolicy(\"default\", {\n userLogin: true,\n allowRegister: true,\n allowExternalIdp: true,\n forceMfa: false,\n forceMfaLocalOnly: false,\n passwordlessType: \"PASSWORDLESS_TYPE_ALLOWED\",\n hidePasswordReset: false,\n passwordCheckLifetime: \"240h0m0s\",\n externalLoginCheckLifetime: \"240h0m0s\",\n multiFactorCheckLifetime: \"24h0m0s\",\n mfaInitSkipLifetime: \"720h0m0s\",\n secondFactorCheckLifetime: \"24h0m0s\",\n ignoreUnknownUsernames: true,\n defaultRedirectUri: \"localhost:8080\",\n secondFactors: [\n \"SECOND_FACTOR_TYPE_OTP\",\n \"SECOND_FACTOR_TYPE_U2F\",\n ],\n multiFactors: [\"MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION\"],\n idps: [\n data.zitadel_idp_google[\"default\"].id,\n data.zitadel_idp_azure_ad[\"default\"].id,\n ],\n allowDomainDiscovery: true,\n disableLoginWithEmail: true,\n disableLoginWithPhone: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.DefaultLoginPolicy(\"default\",\n user_login=True,\n allow_register=True,\n allow_external_idp=True,\n force_mfa=False,\n force_mfa_local_only=False,\n passwordless_type=\"PASSWORDLESS_TYPE_ALLOWED\",\n hide_password_reset=False,\n password_check_lifetime=\"240h0m0s\",\n external_login_check_lifetime=\"240h0m0s\",\n multi_factor_check_lifetime=\"24h0m0s\",\n mfa_init_skip_lifetime=\"720h0m0s\",\n second_factor_check_lifetime=\"24h0m0s\",\n ignore_unknown_usernames=True,\n default_redirect_uri=\"localhost:8080\",\n second_factors=[\n \"SECOND_FACTOR_TYPE_OTP\",\n \"SECOND_FACTOR_TYPE_U2F\",\n ],\n multi_factors=[\"MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION\"],\n idps=[\n data[\"zitadel_idp_google\"][\"default\"][\"id\"],\n data[\"zitadel_idp_azure_ad\"][\"default\"][\"id\"],\n ],\n allow_domain_discovery=True,\n disable_login_with_email=True,\n disable_login_with_phone=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.DefaultLoginPolicy(\"default\", new()\n {\n UserLogin = true,\n AllowRegister = true,\n AllowExternalIdp = true,\n ForceMfa = false,\n ForceMfaLocalOnly = false,\n PasswordlessType = \"PASSWORDLESS_TYPE_ALLOWED\",\n HidePasswordReset = false,\n PasswordCheckLifetime = \"240h0m0s\",\n ExternalLoginCheckLifetime = \"240h0m0s\",\n MultiFactorCheckLifetime = \"24h0m0s\",\n MfaInitSkipLifetime = \"720h0m0s\",\n SecondFactorCheckLifetime = \"24h0m0s\",\n IgnoreUnknownUsernames = true,\n DefaultRedirectUri = \"localhost:8080\",\n SecondFactors = new[]\n {\n \"SECOND_FACTOR_TYPE_OTP\",\n \"SECOND_FACTOR_TYPE_U2F\",\n },\n MultiFactors = new[]\n {\n \"MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION\",\n },\n Idps = new[]\n {\n data.Zitadel_idp_google.Default.Id,\n data.Zitadel_idp_azure_ad.Default.Id,\n },\n AllowDomainDiscovery = true,\n DisableLoginWithEmail = true,\n DisableLoginWithPhone = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewDefaultLoginPolicy(ctx, \"default\", \u0026zitadel.DefaultLoginPolicyArgs{\n\t\t\tUserLogin: pulumi.Bool(true),\n\t\t\tAllowRegister: pulumi.Bool(true),\n\t\t\tAllowExternalIdp: pulumi.Bool(true),\n\t\t\tForceMfa: pulumi.Bool(false),\n\t\t\tForceMfaLocalOnly: pulumi.Bool(false),\n\t\t\tPasswordlessType: pulumi.String(\"PASSWORDLESS_TYPE_ALLOWED\"),\n\t\t\tHidePasswordReset: pulumi.Bool(false),\n\t\t\tPasswordCheckLifetime: pulumi.String(\"240h0m0s\"),\n\t\t\tExternalLoginCheckLifetime: pulumi.String(\"240h0m0s\"),\n\t\t\tMultiFactorCheckLifetime: pulumi.String(\"24h0m0s\"),\n\t\t\tMfaInitSkipLifetime: pulumi.String(\"720h0m0s\"),\n\t\t\tSecondFactorCheckLifetime: pulumi.String(\"24h0m0s\"),\n\t\t\tIgnoreUnknownUsernames: pulumi.Bool(true),\n\t\t\tDefaultRedirectUri: pulumi.String(\"localhost:8080\"),\n\t\t\tSecondFactors: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"SECOND_FACTOR_TYPE_OTP\"),\n\t\t\t\tpulumi.String(\"SECOND_FACTOR_TYPE_U2F\"),\n\t\t\t},\n\t\t\tMultiFactors: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION\"),\n\t\t\t},\n\t\t\tIdps: pulumi.StringArray{\n\t\t\t\tdata.Zitadel_idp_google.Default.Id,\n\t\t\t\tdata.Zitadel_idp_azure_ad.Default.Id,\n\t\t\t},\n\t\t\tAllowDomainDiscovery: pulumi.Bool(true),\n\t\t\tDisableLoginWithEmail: pulumi.Bool(true),\n\t\t\tDisableLoginWithPhone: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.DefaultLoginPolicy;\nimport com.pulumi.zitadel.DefaultLoginPolicyArgs;\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 default_ = new DefaultLoginPolicy(\"default\", DefaultLoginPolicyArgs.builder() \n .userLogin(true)\n .allowRegister(true)\n .allowExternalIdp(true)\n .forceMfa(false)\n .forceMfaLocalOnly(false)\n .passwordlessType(\"PASSWORDLESS_TYPE_ALLOWED\")\n .hidePasswordReset(\"false\")\n .passwordCheckLifetime(\"240h0m0s\")\n .externalLoginCheckLifetime(\"240h0m0s\")\n .multiFactorCheckLifetime(\"24h0m0s\")\n .mfaInitSkipLifetime(\"720h0m0s\")\n .secondFactorCheckLifetime(\"24h0m0s\")\n .ignoreUnknownUsernames(true)\n .defaultRedirectUri(\"localhost:8080\")\n .secondFactors( \n \"SECOND_FACTOR_TYPE_OTP\",\n \"SECOND_FACTOR_TYPE_U2F\")\n .multiFactors(\"MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION\")\n .idps( \n data.zitadel_idp_google().default().id(),\n data.zitadel_idp_azure_ad().default().id())\n .allowDomainDiscovery(true)\n .disableLoginWithEmail(true)\n .disableLoginWithPhone(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:DefaultLoginPolicy\n properties:\n userLogin: true\n allowRegister: true\n allowExternalIdp: true\n forceMfa: false\n forceMfaLocalOnly: false\n passwordlessType: PASSWORDLESS_TYPE_ALLOWED\n hidePasswordReset: 'false'\n passwordCheckLifetime: 240h0m0s\n externalLoginCheckLifetime: 240h0m0s\n multiFactorCheckLifetime: 24h0m0s\n mfaInitSkipLifetime: 720h0m0s\n secondFactorCheckLifetime: 24h0m0s\n ignoreUnknownUsernames: true\n defaultRedirectUri: localhost:8080\n secondFactors:\n - SECOND_FACTOR_TYPE_OTP\n - SECOND_FACTOR_TYPE_U2F\n multiFactors:\n - MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION\n idps:\n - ${data.zitadel_idp_google.default.id}\n - ${data.zitadel_idp_azure_ad.default.id}\n allowDomainDiscovery: true\n disableLoginWithEmail: true\n disableLoginWithPhone: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003c\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/defaultLoginPolicy:DefaultLoginPolicy imported ''\n```\n\n ", "properties": { "allowDomainDiscovery": { "type": "boolean", @@ -1493,7 +1505,7 @@ } }, "zitadel:index/defaultNotificationPolicy:DefaultNotificationPolicy": { - "description": "Resource representing the default notification policy.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.DefaultNotificationPolicy(\"default\", {passwordChange: false});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.DefaultNotificationPolicy(\"default\", password_change=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.DefaultNotificationPolicy(\"default\", new()\n {\n PasswordChange = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewDefaultNotificationPolicy(ctx, \"default\", \u0026zitadel.DefaultNotificationPolicyArgs{\n\t\t\tPasswordChange: 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.zitadel.DefaultNotificationPolicy;\nimport com.pulumi.zitadel.DefaultNotificationPolicyArgs;\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 default_ = new DefaultNotificationPolicy(\"default\", DefaultNotificationPolicyArgs.builder() \n .passwordChange(false)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:DefaultNotificationPolicy\n properties:\n passwordChange: false\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003c\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/defaultNotificationPolicy:DefaultNotificationPolicy imported ''\n```\n\n ", + "description": "Resource representing the default notification policy.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.DefaultNotificationPolicy(\"default\", {passwordChange: false});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.DefaultNotificationPolicy(\"default\", password_change=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.DefaultNotificationPolicy(\"default\", new()\n {\n PasswordChange = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewDefaultNotificationPolicy(ctx, \"default\", \u0026zitadel.DefaultNotificationPolicyArgs{\n\t\t\tPasswordChange: 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.zitadel.DefaultNotificationPolicy;\nimport com.pulumi.zitadel.DefaultNotificationPolicyArgs;\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 default_ = new DefaultNotificationPolicy(\"default\", DefaultNotificationPolicyArgs.builder() \n .passwordChange(false)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:DefaultNotificationPolicy\n properties:\n passwordChange: false\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003c\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/defaultNotificationPolicy:DefaultNotificationPolicy imported ''\n```\n\n ", "properties": { "passwordChange": { "type": "boolean", @@ -1597,7 +1609,7 @@ } }, "zitadel:index/defaultPasswordComplexityPolicy:DefaultPasswordComplexityPolicy": { - "description": "Resource representing the default password complexity policy.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.DefaultPasswordComplexityPolicy(\"default\", {\n hasLowercase: true,\n hasNumber: true,\n hasSymbol: true,\n hasUppercase: true,\n minLength: 8,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.DefaultPasswordComplexityPolicy(\"default\",\n has_lowercase=True,\n has_number=True,\n has_symbol=True,\n has_uppercase=True,\n min_length=8)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.DefaultPasswordComplexityPolicy(\"default\", new()\n {\n HasLowercase = true,\n HasNumber = true,\n HasSymbol = true,\n HasUppercase = true,\n MinLength = 8,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewDefaultPasswordComplexityPolicy(ctx, \"default\", \u0026zitadel.DefaultPasswordComplexityPolicyArgs{\n\t\t\tHasLowercase: pulumi.Bool(true),\n\t\t\tHasNumber: pulumi.Bool(true),\n\t\t\tHasSymbol: pulumi.Bool(true),\n\t\t\tHasUppercase: pulumi.Bool(true),\n\t\t\tMinLength: pulumi.Int(8),\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.zitadel.DefaultPasswordComplexityPolicy;\nimport com.pulumi.zitadel.DefaultPasswordComplexityPolicyArgs;\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 default_ = new DefaultPasswordComplexityPolicy(\"default\", DefaultPasswordComplexityPolicyArgs.builder() \n .hasLowercase(true)\n .hasNumber(true)\n .hasSymbol(true)\n .hasUppercase(true)\n .minLength(\"8\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:DefaultPasswordComplexityPolicy\n properties:\n hasLowercase: true\n hasNumber: true\n hasSymbol: true\n hasUppercase: true\n minLength: '8'\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003c\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/defaultPasswordComplexityPolicy:DefaultPasswordComplexityPolicy imported ''\n```\n\n ", + "description": "Resource representing the default password complexity policy.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.DefaultPasswordComplexityPolicy(\"default\", {\n hasLowercase: true,\n hasNumber: true,\n hasSymbol: true,\n hasUppercase: true,\n minLength: 8,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.DefaultPasswordComplexityPolicy(\"default\",\n has_lowercase=True,\n has_number=True,\n has_symbol=True,\n has_uppercase=True,\n min_length=8)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.DefaultPasswordComplexityPolicy(\"default\", new()\n {\n HasLowercase = true,\n HasNumber = true,\n HasSymbol = true,\n HasUppercase = true,\n MinLength = 8,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewDefaultPasswordComplexityPolicy(ctx, \"default\", \u0026zitadel.DefaultPasswordComplexityPolicyArgs{\n\t\t\tHasLowercase: pulumi.Bool(true),\n\t\t\tHasNumber: pulumi.Bool(true),\n\t\t\tHasSymbol: pulumi.Bool(true),\n\t\t\tHasUppercase: pulumi.Bool(true),\n\t\t\tMinLength: pulumi.Int(8),\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.zitadel.DefaultPasswordComplexityPolicy;\nimport com.pulumi.zitadel.DefaultPasswordComplexityPolicyArgs;\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 default_ = new DefaultPasswordComplexityPolicy(\"default\", DefaultPasswordComplexityPolicyArgs.builder() \n .hasLowercase(true)\n .hasNumber(true)\n .hasSymbol(true)\n .hasUppercase(true)\n .minLength(\"8\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:DefaultPasswordComplexityPolicy\n properties:\n hasLowercase: true\n hasNumber: true\n hasSymbol: true\n hasUppercase: true\n minLength: '8'\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003c\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/defaultPasswordComplexityPolicy:DefaultPasswordComplexityPolicy imported ''\n```\n\n ", "properties": { "hasLowercase": { "type": "boolean", @@ -1684,7 +1696,7 @@ } }, "zitadel:index/defaultPrivacyPolicy:DefaultPrivacyPolicy": { - "description": "Resource representing the default privacy policy.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.DefaultPrivacyPolicy(\"default\", {\n helpLink: \"https://example.com/help\",\n privacyLink: \"https://example.com/privacy\",\n supportEmail: \"support@example.com\",\n tosLink: \"https://example.com/tos\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.DefaultPrivacyPolicy(\"default\",\n help_link=\"https://example.com/help\",\n privacy_link=\"https://example.com/privacy\",\n support_email=\"support@example.com\",\n tos_link=\"https://example.com/tos\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.DefaultPrivacyPolicy(\"default\", new()\n {\n HelpLink = \"https://example.com/help\",\n PrivacyLink = \"https://example.com/privacy\",\n SupportEmail = \"support@example.com\",\n TosLink = \"https://example.com/tos\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewDefaultPrivacyPolicy(ctx, \"default\", \u0026zitadel.DefaultPrivacyPolicyArgs{\n\t\t\tHelpLink: pulumi.String(\"https://example.com/help\"),\n\t\t\tPrivacyLink: pulumi.String(\"https://example.com/privacy\"),\n\t\t\tSupportEmail: pulumi.String(\"support@example.com\"),\n\t\t\tTosLink: pulumi.String(\"https://example.com/tos\"),\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.zitadel.DefaultPrivacyPolicy;\nimport com.pulumi.zitadel.DefaultPrivacyPolicyArgs;\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 default_ = new DefaultPrivacyPolicy(\"default\", DefaultPrivacyPolicyArgs.builder() \n .helpLink(\"https://example.com/help\")\n .privacyLink(\"https://example.com/privacy\")\n .supportEmail(\"support@example.com\")\n .tosLink(\"https://example.com/tos\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:DefaultPrivacyPolicy\n properties:\n helpLink: https://example.com/help\n privacyLink: https://example.com/privacy\n supportEmail: support@example.com\n tosLink: https://example.com/tos\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003c\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/defaultPrivacyPolicy:DefaultPrivacyPolicy imported ''\n```\n\n ", + "description": "Resource representing the default privacy policy.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.DefaultPrivacyPolicy(\"default\", {\n helpLink: \"https://example.com/help\",\n privacyLink: \"https://example.com/privacy\",\n supportEmail: \"support@example.com\",\n tosLink: \"https://example.com/tos\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.DefaultPrivacyPolicy(\"default\",\n help_link=\"https://example.com/help\",\n privacy_link=\"https://example.com/privacy\",\n support_email=\"support@example.com\",\n tos_link=\"https://example.com/tos\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.DefaultPrivacyPolicy(\"default\", new()\n {\n HelpLink = \"https://example.com/help\",\n PrivacyLink = \"https://example.com/privacy\",\n SupportEmail = \"support@example.com\",\n TosLink = \"https://example.com/tos\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewDefaultPrivacyPolicy(ctx, \"default\", \u0026zitadel.DefaultPrivacyPolicyArgs{\n\t\t\tHelpLink: pulumi.String(\"https://example.com/help\"),\n\t\t\tPrivacyLink: pulumi.String(\"https://example.com/privacy\"),\n\t\t\tSupportEmail: pulumi.String(\"support@example.com\"),\n\t\t\tTosLink: pulumi.String(\"https://example.com/tos\"),\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.zitadel.DefaultPrivacyPolicy;\nimport com.pulumi.zitadel.DefaultPrivacyPolicyArgs;\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 default_ = new DefaultPrivacyPolicy(\"default\", DefaultPrivacyPolicyArgs.builder() \n .helpLink(\"https://example.com/help\")\n .privacyLink(\"https://example.com/privacy\")\n .supportEmail(\"support@example.com\")\n .tosLink(\"https://example.com/tos\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:DefaultPrivacyPolicy\n properties:\n helpLink: https://example.com/help\n privacyLink: https://example.com/privacy\n supportEmail: support@example.com\n tosLink: https://example.com/tos\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003c\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/defaultPrivacyPolicy:DefaultPrivacyPolicy imported ''\n```\n\n ", "properties": { "helpLink": { "type": "string" @@ -1733,7 +1745,7 @@ } }, "zitadel:index/domain:Domain": { - "description": "Resource representing a domain of the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.Domain(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n isPrimary: false,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.Domain(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n is_primary=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.Domain(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n IsPrimary = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewDomain(ctx, \"default\", \u0026zitadel.DomainArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tIsPrimary: 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.zitadel.Domain;\nimport com.pulumi.zitadel.DomainArgs;\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 default_ = new Domain(\"default\", DomainArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .isPrimary(false)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:Domain\n properties:\n orgId: ${data.zitadel_org.default.id}\n isPrimary: false\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `name[:org_id]`, e.g.\n\n```sh\n $ pulumi import zitadel:index/domain:Domain imported 'example.com:123456789012345678'\n```\n\n ", + "description": "Resource representing a domain of the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.Domain(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n isPrimary: false,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.Domain(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n is_primary=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.Domain(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n IsPrimary = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewDomain(ctx, \"default\", \u0026zitadel.DomainArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tIsPrimary: 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.zitadel.Domain;\nimport com.pulumi.zitadel.DomainArgs;\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 default_ = new Domain(\"default\", DomainArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .isPrimary(false)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:Domain\n properties:\n orgId: ${data.zitadel_org.default.id}\n isPrimary: false\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `name[:org_id]`, e.g.\n\n```sh\n $ pulumi import zitadel:index/domain:Domain imported 'example.com:123456789012345678'\n```\n\n ", "properties": { "isPrimary": { "type": "boolean", @@ -1807,7 +1819,7 @@ } }, "zitadel:index/domainPolicy:DomainPolicy": { - "description": "Resource representing the custom domain policy of an organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.DomainPolicy(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n userLoginMustBeDomain: false,\n validateOrgDomains: true,\n smtpSenderAddressMatchesInstanceDomain: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.DomainPolicy(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n user_login_must_be_domain=False,\n validate_org_domains=True,\n smtp_sender_address_matches_instance_domain=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.DomainPolicy(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n UserLoginMustBeDomain = false,\n ValidateOrgDomains = true,\n SmtpSenderAddressMatchesInstanceDomain = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewDomainPolicy(ctx, \"default\", \u0026zitadel.DomainPolicyArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tUserLoginMustBeDomain: pulumi.Bool(false),\n\t\t\tValidateOrgDomains: pulumi.Bool(true),\n\t\t\tSmtpSenderAddressMatchesInstanceDomain: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.DomainPolicy;\nimport com.pulumi.zitadel.DomainPolicyArgs;\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 default_ = new DomainPolicy(\"default\", DomainPolicyArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .userLoginMustBeDomain(false)\n .validateOrgDomains(true)\n .smtpSenderAddressMatchesInstanceDomain(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:DomainPolicy\n properties:\n orgId: ${data.zitadel_org.default.id}\n userLoginMustBeDomain: false\n validateOrgDomains: true\n smtpSenderAddressMatchesInstanceDomain: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003c[org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/domainPolicy:DomainPolicy imported '123456789012345678'\n```\n\n ", + "description": "Resource representing the custom domain policy of an organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.DomainPolicy(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n userLoginMustBeDomain: false,\n validateOrgDomains: true,\n smtpSenderAddressMatchesInstanceDomain: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.DomainPolicy(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n user_login_must_be_domain=False,\n validate_org_domains=True,\n smtp_sender_address_matches_instance_domain=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.DomainPolicy(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n UserLoginMustBeDomain = false,\n ValidateOrgDomains = true,\n SmtpSenderAddressMatchesInstanceDomain = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewDomainPolicy(ctx, \"default\", \u0026zitadel.DomainPolicyArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tUserLoginMustBeDomain: pulumi.Bool(false),\n\t\t\tValidateOrgDomains: pulumi.Bool(true),\n\t\t\tSmtpSenderAddressMatchesInstanceDomain: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.DomainPolicy;\nimport com.pulumi.zitadel.DomainPolicyArgs;\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 default_ = new DomainPolicy(\"default\", DomainPolicyArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .userLoginMustBeDomain(false)\n .validateOrgDomains(true)\n .smtpSenderAddressMatchesInstanceDomain(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:DomainPolicy\n properties:\n orgId: ${data.zitadel_org.default.id}\n userLoginMustBeDomain: false\n validateOrgDomains: true\n smtpSenderAddressMatchesInstanceDomain: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003c[org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/domainPolicy:DomainPolicy imported '123456789012345678'\n```\n\n ", "properties": { "orgId": { "type": "string", @@ -1877,7 +1889,7 @@ } }, "zitadel:index/humanUser:HumanUser": { - "description": "**Caution: Email can only be set verified if a password is set for the user, either with initial_password or during runtime**\n\nResource representing a human user situated under an organization, which then can be authorized through memberships or direct grants on other resources.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.HumanUser(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n userName: \"humanfull@localhost.com\",\n firstName: \"firstname\",\n lastName: \"lastname\",\n nickName: \"nickname\",\n displayName: \"displayname\",\n preferredLanguage: \"de\",\n gender: \"GENDER_MALE\",\n phone: \"+41799999999\",\n isPhoneVerified: true,\n email: \"test@zitadel.com\",\n isEmailVerified: true,\n initialPassword: \"Password1!\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.HumanUser(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n user_name=\"humanfull@localhost.com\",\n first_name=\"firstname\",\n last_name=\"lastname\",\n nick_name=\"nickname\",\n display_name=\"displayname\",\n preferred_language=\"de\",\n gender=\"GENDER_MALE\",\n phone=\"+41799999999\",\n is_phone_verified=True,\n email=\"test@zitadel.com\",\n is_email_verified=True,\n initial_password=\"Password1!\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.HumanUser(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n UserName = \"humanfull@localhost.com\",\n FirstName = \"firstname\",\n LastName = \"lastname\",\n NickName = \"nickname\",\n DisplayName = \"displayname\",\n PreferredLanguage = \"de\",\n Gender = \"GENDER_MALE\",\n Phone = \"+41799999999\",\n IsPhoneVerified = true,\n Email = \"test@zitadel.com\",\n IsEmailVerified = true,\n InitialPassword = \"Password1!\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewHumanUser(ctx, \"default\", \u0026zitadel.HumanUserArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tUserName: pulumi.String(\"humanfull@localhost.com\"),\n\t\t\tFirstName: pulumi.String(\"firstname\"),\n\t\t\tLastName: pulumi.String(\"lastname\"),\n\t\t\tNickName: pulumi.String(\"nickname\"),\n\t\t\tDisplayName: pulumi.String(\"displayname\"),\n\t\t\tPreferredLanguage: pulumi.String(\"de\"),\n\t\t\tGender: pulumi.String(\"GENDER_MALE\"),\n\t\t\tPhone: pulumi.String(\"+41799999999\"),\n\t\t\tIsPhoneVerified: pulumi.Bool(true),\n\t\t\tEmail: pulumi.String(\"test@zitadel.com\"),\n\t\t\tIsEmailVerified: pulumi.Bool(true),\n\t\t\tInitialPassword: pulumi.String(\"Password1!\"),\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.zitadel.HumanUser;\nimport com.pulumi.zitadel.HumanUserArgs;\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 default_ = new HumanUser(\"default\", HumanUserArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .userName(\"humanfull@localhost.com\")\n .firstName(\"firstname\")\n .lastName(\"lastname\")\n .nickName(\"nickname\")\n .displayName(\"displayname\")\n .preferredLanguage(\"de\")\n .gender(\"GENDER_MALE\")\n .phone(\"+41799999999\")\n .isPhoneVerified(true)\n .email(\"test@zitadel.com\")\n .isEmailVerified(true)\n .initialPassword(\"Password1!\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:HumanUser\n properties:\n orgId: ${data.zitadel_org.default.id}\n userName: humanfull@localhost.com\n firstName: firstname\n lastName: lastname\n nickName: nickname\n displayName: displayname\n preferredLanguage: de\n gender: GENDER_MALE\n phone: '+41799999999'\n isPhoneVerified: true\n email: test@zitadel.com\n isEmailVerified: true\n initialPassword: Password1!\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `id[:org_id][:initial_password]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/humanUser:HumanUser imported '123456789012345678:123456789012345678:Password1!'\n```\n\n ", + "description": "**Caution: Email can only be set verified if a password is set for the user, either with initial_password or during runtime**\n\nResource representing a human user situated under an organization, which then can be authorized through memberships or direct grants on other resources.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.HumanUser(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n userName: \"humanfull@localhost.com\",\n firstName: \"firstname\",\n lastName: \"lastname\",\n nickName: \"nickname\",\n displayName: \"displayname\",\n preferredLanguage: \"de\",\n gender: \"GENDER_MALE\",\n phone: \"+41799999999\",\n isPhoneVerified: true,\n email: \"test@zitadel.com\",\n isEmailVerified: true,\n initialPassword: \"Password1!\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.HumanUser(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n user_name=\"humanfull@localhost.com\",\n first_name=\"firstname\",\n last_name=\"lastname\",\n nick_name=\"nickname\",\n display_name=\"displayname\",\n preferred_language=\"de\",\n gender=\"GENDER_MALE\",\n phone=\"+41799999999\",\n is_phone_verified=True,\n email=\"test@zitadel.com\",\n is_email_verified=True,\n initial_password=\"Password1!\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.HumanUser(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n UserName = \"humanfull@localhost.com\",\n FirstName = \"firstname\",\n LastName = \"lastname\",\n NickName = \"nickname\",\n DisplayName = \"displayname\",\n PreferredLanguage = \"de\",\n Gender = \"GENDER_MALE\",\n Phone = \"+41799999999\",\n IsPhoneVerified = true,\n Email = \"test@zitadel.com\",\n IsEmailVerified = true,\n InitialPassword = \"Password1!\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewHumanUser(ctx, \"default\", \u0026zitadel.HumanUserArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tUserName: pulumi.String(\"humanfull@localhost.com\"),\n\t\t\tFirstName: pulumi.String(\"firstname\"),\n\t\t\tLastName: pulumi.String(\"lastname\"),\n\t\t\tNickName: pulumi.String(\"nickname\"),\n\t\t\tDisplayName: pulumi.String(\"displayname\"),\n\t\t\tPreferredLanguage: pulumi.String(\"de\"),\n\t\t\tGender: pulumi.String(\"GENDER_MALE\"),\n\t\t\tPhone: pulumi.String(\"+41799999999\"),\n\t\t\tIsPhoneVerified: pulumi.Bool(true),\n\t\t\tEmail: pulumi.String(\"test@zitadel.com\"),\n\t\t\tIsEmailVerified: pulumi.Bool(true),\n\t\t\tInitialPassword: pulumi.String(\"Password1!\"),\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.zitadel.HumanUser;\nimport com.pulumi.zitadel.HumanUserArgs;\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 default_ = new HumanUser(\"default\", HumanUserArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .userName(\"humanfull@localhost.com\")\n .firstName(\"firstname\")\n .lastName(\"lastname\")\n .nickName(\"nickname\")\n .displayName(\"displayname\")\n .preferredLanguage(\"de\")\n .gender(\"GENDER_MALE\")\n .phone(\"+41799999999\")\n .isPhoneVerified(true)\n .email(\"test@zitadel.com\")\n .isEmailVerified(true)\n .initialPassword(\"Password1!\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:HumanUser\n properties:\n orgId: ${data.zitadel_org.default.id}\n userName: humanfull@localhost.com\n firstName: firstname\n lastName: lastname\n nickName: nickname\n displayName: displayname\n preferredLanguage: de\n gender: GENDER_MALE\n phone: '+41799999999'\n isPhoneVerified: true\n email: test@zitadel.com\n isEmailVerified: true\n initialPassword: Password1!\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `id[:org_id][:initial_password]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/humanUser:HumanUser imported '123456789012345678:123456789012345678:Password1!'\n```\n\n ", "properties": { "displayName": { "type": "string", @@ -2101,7 +2113,7 @@ } }, "zitadel:index/idpAzureAd:IdpAzureAd": { - "description": "Resource representing an Azure AD IDP on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.IdpAzureAd(\"default\", {\n clientId: \"9065bfc8-a08a...\",\n clientSecret: \"H2n***\",\n emailVerified: true,\n isAutoCreation: false,\n isAutoUpdate: true,\n isCreationAllowed: true,\n isLinkingAllowed: false,\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n \"User.Read\",\n ],\n tenantType: \"AZURE_AD_TENANT_TYPE_ORGANISATIONS\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.IdpAzureAd(\"default\",\n client_id=\"9065bfc8-a08a...\",\n client_secret=\"H2n***\",\n email_verified=True,\n is_auto_creation=False,\n is_auto_update=True,\n is_creation_allowed=True,\n is_linking_allowed=False,\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n \"User.Read\",\n ],\n tenant_type=\"AZURE_AD_TENANT_TYPE_ORGANISATIONS\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.IdpAzureAd(\"default\", new()\n {\n ClientId = \"9065bfc8-a08a...\",\n ClientSecret = \"H2n***\",\n EmailVerified = true,\n IsAutoCreation = false,\n IsAutoUpdate = true,\n IsCreationAllowed = true,\n IsLinkingAllowed = false,\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n \"User.Read\",\n },\n TenantType = \"AZURE_AD_TENANT_TYPE_ORGANISATIONS\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewIdpAzureAd(ctx, \"default\", \u0026zitadel.IdpAzureAdArgs{\n\t\t\tClientId: pulumi.String(\"9065bfc8-a08a...\"),\n\t\t\tClientSecret: pulumi.String(\"H2n***\"),\n\t\t\tEmailVerified: pulumi.Bool(true),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t\tpulumi.String(\"User.Read\"),\n\t\t\t},\n\t\t\tTenantType: pulumi.String(\"AZURE_AD_TENANT_TYPE_ORGANISATIONS\"),\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.zitadel.IdpAzureAd;\nimport com.pulumi.zitadel.IdpAzureAdArgs;\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 default_ = new IdpAzureAd(\"default\", IdpAzureAdArgs.builder() \n .clientId(\"9065bfc8-a08a...\")\n .clientSecret(\"H2n***\")\n .emailVerified(true)\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .isCreationAllowed(true)\n .isLinkingAllowed(false)\n .scopes( \n \"openid\",\n \"profile\",\n \"email\",\n \"User.Read\")\n .tenantType(\"AZURE_AD_TENANT_TYPE_ORGANISATIONS\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:IdpAzureAd\n properties:\n clientId: 9065bfc8-a08a...\n clientSecret: H2n***\n emailVerified: true\n isAutoCreation: false\n isAutoUpdate: true\n isCreationAllowed: true\n isLinkingAllowed: false\n scopes:\n - openid\n - profile\n - email\n - User.Read\n tenantType: AZURE_AD_TENANT_TYPE_ORGANISATIONS\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid[:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/idpAzureAd:IdpAzureAd imported '123456789012345678:12345678-1234-1234-1234-123456789012'\n```\n\n ", + "description": "Resource representing an Azure AD IDP on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.IdpAzureAd(\"default\", {\n clientId: \"9065bfc8-a08a...\",\n clientSecret: \"H2n***\",\n emailVerified: true,\n isAutoCreation: false,\n isAutoUpdate: true,\n isCreationAllowed: true,\n isLinkingAllowed: false,\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n \"User.Read\",\n ],\n tenantType: \"AZURE_AD_TENANT_TYPE_ORGANISATIONS\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.IdpAzureAd(\"default\",\n client_id=\"9065bfc8-a08a...\",\n client_secret=\"H2n***\",\n email_verified=True,\n is_auto_creation=False,\n is_auto_update=True,\n is_creation_allowed=True,\n is_linking_allowed=False,\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n \"User.Read\",\n ],\n tenant_type=\"AZURE_AD_TENANT_TYPE_ORGANISATIONS\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.IdpAzureAd(\"default\", new()\n {\n ClientId = \"9065bfc8-a08a...\",\n ClientSecret = \"H2n***\",\n EmailVerified = true,\n IsAutoCreation = false,\n IsAutoUpdate = true,\n IsCreationAllowed = true,\n IsLinkingAllowed = false,\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n \"User.Read\",\n },\n TenantType = \"AZURE_AD_TENANT_TYPE_ORGANISATIONS\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewIdpAzureAd(ctx, \"default\", \u0026zitadel.IdpAzureAdArgs{\n\t\t\tClientId: pulumi.String(\"9065bfc8-a08a...\"),\n\t\t\tClientSecret: pulumi.String(\"H2n***\"),\n\t\t\tEmailVerified: pulumi.Bool(true),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t\tpulumi.String(\"User.Read\"),\n\t\t\t},\n\t\t\tTenantType: pulumi.String(\"AZURE_AD_TENANT_TYPE_ORGANISATIONS\"),\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.zitadel.IdpAzureAd;\nimport com.pulumi.zitadel.IdpAzureAdArgs;\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 default_ = new IdpAzureAd(\"default\", IdpAzureAdArgs.builder() \n .clientId(\"9065bfc8-a08a...\")\n .clientSecret(\"H2n***\")\n .emailVerified(true)\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .isCreationAllowed(true)\n .isLinkingAllowed(false)\n .scopes( \n \"openid\",\n \"profile\",\n \"email\",\n \"User.Read\")\n .tenantType(\"AZURE_AD_TENANT_TYPE_ORGANISATIONS\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:IdpAzureAd\n properties:\n clientId: 9065bfc8-a08a...\n clientSecret: H2n***\n emailVerified: true\n isAutoCreation: false\n isAutoUpdate: true\n isCreationAllowed: true\n isLinkingAllowed: false\n scopes:\n - openid\n - profile\n - email\n - User.Read\n tenantType: AZURE_AD_TENANT_TYPE_ORGANISATIONS\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid[:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/idpAzureAd:IdpAzureAd imported '123456789012345678:12345678-1234-1234-1234-123456789012'\n```\n\n ", "properties": { "clientId": { "type": "string", @@ -2277,7 +2289,7 @@ } }, "zitadel:index/idpGithub:IdpGithub": { - "description": "Resource representing a GitHub IDP on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.IdpGithub(\"default\", {\n clientId: \"86a165...\",\n clientSecret: \"*****afdbac18\",\n isAutoCreation: false,\n isAutoUpdate: true,\n isCreationAllowed: true,\n isLinkingAllowed: false,\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.IdpGithub(\"default\",\n client_id=\"86a165...\",\n client_secret=\"*****afdbac18\",\n is_auto_creation=False,\n is_auto_update=True,\n is_creation_allowed=True,\n is_linking_allowed=False,\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.IdpGithub(\"default\", new()\n {\n ClientId = \"86a165...\",\n ClientSecret = \"*****afdbac18\",\n IsAutoCreation = false,\n IsAutoUpdate = true,\n IsCreationAllowed = true,\n IsLinkingAllowed = false,\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewIdpGithub(ctx, \"default\", \u0026zitadel.IdpGithubArgs{\n\t\t\tClientId: pulumi.String(\"86a165...\"),\n\t\t\tClientSecret: pulumi.String(\"*****afdbac18\"),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\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.zitadel.IdpGithub;\nimport com.pulumi.zitadel.IdpGithubArgs;\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 default_ = new IdpGithub(\"default\", IdpGithubArgs.builder() \n .clientId(\"86a165...\")\n .clientSecret(\"*****afdbac18\")\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .isCreationAllowed(true)\n .isLinkingAllowed(false)\n .scopes( \n \"openid\",\n \"profile\",\n \"email\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:IdpGithub\n properties:\n clientId: 86a165...\n clientSecret: '*****afdbac18'\n isAutoCreation: false\n isAutoUpdate: true\n isCreationAllowed: true\n isLinkingAllowed: false\n scopes:\n - openid\n - profile\n - email\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid[:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/idpGithub:IdpGithub imported '123456789012345678:1234567890123456781234567890123456787890'\n```\n\n ", + "description": "Resource representing a GitHub IDP on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.IdpGithub(\"default\", {\n clientId: \"86a165...\",\n clientSecret: \"*****afdbac18\",\n isAutoCreation: false,\n isAutoUpdate: true,\n isCreationAllowed: true,\n isLinkingAllowed: false,\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.IdpGithub(\"default\",\n client_id=\"86a165...\",\n client_secret=\"*****afdbac18\",\n is_auto_creation=False,\n is_auto_update=True,\n is_creation_allowed=True,\n is_linking_allowed=False,\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.IdpGithub(\"default\", new()\n {\n ClientId = \"86a165...\",\n ClientSecret = \"*****afdbac18\",\n IsAutoCreation = false,\n IsAutoUpdate = true,\n IsCreationAllowed = true,\n IsLinkingAllowed = false,\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewIdpGithub(ctx, \"default\", \u0026zitadel.IdpGithubArgs{\n\t\t\tClientId: pulumi.String(\"86a165...\"),\n\t\t\tClientSecret: pulumi.String(\"*****afdbac18\"),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\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.zitadel.IdpGithub;\nimport com.pulumi.zitadel.IdpGithubArgs;\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 default_ = new IdpGithub(\"default\", IdpGithubArgs.builder() \n .clientId(\"86a165...\")\n .clientSecret(\"*****afdbac18\")\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .isCreationAllowed(true)\n .isLinkingAllowed(false)\n .scopes( \n \"openid\",\n \"profile\",\n \"email\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:IdpGithub\n properties:\n clientId: 86a165...\n clientSecret: '*****afdbac18'\n isAutoCreation: false\n isAutoUpdate: true\n isCreationAllowed: true\n isLinkingAllowed: false\n scopes:\n - openid\n - profile\n - email\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid[:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/idpGithub:IdpGithub imported '123456789012345678:1234567890123456781234567890123456787890'\n```\n\n ", "properties": { "clientId": { "type": "string", @@ -2415,7 +2427,7 @@ } }, "zitadel:index/idpGithubEs:IdpGithubEs": { - "description": "Resource representing a GitHub Enterprise IDP on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.IdpGithubEs(\"default\", {\n authorizationEndpoint: \"https://auth.endpoint\",\n clientId: \"86a165...\",\n clientSecret: \"*****afdbac18\",\n isAutoCreation: false,\n isAutoUpdate: true,\n isCreationAllowed: true,\n isLinkingAllowed: false,\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n ],\n tokenEndpoint: \"https://token.endpoint\",\n userEndpoint: \"https://user.endpoint\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.IdpGithubEs(\"default\",\n authorization_endpoint=\"https://auth.endpoint\",\n client_id=\"86a165...\",\n client_secret=\"*****afdbac18\",\n is_auto_creation=False,\n is_auto_update=True,\n is_creation_allowed=True,\n is_linking_allowed=False,\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n ],\n token_endpoint=\"https://token.endpoint\",\n user_endpoint=\"https://user.endpoint\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.IdpGithubEs(\"default\", new()\n {\n AuthorizationEndpoint = \"https://auth.endpoint\",\n ClientId = \"86a165...\",\n ClientSecret = \"*****afdbac18\",\n IsAutoCreation = false,\n IsAutoUpdate = true,\n IsCreationAllowed = true,\n IsLinkingAllowed = false,\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n },\n TokenEndpoint = \"https://token.endpoint\",\n UserEndpoint = \"https://user.endpoint\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewIdpGithubEs(ctx, \"default\", \u0026zitadel.IdpGithubEsArgs{\n\t\t\tAuthorizationEndpoint: pulumi.String(\"https://auth.endpoint\"),\n\t\t\tClientId: pulumi.String(\"86a165...\"),\n\t\t\tClientSecret: pulumi.String(\"*****afdbac18\"),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t},\n\t\t\tTokenEndpoint: pulumi.String(\"https://token.endpoint\"),\n\t\t\tUserEndpoint: pulumi.String(\"https://user.endpoint\"),\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.zitadel.IdpGithubEs;\nimport com.pulumi.zitadel.IdpGithubEsArgs;\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 default_ = new IdpGithubEs(\"default\", IdpGithubEsArgs.builder() \n .authorizationEndpoint(\"https://auth.endpoint\")\n .clientId(\"86a165...\")\n .clientSecret(\"*****afdbac18\")\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .isCreationAllowed(true)\n .isLinkingAllowed(false)\n .scopes( \n \"openid\",\n \"profile\",\n \"email\")\n .tokenEndpoint(\"https://token.endpoint\")\n .userEndpoint(\"https://user.endpoint\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:IdpGithubEs\n properties:\n authorizationEndpoint: https://auth.endpoint\n clientId: 86a165...\n clientSecret: '*****afdbac18'\n isAutoCreation: false\n isAutoUpdate: true\n isCreationAllowed: true\n isLinkingAllowed: false\n scopes:\n - openid\n - profile\n - email\n tokenEndpoint: https://token.endpoint\n userEndpoint: https://user.endpoint\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid[:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/idpGithubEs:IdpGithubEs imported '123456789012345678:1234567890123456781234567890123456787890'\n```\n\n ", + "description": "Resource representing a GitHub Enterprise IDP on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.IdpGithubEs(\"default\", {\n authorizationEndpoint: \"https://auth.endpoint\",\n clientId: \"86a165...\",\n clientSecret: \"*****afdbac18\",\n isAutoCreation: false,\n isAutoUpdate: true,\n isCreationAllowed: true,\n isLinkingAllowed: false,\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n ],\n tokenEndpoint: \"https://token.endpoint\",\n userEndpoint: \"https://user.endpoint\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.IdpGithubEs(\"default\",\n authorization_endpoint=\"https://auth.endpoint\",\n client_id=\"86a165...\",\n client_secret=\"*****afdbac18\",\n is_auto_creation=False,\n is_auto_update=True,\n is_creation_allowed=True,\n is_linking_allowed=False,\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n ],\n token_endpoint=\"https://token.endpoint\",\n user_endpoint=\"https://user.endpoint\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.IdpGithubEs(\"default\", new()\n {\n AuthorizationEndpoint = \"https://auth.endpoint\",\n ClientId = \"86a165...\",\n ClientSecret = \"*****afdbac18\",\n IsAutoCreation = false,\n IsAutoUpdate = true,\n IsCreationAllowed = true,\n IsLinkingAllowed = false,\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n },\n TokenEndpoint = \"https://token.endpoint\",\n UserEndpoint = \"https://user.endpoint\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewIdpGithubEs(ctx, \"default\", \u0026zitadel.IdpGithubEsArgs{\n\t\t\tAuthorizationEndpoint: pulumi.String(\"https://auth.endpoint\"),\n\t\t\tClientId: pulumi.String(\"86a165...\"),\n\t\t\tClientSecret: pulumi.String(\"*****afdbac18\"),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t},\n\t\t\tTokenEndpoint: pulumi.String(\"https://token.endpoint\"),\n\t\t\tUserEndpoint: pulumi.String(\"https://user.endpoint\"),\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.zitadel.IdpGithubEs;\nimport com.pulumi.zitadel.IdpGithubEsArgs;\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 default_ = new IdpGithubEs(\"default\", IdpGithubEsArgs.builder() \n .authorizationEndpoint(\"https://auth.endpoint\")\n .clientId(\"86a165...\")\n .clientSecret(\"*****afdbac18\")\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .isCreationAllowed(true)\n .isLinkingAllowed(false)\n .scopes( \n \"openid\",\n \"profile\",\n \"email\")\n .tokenEndpoint(\"https://token.endpoint\")\n .userEndpoint(\"https://user.endpoint\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:IdpGithubEs\n properties:\n authorizationEndpoint: https://auth.endpoint\n clientId: 86a165...\n clientSecret: '*****afdbac18'\n isAutoCreation: false\n isAutoUpdate: true\n isCreationAllowed: true\n isLinkingAllowed: false\n scopes:\n - openid\n - profile\n - email\n tokenEndpoint: https://token.endpoint\n userEndpoint: https://user.endpoint\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid[:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/idpGithubEs:IdpGithubEs imported '123456789012345678:1234567890123456781234567890123456787890'\n```\n\n ", "properties": { "authorizationEndpoint": { "type": "string", @@ -2595,7 +2607,7 @@ } }, "zitadel:index/idpGitlab:IdpGitlab": { - "description": "Resource representing a GitLab IDP on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.IdpGitlab(\"default\", {\n clientId: \"15765e...\",\n clientSecret: \"*****abcxyz\",\n isAutoCreation: false,\n isAutoUpdate: true,\n isCreationAllowed: true,\n isLinkingAllowed: false,\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.IdpGitlab(\"default\",\n client_id=\"15765e...\",\n client_secret=\"*****abcxyz\",\n is_auto_creation=False,\n is_auto_update=True,\n is_creation_allowed=True,\n is_linking_allowed=False,\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.IdpGitlab(\"default\", new()\n {\n ClientId = \"15765e...\",\n ClientSecret = \"*****abcxyz\",\n IsAutoCreation = false,\n IsAutoUpdate = true,\n IsCreationAllowed = true,\n IsLinkingAllowed = false,\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewIdpGitlab(ctx, \"default\", \u0026zitadel.IdpGitlabArgs{\n\t\t\tClientId: pulumi.String(\"15765e...\"),\n\t\t\tClientSecret: pulumi.String(\"*****abcxyz\"),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\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.zitadel.IdpGitlab;\nimport com.pulumi.zitadel.IdpGitlabArgs;\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 default_ = new IdpGitlab(\"default\", IdpGitlabArgs.builder() \n .clientId(\"15765e...\")\n .clientSecret(\"*****abcxyz\")\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .isCreationAllowed(true)\n .isLinkingAllowed(false)\n .scopes( \n \"openid\",\n \"profile\",\n \"email\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:IdpGitlab\n properties:\n clientId: 15765e...\n clientSecret: '*****abcxyz'\n isAutoCreation: false\n isAutoUpdate: true\n isCreationAllowed: true\n isLinkingAllowed: false\n scopes:\n - openid\n - profile\n - email\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid[:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/idpGitlab:IdpGitlab imported '123456789012345678:1234567890abcdef'\n```\n\n ", + "description": "Resource representing a GitLab IDP on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.IdpGitlab(\"default\", {\n clientId: \"15765e...\",\n clientSecret: \"*****abcxyz\",\n isAutoCreation: false,\n isAutoUpdate: true,\n isCreationAllowed: true,\n isLinkingAllowed: false,\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.IdpGitlab(\"default\",\n client_id=\"15765e...\",\n client_secret=\"*****abcxyz\",\n is_auto_creation=False,\n is_auto_update=True,\n is_creation_allowed=True,\n is_linking_allowed=False,\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.IdpGitlab(\"default\", new()\n {\n ClientId = \"15765e...\",\n ClientSecret = \"*****abcxyz\",\n IsAutoCreation = false,\n IsAutoUpdate = true,\n IsCreationAllowed = true,\n IsLinkingAllowed = false,\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewIdpGitlab(ctx, \"default\", \u0026zitadel.IdpGitlabArgs{\n\t\t\tClientId: pulumi.String(\"15765e...\"),\n\t\t\tClientSecret: pulumi.String(\"*****abcxyz\"),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\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.zitadel.IdpGitlab;\nimport com.pulumi.zitadel.IdpGitlabArgs;\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 default_ = new IdpGitlab(\"default\", IdpGitlabArgs.builder() \n .clientId(\"15765e...\")\n .clientSecret(\"*****abcxyz\")\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .isCreationAllowed(true)\n .isLinkingAllowed(false)\n .scopes( \n \"openid\",\n \"profile\",\n \"email\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:IdpGitlab\n properties:\n clientId: 15765e...\n clientSecret: '*****abcxyz'\n isAutoCreation: false\n isAutoUpdate: true\n isCreationAllowed: true\n isLinkingAllowed: false\n scopes:\n - openid\n - profile\n - email\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid[:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/idpGitlab:IdpGitlab imported '123456789012345678:1234567890abcdef'\n```\n\n ", "properties": { "clientId": { "type": "string", @@ -2733,7 +2745,7 @@ } }, "zitadel:index/idpGitlabSelfHosted:IdpGitlabSelfHosted": { - "description": "Resource representing a GitLab Self Hosted IDP on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.IdpGitlabSelfHosted(\"default\", {\n clientId: \"15765e...\",\n clientSecret: \"*****abcxyz\",\n isAutoCreation: false,\n isAutoUpdate: true,\n isCreationAllowed: true,\n isLinkingAllowed: false,\n issuer: \"https://my.issuer\",\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.IdpGitlabSelfHosted(\"default\",\n client_id=\"15765e...\",\n client_secret=\"*****abcxyz\",\n is_auto_creation=False,\n is_auto_update=True,\n is_creation_allowed=True,\n is_linking_allowed=False,\n issuer=\"https://my.issuer\",\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.IdpGitlabSelfHosted(\"default\", new()\n {\n ClientId = \"15765e...\",\n ClientSecret = \"*****abcxyz\",\n IsAutoCreation = false,\n IsAutoUpdate = true,\n IsCreationAllowed = true,\n IsLinkingAllowed = false,\n Issuer = \"https://my.issuer\",\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewIdpGitlabSelfHosted(ctx, \"default\", \u0026zitadel.IdpGitlabSelfHostedArgs{\n\t\t\tClientId: pulumi.String(\"15765e...\"),\n\t\t\tClientSecret: pulumi.String(\"*****abcxyz\"),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tIssuer: pulumi.String(\"https://my.issuer\"),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\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.zitadel.IdpGitlabSelfHosted;\nimport com.pulumi.zitadel.IdpGitlabSelfHostedArgs;\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 default_ = new IdpGitlabSelfHosted(\"default\", IdpGitlabSelfHostedArgs.builder() \n .clientId(\"15765e...\")\n .clientSecret(\"*****abcxyz\")\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .isCreationAllowed(true)\n .isLinkingAllowed(false)\n .issuer(\"https://my.issuer\")\n .scopes( \n \"openid\",\n \"profile\",\n \"email\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:IdpGitlabSelfHosted\n properties:\n clientId: 15765e...\n clientSecret: '*****abcxyz'\n isAutoCreation: false\n isAutoUpdate: true\n isCreationAllowed: true\n isLinkingAllowed: false\n issuer: https://my.issuer\n scopes:\n - openid\n - profile\n - email\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid[:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/idpGitlabSelfHosted:IdpGitlabSelfHosted imported '123456789012345678:1234567890abcdef'\n```\n\n ", + "description": "Resource representing a GitLab Self Hosted IDP on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.IdpGitlabSelfHosted(\"default\", {\n clientId: \"15765e...\",\n clientSecret: \"*****abcxyz\",\n isAutoCreation: false,\n isAutoUpdate: true,\n isCreationAllowed: true,\n isLinkingAllowed: false,\n issuer: \"https://my.issuer\",\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.IdpGitlabSelfHosted(\"default\",\n client_id=\"15765e...\",\n client_secret=\"*****abcxyz\",\n is_auto_creation=False,\n is_auto_update=True,\n is_creation_allowed=True,\n is_linking_allowed=False,\n issuer=\"https://my.issuer\",\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.IdpGitlabSelfHosted(\"default\", new()\n {\n ClientId = \"15765e...\",\n ClientSecret = \"*****abcxyz\",\n IsAutoCreation = false,\n IsAutoUpdate = true,\n IsCreationAllowed = true,\n IsLinkingAllowed = false,\n Issuer = \"https://my.issuer\",\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewIdpGitlabSelfHosted(ctx, \"default\", \u0026zitadel.IdpGitlabSelfHostedArgs{\n\t\t\tClientId: pulumi.String(\"15765e...\"),\n\t\t\tClientSecret: pulumi.String(\"*****abcxyz\"),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tIssuer: pulumi.String(\"https://my.issuer\"),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\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.zitadel.IdpGitlabSelfHosted;\nimport com.pulumi.zitadel.IdpGitlabSelfHostedArgs;\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 default_ = new IdpGitlabSelfHosted(\"default\", IdpGitlabSelfHostedArgs.builder() \n .clientId(\"15765e...\")\n .clientSecret(\"*****abcxyz\")\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .isCreationAllowed(true)\n .isLinkingAllowed(false)\n .issuer(\"https://my.issuer\")\n .scopes( \n \"openid\",\n \"profile\",\n \"email\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:IdpGitlabSelfHosted\n properties:\n clientId: 15765e...\n clientSecret: '*****abcxyz'\n isAutoCreation: false\n isAutoUpdate: true\n isCreationAllowed: true\n isLinkingAllowed: false\n issuer: https://my.issuer\n scopes:\n - openid\n - profile\n - email\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid[:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/idpGitlabSelfHosted:IdpGitlabSelfHosted imported '123456789012345678:1234567890abcdef'\n```\n\n ", "properties": { "clientId": { "type": "string", @@ -2885,7 +2897,7 @@ } }, "zitadel:index/idpGoogle:IdpGoogle": { - "description": "Resource representing a Google IDP on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.IdpGoogle(\"default\", {\n clientId: \"182902...\",\n clientSecret: \"GOCSPX-*****\",\n isAutoCreation: false,\n isAutoUpdate: true,\n isCreationAllowed: true,\n isLinkingAllowed: false,\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.IdpGoogle(\"default\",\n client_id=\"182902...\",\n client_secret=\"GOCSPX-*****\",\n is_auto_creation=False,\n is_auto_update=True,\n is_creation_allowed=True,\n is_linking_allowed=False,\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.IdpGoogle(\"default\", new()\n {\n ClientId = \"182902...\",\n ClientSecret = \"GOCSPX-*****\",\n IsAutoCreation = false,\n IsAutoUpdate = true,\n IsCreationAllowed = true,\n IsLinkingAllowed = false,\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewIdpGoogle(ctx, \"default\", \u0026zitadel.IdpGoogleArgs{\n\t\t\tClientId: pulumi.String(\"182902...\"),\n\t\t\tClientSecret: pulumi.String(\"GOCSPX-*****\"),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\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.zitadel.IdpGoogle;\nimport com.pulumi.zitadel.IdpGoogleArgs;\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 default_ = new IdpGoogle(\"default\", IdpGoogleArgs.builder() \n .clientId(\"182902...\")\n .clientSecret(\"GOCSPX-*****\")\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .isCreationAllowed(true)\n .isLinkingAllowed(false)\n .scopes( \n \"openid\",\n \"profile\",\n \"email\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:IdpGoogle\n properties:\n clientId: 182902...\n clientSecret: GOCSPX-*****\n isAutoCreation: false\n isAutoUpdate: true\n isCreationAllowed: true\n isLinkingAllowed: false\n scopes:\n - openid\n - profile\n - email\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid[:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/idpGoogle:IdpGoogle imported '123456789012345678:G1234567890123'\n```\n\n ", + "description": "Resource representing a Google IDP on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.IdpGoogle(\"default\", {\n clientId: \"182902...\",\n clientSecret: \"GOCSPX-*****\",\n isAutoCreation: false,\n isAutoUpdate: true,\n isCreationAllowed: true,\n isLinkingAllowed: false,\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.IdpGoogle(\"default\",\n client_id=\"182902...\",\n client_secret=\"GOCSPX-*****\",\n is_auto_creation=False,\n is_auto_update=True,\n is_creation_allowed=True,\n is_linking_allowed=False,\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.IdpGoogle(\"default\", new()\n {\n ClientId = \"182902...\",\n ClientSecret = \"GOCSPX-*****\",\n IsAutoCreation = false,\n IsAutoUpdate = true,\n IsCreationAllowed = true,\n IsLinkingAllowed = false,\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewIdpGoogle(ctx, \"default\", \u0026zitadel.IdpGoogleArgs{\n\t\t\tClientId: pulumi.String(\"182902...\"),\n\t\t\tClientSecret: pulumi.String(\"GOCSPX-*****\"),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\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.zitadel.IdpGoogle;\nimport com.pulumi.zitadel.IdpGoogleArgs;\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 default_ = new IdpGoogle(\"default\", IdpGoogleArgs.builder() \n .clientId(\"182902...\")\n .clientSecret(\"GOCSPX-*****\")\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .isCreationAllowed(true)\n .isLinkingAllowed(false)\n .scopes( \n \"openid\",\n \"profile\",\n \"email\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:IdpGoogle\n properties:\n clientId: 182902...\n clientSecret: GOCSPX-*****\n isAutoCreation: false\n isAutoUpdate: true\n isCreationAllowed: true\n isLinkingAllowed: false\n scopes:\n - openid\n - profile\n - email\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid[:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/idpGoogle:IdpGoogle imported '123456789012345678:G1234567890123'\n```\n\n ", "properties": { "clientId": { "type": "string", @@ -3023,7 +3035,7 @@ } }, "zitadel:index/idpLdap:IdpLdap": { - "description": "Resource representing an LDAP IDP on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.IdpLdap(\"default\", {\n baseDn: \"dc=example,dc=com\",\n bindDn: \"cn=admin,dc=example,dc=com\",\n bindPassword: \"Password1!\",\n firstNameAttribute: \"firstname\",\n idAttribute: \"uid\",\n isAutoCreation: false,\n isAutoUpdate: true,\n isCreationAllowed: true,\n isLinkingAllowed: false,\n lastNameAttribute: \"lastname\",\n servers: [\n \"ldaps://my.primary.server:389\",\n \"ldaps://my.secondary.server:389\",\n ],\n startTls: false,\n timeout: \"10s\",\n userBase: \"dn\",\n userFilters: [\n \"uid\",\n \"email\",\n ],\n userObjectClasses: [\"inetOrgPerson\"],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.IdpLdap(\"default\",\n base_dn=\"dc=example,dc=com\",\n bind_dn=\"cn=admin,dc=example,dc=com\",\n bind_password=\"Password1!\",\n first_name_attribute=\"firstname\",\n id_attribute=\"uid\",\n is_auto_creation=False,\n is_auto_update=True,\n is_creation_allowed=True,\n is_linking_allowed=False,\n last_name_attribute=\"lastname\",\n servers=[\n \"ldaps://my.primary.server:389\",\n \"ldaps://my.secondary.server:389\",\n ],\n start_tls=False,\n timeout=\"10s\",\n user_base=\"dn\",\n user_filters=[\n \"uid\",\n \"email\",\n ],\n user_object_classes=[\"inetOrgPerson\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.IdpLdap(\"default\", new()\n {\n BaseDn = \"dc=example,dc=com\",\n BindDn = \"cn=admin,dc=example,dc=com\",\n BindPassword = \"Password1!\",\n FirstNameAttribute = \"firstname\",\n IdAttribute = \"uid\",\n IsAutoCreation = false,\n IsAutoUpdate = true,\n IsCreationAllowed = true,\n IsLinkingAllowed = false,\n LastNameAttribute = \"lastname\",\n Servers = new[]\n {\n \"ldaps://my.primary.server:389\",\n \"ldaps://my.secondary.server:389\",\n },\n StartTls = false,\n Timeout = \"10s\",\n UserBase = \"dn\",\n UserFilters = new[]\n {\n \"uid\",\n \"email\",\n },\n UserObjectClasses = new[]\n {\n \"inetOrgPerson\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewIdpLdap(ctx, \"default\", \u0026zitadel.IdpLdapArgs{\n\t\t\tBaseDn: pulumi.String(\"dc=example,dc=com\"),\n\t\t\tBindDn: pulumi.String(\"cn=admin,dc=example,dc=com\"),\n\t\t\tBindPassword: pulumi.String(\"Password1!\"),\n\t\t\tFirstNameAttribute: pulumi.String(\"firstname\"),\n\t\t\tIdAttribute: pulumi.String(\"uid\"),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tLastNameAttribute: pulumi.String(\"lastname\"),\n\t\t\tServers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ldaps://my.primary.server:389\"),\n\t\t\t\tpulumi.String(\"ldaps://my.secondary.server:389\"),\n\t\t\t},\n\t\t\tStartTls: pulumi.Bool(false),\n\t\t\tTimeout: pulumi.String(\"10s\"),\n\t\t\tUserBase: pulumi.String(\"dn\"),\n\t\t\tUserFilters: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"uid\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t},\n\t\t\tUserObjectClasses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"inetOrgPerson\"),\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.zitadel.IdpLdap;\nimport com.pulumi.zitadel.IdpLdapArgs;\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 default_ = new IdpLdap(\"default\", IdpLdapArgs.builder() \n .baseDn(\"dc=example,dc=com\")\n .bindDn(\"cn=admin,dc=example,dc=com\")\n .bindPassword(\"Password1!\")\n .firstNameAttribute(\"firstname\")\n .idAttribute(\"uid\")\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .isCreationAllowed(true)\n .isLinkingAllowed(false)\n .lastNameAttribute(\"lastname\")\n .servers( \n \"ldaps://my.primary.server:389\",\n \"ldaps://my.secondary.server:389\")\n .startTls(false)\n .timeout(\"10s\")\n .userBase(\"dn\")\n .userFilters( \n \"uid\",\n \"email\")\n .userObjectClasses(\"inetOrgPerson\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:IdpLdap\n properties:\n baseDn: dc=example,dc=com\n bindDn: cn=admin,dc=example,dc=com\n bindPassword: Password1!\n firstNameAttribute: firstname\n idAttribute: uid\n isAutoCreation: false\n isAutoUpdate: true\n isCreationAllowed: true\n isLinkingAllowed: false\n lastNameAttribute: lastname\n servers:\n - ldaps://my.primary.server:389\n - ldaps://my.secondary.server:389\n startTls: false\n timeout: 10s\n userBase: dn\n userFilters:\n - uid\n - email\n userObjectClasses:\n - inetOrgPerson\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid[:bind_password]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/idpLdap:IdpLdap imported '123456789012345678:b1nd_p4ssw0rd'\n```\n\n ", + "description": "Resource representing an LDAP IDP on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.IdpLdap(\"default\", {\n baseDn: \"dc=example,dc=com\",\n bindDn: \"cn=admin,dc=example,dc=com\",\n bindPassword: \"Password1!\",\n firstNameAttribute: \"firstname\",\n idAttribute: \"uid\",\n isAutoCreation: false,\n isAutoUpdate: true,\n isCreationAllowed: true,\n isLinkingAllowed: false,\n lastNameAttribute: \"lastname\",\n servers: [\n \"ldaps://my.primary.server:389\",\n \"ldaps://my.secondary.server:389\",\n ],\n startTls: false,\n timeout: \"10s\",\n userBase: \"dn\",\n userFilters: [\n \"uid\",\n \"email\",\n ],\n userObjectClasses: [\"inetOrgPerson\"],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.IdpLdap(\"default\",\n base_dn=\"dc=example,dc=com\",\n bind_dn=\"cn=admin,dc=example,dc=com\",\n bind_password=\"Password1!\",\n first_name_attribute=\"firstname\",\n id_attribute=\"uid\",\n is_auto_creation=False,\n is_auto_update=True,\n is_creation_allowed=True,\n is_linking_allowed=False,\n last_name_attribute=\"lastname\",\n servers=[\n \"ldaps://my.primary.server:389\",\n \"ldaps://my.secondary.server:389\",\n ],\n start_tls=False,\n timeout=\"10s\",\n user_base=\"dn\",\n user_filters=[\n \"uid\",\n \"email\",\n ],\n user_object_classes=[\"inetOrgPerson\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.IdpLdap(\"default\", new()\n {\n BaseDn = \"dc=example,dc=com\",\n BindDn = \"cn=admin,dc=example,dc=com\",\n BindPassword = \"Password1!\",\n FirstNameAttribute = \"firstname\",\n IdAttribute = \"uid\",\n IsAutoCreation = false,\n IsAutoUpdate = true,\n IsCreationAllowed = true,\n IsLinkingAllowed = false,\n LastNameAttribute = \"lastname\",\n Servers = new[]\n {\n \"ldaps://my.primary.server:389\",\n \"ldaps://my.secondary.server:389\",\n },\n StartTls = false,\n Timeout = \"10s\",\n UserBase = \"dn\",\n UserFilters = new[]\n {\n \"uid\",\n \"email\",\n },\n UserObjectClasses = new[]\n {\n \"inetOrgPerson\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewIdpLdap(ctx, \"default\", \u0026zitadel.IdpLdapArgs{\n\t\t\tBaseDn: pulumi.String(\"dc=example,dc=com\"),\n\t\t\tBindDn: pulumi.String(\"cn=admin,dc=example,dc=com\"),\n\t\t\tBindPassword: pulumi.String(\"Password1!\"),\n\t\t\tFirstNameAttribute: pulumi.String(\"firstname\"),\n\t\t\tIdAttribute: pulumi.String(\"uid\"),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tLastNameAttribute: pulumi.String(\"lastname\"),\n\t\t\tServers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ldaps://my.primary.server:389\"),\n\t\t\t\tpulumi.String(\"ldaps://my.secondary.server:389\"),\n\t\t\t},\n\t\t\tStartTls: pulumi.Bool(false),\n\t\t\tTimeout: pulumi.String(\"10s\"),\n\t\t\tUserBase: pulumi.String(\"dn\"),\n\t\t\tUserFilters: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"uid\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t},\n\t\t\tUserObjectClasses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"inetOrgPerson\"),\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.zitadel.IdpLdap;\nimport com.pulumi.zitadel.IdpLdapArgs;\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 default_ = new IdpLdap(\"default\", IdpLdapArgs.builder() \n .baseDn(\"dc=example,dc=com\")\n .bindDn(\"cn=admin,dc=example,dc=com\")\n .bindPassword(\"Password1!\")\n .firstNameAttribute(\"firstname\")\n .idAttribute(\"uid\")\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .isCreationAllowed(true)\n .isLinkingAllowed(false)\n .lastNameAttribute(\"lastname\")\n .servers( \n \"ldaps://my.primary.server:389\",\n \"ldaps://my.secondary.server:389\")\n .startTls(false)\n .timeout(\"10s\")\n .userBase(\"dn\")\n .userFilters( \n \"uid\",\n \"email\")\n .userObjectClasses(\"inetOrgPerson\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:IdpLdap\n properties:\n baseDn: dc=example,dc=com\n bindDn: cn=admin,dc=example,dc=com\n bindPassword: Password1!\n firstNameAttribute: firstname\n idAttribute: uid\n isAutoCreation: false\n isAutoUpdate: true\n isCreationAllowed: true\n isLinkingAllowed: false\n lastNameAttribute: lastname\n servers:\n - ldaps://my.primary.server:389\n - ldaps://my.secondary.server:389\n startTls: false\n timeout: 10s\n userBase: dn\n userFilters:\n - uid\n - email\n userObjectClasses:\n - inetOrgPerson\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid[:bind_password]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/idpLdap:IdpLdap imported '123456789012345678:b1nd_p4ssw0rd'\n```\n\n ", "properties": { "avatarUrlAttribute": { "type": "string", @@ -3420,124 +3432,442 @@ "type": "object" } }, - "zitadel:index/instanceMember:InstanceMember": { - "description": "Resource representing the membership of a user on an instance, defined with the given role.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.InstanceMember(\"default\", {\n userId: data.zitadel_human_user[\"default\"].id,\n roles: [\"IAM_OWNER\"],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.InstanceMember(\"default\",\n user_id=data[\"zitadel_human_user\"][\"default\"][\"id\"],\n roles=[\"IAM_OWNER\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.InstanceMember(\"default\", new()\n {\n UserId = data.Zitadel_human_user.Default.Id,\n Roles = new[]\n {\n \"IAM_OWNER\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewInstanceMember(ctx, \"default\", \u0026zitadel.InstanceMemberArgs{\n\t\t\tUserId: pulumi.Any(data.Zitadel_human_user.Default.Id),\n\t\t\tRoles: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"IAM_OWNER\"),\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.zitadel.InstanceMember;\nimport com.pulumi.zitadel.InstanceMemberArgs;\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 default_ = new InstanceMember(\"default\", InstanceMemberArgs.builder() \n .userId(data.zitadel_human_user().default().id())\n .roles(\"IAM_OWNER\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:InstanceMember\n properties:\n userId: ${data.zitadel_human_user.default.id}\n roles:\n - IAM_OWNER\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cuser_id\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/instanceMember:InstanceMember imported '123456789012345678'\n```\n\n ", + "zitadel:index/idpOauth:IdpOauth": { + "description": "Resource representing a generic OAuth2 IDP on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.IdpOauth(\"default\", {\n authorizationEndpoint: \"https://accounts.google.com/o/oauth2/v2/auth\",\n clientId: \"15765e...\",\n clientSecret: \"*****abcxyz\",\n idAttribute: \"user_id\",\n isAutoCreation: false,\n isAutoUpdate: true,\n isCreationAllowed: true,\n isLinkingAllowed: false,\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n ],\n tokenEndpoint: \"https://oauth2.googleapis.com/token\",\n userEndpoint: \"https://openidconnect.googleapis.com/v1/userinfo\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.IdpOauth(\"default\",\n authorization_endpoint=\"https://accounts.google.com/o/oauth2/v2/auth\",\n client_id=\"15765e...\",\n client_secret=\"*****abcxyz\",\n id_attribute=\"user_id\",\n is_auto_creation=False,\n is_auto_update=True,\n is_creation_allowed=True,\n is_linking_allowed=False,\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n ],\n token_endpoint=\"https://oauth2.googleapis.com/token\",\n user_endpoint=\"https://openidconnect.googleapis.com/v1/userinfo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.IdpOauth(\"default\", new()\n {\n AuthorizationEndpoint = \"https://accounts.google.com/o/oauth2/v2/auth\",\n ClientId = \"15765e...\",\n ClientSecret = \"*****abcxyz\",\n IdAttribute = \"user_id\",\n IsAutoCreation = false,\n IsAutoUpdate = true,\n IsCreationAllowed = true,\n IsLinkingAllowed = false,\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n },\n TokenEndpoint = \"https://oauth2.googleapis.com/token\",\n UserEndpoint = \"https://openidconnect.googleapis.com/v1/userinfo\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewIdpOauth(ctx, \"default\", \u0026zitadel.IdpOauthArgs{\n\t\t\tAuthorizationEndpoint: pulumi.String(\"https://accounts.google.com/o/oauth2/v2/auth\"),\n\t\t\tClientId: pulumi.String(\"15765e...\"),\n\t\t\tClientSecret: pulumi.String(\"*****abcxyz\"),\n\t\t\tIdAttribute: pulumi.String(\"user_id\"),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t},\n\t\t\tTokenEndpoint: pulumi.String(\"https://oauth2.googleapis.com/token\"),\n\t\t\tUserEndpoint: pulumi.String(\"https://openidconnect.googleapis.com/v1/userinfo\"),\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.zitadel.IdpOauth;\nimport com.pulumi.zitadel.IdpOauthArgs;\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 default_ = new IdpOauth(\"default\", IdpOauthArgs.builder() \n .authorizationEndpoint(\"https://accounts.google.com/o/oauth2/v2/auth\")\n .clientId(\"15765e...\")\n .clientSecret(\"*****abcxyz\")\n .idAttribute(\"user_id\")\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .isCreationAllowed(true)\n .isLinkingAllowed(false)\n .scopes( \n \"openid\",\n \"profile\",\n \"email\")\n .tokenEndpoint(\"https://oauth2.googleapis.com/token\")\n .userEndpoint(\"https://openidconnect.googleapis.com/v1/userinfo\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:IdpOauth\n properties:\n authorizationEndpoint: https://accounts.google.com/o/oauth2/v2/auth\n clientId: 15765e...\n clientSecret: '*****abcxyz'\n idAttribute: user_id\n isAutoCreation: false\n isAutoUpdate: true\n isCreationAllowed: true\n isLinkingAllowed: false\n scopes:\n - openid\n - profile\n - email\n tokenEndpoint: https://oauth2.googleapis.com/token\n userEndpoint: https://openidconnect.googleapis.com/v1/userinfo\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid[:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/idpOauth:IdpOauth imported '123456789012345678:1234567890abcdef'\n```\n\n ", "properties": { - "roles": { + "authorizationEndpoint": { + "type": "string", + "description": "The authorization endpoint\n" + }, + "clientId": { + "type": "string", + "description": "client id generated by the identity provider\n" + }, + "clientSecret": { + "type": "string", + "description": "client secret generated by the identity provider\n", + "secret": true + }, + "idAttribute": { + "type": "string", + "description": "The id attribute\n" + }, + "isAutoCreation": { + "type": "boolean", + "description": "enable if a new account in ZITADEL should be created automatically on login with an external account\n" + }, + "isAutoUpdate": { + "type": "boolean", + "description": "enable if a the ZITADEL account fields should be updated automatically on each login\n" + }, + "isCreationAllowed": { + "type": "boolean", + "description": "enable if users should be able to create a new account in ZITADEL when using an external account\n" + }, + "isLinkingAllowed": { + "type": "boolean", + "description": "enable if users should be able to link an existing ZITADEL user with an external account\n" + }, + "name": { + "type": "string", + "description": "Name of the IDP\n" + }, + "scopes": { "type": "array", "items": { "type": "string" }, - "description": "List of roles granted, full list available here: https://zitadel.com/docs/guides/manage/console/managers#roles\n" + "description": "the scopes requested by ZITADEL during the request on the identity provider\n" }, - "userId": { + "tokenEndpoint": { "type": "string", - "description": "ID of the user\n" + "description": "The token endpoint\n" + }, + "userEndpoint": { + "type": "string", + "description": "The user endpoint\n" } }, "required": [ - "roles", - "userId" + "authorizationEndpoint", + "clientId", + "clientSecret", + "idAttribute", + "isAutoCreation", + "isAutoUpdate", + "isCreationAllowed", + "isLinkingAllowed", + "name", + "tokenEndpoint", + "userEndpoint" ], "inputProperties": { - "roles": { + "authorizationEndpoint": { + "type": "string", + "description": "The authorization endpoint\n" + }, + "clientId": { + "type": "string", + "description": "client id generated by the identity provider\n" + }, + "clientSecret": { + "type": "string", + "description": "client secret generated by the identity provider\n", + "secret": true + }, + "idAttribute": { + "type": "string", + "description": "The id attribute\n" + }, + "isAutoCreation": { + "type": "boolean", + "description": "enable if a new account in ZITADEL should be created automatically on login with an external account\n" + }, + "isAutoUpdate": { + "type": "boolean", + "description": "enable if a the ZITADEL account fields should be updated automatically on each login\n" + }, + "isCreationAllowed": { + "type": "boolean", + "description": "enable if users should be able to create a new account in ZITADEL when using an external account\n" + }, + "isLinkingAllowed": { + "type": "boolean", + "description": "enable if users should be able to link an existing ZITADEL user with an external account\n" + }, + "name": { + "type": "string", + "description": "Name of the IDP\n" + }, + "scopes": { "type": "array", "items": { "type": "string" }, - "description": "List of roles granted, full list available here: https://zitadel.com/docs/guides/manage/console/managers#roles\n" + "description": "the scopes requested by ZITADEL during the request on the identity provider\n" }, - "userId": { + "tokenEndpoint": { "type": "string", - "description": "ID of the user\n", - "willReplaceOnChanges": true + "description": "The token endpoint\n" + }, + "userEndpoint": { + "type": "string", + "description": "The user endpoint\n" } }, "requiredInputs": [ - "roles", - "userId" + "authorizationEndpoint", + "clientId", + "clientSecret", + "idAttribute", + "isAutoCreation", + "isAutoUpdate", + "isCreationAllowed", + "isLinkingAllowed", + "tokenEndpoint", + "userEndpoint" ], "stateInputs": { - "description": "Input properties used for looking up and filtering InstanceMember resources.\n", + "description": "Input properties used for looking up and filtering IdpOauth resources.\n", "properties": { - "roles": { + "authorizationEndpoint": { + "type": "string", + "description": "The authorization endpoint\n" + }, + "clientId": { + "type": "string", + "description": "client id generated by the identity provider\n" + }, + "clientSecret": { + "type": "string", + "description": "client secret generated by the identity provider\n", + "secret": true + }, + "idAttribute": { + "type": "string", + "description": "The id attribute\n" + }, + "isAutoCreation": { + "type": "boolean", + "description": "enable if a new account in ZITADEL should be created automatically on login with an external account\n" + }, + "isAutoUpdate": { + "type": "boolean", + "description": "enable if a the ZITADEL account fields should be updated automatically on each login\n" + }, + "isCreationAllowed": { + "type": "boolean", + "description": "enable if users should be able to create a new account in ZITADEL when using an external account\n" + }, + "isLinkingAllowed": { + "type": "boolean", + "description": "enable if users should be able to link an existing ZITADEL user with an external account\n" + }, + "name": { + "type": "string", + "description": "Name of the IDP\n" + }, + "scopes": { "type": "array", "items": { "type": "string" }, - "description": "List of roles granted, full list available here: https://zitadel.com/docs/guides/manage/console/managers#roles\n" + "description": "the scopes requested by ZITADEL during the request on the identity provider\n" }, - "userId": { + "tokenEndpoint": { "type": "string", - "description": "ID of the user\n", - "willReplaceOnChanges": true + "description": "The token endpoint\n" + }, + "userEndpoint": { + "type": "string", + "description": "The user endpoint\n" } }, "type": "object" } }, - "zitadel:index/labelPolicy:LabelPolicy": { - "description": "Resource representing the custom label policy of an organization.\n\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003c[org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/labelPolicy:LabelPolicy imported '123456789012345678'\n```\n\n ", + "zitadel:index/idpSaml:IdpSaml": { + "description": "Resource representing a SAML IDP on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.IdpSaml(\"default\", {\n binding: \"SAML_BINDING_POST\",\n isAutoCreation: false,\n isAutoUpdate: true,\n isCreationAllowed: true,\n isLinkingAllowed: false,\n metadataXml: `\u003c?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?\u003e\n\u003cmd:EntityDescriptor xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\" entityID=\"https://saml.example.com/entityid\" validUntil=\"2034-05-15T14:21:58.979Z\"\u003e\n \u003cmd:IDPSSODescriptor WantAuthnRequestsSigned=\"true\" protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\"\u003e\n \u003cmd:KeyDescriptor use=\"signing\"\u003e\n \u003cds:KeyInfo xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\"\u003e\n \u003cds:X509Data\u003e\n \u003cds:X509Certificate\u003eMIIC4jCCAcoCCQC33wnybT5QZDANBgkqhkiG9w0BAQsFADAyMQswCQYDVQQGEwJV\nSzEPMA0GA1UECgwGQm94eUhRMRIwEAYDVQQDDAlNb2NrIFNBTUwwIBcNMjIwMjI4\nMjE0NjM4WhgPMzAyMTA3MDEyMTQ2MzhaMDIxCzAJBgNVBAYTAlVLMQ8wDQYDVQQK\nDAZCb3h5SFExEjAQBgNVBAMMCU1vY2sgU0FNTDCCASIwDQYJKoZIhvcNAQEBBQAD\nggEPADCCAQoCggEBALGfYettMsct1T6tVUwTudNJH5Pnb9GGnkXi9Zw/e6x45DD0\nRuRONbFlJ2T4RjAE/uG+AjXxXQ8o2SZfb9+GgmCHuTJFNgHoZ1nFVXCmb/Hg8Hpd\n4vOAGXndixaReOiq3EH5XvpMjMkJ3+8+9VYMzMZOjkgQtAqO36eAFFfNKX7dTj3V\npwLkvz6/KFCq8OAwY+AUi4eZm5J57D31GzjHwfjH9WTeX0MyndmnNB1qV75qQR3b\n2/W5sGHRv+9AarggJkF+ptUkXoLtVA51wcfYm6hILptpde5FQC8RWY1YrswBWAEZ\nNfyrR4JeSweElNHg4NVOs4TwGjOPwWGqzTfgTlECAwEAATANBgkqhkiG9w0BAQsF\nAAOCAQEAAYRlYflSXAWoZpFfwNiCQVE5d9zZ0DPzNdWhAybXcTyMf0z5mDf6FWBW\n5Gyoi9u3EMEDnzLcJNkwJAAc39Apa4I2/tml+Jy29dk8bTyX6m93ngmCgdLh5Za4\nkhuU3AM3L63g7VexCuO7kwkjh/+LqdcIXsVGO6XDfu2QOs1Xpe9zIzLpwm/RNYeX\nUjbSj5ce/jekpAw7qyVVL4xOyh8AtUW1ek3wIw1MJvEgEPt0d16oshWJpoS1OT8L\nr/22SvYEo3EmSGdTVGgk3x3s+A0qWAqTcyjr7Q4s/GKYRFfomGwz0TZ4Iw1ZN99M\nm0eo2USlSRTVl7QHRTuiuSThHpLKQQ==\u003c/ds:X509Certificate\u003e\n \u003c/ds:X509Data\u003e\n \u003c/ds:KeyInfo\u003e\n \u003c/md:KeyDescriptor\u003e\n \u003cmd:NameIDFormat\u003eurn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\u003c/md:NameIDFormat\u003e\n \u003cmd:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\" Location=\"https://mocksaml.com/api/saml/sso\"/\u003e\n \u003cmd:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\" Location=\"https://mocksaml.com/api/saml/sso\"/\u003e\n \u003c/md:IDPSSODescriptor\u003e\n\u003c/md:EntityDescriptor\u003e\n\n`,\n withSignedRequest: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.IdpSaml(\"default\",\n binding=\"SAML_BINDING_POST\",\n is_auto_creation=False,\n is_auto_update=True,\n is_creation_allowed=True,\n is_linking_allowed=False,\n metadata_xml=\"\"\"\u003c?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?\u003e\n\u003cmd:EntityDescriptor xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\" entityID=\"https://saml.example.com/entityid\" validUntil=\"2034-05-15T14:21:58.979Z\"\u003e\n \u003cmd:IDPSSODescriptor WantAuthnRequestsSigned=\"true\" protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\"\u003e\n \u003cmd:KeyDescriptor use=\"signing\"\u003e\n \u003cds:KeyInfo xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\"\u003e\n \u003cds:X509Data\u003e\n \u003cds:X509Certificate\u003eMIIC4jCCAcoCCQC33wnybT5QZDANBgkqhkiG9w0BAQsFADAyMQswCQYDVQQGEwJV\nSzEPMA0GA1UECgwGQm94eUhRMRIwEAYDVQQDDAlNb2NrIFNBTUwwIBcNMjIwMjI4\nMjE0NjM4WhgPMzAyMTA3MDEyMTQ2MzhaMDIxCzAJBgNVBAYTAlVLMQ8wDQYDVQQK\nDAZCb3h5SFExEjAQBgNVBAMMCU1vY2sgU0FNTDCCASIwDQYJKoZIhvcNAQEBBQAD\nggEPADCCAQoCggEBALGfYettMsct1T6tVUwTudNJH5Pnb9GGnkXi9Zw/e6x45DD0\nRuRONbFlJ2T4RjAE/uG+AjXxXQ8o2SZfb9+GgmCHuTJFNgHoZ1nFVXCmb/Hg8Hpd\n4vOAGXndixaReOiq3EH5XvpMjMkJ3+8+9VYMzMZOjkgQtAqO36eAFFfNKX7dTj3V\npwLkvz6/KFCq8OAwY+AUi4eZm5J57D31GzjHwfjH9WTeX0MyndmnNB1qV75qQR3b\n2/W5sGHRv+9AarggJkF+ptUkXoLtVA51wcfYm6hILptpde5FQC8RWY1YrswBWAEZ\nNfyrR4JeSweElNHg4NVOs4TwGjOPwWGqzTfgTlECAwEAATANBgkqhkiG9w0BAQsF\nAAOCAQEAAYRlYflSXAWoZpFfwNiCQVE5d9zZ0DPzNdWhAybXcTyMf0z5mDf6FWBW\n5Gyoi9u3EMEDnzLcJNkwJAAc39Apa4I2/tml+Jy29dk8bTyX6m93ngmCgdLh5Za4\nkhuU3AM3L63g7VexCuO7kwkjh/+LqdcIXsVGO6XDfu2QOs1Xpe9zIzLpwm/RNYeX\nUjbSj5ce/jekpAw7qyVVL4xOyh8AtUW1ek3wIw1MJvEgEPt0d16oshWJpoS1OT8L\nr/22SvYEo3EmSGdTVGgk3x3s+A0qWAqTcyjr7Q4s/GKYRFfomGwz0TZ4Iw1ZN99M\nm0eo2USlSRTVl7QHRTuiuSThHpLKQQ==\u003c/ds:X509Certificate\u003e\n \u003c/ds:X509Data\u003e\n \u003c/ds:KeyInfo\u003e\n \u003c/md:KeyDescriptor\u003e\n \u003cmd:NameIDFormat\u003eurn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\u003c/md:NameIDFormat\u003e\n \u003cmd:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\" Location=\"https://mocksaml.com/api/saml/sso\"/\u003e\n \u003cmd:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\" Location=\"https://mocksaml.com/api/saml/sso\"/\u003e\n \u003c/md:IDPSSODescriptor\u003e\n\u003c/md:EntityDescriptor\u003e\n\n\"\"\",\n with_signed_request=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.IdpSaml(\"default\", new()\n {\n Binding = \"SAML_BINDING_POST\",\n IsAutoCreation = false,\n IsAutoUpdate = true,\n IsCreationAllowed = true,\n IsLinkingAllowed = false,\n MetadataXml = @\"\u003c?xml version=\"\"1.0\"\" encoding=\"\"UTF-8\"\" standalone=\"\"no\"\"?\u003e\n\u003cmd:EntityDescriptor xmlns:md=\"\"urn:oasis:names:tc:SAML:2.0:metadata\"\" entityID=\"\"https://saml.example.com/entityid\"\" validUntil=\"\"2034-05-15T14:21:58.979Z\"\"\u003e\n \u003cmd:IDPSSODescriptor WantAuthnRequestsSigned=\"\"true\"\" protocolSupportEnumeration=\"\"urn:oasis:names:tc:SAML:2.0:protocol\"\"\u003e\n \u003cmd:KeyDescriptor use=\"\"signing\"\"\u003e\n \u003cds:KeyInfo xmlns:ds=\"\"http://www.w3.org/2000/09/xmldsig#\"\"\u003e\n \u003cds:X509Data\u003e\n \u003cds:X509Certificate\u003eMIIC4jCCAcoCCQC33wnybT5QZDANBgkqhkiG9w0BAQsFADAyMQswCQYDVQQGEwJV\nSzEPMA0GA1UECgwGQm94eUhRMRIwEAYDVQQDDAlNb2NrIFNBTUwwIBcNMjIwMjI4\nMjE0NjM4WhgPMzAyMTA3MDEyMTQ2MzhaMDIxCzAJBgNVBAYTAlVLMQ8wDQYDVQQK\nDAZCb3h5SFExEjAQBgNVBAMMCU1vY2sgU0FNTDCCASIwDQYJKoZIhvcNAQEBBQAD\nggEPADCCAQoCggEBALGfYettMsct1T6tVUwTudNJH5Pnb9GGnkXi9Zw/e6x45DD0\nRuRONbFlJ2T4RjAE/uG+AjXxXQ8o2SZfb9+GgmCHuTJFNgHoZ1nFVXCmb/Hg8Hpd\n4vOAGXndixaReOiq3EH5XvpMjMkJ3+8+9VYMzMZOjkgQtAqO36eAFFfNKX7dTj3V\npwLkvz6/KFCq8OAwY+AUi4eZm5J57D31GzjHwfjH9WTeX0MyndmnNB1qV75qQR3b\n2/W5sGHRv+9AarggJkF+ptUkXoLtVA51wcfYm6hILptpde5FQC8RWY1YrswBWAEZ\nNfyrR4JeSweElNHg4NVOs4TwGjOPwWGqzTfgTlECAwEAATANBgkqhkiG9w0BAQsF\nAAOCAQEAAYRlYflSXAWoZpFfwNiCQVE5d9zZ0DPzNdWhAybXcTyMf0z5mDf6FWBW\n5Gyoi9u3EMEDnzLcJNkwJAAc39Apa4I2/tml+Jy29dk8bTyX6m93ngmCgdLh5Za4\nkhuU3AM3L63g7VexCuO7kwkjh/+LqdcIXsVGO6XDfu2QOs1Xpe9zIzLpwm/RNYeX\nUjbSj5ce/jekpAw7qyVVL4xOyh8AtUW1ek3wIw1MJvEgEPt0d16oshWJpoS1OT8L\nr/22SvYEo3EmSGdTVGgk3x3s+A0qWAqTcyjr7Q4s/GKYRFfomGwz0TZ4Iw1ZN99M\nm0eo2USlSRTVl7QHRTuiuSThHpLKQQ==\u003c/ds:X509Certificate\u003e\n \u003c/ds:X509Data\u003e\n \u003c/ds:KeyInfo\u003e\n \u003c/md:KeyDescriptor\u003e\n \u003cmd:NameIDFormat\u003eurn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\u003c/md:NameIDFormat\u003e\n \u003cmd:SingleSignOnService Binding=\"\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\"\" Location=\"\"https://mocksaml.com/api/saml/sso\"\"/\u003e\n \u003cmd:SingleSignOnService Binding=\"\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\"\" Location=\"\"https://mocksaml.com/api/saml/sso\"\"/\u003e\n \u003c/md:IDPSSODescriptor\u003e\n\u003c/md:EntityDescriptor\u003e\n\n\",\n WithSignedRequest = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewIdpSaml(ctx, \"default\", \u0026zitadel.IdpSamlArgs{\n\t\t\tBinding: pulumi.String(\"SAML_BINDING_POST\"),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tMetadataXml: pulumi.String(`\u003c?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?\u003e\n\u003cmd:EntityDescriptor xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\" entityID=\"https://saml.example.com/entityid\" validUntil=\"2034-05-15T14:21:58.979Z\"\u003e\n \u003cmd:IDPSSODescriptor WantAuthnRequestsSigned=\"true\" protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\"\u003e\n \u003cmd:KeyDescriptor use=\"signing\"\u003e\n \u003cds:KeyInfo xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\"\u003e\n \u003cds:X509Data\u003e\n \u003cds:X509Certificate\u003eMIIC4jCCAcoCCQC33wnybT5QZDANBgkqhkiG9w0BAQsFADAyMQswCQYDVQQGEwJV\nSzEPMA0GA1UECgwGQm94eUhRMRIwEAYDVQQDDAlNb2NrIFNBTUwwIBcNMjIwMjI4\nMjE0NjM4WhgPMzAyMTA3MDEyMTQ2MzhaMDIxCzAJBgNVBAYTAlVLMQ8wDQYDVQQK\nDAZCb3h5SFExEjAQBgNVBAMMCU1vY2sgU0FNTDCCASIwDQYJKoZIhvcNAQEBBQAD\nggEPADCCAQoCggEBALGfYettMsct1T6tVUwTudNJH5Pnb9GGnkXi9Zw/e6x45DD0\nRuRONbFlJ2T4RjAE/uG+AjXxXQ8o2SZfb9+GgmCHuTJFNgHoZ1nFVXCmb/Hg8Hpd\n4vOAGXndixaReOiq3EH5XvpMjMkJ3+8+9VYMzMZOjkgQtAqO36eAFFfNKX7dTj3V\npwLkvz6/KFCq8OAwY+AUi4eZm5J57D31GzjHwfjH9WTeX0MyndmnNB1qV75qQR3b\n2/W5sGHRv+9AarggJkF+ptUkXoLtVA51wcfYm6hILptpde5FQC8RWY1YrswBWAEZ\nNfyrR4JeSweElNHg4NVOs4TwGjOPwWGqzTfgTlECAwEAATANBgkqhkiG9w0BAQsF\nAAOCAQEAAYRlYflSXAWoZpFfwNiCQVE5d9zZ0DPzNdWhAybXcTyMf0z5mDf6FWBW\n5Gyoi9u3EMEDnzLcJNkwJAAc39Apa4I2/tml+Jy29dk8bTyX6m93ngmCgdLh5Za4\nkhuU3AM3L63g7VexCuO7kwkjh/+LqdcIXsVGO6XDfu2QOs1Xpe9zIzLpwm/RNYeX\nUjbSj5ce/jekpAw7qyVVL4xOyh8AtUW1ek3wIw1MJvEgEPt0d16oshWJpoS1OT8L\nr/22SvYEo3EmSGdTVGgk3x3s+A0qWAqTcyjr7Q4s/GKYRFfomGwz0TZ4Iw1ZN99M\nm0eo2USlSRTVl7QHRTuiuSThHpLKQQ==\u003c/ds:X509Certificate\u003e\n \u003c/ds:X509Data\u003e\n \u003c/ds:KeyInfo\u003e\n \u003c/md:KeyDescriptor\u003e\n \u003cmd:NameIDFormat\u003eurn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\u003c/md:NameIDFormat\u003e\n \u003cmd:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\" Location=\"https://mocksaml.com/api/saml/sso\"/\u003e\n \u003cmd:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\" Location=\"https://mocksaml.com/api/saml/sso\"/\u003e\n \u003c/md:IDPSSODescriptor\u003e\n\u003c/md:EntityDescriptor\u003e\n\n`),\n\t\t\tWithSignedRequest: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.IdpSaml;\nimport com.pulumi.zitadel.IdpSamlArgs;\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 default_ = new IdpSaml(\"default\", IdpSamlArgs.builder() \n .binding(\"SAML_BINDING_POST\")\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .isCreationAllowed(true)\n .isLinkingAllowed(false)\n .metadataXml(\"\"\"\n\u003c?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?\u003e\n\u003cmd:EntityDescriptor xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\" entityID=\"https://saml.example.com/entityid\" validUntil=\"2034-05-15T14:21:58.979Z\"\u003e\n \u003cmd:IDPSSODescriptor WantAuthnRequestsSigned=\"true\" protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\"\u003e\n \u003cmd:KeyDescriptor use=\"signing\"\u003e\n \u003cds:KeyInfo xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\"\u003e\n \u003cds:X509Data\u003e\n \u003cds:X509Certificate\u003eMIIC4jCCAcoCCQC33wnybT5QZDANBgkqhkiG9w0BAQsFADAyMQswCQYDVQQGEwJV\nSzEPMA0GA1UECgwGQm94eUhRMRIwEAYDVQQDDAlNb2NrIFNBTUwwIBcNMjIwMjI4\nMjE0NjM4WhgPMzAyMTA3MDEyMTQ2MzhaMDIxCzAJBgNVBAYTAlVLMQ8wDQYDVQQK\nDAZCb3h5SFExEjAQBgNVBAMMCU1vY2sgU0FNTDCCASIwDQYJKoZIhvcNAQEBBQAD\nggEPADCCAQoCggEBALGfYettMsct1T6tVUwTudNJH5Pnb9GGnkXi9Zw/e6x45DD0\nRuRONbFlJ2T4RjAE/uG+AjXxXQ8o2SZfb9+GgmCHuTJFNgHoZ1nFVXCmb/Hg8Hpd\n4vOAGXndixaReOiq3EH5XvpMjMkJ3+8+9VYMzMZOjkgQtAqO36eAFFfNKX7dTj3V\npwLkvz6/KFCq8OAwY+AUi4eZm5J57D31GzjHwfjH9WTeX0MyndmnNB1qV75qQR3b\n2/W5sGHRv+9AarggJkF+ptUkXoLtVA51wcfYm6hILptpde5FQC8RWY1YrswBWAEZ\nNfyrR4JeSweElNHg4NVOs4TwGjOPwWGqzTfgTlECAwEAATANBgkqhkiG9w0BAQsF\nAAOCAQEAAYRlYflSXAWoZpFfwNiCQVE5d9zZ0DPzNdWhAybXcTyMf0z5mDf6FWBW\n5Gyoi9u3EMEDnzLcJNkwJAAc39Apa4I2/tml+Jy29dk8bTyX6m93ngmCgdLh5Za4\nkhuU3AM3L63g7VexCuO7kwkjh/+LqdcIXsVGO6XDfu2QOs1Xpe9zIzLpwm/RNYeX\nUjbSj5ce/jekpAw7qyVVL4xOyh8AtUW1ek3wIw1MJvEgEPt0d16oshWJpoS1OT8L\nr/22SvYEo3EmSGdTVGgk3x3s+A0qWAqTcyjr7Q4s/GKYRFfomGwz0TZ4Iw1ZN99M\nm0eo2USlSRTVl7QHRTuiuSThHpLKQQ==\u003c/ds:X509Certificate\u003e\n \u003c/ds:X509Data\u003e\n \u003c/ds:KeyInfo\u003e\n \u003c/md:KeyDescriptor\u003e\n \u003cmd:NameIDFormat\u003eurn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\u003c/md:NameIDFormat\u003e\n \u003cmd:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\" Location=\"https://mocksaml.com/api/saml/sso\"/\u003e\n \u003cmd:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\" Location=\"https://mocksaml.com/api/saml/sso\"/\u003e\n \u003c/md:IDPSSODescriptor\u003e\n\u003c/md:EntityDescriptor\u003e\n\n \"\"\")\n .withSignedRequest(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:IdpSaml\n properties:\n binding: SAML_BINDING_POST\n isAutoCreation: false\n isAutoUpdate: true\n isCreationAllowed: true\n isLinkingAllowed: false\n metadataXml: |+\n \u003c?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?\u003e\n \u003cmd:EntityDescriptor xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\" entityID=\"https://saml.example.com/entityid\" validUntil=\"2034-05-15T14:21:58.979Z\"\u003e\n \u003cmd:IDPSSODescriptor WantAuthnRequestsSigned=\"true\" protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\"\u003e\n \u003cmd:KeyDescriptor use=\"signing\"\u003e\n \u003cds:KeyInfo xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\"\u003e\n \u003cds:X509Data\u003e\n \u003cds:X509Certificate\u003eMIIC4jCCAcoCCQC33wnybT5QZDANBgkqhkiG9w0BAQsFADAyMQswCQYDVQQGEwJV\n SzEPMA0GA1UECgwGQm94eUhRMRIwEAYDVQQDDAlNb2NrIFNBTUwwIBcNMjIwMjI4\n MjE0NjM4WhgPMzAyMTA3MDEyMTQ2MzhaMDIxCzAJBgNVBAYTAlVLMQ8wDQYDVQQK\n DAZCb3h5SFExEjAQBgNVBAMMCU1vY2sgU0FNTDCCASIwDQYJKoZIhvcNAQEBBQAD\n ggEPADCCAQoCggEBALGfYettMsct1T6tVUwTudNJH5Pnb9GGnkXi9Zw/e6x45DD0\n RuRONbFlJ2T4RjAE/uG+AjXxXQ8o2SZfb9+GgmCHuTJFNgHoZ1nFVXCmb/Hg8Hpd\n 4vOAGXndixaReOiq3EH5XvpMjMkJ3+8+9VYMzMZOjkgQtAqO36eAFFfNKX7dTj3V\n pwLkvz6/KFCq8OAwY+AUi4eZm5J57D31GzjHwfjH9WTeX0MyndmnNB1qV75qQR3b\n 2/W5sGHRv+9AarggJkF+ptUkXoLtVA51wcfYm6hILptpde5FQC8RWY1YrswBWAEZ\n NfyrR4JeSweElNHg4NVOs4TwGjOPwWGqzTfgTlECAwEAATANBgkqhkiG9w0BAQsF\n AAOCAQEAAYRlYflSXAWoZpFfwNiCQVE5d9zZ0DPzNdWhAybXcTyMf0z5mDf6FWBW\n 5Gyoi9u3EMEDnzLcJNkwJAAc39Apa4I2/tml+Jy29dk8bTyX6m93ngmCgdLh5Za4\n khuU3AM3L63g7VexCuO7kwkjh/+LqdcIXsVGO6XDfu2QOs1Xpe9zIzLpwm/RNYeX\n UjbSj5ce/jekpAw7qyVVL4xOyh8AtUW1ek3wIw1MJvEgEPt0d16oshWJpoS1OT8L\n r/22SvYEo3EmSGdTVGgk3x3s+A0qWAqTcyjr7Q4s/GKYRFfomGwz0TZ4Iw1ZN99M\n m0eo2USlSRTVl7QHRTuiuSThHpLKQQ==\u003c/ds:X509Certificate\u003e\n \u003c/ds:X509Data\u003e\n \u003c/ds:KeyInfo\u003e\n \u003c/md:KeyDescriptor\u003e\n \u003cmd:NameIDFormat\u003eurn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\u003c/md:NameIDFormat\u003e\n \u003cmd:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\" Location=\"https://mocksaml.com/api/saml/sso\"/\u003e\n \u003cmd:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\" Location=\"https://mocksaml.com/api/saml/sso\"/\u003e\n \u003c/md:IDPSSODescriptor\u003e\n \u003c/md:EntityDescriptor\u003e\n\n withSignedRequest: true\n```\n\n{{% /example %}}\n{{% /examples %}}\n## Loading the XML Metadata\n\nIf you don't want to pass the XML metadata inline, you have plenty of options. For example:\n- local_file Data Source\n- http Data Source\n- terracurl_request Data Source\n- ...\n\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/idpSaml:IdpSaml imported '123456789012345678'\n```\n\n ", "properties": { - "backgroundColor": { - "type": "string", - "description": "hex value for background color\n" - }, - "backgroundColorDark": { + "binding": { "type": "string", - "description": "hex value for background color dark theme\n" + "description": "The binding, supported values: SAML*BINDING*UNSPECIFIED, SAML*BINDING*POST, SAML*BINDING*REDIRECT, SAML*BINDING*ARTIFACT\n" }, - "disableWatermark": { + "isAutoCreation": { "type": "boolean", - "description": "disable watermark\n" + "description": "enable if a new account in ZITADEL should be created automatically on login with an external account\n" }, - "fontColor": { - "type": "string", - "description": "hex value for font color\n" + "isAutoUpdate": { + "type": "boolean", + "description": "enable if a the ZITADEL account fields should be updated automatically on each login\n" }, - "fontColorDark": { - "type": "string", - "description": "hex value for font color dark theme\n" + "isCreationAllowed": { + "type": "boolean", + "description": "enable if users should be able to create a new account in ZITADEL when using an external account\n" }, - "fontHash": { - "type": "string" + "isLinkingAllowed": { + "type": "boolean", + "description": "enable if users should be able to link an existing ZITADEL user with an external account\n" }, - "fontPath": { - "type": "string" + "metadataXml": { + "type": "string", + "description": "The metadata XML as plain string\n" }, - "fontUrl": { - "type": "string" + "name": { + "type": "string", + "description": "Name of the IDP\n" }, - "hideLoginNameSuffix": { + "withSignedRequest": { "type": "boolean", - "description": "hides the org suffix on the login form if the scope \"urn:zitadel:iam:org:domain:primary:{domainname}\" is set. Details about this scope in https://zitadel.com/docs/apis/openidoauth/scopes#reserved-scopes\n" - }, - "iconDarkHash": { - "type": "string" - }, - "iconDarkPath": { - "type": "string" + "description": "Whether the SAML IDP requires signed requests\n" + } + }, + "required": [ + "isAutoCreation", + "isAutoUpdate", + "isCreationAllowed", + "isLinkingAllowed", + "metadataXml", + "name" + ], + "inputProperties": { + "binding": { + "type": "string", + "description": "The binding, supported values: SAML*BINDING*UNSPECIFIED, SAML*BINDING*POST, SAML*BINDING*REDIRECT, SAML*BINDING*ARTIFACT\n" }, - "iconHash": { - "type": "string" + "isAutoCreation": { + "type": "boolean", + "description": "enable if a new account in ZITADEL should be created automatically on login with an external account\n" }, - "iconPath": { - "type": "string" + "isAutoUpdate": { + "type": "boolean", + "description": "enable if a the ZITADEL account fields should be updated automatically on each login\n" }, - "iconUrl": { - "type": "string" + "isCreationAllowed": { + "type": "boolean", + "description": "enable if users should be able to create a new account in ZITADEL when using an external account\n" }, - "iconUrlDark": { - "type": "string" + "isLinkingAllowed": { + "type": "boolean", + "description": "enable if users should be able to link an existing ZITADEL user with an external account\n" }, - "logoDarkHash": { - "type": "string" + "metadataXml": { + "type": "string", + "description": "The metadata XML as plain string\n" }, - "logoDarkPath": { - "type": "string" + "name": { + "type": "string", + "description": "Name of the IDP\n" }, - "logoHash": { - "type": "string" + "withSignedRequest": { + "type": "boolean", + "description": "Whether the SAML IDP requires signed requests\n" + } + }, + "requiredInputs": [ + "isAutoCreation", + "isAutoUpdate", + "isCreationAllowed", + "isLinkingAllowed", + "metadataXml" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering IdpSaml resources.\n", + "properties": { + "binding": { + "type": "string", + "description": "The binding, supported values: SAML*BINDING*UNSPECIFIED, SAML*BINDING*POST, SAML*BINDING*REDIRECT, SAML*BINDING*ARTIFACT\n" + }, + "isAutoCreation": { + "type": "boolean", + "description": "enable if a new account in ZITADEL should be created automatically on login with an external account\n" + }, + "isAutoUpdate": { + "type": "boolean", + "description": "enable if a the ZITADEL account fields should be updated automatically on each login\n" + }, + "isCreationAllowed": { + "type": "boolean", + "description": "enable if users should be able to create a new account in ZITADEL when using an external account\n" + }, + "isLinkingAllowed": { + "type": "boolean", + "description": "enable if users should be able to link an existing ZITADEL user with an external account\n" + }, + "metadataXml": { + "type": "string", + "description": "The metadata XML as plain string\n" + }, + "name": { + "type": "string", + "description": "Name of the IDP\n" + }, + "withSignedRequest": { + "type": "boolean", + "description": "Whether the SAML IDP requires signed requests\n" + } + }, + "type": "object" + } + }, + "zitadel:index/instanceMember:InstanceMember": { + "description": "Resource representing the membership of a user on an instance, defined with the given role.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.InstanceMember(\"default\", {\n userId: data.zitadel_human_user[\"default\"].id,\n roles: [\"IAM_OWNER\"],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.InstanceMember(\"default\",\n user_id=data[\"zitadel_human_user\"][\"default\"][\"id\"],\n roles=[\"IAM_OWNER\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.InstanceMember(\"default\", new()\n {\n UserId = data.Zitadel_human_user.Default.Id,\n Roles = new[]\n {\n \"IAM_OWNER\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewInstanceMember(ctx, \"default\", \u0026zitadel.InstanceMemberArgs{\n\t\t\tUserId: pulumi.Any(data.Zitadel_human_user.Default.Id),\n\t\t\tRoles: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"IAM_OWNER\"),\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.zitadel.InstanceMember;\nimport com.pulumi.zitadel.InstanceMemberArgs;\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 default_ = new InstanceMember(\"default\", InstanceMemberArgs.builder() \n .userId(data.zitadel_human_user().default().id())\n .roles(\"IAM_OWNER\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:InstanceMember\n properties:\n userId: ${data.zitadel_human_user.default.id}\n roles:\n - IAM_OWNER\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cuser_id\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/instanceMember:InstanceMember imported '123456789012345678'\n```\n\n ", + "properties": { + "roles": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of roles granted, full list available here: https://zitadel.com/docs/guides/manage/console/managers#roles\n" + }, + "userId": { + "type": "string", + "description": "ID of the user\n" + } + }, + "required": [ + "roles", + "userId" + ], + "inputProperties": { + "roles": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of roles granted, full list available here: https://zitadel.com/docs/guides/manage/console/managers#roles\n" + }, + "userId": { + "type": "string", + "description": "ID of the user\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "roles", + "userId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering InstanceMember resources.\n", + "properties": { + "roles": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of roles granted, full list available here: https://zitadel.com/docs/guides/manage/console/managers#roles\n" + }, + "userId": { + "type": "string", + "description": "ID of the user\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + }, + "zitadel:index/labelPolicy:LabelPolicy": { + "description": "Resource representing the custom label policy of an organization.\n\n\n## Import\n\nbash The resource can be imported using the ID format `\u003c[org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/labelPolicy:LabelPolicy imported '123456789012345678'\n```\n\n ", + "properties": { + "backgroundColor": { + "type": "string", + "description": "hex value for background color\n" + }, + "backgroundColorDark": { + "type": "string", + "description": "hex value for background color dark theme\n" + }, + "disableWatermark": { + "type": "boolean", + "description": "disable watermark\n" + }, + "fontColor": { + "type": "string", + "description": "hex value for font color\n" + }, + "fontColorDark": { + "type": "string", + "description": "hex value for font color dark theme\n" + }, + "fontHash": { + "type": "string" + }, + "fontPath": { + "type": "string" + }, + "fontUrl": { + "type": "string" + }, + "hideLoginNameSuffix": { + "type": "boolean", + "description": "hides the org suffix on the login form if the scope \"urn:zitadel:iam:org:domain:primary:{domainname}\" is set. Details about this scope in https://zitadel.com/docs/apis/openidoauth/scopes#reserved-scopes\n" + }, + "iconDarkHash": { + "type": "string" + }, + "iconDarkPath": { + "type": "string" + }, + "iconHash": { + "type": "string" + }, + "iconPath": { + "type": "string" + }, + "iconUrl": { + "type": "string" + }, + "iconUrlDark": { + "type": "string" + }, + "logoDarkHash": { + "type": "string" + }, + "logoDarkPath": { + "type": "string" + }, + "logoHash": { + "type": "string" }, "logoPath": { "type": "string" @@ -3564,6 +3894,10 @@ "type": "boolean", "description": "set the label policy active after creating/updating\n" }, + "themeMode": { + "type": "string", + "description": "theme mode, supported values: THEME*MODE*UNSPECIFIED, THEME*MODE*AUTO, THEME*MODE*DARK, THEME*MODE*LIGHT\n" + }, "warnColor": { "type": "string", "description": "hex value for warn color\n" @@ -3662,6 +3996,10 @@ "type": "boolean", "description": "set the label policy active after creating/updating\n" }, + "themeMode": { + "type": "string", + "description": "theme mode, supported values: THEME*MODE*UNSPECIFIED, THEME*MODE*AUTO, THEME*MODE*DARK, THEME*MODE*LIGHT\n" + }, "warnColor": { "type": "string", "description": "hex value for warn color\n" @@ -3772,6 +4110,10 @@ "type": "boolean", "description": "set the label policy active after creating/updating\n" }, + "themeMode": { + "type": "string", + "description": "theme mode, supported values: THEME*MODE*UNSPECIFIED, THEME*MODE*AUTO, THEME*MODE*DARK, THEME*MODE*LIGHT\n" + }, "warnColor": { "type": "string", "description": "hex value for warn color\n" @@ -3785,7 +4127,7 @@ } }, "zitadel:index/lockoutPolicy:LockoutPolicy": { - "description": "Resource representing the custom lockout policy of an organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.LockoutPolicy(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n maxPasswordAttempts: 5,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.LockoutPolicy(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n max_password_attempts=5)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.LockoutPolicy(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n MaxPasswordAttempts = 5,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewLockoutPolicy(ctx, \"default\", \u0026zitadel.LockoutPolicyArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tMaxPasswordAttempts: pulumi.Int(5),\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.zitadel.LockoutPolicy;\nimport com.pulumi.zitadel.LockoutPolicyArgs;\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 default_ = new LockoutPolicy(\"default\", LockoutPolicyArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .maxPasswordAttempts(\"5\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:LockoutPolicy\n properties:\n orgId: ${data.zitadel_org.default.id}\n maxPasswordAttempts: '5'\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003c[org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/lockoutPolicy:LockoutPolicy imported '123456789012345678'\n```\n\n ", + "description": "Resource representing the custom lockout policy of an organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.LockoutPolicy(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n maxPasswordAttempts: 5,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.LockoutPolicy(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n max_password_attempts=5)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.LockoutPolicy(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n MaxPasswordAttempts = 5,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewLockoutPolicy(ctx, \"default\", \u0026zitadel.LockoutPolicyArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tMaxPasswordAttempts: pulumi.Int(5),\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.zitadel.LockoutPolicy;\nimport com.pulumi.zitadel.LockoutPolicyArgs;\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 default_ = new LockoutPolicy(\"default\", LockoutPolicyArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .maxPasswordAttempts(\"5\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:LockoutPolicy\n properties:\n orgId: ${data.zitadel_org.default.id}\n maxPasswordAttempts: '5'\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003c[org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/lockoutPolicy:LockoutPolicy imported '123456789012345678'\n```\n\n ", "properties": { "maxPasswordAttempts": { "type": "integer", @@ -3830,7 +4172,7 @@ } }, "zitadel:index/loginPolicy:LoginPolicy": { - "description": "Resource representing the custom login policy of an organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.LoginPolicy(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n userLogin: true,\n allowRegister: true,\n allowExternalIdp: true,\n forceMfa: false,\n forceMfaLocalOnly: false,\n passwordlessType: \"PASSWORDLESS_TYPE_ALLOWED\",\n hidePasswordReset: false,\n passwordCheckLifetime: \"240h0m0s\",\n externalLoginCheckLifetime: \"240h0m0s\",\n multiFactorCheckLifetime: \"24h0m0s\",\n mfaInitSkipLifetime: \"720h0m0s\",\n secondFactorCheckLifetime: \"24h0m0s\",\n ignoreUnknownUsernames: true,\n defaultRedirectUri: \"localhost:8080\",\n secondFactors: [\n \"SECOND_FACTOR_TYPE_OTP\",\n \"SECOND_FACTOR_TYPE_U2F\",\n ],\n multiFactors: [\"MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION\"],\n idps: [\n data.zitadel_idp_google[\"default\"].id,\n data.zitadel_idp_azure_ad[\"default\"].id,\n ],\n allowDomainDiscovery: true,\n disableLoginWithEmail: true,\n disableLoginWithPhone: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.LoginPolicy(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n user_login=True,\n allow_register=True,\n allow_external_idp=True,\n force_mfa=False,\n force_mfa_local_only=False,\n passwordless_type=\"PASSWORDLESS_TYPE_ALLOWED\",\n hide_password_reset=False,\n password_check_lifetime=\"240h0m0s\",\n external_login_check_lifetime=\"240h0m0s\",\n multi_factor_check_lifetime=\"24h0m0s\",\n mfa_init_skip_lifetime=\"720h0m0s\",\n second_factor_check_lifetime=\"24h0m0s\",\n ignore_unknown_usernames=True,\n default_redirect_uri=\"localhost:8080\",\n second_factors=[\n \"SECOND_FACTOR_TYPE_OTP\",\n \"SECOND_FACTOR_TYPE_U2F\",\n ],\n multi_factors=[\"MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION\"],\n idps=[\n data[\"zitadel_idp_google\"][\"default\"][\"id\"],\n data[\"zitadel_idp_azure_ad\"][\"default\"][\"id\"],\n ],\n allow_domain_discovery=True,\n disable_login_with_email=True,\n disable_login_with_phone=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.LoginPolicy(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n UserLogin = true,\n AllowRegister = true,\n AllowExternalIdp = true,\n ForceMfa = false,\n ForceMfaLocalOnly = false,\n PasswordlessType = \"PASSWORDLESS_TYPE_ALLOWED\",\n HidePasswordReset = false,\n PasswordCheckLifetime = \"240h0m0s\",\n ExternalLoginCheckLifetime = \"240h0m0s\",\n MultiFactorCheckLifetime = \"24h0m0s\",\n MfaInitSkipLifetime = \"720h0m0s\",\n SecondFactorCheckLifetime = \"24h0m0s\",\n IgnoreUnknownUsernames = true,\n DefaultRedirectUri = \"localhost:8080\",\n SecondFactors = new[]\n {\n \"SECOND_FACTOR_TYPE_OTP\",\n \"SECOND_FACTOR_TYPE_U2F\",\n },\n MultiFactors = new[]\n {\n \"MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION\",\n },\n Idps = new[]\n {\n data.Zitadel_idp_google.Default.Id,\n data.Zitadel_idp_azure_ad.Default.Id,\n },\n AllowDomainDiscovery = true,\n DisableLoginWithEmail = true,\n DisableLoginWithPhone = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewLoginPolicy(ctx, \"default\", \u0026zitadel.LoginPolicyArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tUserLogin: pulumi.Bool(true),\n\t\t\tAllowRegister: pulumi.Bool(true),\n\t\t\tAllowExternalIdp: pulumi.Bool(true),\n\t\t\tForceMfa: pulumi.Bool(false),\n\t\t\tForceMfaLocalOnly: pulumi.Bool(false),\n\t\t\tPasswordlessType: pulumi.String(\"PASSWORDLESS_TYPE_ALLOWED\"),\n\t\t\tHidePasswordReset: pulumi.Bool(false),\n\t\t\tPasswordCheckLifetime: pulumi.String(\"240h0m0s\"),\n\t\t\tExternalLoginCheckLifetime: pulumi.String(\"240h0m0s\"),\n\t\t\tMultiFactorCheckLifetime: pulumi.String(\"24h0m0s\"),\n\t\t\tMfaInitSkipLifetime: pulumi.String(\"720h0m0s\"),\n\t\t\tSecondFactorCheckLifetime: pulumi.String(\"24h0m0s\"),\n\t\t\tIgnoreUnknownUsernames: pulumi.Bool(true),\n\t\t\tDefaultRedirectUri: pulumi.String(\"localhost:8080\"),\n\t\t\tSecondFactors: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"SECOND_FACTOR_TYPE_OTP\"),\n\t\t\t\tpulumi.String(\"SECOND_FACTOR_TYPE_U2F\"),\n\t\t\t},\n\t\t\tMultiFactors: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION\"),\n\t\t\t},\n\t\t\tIdps: pulumi.StringArray{\n\t\t\t\tdata.Zitadel_idp_google.Default.Id,\n\t\t\t\tdata.Zitadel_idp_azure_ad.Default.Id,\n\t\t\t},\n\t\t\tAllowDomainDiscovery: pulumi.Bool(true),\n\t\t\tDisableLoginWithEmail: pulumi.Bool(true),\n\t\t\tDisableLoginWithPhone: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.LoginPolicy;\nimport com.pulumi.zitadel.LoginPolicyArgs;\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 default_ = new LoginPolicy(\"default\", LoginPolicyArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .userLogin(true)\n .allowRegister(true)\n .allowExternalIdp(true)\n .forceMfa(false)\n .forceMfaLocalOnly(false)\n .passwordlessType(\"PASSWORDLESS_TYPE_ALLOWED\")\n .hidePasswordReset(\"false\")\n .passwordCheckLifetime(\"240h0m0s\")\n .externalLoginCheckLifetime(\"240h0m0s\")\n .multiFactorCheckLifetime(\"24h0m0s\")\n .mfaInitSkipLifetime(\"720h0m0s\")\n .secondFactorCheckLifetime(\"24h0m0s\")\n .ignoreUnknownUsernames(true)\n .defaultRedirectUri(\"localhost:8080\")\n .secondFactors( \n \"SECOND_FACTOR_TYPE_OTP\",\n \"SECOND_FACTOR_TYPE_U2F\")\n .multiFactors(\"MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION\")\n .idps( \n data.zitadel_idp_google().default().id(),\n data.zitadel_idp_azure_ad().default().id())\n .allowDomainDiscovery(true)\n .disableLoginWithEmail(true)\n .disableLoginWithPhone(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:LoginPolicy\n properties:\n orgId: ${data.zitadel_org.default.id}\n userLogin: true\n allowRegister: true\n allowExternalIdp: true\n forceMfa: false\n forceMfaLocalOnly: false\n passwordlessType: PASSWORDLESS_TYPE_ALLOWED\n hidePasswordReset: 'false'\n passwordCheckLifetime: 240h0m0s\n externalLoginCheckLifetime: 240h0m0s\n multiFactorCheckLifetime: 24h0m0s\n mfaInitSkipLifetime: 720h0m0s\n secondFactorCheckLifetime: 24h0m0s\n ignoreUnknownUsernames: true\n defaultRedirectUri: localhost:8080\n secondFactors:\n - SECOND_FACTOR_TYPE_OTP\n - SECOND_FACTOR_TYPE_U2F\n multiFactors:\n - MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION\n idps:\n - ${data.zitadel_idp_google.default.id}\n - ${data.zitadel_idp_azure_ad.default.id}\n allowDomainDiscovery: true\n disableLoginWithEmail: true\n disableLoginWithPhone: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003c[org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/loginPolicy:LoginPolicy imported '123456789012345678'\n```\n\n ", + "description": "Resource representing the custom login policy of an organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.LoginPolicy(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n userLogin: true,\n allowRegister: true,\n allowExternalIdp: true,\n forceMfa: false,\n forceMfaLocalOnly: false,\n passwordlessType: \"PASSWORDLESS_TYPE_ALLOWED\",\n hidePasswordReset: false,\n passwordCheckLifetime: \"240h0m0s\",\n externalLoginCheckLifetime: \"240h0m0s\",\n multiFactorCheckLifetime: \"24h0m0s\",\n mfaInitSkipLifetime: \"720h0m0s\",\n secondFactorCheckLifetime: \"24h0m0s\",\n ignoreUnknownUsernames: true,\n defaultRedirectUri: \"localhost:8080\",\n secondFactors: [\n \"SECOND_FACTOR_TYPE_OTP\",\n \"SECOND_FACTOR_TYPE_U2F\",\n ],\n multiFactors: [\"MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION\"],\n idps: [\n data.zitadel_idp_google[\"default\"].id,\n data.zitadel_idp_azure_ad[\"default\"].id,\n ],\n allowDomainDiscovery: true,\n disableLoginWithEmail: true,\n disableLoginWithPhone: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.LoginPolicy(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n user_login=True,\n allow_register=True,\n allow_external_idp=True,\n force_mfa=False,\n force_mfa_local_only=False,\n passwordless_type=\"PASSWORDLESS_TYPE_ALLOWED\",\n hide_password_reset=False,\n password_check_lifetime=\"240h0m0s\",\n external_login_check_lifetime=\"240h0m0s\",\n multi_factor_check_lifetime=\"24h0m0s\",\n mfa_init_skip_lifetime=\"720h0m0s\",\n second_factor_check_lifetime=\"24h0m0s\",\n ignore_unknown_usernames=True,\n default_redirect_uri=\"localhost:8080\",\n second_factors=[\n \"SECOND_FACTOR_TYPE_OTP\",\n \"SECOND_FACTOR_TYPE_U2F\",\n ],\n multi_factors=[\"MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION\"],\n idps=[\n data[\"zitadel_idp_google\"][\"default\"][\"id\"],\n data[\"zitadel_idp_azure_ad\"][\"default\"][\"id\"],\n ],\n allow_domain_discovery=True,\n disable_login_with_email=True,\n disable_login_with_phone=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.LoginPolicy(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n UserLogin = true,\n AllowRegister = true,\n AllowExternalIdp = true,\n ForceMfa = false,\n ForceMfaLocalOnly = false,\n PasswordlessType = \"PASSWORDLESS_TYPE_ALLOWED\",\n HidePasswordReset = false,\n PasswordCheckLifetime = \"240h0m0s\",\n ExternalLoginCheckLifetime = \"240h0m0s\",\n MultiFactorCheckLifetime = \"24h0m0s\",\n MfaInitSkipLifetime = \"720h0m0s\",\n SecondFactorCheckLifetime = \"24h0m0s\",\n IgnoreUnknownUsernames = true,\n DefaultRedirectUri = \"localhost:8080\",\n SecondFactors = new[]\n {\n \"SECOND_FACTOR_TYPE_OTP\",\n \"SECOND_FACTOR_TYPE_U2F\",\n },\n MultiFactors = new[]\n {\n \"MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION\",\n },\n Idps = new[]\n {\n data.Zitadel_idp_google.Default.Id,\n data.Zitadel_idp_azure_ad.Default.Id,\n },\n AllowDomainDiscovery = true,\n DisableLoginWithEmail = true,\n DisableLoginWithPhone = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewLoginPolicy(ctx, \"default\", \u0026zitadel.LoginPolicyArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tUserLogin: pulumi.Bool(true),\n\t\t\tAllowRegister: pulumi.Bool(true),\n\t\t\tAllowExternalIdp: pulumi.Bool(true),\n\t\t\tForceMfa: pulumi.Bool(false),\n\t\t\tForceMfaLocalOnly: pulumi.Bool(false),\n\t\t\tPasswordlessType: pulumi.String(\"PASSWORDLESS_TYPE_ALLOWED\"),\n\t\t\tHidePasswordReset: pulumi.Bool(false),\n\t\t\tPasswordCheckLifetime: pulumi.String(\"240h0m0s\"),\n\t\t\tExternalLoginCheckLifetime: pulumi.String(\"240h0m0s\"),\n\t\t\tMultiFactorCheckLifetime: pulumi.String(\"24h0m0s\"),\n\t\t\tMfaInitSkipLifetime: pulumi.String(\"720h0m0s\"),\n\t\t\tSecondFactorCheckLifetime: pulumi.String(\"24h0m0s\"),\n\t\t\tIgnoreUnknownUsernames: pulumi.Bool(true),\n\t\t\tDefaultRedirectUri: pulumi.String(\"localhost:8080\"),\n\t\t\tSecondFactors: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"SECOND_FACTOR_TYPE_OTP\"),\n\t\t\t\tpulumi.String(\"SECOND_FACTOR_TYPE_U2F\"),\n\t\t\t},\n\t\t\tMultiFactors: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION\"),\n\t\t\t},\n\t\t\tIdps: pulumi.StringArray{\n\t\t\t\tdata.Zitadel_idp_google.Default.Id,\n\t\t\t\tdata.Zitadel_idp_azure_ad.Default.Id,\n\t\t\t},\n\t\t\tAllowDomainDiscovery: pulumi.Bool(true),\n\t\t\tDisableLoginWithEmail: pulumi.Bool(true),\n\t\t\tDisableLoginWithPhone: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.LoginPolicy;\nimport com.pulumi.zitadel.LoginPolicyArgs;\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 default_ = new LoginPolicy(\"default\", LoginPolicyArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .userLogin(true)\n .allowRegister(true)\n .allowExternalIdp(true)\n .forceMfa(false)\n .forceMfaLocalOnly(false)\n .passwordlessType(\"PASSWORDLESS_TYPE_ALLOWED\")\n .hidePasswordReset(\"false\")\n .passwordCheckLifetime(\"240h0m0s\")\n .externalLoginCheckLifetime(\"240h0m0s\")\n .multiFactorCheckLifetime(\"24h0m0s\")\n .mfaInitSkipLifetime(\"720h0m0s\")\n .secondFactorCheckLifetime(\"24h0m0s\")\n .ignoreUnknownUsernames(true)\n .defaultRedirectUri(\"localhost:8080\")\n .secondFactors( \n \"SECOND_FACTOR_TYPE_OTP\",\n \"SECOND_FACTOR_TYPE_U2F\")\n .multiFactors(\"MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION\")\n .idps( \n data.zitadel_idp_google().default().id(),\n data.zitadel_idp_azure_ad().default().id())\n .allowDomainDiscovery(true)\n .disableLoginWithEmail(true)\n .disableLoginWithPhone(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:LoginPolicy\n properties:\n orgId: ${data.zitadel_org.default.id}\n userLogin: true\n allowRegister: true\n allowExternalIdp: true\n forceMfa: false\n forceMfaLocalOnly: false\n passwordlessType: PASSWORDLESS_TYPE_ALLOWED\n hidePasswordReset: 'false'\n passwordCheckLifetime: 240h0m0s\n externalLoginCheckLifetime: 240h0m0s\n multiFactorCheckLifetime: 24h0m0s\n mfaInitSkipLifetime: 720h0m0s\n secondFactorCheckLifetime: 24h0m0s\n ignoreUnknownUsernames: true\n defaultRedirectUri: localhost:8080\n secondFactors:\n - SECOND_FACTOR_TYPE_OTP\n - SECOND_FACTOR_TYPE_U2F\n multiFactors:\n - MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION\n idps:\n - ${data.zitadel_idp_google.default.id}\n - ${data.zitadel_idp_azure_ad.default.id}\n allowDomainDiscovery: true\n disableLoginWithEmail: true\n disableLoginWithPhone: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003c[org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/loginPolicy:LoginPolicy imported '123456789012345678'\n```\n\n ", "properties": { "allowDomainDiscovery": { "type": "boolean", @@ -4141,7 +4483,7 @@ } }, "zitadel:index/machineKey:MachineKey": { - "description": "Resource representing a machine key\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.MachineKey(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n userId: data.zitadel_machine_user[\"default\"].id,\n keyType: \"KEY_TYPE_JSON\",\n expirationDate: \"2519-04-01T08:45:00Z\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.MachineKey(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n user_id=data[\"zitadel_machine_user\"][\"default\"][\"id\"],\n key_type=\"KEY_TYPE_JSON\",\n expiration_date=\"2519-04-01T08:45:00Z\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.MachineKey(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n UserId = data.Zitadel_machine_user.Default.Id,\n KeyType = \"KEY_TYPE_JSON\",\n ExpirationDate = \"2519-04-01T08:45:00Z\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewMachineKey(ctx, \"default\", \u0026zitadel.MachineKeyArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tUserId: pulumi.Any(data.Zitadel_machine_user.Default.Id),\n\t\t\tKeyType: pulumi.String(\"KEY_TYPE_JSON\"),\n\t\t\tExpirationDate: pulumi.String(\"2519-04-01T08:45:00Z\"),\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.zitadel.MachineKey;\nimport com.pulumi.zitadel.MachineKeyArgs;\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 default_ = new MachineKey(\"default\", MachineKeyArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .userId(data.zitadel_machine_user().default().id())\n .keyType(\"KEY_TYPE_JSON\")\n .expirationDate(\"2519-04-01T08:45:00Z\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:MachineKey\n properties:\n orgId: ${data.zitadel_org.default.id}\n userId: ${data.zitadel_machine_user.default.id}\n keyType: KEY_TYPE_JSON\n expirationDate: 2519-04-01T08:45:00Z\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid:user_id[:org_id][:key_details]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/machineKey:MachineKey imported '123456789012345678:123456789012345678:123456789012345678:{\"type\":\"serviceaccount\",\"keyId\":\"123456789012345678\",\"key\":\"-----BEGIN RSA PRIVATE KEY-----\\nMIIEpQ...-----END RSA PRIVATE KEY-----\\n\",\"userId\":\"123456789012345678\"}'\n```\n\n ", + "description": "Resource representing a machine key\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.MachineKey(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n userId: data.zitadel_machine_user[\"default\"].id,\n keyType: \"KEY_TYPE_JSON\",\n expirationDate: \"2519-04-01T08:45:00Z\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.MachineKey(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n user_id=data[\"zitadel_machine_user\"][\"default\"][\"id\"],\n key_type=\"KEY_TYPE_JSON\",\n expiration_date=\"2519-04-01T08:45:00Z\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.MachineKey(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n UserId = data.Zitadel_machine_user.Default.Id,\n KeyType = \"KEY_TYPE_JSON\",\n ExpirationDate = \"2519-04-01T08:45:00Z\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewMachineKey(ctx, \"default\", \u0026zitadel.MachineKeyArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tUserId: pulumi.Any(data.Zitadel_machine_user.Default.Id),\n\t\t\tKeyType: pulumi.String(\"KEY_TYPE_JSON\"),\n\t\t\tExpirationDate: pulumi.String(\"2519-04-01T08:45:00Z\"),\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.zitadel.MachineKey;\nimport com.pulumi.zitadel.MachineKeyArgs;\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 default_ = new MachineKey(\"default\", MachineKeyArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .userId(data.zitadel_machine_user().default().id())\n .keyType(\"KEY_TYPE_JSON\")\n .expirationDate(\"2519-04-01T08:45:00Z\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:MachineKey\n properties:\n orgId: ${data.zitadel_org.default.id}\n userId: ${data.zitadel_machine_user.default.id}\n keyType: KEY_TYPE_JSON\n expirationDate: 2519-04-01T08:45:00Z\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid:user_id[:org_id][:key_details]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/machineKey:MachineKey imported '123456789012345678:123456789012345678:123456789012345678:{\"type\":\"serviceaccount\",\"keyId\":\"123456789012345678\",\"key\":\"-----BEGIN RSA PRIVATE KEY-----\\nMIIEpQ...-----END RSA PRIVATE KEY-----\\n\",\"userId\":\"123456789012345678\"}'\n```\n\n ", "properties": { "expirationDate": { "type": "string", @@ -4230,7 +4572,7 @@ } }, "zitadel:index/machineUser:MachineUser": { - "description": "Resource representing a serviceaccount situated under an organization, which then can be authorized through memberships or direct grants on other resources.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.MachineUser(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n userName: \"machine@example.com\",\n description: \"a machine user\",\n withSecret: false,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.MachineUser(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n user_name=\"machine@example.com\",\n description=\"a machine user\",\n with_secret=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.MachineUser(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n UserName = \"machine@example.com\",\n Description = \"a machine user\",\n WithSecret = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewMachineUser(ctx, \"default\", \u0026zitadel.MachineUserArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tUserName: pulumi.String(\"machine@example.com\"),\n\t\t\tDescription: pulumi.String(\"a machine user\"),\n\t\t\tWithSecret: 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.zitadel.MachineUser;\nimport com.pulumi.zitadel.MachineUserArgs;\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 default_ = new MachineUser(\"default\", MachineUserArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .userName(\"machine@example.com\")\n .description(\"a machine user\")\n .withSecret(false)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:MachineUser\n properties:\n orgId: ${data.zitadel_org.default.id}\n userName: machine@example.com\n description: a machine user\n withSecret: false\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid:has_secret[:org_id][:client_id][:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/machineUser:MachineUser imported '123456789012345678:123456789012345678:true:my-machine-user:j76mh34CHVrGGoXPQOg80lch67FIxwc2qIXjBkZoB6oMbf31eGMkB6bvRyaPjR2t'\n```\n\n ", + "description": "Resource representing a serviceaccount situated under an organization, which then can be authorized through memberships or direct grants on other resources.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.MachineUser(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n userName: \"machine@example.com\",\n description: \"a machine user\",\n withSecret: false,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.MachineUser(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n user_name=\"machine@example.com\",\n description=\"a machine user\",\n with_secret=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.MachineUser(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n UserName = \"machine@example.com\",\n Description = \"a machine user\",\n WithSecret = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewMachineUser(ctx, \"default\", \u0026zitadel.MachineUserArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tUserName: pulumi.String(\"machine@example.com\"),\n\t\t\tDescription: pulumi.String(\"a machine user\"),\n\t\t\tWithSecret: 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.zitadel.MachineUser;\nimport com.pulumi.zitadel.MachineUserArgs;\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 default_ = new MachineUser(\"default\", MachineUserArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .userName(\"machine@example.com\")\n .description(\"a machine user\")\n .withSecret(false)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:MachineUser\n properties:\n orgId: ${data.zitadel_org.default.id}\n userName: machine@example.com\n description: a machine user\n withSecret: false\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid:has_secret[:org_id][:client_id][:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/machineUser:MachineUser imported '123456789012345678:123456789012345678:true:my-machine-user:j76mh34CHVrGGoXPQOg80lch67FIxwc2qIXjBkZoB6oMbf31eGMkB6bvRyaPjR2t'\n```\n\n ", "properties": { "accessTokenType": { "type": "string", @@ -4379,7 +4721,7 @@ } }, "zitadel:index/notificationPolicy:NotificationPolicy": { - "description": "Resource representing the custom notification policy of an organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.NotificationPolicy(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n passwordChange: false,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.NotificationPolicy(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n password_change=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.NotificationPolicy(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n PasswordChange = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewNotificationPolicy(ctx, \"default\", \u0026zitadel.NotificationPolicyArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tPasswordChange: 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.zitadel.NotificationPolicy;\nimport com.pulumi.zitadel.NotificationPolicyArgs;\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 default_ = new NotificationPolicy(\"default\", NotificationPolicyArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .passwordChange(false)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:NotificationPolicy\n properties:\n orgId: ${data.zitadel_org.default.id}\n passwordChange: false\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003c[org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/notificationPolicy:NotificationPolicy imported '123456789012345678'\n```\n\n ", + "description": "Resource representing the custom notification policy of an organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.NotificationPolicy(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n passwordChange: false,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.NotificationPolicy(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n password_change=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.NotificationPolicy(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n PasswordChange = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewNotificationPolicy(ctx, \"default\", \u0026zitadel.NotificationPolicyArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tPasswordChange: 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.zitadel.NotificationPolicy;\nimport com.pulumi.zitadel.NotificationPolicyArgs;\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 default_ = new NotificationPolicy(\"default\", NotificationPolicyArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .passwordChange(false)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:NotificationPolicy\n properties:\n orgId: ${data.zitadel_org.default.id}\n passwordChange: false\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003c[org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/notificationPolicy:NotificationPolicy imported '123456789012345678'\n```\n\n ", "properties": { "orgId": { "type": "string", @@ -4424,7 +4766,7 @@ } }, "zitadel:index/org:Org": { - "description": "Resource representing an organization in ZITADEL, which is the highest level after the instance and contains several other resource including policies if the configuration differs to the default policies on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.Org(\"default\", {});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.Org(\"default\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.Org(\"default\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewOrg(ctx, \"default\", 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.zitadel.Org;\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 default_ = new Org(\"default\");\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:Org\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/org:Org imported '123456789012345678'\n```\n\n ", + "description": "Resource representing an organization in ZITADEL, which is the highest level after the instance and contains several other resource including policies if the configuration differs to the default policies on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.Org(\"default\", {});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.Org(\"default\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.Org(\"default\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewOrg(ctx, \"default\", 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.zitadel.Org;\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 default_ = new Org(\"default\");\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:Org\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/org:Org imported '123456789012345678'\n```\n\n ", "properties": { "isDefault": { "type": "boolean", @@ -4482,7 +4824,7 @@ } }, "zitadel:index/orgIdpAzureAd:OrgIdpAzureAd": { - "description": "Resource representing an Azure AD IdP on the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.OrgIdpAzureAd(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n clientId: \"9065bfc8-a08a...\",\n clientSecret: \"H2n***\",\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n \"User.Read\",\n ],\n tenantType: \"AZURE_AD_TENANT_TYPE_ORGANISATIONS\",\n emailVerified: true,\n isLinkingAllowed: false,\n isCreationAllowed: true,\n isAutoCreation: false,\n isAutoUpdate: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.OrgIdpAzureAd(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n client_id=\"9065bfc8-a08a...\",\n client_secret=\"H2n***\",\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n \"User.Read\",\n ],\n tenant_type=\"AZURE_AD_TENANT_TYPE_ORGANISATIONS\",\n email_verified=True,\n is_linking_allowed=False,\n is_creation_allowed=True,\n is_auto_creation=False,\n is_auto_update=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.OrgIdpAzureAd(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ClientId = \"9065bfc8-a08a...\",\n ClientSecret = \"H2n***\",\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n \"User.Read\",\n },\n TenantType = \"AZURE_AD_TENANT_TYPE_ORGANISATIONS\",\n EmailVerified = true,\n IsLinkingAllowed = false,\n IsCreationAllowed = true,\n IsAutoCreation = false,\n IsAutoUpdate = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewOrgIdpAzureAd(ctx, \"default\", \u0026zitadel.OrgIdpAzureAdArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tClientId: pulumi.String(\"9065bfc8-a08a...\"),\n\t\t\tClientSecret: pulumi.String(\"H2n***\"),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t\tpulumi.String(\"User.Read\"),\n\t\t\t},\n\t\t\tTenantType: pulumi.String(\"AZURE_AD_TENANT_TYPE_ORGANISATIONS\"),\n\t\t\tEmailVerified: pulumi.Bool(true),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.OrgIdpAzureAd;\nimport com.pulumi.zitadel.OrgIdpAzureAdArgs;\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 default_ = new OrgIdpAzureAd(\"default\", OrgIdpAzureAdArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .clientId(\"9065bfc8-a08a...\")\n .clientSecret(\"H2n***\")\n .scopes( \n \"openid\",\n \"profile\",\n \"email\",\n \"User.Read\")\n .tenantType(\"AZURE_AD_TENANT_TYPE_ORGANISATIONS\")\n .emailVerified(true)\n .isLinkingAllowed(false)\n .isCreationAllowed(true)\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:OrgIdpAzureAd\n properties:\n orgId: ${data.zitadel_org.default.id}\n clientId: 9065bfc8-a08a...\n clientSecret: H2n***\n scopes:\n - openid\n - profile\n - email\n - User.Read\n tenantType: AZURE_AD_TENANT_TYPE_ORGANISATIONS\n emailVerified: true\n isLinkingAllowed: false\n isCreationAllowed: true\n isAutoCreation: false\n isAutoUpdate: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid[:org_id][:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/orgIdpAzureAd:OrgIdpAzureAd imported '123456789012345678:123456789012345678:12345678-1234-1234-1234-123456789012'\n```\n\n ", + "description": "Resource representing an Azure AD IdP on the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.OrgIdpAzureAd(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n clientId: \"9065bfc8-a08a...\",\n clientSecret: \"H2n***\",\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n \"User.Read\",\n ],\n tenantType: \"AZURE_AD_TENANT_TYPE_ORGANISATIONS\",\n emailVerified: true,\n isLinkingAllowed: false,\n isCreationAllowed: true,\n isAutoCreation: false,\n isAutoUpdate: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.OrgIdpAzureAd(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n client_id=\"9065bfc8-a08a...\",\n client_secret=\"H2n***\",\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n \"User.Read\",\n ],\n tenant_type=\"AZURE_AD_TENANT_TYPE_ORGANISATIONS\",\n email_verified=True,\n is_linking_allowed=False,\n is_creation_allowed=True,\n is_auto_creation=False,\n is_auto_update=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.OrgIdpAzureAd(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ClientId = \"9065bfc8-a08a...\",\n ClientSecret = \"H2n***\",\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n \"User.Read\",\n },\n TenantType = \"AZURE_AD_TENANT_TYPE_ORGANISATIONS\",\n EmailVerified = true,\n IsLinkingAllowed = false,\n IsCreationAllowed = true,\n IsAutoCreation = false,\n IsAutoUpdate = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewOrgIdpAzureAd(ctx, \"default\", \u0026zitadel.OrgIdpAzureAdArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tClientId: pulumi.String(\"9065bfc8-a08a...\"),\n\t\t\tClientSecret: pulumi.String(\"H2n***\"),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t\tpulumi.String(\"User.Read\"),\n\t\t\t},\n\t\t\tTenantType: pulumi.String(\"AZURE_AD_TENANT_TYPE_ORGANISATIONS\"),\n\t\t\tEmailVerified: pulumi.Bool(true),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.OrgIdpAzureAd;\nimport com.pulumi.zitadel.OrgIdpAzureAdArgs;\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 default_ = new OrgIdpAzureAd(\"default\", OrgIdpAzureAdArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .clientId(\"9065bfc8-a08a...\")\n .clientSecret(\"H2n***\")\n .scopes( \n \"openid\",\n \"profile\",\n \"email\",\n \"User.Read\")\n .tenantType(\"AZURE_AD_TENANT_TYPE_ORGANISATIONS\")\n .emailVerified(true)\n .isLinkingAllowed(false)\n .isCreationAllowed(true)\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:OrgIdpAzureAd\n properties:\n orgId: ${data.zitadel_org.default.id}\n clientId: 9065bfc8-a08a...\n clientSecret: H2n***\n scopes:\n - openid\n - profile\n - email\n - User.Read\n tenantType: AZURE_AD_TENANT_TYPE_ORGANISATIONS\n emailVerified: true\n isLinkingAllowed: false\n isCreationAllowed: true\n isAutoCreation: false\n isAutoUpdate: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid[:org_id][:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/orgIdpAzureAd:OrgIdpAzureAd imported '123456789012345678:123456789012345678:12345678-1234-1234-1234-123456789012'\n```\n\n ", "properties": { "clientId": { "type": "string", @@ -4672,7 +5014,7 @@ } }, "zitadel:index/orgIdpGithub:OrgIdpGithub": { - "description": "Resource representing a GitHub IdP on the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.OrgIdpGithub(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n clientId: \"86a165...\",\n clientSecret: \"*****afdbac18\",\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n ],\n isLinkingAllowed: false,\n isCreationAllowed: true,\n isAutoCreation: false,\n isAutoUpdate: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.OrgIdpGithub(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n client_id=\"86a165...\",\n client_secret=\"*****afdbac18\",\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n ],\n is_linking_allowed=False,\n is_creation_allowed=True,\n is_auto_creation=False,\n is_auto_update=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.OrgIdpGithub(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ClientId = \"86a165...\",\n ClientSecret = \"*****afdbac18\",\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n },\n IsLinkingAllowed = false,\n IsCreationAllowed = true,\n IsAutoCreation = false,\n IsAutoUpdate = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewOrgIdpGithub(ctx, \"default\", \u0026zitadel.OrgIdpGithubArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tClientId: pulumi.String(\"86a165...\"),\n\t\t\tClientSecret: pulumi.String(\"*****afdbac18\"),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t},\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.OrgIdpGithub;\nimport com.pulumi.zitadel.OrgIdpGithubArgs;\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 default_ = new OrgIdpGithub(\"default\", OrgIdpGithubArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .clientId(\"86a165...\")\n .clientSecret(\"*****afdbac18\")\n .scopes( \n \"openid\",\n \"profile\",\n \"email\")\n .isLinkingAllowed(false)\n .isCreationAllowed(true)\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:OrgIdpGithub\n properties:\n orgId: ${data.zitadel_org.default.id}\n clientId: 86a165...\n clientSecret: '*****afdbac18'\n scopes:\n - openid\n - profile\n - email\n isLinkingAllowed: false\n isCreationAllowed: true\n isAutoCreation: false\n isAutoUpdate: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid[:org_id][:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/orgIdpGithub:OrgIdpGithub imported '123456789012345678:123456789012345678:1234567890123456781234567890123456787890'\n```\n\n ", + "description": "Resource representing a GitHub IdP on the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.OrgIdpGithub(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n clientId: \"86a165...\",\n clientSecret: \"*****afdbac18\",\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n ],\n isLinkingAllowed: false,\n isCreationAllowed: true,\n isAutoCreation: false,\n isAutoUpdate: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.OrgIdpGithub(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n client_id=\"86a165...\",\n client_secret=\"*****afdbac18\",\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n ],\n is_linking_allowed=False,\n is_creation_allowed=True,\n is_auto_creation=False,\n is_auto_update=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.OrgIdpGithub(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ClientId = \"86a165...\",\n ClientSecret = \"*****afdbac18\",\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n },\n IsLinkingAllowed = false,\n IsCreationAllowed = true,\n IsAutoCreation = false,\n IsAutoUpdate = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewOrgIdpGithub(ctx, \"default\", \u0026zitadel.OrgIdpGithubArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tClientId: pulumi.String(\"86a165...\"),\n\t\t\tClientSecret: pulumi.String(\"*****afdbac18\"),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t},\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.OrgIdpGithub;\nimport com.pulumi.zitadel.OrgIdpGithubArgs;\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 default_ = new OrgIdpGithub(\"default\", OrgIdpGithubArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .clientId(\"86a165...\")\n .clientSecret(\"*****afdbac18\")\n .scopes( \n \"openid\",\n \"profile\",\n \"email\")\n .isLinkingAllowed(false)\n .isCreationAllowed(true)\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:OrgIdpGithub\n properties:\n orgId: ${data.zitadel_org.default.id}\n clientId: 86a165...\n clientSecret: '*****afdbac18'\n scopes:\n - openid\n - profile\n - email\n isLinkingAllowed: false\n isCreationAllowed: true\n isAutoCreation: false\n isAutoUpdate: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid[:org_id][:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/orgIdpGithub:OrgIdpGithub imported '123456789012345678:123456789012345678:1234567890123456781234567890123456787890'\n```\n\n ", "properties": { "clientId": { "type": "string", @@ -4824,7 +5166,7 @@ } }, "zitadel:index/orgIdpGithubEs:OrgIdpGithubEs": { - "description": "Resource representing a GitHub Enterprise IdP on the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.OrgIdpGithubEs(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n clientId: \"86a165...\",\n clientSecret: \"*****afdbac18\",\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n ],\n authorizationEndpoint: \"https://auth.endpoint\",\n tokenEndpoint: \"https://token.endpoint\",\n userEndpoint: \"https://user.endpoint\",\n isLinkingAllowed: false,\n isCreationAllowed: true,\n isAutoCreation: false,\n isAutoUpdate: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.OrgIdpGithubEs(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n client_id=\"86a165...\",\n client_secret=\"*****afdbac18\",\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n ],\n authorization_endpoint=\"https://auth.endpoint\",\n token_endpoint=\"https://token.endpoint\",\n user_endpoint=\"https://user.endpoint\",\n is_linking_allowed=False,\n is_creation_allowed=True,\n is_auto_creation=False,\n is_auto_update=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.OrgIdpGithubEs(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ClientId = \"86a165...\",\n ClientSecret = \"*****afdbac18\",\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n },\n AuthorizationEndpoint = \"https://auth.endpoint\",\n TokenEndpoint = \"https://token.endpoint\",\n UserEndpoint = \"https://user.endpoint\",\n IsLinkingAllowed = false,\n IsCreationAllowed = true,\n IsAutoCreation = false,\n IsAutoUpdate = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewOrgIdpGithubEs(ctx, \"default\", \u0026zitadel.OrgIdpGithubEsArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tClientId: pulumi.String(\"86a165...\"),\n\t\t\tClientSecret: pulumi.String(\"*****afdbac18\"),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t},\n\t\t\tAuthorizationEndpoint: pulumi.String(\"https://auth.endpoint\"),\n\t\t\tTokenEndpoint: pulumi.String(\"https://token.endpoint\"),\n\t\t\tUserEndpoint: pulumi.String(\"https://user.endpoint\"),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.OrgIdpGithubEs;\nimport com.pulumi.zitadel.OrgIdpGithubEsArgs;\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 default_ = new OrgIdpGithubEs(\"default\", OrgIdpGithubEsArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .clientId(\"86a165...\")\n .clientSecret(\"*****afdbac18\")\n .scopes( \n \"openid\",\n \"profile\",\n \"email\")\n .authorizationEndpoint(\"https://auth.endpoint\")\n .tokenEndpoint(\"https://token.endpoint\")\n .userEndpoint(\"https://user.endpoint\")\n .isLinkingAllowed(false)\n .isCreationAllowed(true)\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:OrgIdpGithubEs\n properties:\n orgId: ${data.zitadel_org.default.id}\n clientId: 86a165...\n clientSecret: '*****afdbac18'\n scopes:\n - openid\n - profile\n - email\n authorizationEndpoint: https://auth.endpoint\n tokenEndpoint: https://token.endpoint\n userEndpoint: https://user.endpoint\n isLinkingAllowed: false\n isCreationAllowed: true\n isAutoCreation: false\n isAutoUpdate: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid[:org_id][:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/orgIdpGithubEs:OrgIdpGithubEs imported '123456789012345678:123456789012345678:123456789012345678:123456789012345678'\n```\n\n ", + "description": "Resource representing a GitHub Enterprise IdP on the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.OrgIdpGithubEs(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n clientId: \"86a165...\",\n clientSecret: \"*****afdbac18\",\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n ],\n authorizationEndpoint: \"https://auth.endpoint\",\n tokenEndpoint: \"https://token.endpoint\",\n userEndpoint: \"https://user.endpoint\",\n isLinkingAllowed: false,\n isCreationAllowed: true,\n isAutoCreation: false,\n isAutoUpdate: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.OrgIdpGithubEs(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n client_id=\"86a165...\",\n client_secret=\"*****afdbac18\",\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n ],\n authorization_endpoint=\"https://auth.endpoint\",\n token_endpoint=\"https://token.endpoint\",\n user_endpoint=\"https://user.endpoint\",\n is_linking_allowed=False,\n is_creation_allowed=True,\n is_auto_creation=False,\n is_auto_update=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.OrgIdpGithubEs(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ClientId = \"86a165...\",\n ClientSecret = \"*****afdbac18\",\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n },\n AuthorizationEndpoint = \"https://auth.endpoint\",\n TokenEndpoint = \"https://token.endpoint\",\n UserEndpoint = \"https://user.endpoint\",\n IsLinkingAllowed = false,\n IsCreationAllowed = true,\n IsAutoCreation = false,\n IsAutoUpdate = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewOrgIdpGithubEs(ctx, \"default\", \u0026zitadel.OrgIdpGithubEsArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tClientId: pulumi.String(\"86a165...\"),\n\t\t\tClientSecret: pulumi.String(\"*****afdbac18\"),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t},\n\t\t\tAuthorizationEndpoint: pulumi.String(\"https://auth.endpoint\"),\n\t\t\tTokenEndpoint: pulumi.String(\"https://token.endpoint\"),\n\t\t\tUserEndpoint: pulumi.String(\"https://user.endpoint\"),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.OrgIdpGithubEs;\nimport com.pulumi.zitadel.OrgIdpGithubEsArgs;\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 default_ = new OrgIdpGithubEs(\"default\", OrgIdpGithubEsArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .clientId(\"86a165...\")\n .clientSecret(\"*****afdbac18\")\n .scopes( \n \"openid\",\n \"profile\",\n \"email\")\n .authorizationEndpoint(\"https://auth.endpoint\")\n .tokenEndpoint(\"https://token.endpoint\")\n .userEndpoint(\"https://user.endpoint\")\n .isLinkingAllowed(false)\n .isCreationAllowed(true)\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:OrgIdpGithubEs\n properties:\n orgId: ${data.zitadel_org.default.id}\n clientId: 86a165...\n clientSecret: '*****afdbac18'\n scopes:\n - openid\n - profile\n - email\n authorizationEndpoint: https://auth.endpoint\n tokenEndpoint: https://token.endpoint\n userEndpoint: https://user.endpoint\n isLinkingAllowed: false\n isCreationAllowed: true\n isAutoCreation: false\n isAutoUpdate: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid[:org_id][:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/orgIdpGithubEs:OrgIdpGithubEs imported '123456789012345678:123456789012345678:123456789012345678:123456789012345678'\n```\n\n ", "properties": { "authorizationEndpoint": { "type": "string", @@ -5018,7 +5360,7 @@ } }, "zitadel:index/orgIdpGitlab:OrgIdpGitlab": { - "description": "Resource representing a GitLab IdP on the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.OrgIdpGitlab(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n clientId: \"15765e...\",\n clientSecret: \"*****abcxyz\",\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n ],\n isLinkingAllowed: false,\n isCreationAllowed: true,\n isAutoCreation: false,\n isAutoUpdate: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.OrgIdpGitlab(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n client_id=\"15765e...\",\n client_secret=\"*****abcxyz\",\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n ],\n is_linking_allowed=False,\n is_creation_allowed=True,\n is_auto_creation=False,\n is_auto_update=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.OrgIdpGitlab(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ClientId = \"15765e...\",\n ClientSecret = \"*****abcxyz\",\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n },\n IsLinkingAllowed = false,\n IsCreationAllowed = true,\n IsAutoCreation = false,\n IsAutoUpdate = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewOrgIdpGitlab(ctx, \"default\", \u0026zitadel.OrgIdpGitlabArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tClientId: pulumi.String(\"15765e...\"),\n\t\t\tClientSecret: pulumi.String(\"*****abcxyz\"),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t},\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.OrgIdpGitlab;\nimport com.pulumi.zitadel.OrgIdpGitlabArgs;\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 default_ = new OrgIdpGitlab(\"default\", OrgIdpGitlabArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .clientId(\"15765e...\")\n .clientSecret(\"*****abcxyz\")\n .scopes( \n \"openid\",\n \"profile\",\n \"email\")\n .isLinkingAllowed(false)\n .isCreationAllowed(true)\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:OrgIdpGitlab\n properties:\n orgId: ${data.zitadel_org.default.id}\n clientId: 15765e...\n clientSecret: '*****abcxyz'\n scopes:\n - openid\n - profile\n - email\n isLinkingAllowed: false\n isCreationAllowed: true\n isAutoCreation: false\n isAutoUpdate: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid[:org_id][:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/orgIdpGitlab:OrgIdpGitlab imported '123456789012345678:123456789012345678:1234567890abcdef'\n```\n\n ", + "description": "Resource representing a GitLab IdP on the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.OrgIdpGitlab(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n clientId: \"15765e...\",\n clientSecret: \"*****abcxyz\",\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n ],\n isLinkingAllowed: false,\n isCreationAllowed: true,\n isAutoCreation: false,\n isAutoUpdate: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.OrgIdpGitlab(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n client_id=\"15765e...\",\n client_secret=\"*****abcxyz\",\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n ],\n is_linking_allowed=False,\n is_creation_allowed=True,\n is_auto_creation=False,\n is_auto_update=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.OrgIdpGitlab(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ClientId = \"15765e...\",\n ClientSecret = \"*****abcxyz\",\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n },\n IsLinkingAllowed = false,\n IsCreationAllowed = true,\n IsAutoCreation = false,\n IsAutoUpdate = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewOrgIdpGitlab(ctx, \"default\", \u0026zitadel.OrgIdpGitlabArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tClientId: pulumi.String(\"15765e...\"),\n\t\t\tClientSecret: pulumi.String(\"*****abcxyz\"),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t},\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.OrgIdpGitlab;\nimport com.pulumi.zitadel.OrgIdpGitlabArgs;\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 default_ = new OrgIdpGitlab(\"default\", OrgIdpGitlabArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .clientId(\"15765e...\")\n .clientSecret(\"*****abcxyz\")\n .scopes( \n \"openid\",\n \"profile\",\n \"email\")\n .isLinkingAllowed(false)\n .isCreationAllowed(true)\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:OrgIdpGitlab\n properties:\n orgId: ${data.zitadel_org.default.id}\n clientId: 15765e...\n clientSecret: '*****abcxyz'\n scopes:\n - openid\n - profile\n - email\n isLinkingAllowed: false\n isCreationAllowed: true\n isAutoCreation: false\n isAutoUpdate: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid[:org_id][:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/orgIdpGitlab:OrgIdpGitlab imported '123456789012345678:123456789012345678:1234567890abcdef'\n```\n\n ", "properties": { "clientId": { "type": "string", @@ -5170,7 +5512,7 @@ } }, "zitadel:index/orgIdpGitlabSelfHosted:OrgIdpGitlabSelfHosted": { - "description": "Resource representing a GitLab Self Hosted IdP on the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.OrgIdpGitlabSelfHosted(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n clientId: \"15765e...\",\n clientSecret: \"*****abcxyz\",\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n ],\n issuer: \"https://my.issuer\",\n isLinkingAllowed: false,\n isCreationAllowed: true,\n isAutoCreation: false,\n isAutoUpdate: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.OrgIdpGitlabSelfHosted(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n client_id=\"15765e...\",\n client_secret=\"*****abcxyz\",\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n ],\n issuer=\"https://my.issuer\",\n is_linking_allowed=False,\n is_creation_allowed=True,\n is_auto_creation=False,\n is_auto_update=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.OrgIdpGitlabSelfHosted(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ClientId = \"15765e...\",\n ClientSecret = \"*****abcxyz\",\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n },\n Issuer = \"https://my.issuer\",\n IsLinkingAllowed = false,\n IsCreationAllowed = true,\n IsAutoCreation = false,\n IsAutoUpdate = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewOrgIdpGitlabSelfHosted(ctx, \"default\", \u0026zitadel.OrgIdpGitlabSelfHostedArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tClientId: pulumi.String(\"15765e...\"),\n\t\t\tClientSecret: pulumi.String(\"*****abcxyz\"),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t},\n\t\t\tIssuer: pulumi.String(\"https://my.issuer\"),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.OrgIdpGitlabSelfHosted;\nimport com.pulumi.zitadel.OrgIdpGitlabSelfHostedArgs;\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 default_ = new OrgIdpGitlabSelfHosted(\"default\", OrgIdpGitlabSelfHostedArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .clientId(\"15765e...\")\n .clientSecret(\"*****abcxyz\")\n .scopes( \n \"openid\",\n \"profile\",\n \"email\")\n .issuer(\"https://my.issuer\")\n .isLinkingAllowed(false)\n .isCreationAllowed(true)\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:OrgIdpGitlabSelfHosted\n properties:\n orgId: ${data.zitadel_org.default.id}\n clientId: 15765e...\n clientSecret: '*****abcxyz'\n scopes:\n - openid\n - profile\n - email\n issuer: https://my.issuer\n isLinkingAllowed: false\n isCreationAllowed: true\n isAutoCreation: false\n isAutoUpdate: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid[:org_id][:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/orgIdpGitlabSelfHosted:OrgIdpGitlabSelfHosted imported '123456789012345678:123456789012345678:1234567890abcdef'\n```\n\n ", + "description": "Resource representing a GitLab Self Hosted IdP on the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.OrgIdpGitlabSelfHosted(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n clientId: \"15765e...\",\n clientSecret: \"*****abcxyz\",\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n ],\n issuer: \"https://my.issuer\",\n isLinkingAllowed: false,\n isCreationAllowed: true,\n isAutoCreation: false,\n isAutoUpdate: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.OrgIdpGitlabSelfHosted(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n client_id=\"15765e...\",\n client_secret=\"*****abcxyz\",\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n ],\n issuer=\"https://my.issuer\",\n is_linking_allowed=False,\n is_creation_allowed=True,\n is_auto_creation=False,\n is_auto_update=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.OrgIdpGitlabSelfHosted(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ClientId = \"15765e...\",\n ClientSecret = \"*****abcxyz\",\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n },\n Issuer = \"https://my.issuer\",\n IsLinkingAllowed = false,\n IsCreationAllowed = true,\n IsAutoCreation = false,\n IsAutoUpdate = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewOrgIdpGitlabSelfHosted(ctx, \"default\", \u0026zitadel.OrgIdpGitlabSelfHostedArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tClientId: pulumi.String(\"15765e...\"),\n\t\t\tClientSecret: pulumi.String(\"*****abcxyz\"),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t},\n\t\t\tIssuer: pulumi.String(\"https://my.issuer\"),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.OrgIdpGitlabSelfHosted;\nimport com.pulumi.zitadel.OrgIdpGitlabSelfHostedArgs;\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 default_ = new OrgIdpGitlabSelfHosted(\"default\", OrgIdpGitlabSelfHostedArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .clientId(\"15765e...\")\n .clientSecret(\"*****abcxyz\")\n .scopes( \n \"openid\",\n \"profile\",\n \"email\")\n .issuer(\"https://my.issuer\")\n .isLinkingAllowed(false)\n .isCreationAllowed(true)\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:OrgIdpGitlabSelfHosted\n properties:\n orgId: ${data.zitadel_org.default.id}\n clientId: 15765e...\n clientSecret: '*****abcxyz'\n scopes:\n - openid\n - profile\n - email\n issuer: https://my.issuer\n isLinkingAllowed: false\n isCreationAllowed: true\n isAutoCreation: false\n isAutoUpdate: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid[:org_id][:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/orgIdpGitlabSelfHosted:OrgIdpGitlabSelfHosted imported '123456789012345678:123456789012345678:1234567890abcdef'\n```\n\n ", "properties": { "clientId": { "type": "string", @@ -5336,7 +5678,7 @@ } }, "zitadel:index/orgIdpGoogle:OrgIdpGoogle": { - "description": "Resource representing a Google IdP on the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.OrgIdpGoogle(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n clientId: \"182902...\",\n clientSecret: \"GOCSPX-*****\",\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n ],\n isLinkingAllowed: false,\n isCreationAllowed: true,\n isAutoCreation: false,\n isAutoUpdate: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.OrgIdpGoogle(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n client_id=\"182902...\",\n client_secret=\"GOCSPX-*****\",\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n ],\n is_linking_allowed=False,\n is_creation_allowed=True,\n is_auto_creation=False,\n is_auto_update=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.OrgIdpGoogle(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ClientId = \"182902...\",\n ClientSecret = \"GOCSPX-*****\",\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n },\n IsLinkingAllowed = false,\n IsCreationAllowed = true,\n IsAutoCreation = false,\n IsAutoUpdate = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewOrgIdpGoogle(ctx, \"default\", \u0026zitadel.OrgIdpGoogleArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tClientId: pulumi.String(\"182902...\"),\n\t\t\tClientSecret: pulumi.String(\"GOCSPX-*****\"),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t},\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.OrgIdpGoogle;\nimport com.pulumi.zitadel.OrgIdpGoogleArgs;\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 default_ = new OrgIdpGoogle(\"default\", OrgIdpGoogleArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .clientId(\"182902...\")\n .clientSecret(\"GOCSPX-*****\")\n .scopes( \n \"openid\",\n \"profile\",\n \"email\")\n .isLinkingAllowed(false)\n .isCreationAllowed(true)\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:OrgIdpGoogle\n properties:\n orgId: ${data.zitadel_org.default.id}\n clientId: 182902...\n clientSecret: GOCSPX-*****\n scopes:\n - openid\n - profile\n - email\n isLinkingAllowed: false\n isCreationAllowed: true\n isAutoCreation: false\n isAutoUpdate: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid[:org_id][:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/orgIdpGoogle:OrgIdpGoogle imported '123456789012345678:123456789012345678:G1234567890123'\n```\n\n ", + "description": "Resource representing a Google IdP on the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.OrgIdpGoogle(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n clientId: \"182902...\",\n clientSecret: \"GOCSPX-*****\",\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n ],\n isLinkingAllowed: false,\n isCreationAllowed: true,\n isAutoCreation: false,\n isAutoUpdate: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.OrgIdpGoogle(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n client_id=\"182902...\",\n client_secret=\"GOCSPX-*****\",\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n ],\n is_linking_allowed=False,\n is_creation_allowed=True,\n is_auto_creation=False,\n is_auto_update=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.OrgIdpGoogle(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ClientId = \"182902...\",\n ClientSecret = \"GOCSPX-*****\",\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n },\n IsLinkingAllowed = false,\n IsCreationAllowed = true,\n IsAutoCreation = false,\n IsAutoUpdate = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewOrgIdpGoogle(ctx, \"default\", \u0026zitadel.OrgIdpGoogleArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tClientId: pulumi.String(\"182902...\"),\n\t\t\tClientSecret: pulumi.String(\"GOCSPX-*****\"),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t},\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.OrgIdpGoogle;\nimport com.pulumi.zitadel.OrgIdpGoogleArgs;\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 default_ = new OrgIdpGoogle(\"default\", OrgIdpGoogleArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .clientId(\"182902...\")\n .clientSecret(\"GOCSPX-*****\")\n .scopes( \n \"openid\",\n \"profile\",\n \"email\")\n .isLinkingAllowed(false)\n .isCreationAllowed(true)\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:OrgIdpGoogle\n properties:\n orgId: ${data.zitadel_org.default.id}\n clientId: 182902...\n clientSecret: GOCSPX-*****\n scopes:\n - openid\n - profile\n - email\n isLinkingAllowed: false\n isCreationAllowed: true\n isAutoCreation: false\n isAutoUpdate: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid[:org_id][:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/orgIdpGoogle:OrgIdpGoogle imported '123456789012345678:123456789012345678:G1234567890123'\n```\n\n ", "properties": { "clientId": { "type": "string", @@ -5488,7 +5830,7 @@ } }, "zitadel:index/orgIdpJwt:OrgIdpJwt": { - "description": "Resource representing a generic JWT IdP of the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.OrgIdpJwt(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n stylingType: \"STYLING_TYPE_UNSPECIFIED\",\n jwtEndpoint: \"https://jwtendpoint.com/jwt\",\n issuer: \"https://google.com\",\n keysEndpoint: \"https://jwtendpoint.com/keys\",\n headerName: \"x-auth-token\",\n autoRegister: false,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.OrgIdpJwt(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n styling_type=\"STYLING_TYPE_UNSPECIFIED\",\n jwt_endpoint=\"https://jwtendpoint.com/jwt\",\n issuer=\"https://google.com\",\n keys_endpoint=\"https://jwtendpoint.com/keys\",\n header_name=\"x-auth-token\",\n auto_register=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.OrgIdpJwt(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n StylingType = \"STYLING_TYPE_UNSPECIFIED\",\n JwtEndpoint = \"https://jwtendpoint.com/jwt\",\n Issuer = \"https://google.com\",\n KeysEndpoint = \"https://jwtendpoint.com/keys\",\n HeaderName = \"x-auth-token\",\n AutoRegister = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewOrgIdpJwt(ctx, \"default\", \u0026zitadel.OrgIdpJwtArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tStylingType: pulumi.String(\"STYLING_TYPE_UNSPECIFIED\"),\n\t\t\tJwtEndpoint: pulumi.String(\"https://jwtendpoint.com/jwt\"),\n\t\t\tIssuer: pulumi.String(\"https://google.com\"),\n\t\t\tKeysEndpoint: pulumi.String(\"https://jwtendpoint.com/keys\"),\n\t\t\tHeaderName: pulumi.String(\"x-auth-token\"),\n\t\t\tAutoRegister: 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.zitadel.OrgIdpJwt;\nimport com.pulumi.zitadel.OrgIdpJwtArgs;\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 default_ = new OrgIdpJwt(\"default\", OrgIdpJwtArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .stylingType(\"STYLING_TYPE_UNSPECIFIED\")\n .jwtEndpoint(\"https://jwtendpoint.com/jwt\")\n .issuer(\"https://google.com\")\n .keysEndpoint(\"https://jwtendpoint.com/keys\")\n .headerName(\"x-auth-token\")\n .autoRegister(false)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:OrgIdpJwt\n properties:\n orgId: ${data.zitadel_org.default.id}\n stylingType: STYLING_TYPE_UNSPECIFIED\n jwtEndpoint: https://jwtendpoint.com/jwt\n issuer: https://google.com\n keysEndpoint: https://jwtendpoint.com/keys\n headerName: x-auth-token\n autoRegister: false\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid[:org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/orgIdpJwt:OrgIdpJwt imported '123456789012345678:123456789012345678'\n```\n\n ", + "description": "Resource representing a generic JWT IdP of the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.OrgIdpJwt(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n stylingType: \"STYLING_TYPE_UNSPECIFIED\",\n jwtEndpoint: \"https://jwtendpoint.com/jwt\",\n issuer: \"https://google.com\",\n keysEndpoint: \"https://jwtendpoint.com/keys\",\n headerName: \"x-auth-token\",\n autoRegister: false,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.OrgIdpJwt(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n styling_type=\"STYLING_TYPE_UNSPECIFIED\",\n jwt_endpoint=\"https://jwtendpoint.com/jwt\",\n issuer=\"https://google.com\",\n keys_endpoint=\"https://jwtendpoint.com/keys\",\n header_name=\"x-auth-token\",\n auto_register=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.OrgIdpJwt(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n StylingType = \"STYLING_TYPE_UNSPECIFIED\",\n JwtEndpoint = \"https://jwtendpoint.com/jwt\",\n Issuer = \"https://google.com\",\n KeysEndpoint = \"https://jwtendpoint.com/keys\",\n HeaderName = \"x-auth-token\",\n AutoRegister = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewOrgIdpJwt(ctx, \"default\", \u0026zitadel.OrgIdpJwtArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tStylingType: pulumi.String(\"STYLING_TYPE_UNSPECIFIED\"),\n\t\t\tJwtEndpoint: pulumi.String(\"https://jwtendpoint.com/jwt\"),\n\t\t\tIssuer: pulumi.String(\"https://google.com\"),\n\t\t\tKeysEndpoint: pulumi.String(\"https://jwtendpoint.com/keys\"),\n\t\t\tHeaderName: pulumi.String(\"x-auth-token\"),\n\t\t\tAutoRegister: 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.zitadel.OrgIdpJwt;\nimport com.pulumi.zitadel.OrgIdpJwtArgs;\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 default_ = new OrgIdpJwt(\"default\", OrgIdpJwtArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .stylingType(\"STYLING_TYPE_UNSPECIFIED\")\n .jwtEndpoint(\"https://jwtendpoint.com/jwt\")\n .issuer(\"https://google.com\")\n .keysEndpoint(\"https://jwtendpoint.com/keys\")\n .headerName(\"x-auth-token\")\n .autoRegister(false)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:OrgIdpJwt\n properties:\n orgId: ${data.zitadel_org.default.id}\n stylingType: STYLING_TYPE_UNSPECIFIED\n jwtEndpoint: https://jwtendpoint.com/jwt\n issuer: https://google.com\n keysEndpoint: https://jwtendpoint.com/keys\n headerName: x-auth-token\n autoRegister: false\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid[:org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/orgIdpJwt:OrgIdpJwt imported '123456789012345678:123456789012345678'\n```\n\n ", "properties": { "autoRegister": { "type": "boolean", @@ -5616,7 +5958,7 @@ } }, "zitadel:index/orgIdpLdap:OrgIdpLdap": { - "description": "Resource representing an LDAP IdP on the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.OrgIdpLdap(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n servers: [\n \"ldaps://my.primary.server:389\",\n \"ldaps://my.secondary.server:389\",\n ],\n startTls: false,\n baseDn: \"dc=example,dc=com\",\n bindDn: \"cn=admin,dc=example,dc=com\",\n bindPassword: \"Password1!\",\n userBase: \"dn\",\n userObjectClasses: [\"inetOrgPerson\"],\n userFilters: [\n \"uid\",\n \"email\",\n ],\n timeout: \"10s\",\n idAttribute: \"uid\",\n firstNameAttribute: \"firstname\",\n lastNameAttribute: \"lastname\",\n isLinkingAllowed: false,\n isCreationAllowed: true,\n isAutoCreation: false,\n isAutoUpdate: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.OrgIdpLdap(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n servers=[\n \"ldaps://my.primary.server:389\",\n \"ldaps://my.secondary.server:389\",\n ],\n start_tls=False,\n base_dn=\"dc=example,dc=com\",\n bind_dn=\"cn=admin,dc=example,dc=com\",\n bind_password=\"Password1!\",\n user_base=\"dn\",\n user_object_classes=[\"inetOrgPerson\"],\n user_filters=[\n \"uid\",\n \"email\",\n ],\n timeout=\"10s\",\n id_attribute=\"uid\",\n first_name_attribute=\"firstname\",\n last_name_attribute=\"lastname\",\n is_linking_allowed=False,\n is_creation_allowed=True,\n is_auto_creation=False,\n is_auto_update=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.OrgIdpLdap(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n Servers = new[]\n {\n \"ldaps://my.primary.server:389\",\n \"ldaps://my.secondary.server:389\",\n },\n StartTls = false,\n BaseDn = \"dc=example,dc=com\",\n BindDn = \"cn=admin,dc=example,dc=com\",\n BindPassword = \"Password1!\",\n UserBase = \"dn\",\n UserObjectClasses = new[]\n {\n \"inetOrgPerson\",\n },\n UserFilters = new[]\n {\n \"uid\",\n \"email\",\n },\n Timeout = \"10s\",\n IdAttribute = \"uid\",\n FirstNameAttribute = \"firstname\",\n LastNameAttribute = \"lastname\",\n IsLinkingAllowed = false,\n IsCreationAllowed = true,\n IsAutoCreation = false,\n IsAutoUpdate = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewOrgIdpLdap(ctx, \"default\", \u0026zitadel.OrgIdpLdapArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tServers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ldaps://my.primary.server:389\"),\n\t\t\t\tpulumi.String(\"ldaps://my.secondary.server:389\"),\n\t\t\t},\n\t\t\tStartTls: pulumi.Bool(false),\n\t\t\tBaseDn: pulumi.String(\"dc=example,dc=com\"),\n\t\t\tBindDn: pulumi.String(\"cn=admin,dc=example,dc=com\"),\n\t\t\tBindPassword: pulumi.String(\"Password1!\"),\n\t\t\tUserBase: pulumi.String(\"dn\"),\n\t\t\tUserObjectClasses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"inetOrgPerson\"),\n\t\t\t},\n\t\t\tUserFilters: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"uid\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t},\n\t\t\tTimeout: pulumi.String(\"10s\"),\n\t\t\tIdAttribute: pulumi.String(\"uid\"),\n\t\t\tFirstNameAttribute: pulumi.String(\"firstname\"),\n\t\t\tLastNameAttribute: pulumi.String(\"lastname\"),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.OrgIdpLdap;\nimport com.pulumi.zitadel.OrgIdpLdapArgs;\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 default_ = new OrgIdpLdap(\"default\", OrgIdpLdapArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .servers( \n \"ldaps://my.primary.server:389\",\n \"ldaps://my.secondary.server:389\")\n .startTls(false)\n .baseDn(\"dc=example,dc=com\")\n .bindDn(\"cn=admin,dc=example,dc=com\")\n .bindPassword(\"Password1!\")\n .userBase(\"dn\")\n .userObjectClasses(\"inetOrgPerson\")\n .userFilters( \n \"uid\",\n \"email\")\n .timeout(\"10s\")\n .idAttribute(\"uid\")\n .firstNameAttribute(\"firstname\")\n .lastNameAttribute(\"lastname\")\n .isLinkingAllowed(false)\n .isCreationAllowed(true)\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:OrgIdpLdap\n properties:\n orgId: ${data.zitadel_org.default.id}\n servers:\n - ldaps://my.primary.server:389\n - ldaps://my.secondary.server:389\n startTls: false\n baseDn: dc=example,dc=com\n bindDn: cn=admin,dc=example,dc=com\n bindPassword: Password1!\n userBase: dn\n userObjectClasses:\n - inetOrgPerson\n userFilters:\n - uid\n - email\n timeout: 10s\n idAttribute: uid\n firstNameAttribute: firstname\n lastNameAttribute: lastname\n isLinkingAllowed: false\n isCreationAllowed: true\n isAutoCreation: false\n isAutoUpdate: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid[:org_id][:bind_password]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/orgIdpLdap:OrgIdpLdap imported '123456789012345678:123456789012345678:b1nd_p4ssw0rd'\n```\n\n ", + "description": "Resource representing an LDAP IdP on the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.OrgIdpLdap(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n servers: [\n \"ldaps://my.primary.server:389\",\n \"ldaps://my.secondary.server:389\",\n ],\n startTls: false,\n baseDn: \"dc=example,dc=com\",\n bindDn: \"cn=admin,dc=example,dc=com\",\n bindPassword: \"Password1!\",\n userBase: \"dn\",\n userObjectClasses: [\"inetOrgPerson\"],\n userFilters: [\n \"uid\",\n \"email\",\n ],\n timeout: \"10s\",\n idAttribute: \"uid\",\n firstNameAttribute: \"firstname\",\n lastNameAttribute: \"lastname\",\n isLinkingAllowed: false,\n isCreationAllowed: true,\n isAutoCreation: false,\n isAutoUpdate: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.OrgIdpLdap(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n servers=[\n \"ldaps://my.primary.server:389\",\n \"ldaps://my.secondary.server:389\",\n ],\n start_tls=False,\n base_dn=\"dc=example,dc=com\",\n bind_dn=\"cn=admin,dc=example,dc=com\",\n bind_password=\"Password1!\",\n user_base=\"dn\",\n user_object_classes=[\"inetOrgPerson\"],\n user_filters=[\n \"uid\",\n \"email\",\n ],\n timeout=\"10s\",\n id_attribute=\"uid\",\n first_name_attribute=\"firstname\",\n last_name_attribute=\"lastname\",\n is_linking_allowed=False,\n is_creation_allowed=True,\n is_auto_creation=False,\n is_auto_update=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.OrgIdpLdap(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n Servers = new[]\n {\n \"ldaps://my.primary.server:389\",\n \"ldaps://my.secondary.server:389\",\n },\n StartTls = false,\n BaseDn = \"dc=example,dc=com\",\n BindDn = \"cn=admin,dc=example,dc=com\",\n BindPassword = \"Password1!\",\n UserBase = \"dn\",\n UserObjectClasses = new[]\n {\n \"inetOrgPerson\",\n },\n UserFilters = new[]\n {\n \"uid\",\n \"email\",\n },\n Timeout = \"10s\",\n IdAttribute = \"uid\",\n FirstNameAttribute = \"firstname\",\n LastNameAttribute = \"lastname\",\n IsLinkingAllowed = false,\n IsCreationAllowed = true,\n IsAutoCreation = false,\n IsAutoUpdate = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewOrgIdpLdap(ctx, \"default\", \u0026zitadel.OrgIdpLdapArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tServers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ldaps://my.primary.server:389\"),\n\t\t\t\tpulumi.String(\"ldaps://my.secondary.server:389\"),\n\t\t\t},\n\t\t\tStartTls: pulumi.Bool(false),\n\t\t\tBaseDn: pulumi.String(\"dc=example,dc=com\"),\n\t\t\tBindDn: pulumi.String(\"cn=admin,dc=example,dc=com\"),\n\t\t\tBindPassword: pulumi.String(\"Password1!\"),\n\t\t\tUserBase: pulumi.String(\"dn\"),\n\t\t\tUserObjectClasses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"inetOrgPerson\"),\n\t\t\t},\n\t\t\tUserFilters: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"uid\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t},\n\t\t\tTimeout: pulumi.String(\"10s\"),\n\t\t\tIdAttribute: pulumi.String(\"uid\"),\n\t\t\tFirstNameAttribute: pulumi.String(\"firstname\"),\n\t\t\tLastNameAttribute: pulumi.String(\"lastname\"),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.OrgIdpLdap;\nimport com.pulumi.zitadel.OrgIdpLdapArgs;\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 default_ = new OrgIdpLdap(\"default\", OrgIdpLdapArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .servers( \n \"ldaps://my.primary.server:389\",\n \"ldaps://my.secondary.server:389\")\n .startTls(false)\n .baseDn(\"dc=example,dc=com\")\n .bindDn(\"cn=admin,dc=example,dc=com\")\n .bindPassword(\"Password1!\")\n .userBase(\"dn\")\n .userObjectClasses(\"inetOrgPerson\")\n .userFilters( \n \"uid\",\n \"email\")\n .timeout(\"10s\")\n .idAttribute(\"uid\")\n .firstNameAttribute(\"firstname\")\n .lastNameAttribute(\"lastname\")\n .isLinkingAllowed(false)\n .isCreationAllowed(true)\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:OrgIdpLdap\n properties:\n orgId: ${data.zitadel_org.default.id}\n servers:\n - ldaps://my.primary.server:389\n - ldaps://my.secondary.server:389\n startTls: false\n baseDn: dc=example,dc=com\n bindDn: cn=admin,dc=example,dc=com\n bindPassword: Password1!\n userBase: dn\n userObjectClasses:\n - inetOrgPerson\n userFilters:\n - uid\n - email\n timeout: 10s\n idAttribute: uid\n firstNameAttribute: firstname\n lastNameAttribute: lastname\n isLinkingAllowed: false\n isCreationAllowed: true\n isAutoCreation: false\n isAutoUpdate: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid[:org_id][:bind_password]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/orgIdpLdap:OrgIdpLdap imported '123456789012345678:123456789012345678:b1nd_p4ssw0rd'\n```\n\n ", "properties": { "avatarUrlAttribute": { "type": "string", @@ -6027,9 +6369,13 @@ "type": "object" } }, - "zitadel:index/orgIdpOidc:OrgIdpOidc": { - "description": "Resource representing a generic OIDC IdP on the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.OrgIdpOidc(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n clientId: \"a_client_id\",\n clientSecret: \"a_client_secret\",\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n ],\n issuer: \"https://example.com\",\n isLinkingAllowed: false,\n isCreationAllowed: true,\n isAutoCreation: false,\n isAutoUpdate: true,\n isIdTokenMapping: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.OrgIdpOidc(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n client_id=\"a_client_id\",\n client_secret=\"a_client_secret\",\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n ],\n issuer=\"https://example.com\",\n is_linking_allowed=False,\n is_creation_allowed=True,\n is_auto_creation=False,\n is_auto_update=True,\n is_id_token_mapping=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.OrgIdpOidc(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ClientId = \"a_client_id\",\n ClientSecret = \"a_client_secret\",\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n },\n Issuer = \"https://example.com\",\n IsLinkingAllowed = false,\n IsCreationAllowed = true,\n IsAutoCreation = false,\n IsAutoUpdate = true,\n IsIdTokenMapping = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewOrgIdpOidc(ctx, \"default\", \u0026zitadel.OrgIdpOidcArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tClientId: pulumi.String(\"a_client_id\"),\n\t\t\tClientSecret: pulumi.String(\"a_client_secret\"),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t},\n\t\t\tIssuer: pulumi.String(\"https://example.com\"),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t\tIsIdTokenMapping: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.OrgIdpOidc;\nimport com.pulumi.zitadel.OrgIdpOidcArgs;\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 default_ = new OrgIdpOidc(\"default\", OrgIdpOidcArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .clientId(\"a_client_id\")\n .clientSecret(\"a_client_secret\")\n .scopes( \n \"openid\",\n \"profile\",\n \"email\")\n .issuer(\"https://example.com\")\n .isLinkingAllowed(false)\n .isCreationAllowed(true)\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .isIdTokenMapping(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:OrgIdpOidc\n properties:\n orgId: ${data.zitadel_org.default.id}\n clientId: a_client_id\n clientSecret: a_client_secret\n scopes:\n - openid\n - profile\n - email\n issuer: https://example.com\n isLinkingAllowed: false\n isCreationAllowed: true\n isAutoCreation: false\n isAutoUpdate: true\n isIdTokenMapping: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid[:org_id][:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/orgIdpOidc:OrgIdpOidc imported '123456789012345678:123456789012345678:1234567890abcdef'\n```\n\n ", + "zitadel:index/orgIdpOauth:OrgIdpOauth": { + "description": "Resource representing a generic OAuth2 IDP on the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.OrgIdpOauth(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n clientId: \"15765e...\",\n clientSecret: \"*****abcxyz\",\n authorizationEndpoint: \"https://accounts.google.com/o/oauth2/v2/auth\",\n tokenEndpoint: \"https://oauth2.googleapis.com/token\",\n userEndpoint: \"https://openidconnect.googleapis.com/v1/userinfo\",\n idAttribute: \"user_id\",\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n ],\n isLinkingAllowed: false,\n isCreationAllowed: true,\n isAutoCreation: false,\n isAutoUpdate: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.OrgIdpOauth(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n client_id=\"15765e...\",\n client_secret=\"*****abcxyz\",\n authorization_endpoint=\"https://accounts.google.com/o/oauth2/v2/auth\",\n token_endpoint=\"https://oauth2.googleapis.com/token\",\n user_endpoint=\"https://openidconnect.googleapis.com/v1/userinfo\",\n id_attribute=\"user_id\",\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n ],\n is_linking_allowed=False,\n is_creation_allowed=True,\n is_auto_creation=False,\n is_auto_update=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.OrgIdpOauth(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ClientId = \"15765e...\",\n ClientSecret = \"*****abcxyz\",\n AuthorizationEndpoint = \"https://accounts.google.com/o/oauth2/v2/auth\",\n TokenEndpoint = \"https://oauth2.googleapis.com/token\",\n UserEndpoint = \"https://openidconnect.googleapis.com/v1/userinfo\",\n IdAttribute = \"user_id\",\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n },\n IsLinkingAllowed = false,\n IsCreationAllowed = true,\n IsAutoCreation = false,\n IsAutoUpdate = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewOrgIdpOauth(ctx, \"default\", \u0026zitadel.OrgIdpOauthArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tClientId: pulumi.String(\"15765e...\"),\n\t\t\tClientSecret: pulumi.String(\"*****abcxyz\"),\n\t\t\tAuthorizationEndpoint: pulumi.String(\"https://accounts.google.com/o/oauth2/v2/auth\"),\n\t\t\tTokenEndpoint: pulumi.String(\"https://oauth2.googleapis.com/token\"),\n\t\t\tUserEndpoint: pulumi.String(\"https://openidconnect.googleapis.com/v1/userinfo\"),\n\t\t\tIdAttribute: pulumi.String(\"user_id\"),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t},\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.OrgIdpOauth;\nimport com.pulumi.zitadel.OrgIdpOauthArgs;\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 default_ = new OrgIdpOauth(\"default\", OrgIdpOauthArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .clientId(\"15765e...\")\n .clientSecret(\"*****abcxyz\")\n .authorizationEndpoint(\"https://accounts.google.com/o/oauth2/v2/auth\")\n .tokenEndpoint(\"https://oauth2.googleapis.com/token\")\n .userEndpoint(\"https://openidconnect.googleapis.com/v1/userinfo\")\n .idAttribute(\"user_id\")\n .scopes( \n \"openid\",\n \"profile\",\n \"email\")\n .isLinkingAllowed(false)\n .isCreationAllowed(true)\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:OrgIdpOauth\n properties:\n orgId: ${data.zitadel_org.default.id}\n clientId: 15765e...\n clientSecret: '*****abcxyz'\n authorizationEndpoint: https://accounts.google.com/o/oauth2/v2/auth\n tokenEndpoint: https://oauth2.googleapis.com/token\n userEndpoint: https://openidconnect.googleapis.com/v1/userinfo\n idAttribute: user_id\n scopes:\n - openid\n - profile\n - email\n isLinkingAllowed: false\n isCreationAllowed: true\n isAutoCreation: false\n isAutoUpdate: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid[:org_id][:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/orgIdpOauth:OrgIdpOauth imported '123456789012345678:123456789012345678:1234567890abcdef'\n```\n\n ", "properties": { + "authorizationEndpoint": { + "type": "string", + "description": "The authorization endpoint\n" + }, "clientId": { "type": "string", "description": "client id generated by the identity provider\n" @@ -6039,6 +6385,10 @@ "description": "client secret generated by the identity provider\n", "secret": true }, + "idAttribute": { + "type": "string", + "description": "The id attribute\n" + }, "isAutoCreation": { "type": "boolean", "description": "enable if a new account in ZITADEL should be created automatically on login with an external account\n" @@ -6051,18 +6401,10 @@ "type": "boolean", "description": "enable if users should be able to create a new account in ZITADEL when using an external account\n" }, - "isIdTokenMapping": { - "type": "boolean", - "description": "if true, provider information get mapped from the id token, not from the userinfo endpoint\n" - }, "isLinkingAllowed": { "type": "boolean", "description": "enable if users should be able to link an existing ZITADEL user with an external account\n" }, - "issuer": { - "type": "string", - "description": "the issuer of the idp\n" - }, "name": { "type": "string", "description": "Name of the IDP\n" @@ -6077,20 +6419,34 @@ "type": "string" }, "description": "the scopes requested by ZITADEL during the request on the identity provider\n" + }, + "tokenEndpoint": { + "type": "string", + "description": "The token endpoint\n" + }, + "userEndpoint": { + "type": "string", + "description": "The user endpoint\n" } }, "required": [ + "authorizationEndpoint", "clientId", "clientSecret", + "idAttribute", "isAutoCreation", "isAutoUpdate", "isCreationAllowed", - "isIdTokenMapping", "isLinkingAllowed", - "issuer", - "name" + "name", + "tokenEndpoint", + "userEndpoint" ], "inputProperties": { + "authorizationEndpoint": { + "type": "string", + "description": "The authorization endpoint\n" + }, "clientId": { "type": "string", "description": "client id generated by the identity provider\n" @@ -6100,6 +6456,10 @@ "description": "client secret generated by the identity provider\n", "secret": true }, + "idAttribute": { + "type": "string", + "description": "The id attribute\n" + }, "isAutoCreation": { "type": "boolean", "description": "enable if a new account in ZITADEL should be created automatically on login with an external account\n" @@ -6112,18 +6472,10 @@ "type": "boolean", "description": "enable if users should be able to create a new account in ZITADEL when using an external account\n" }, - "isIdTokenMapping": { - "type": "boolean", - "description": "if true, provider information get mapped from the id token, not from the userinfo endpoint\n" - }, "isLinkingAllowed": { "type": "boolean", "description": "enable if users should be able to link an existing ZITADEL user with an external account\n" }, - "issuer": { - "type": "string", - "description": "the issuer of the idp\n" - }, "name": { "type": "string", "description": "Name of the IDP\n" @@ -6139,21 +6491,35 @@ "type": "string" }, "description": "the scopes requested by ZITADEL during the request on the identity provider\n" + }, + "tokenEndpoint": { + "type": "string", + "description": "The token endpoint\n" + }, + "userEndpoint": { + "type": "string", + "description": "The user endpoint\n" } }, "requiredInputs": [ + "authorizationEndpoint", "clientId", "clientSecret", + "idAttribute", "isAutoCreation", "isAutoUpdate", "isCreationAllowed", - "isIdTokenMapping", "isLinkingAllowed", - "issuer" + "tokenEndpoint", + "userEndpoint" ], "stateInputs": { - "description": "Input properties used for looking up and filtering OrgIdpOidc resources.\n", + "description": "Input properties used for looking up and filtering OrgIdpOauth resources.\n", "properties": { + "authorizationEndpoint": { + "type": "string", + "description": "The authorization endpoint\n" + }, "clientId": { "type": "string", "description": "client id generated by the identity provider\n" @@ -6163,6 +6529,10 @@ "description": "client secret generated by the identity provider\n", "secret": true }, + "idAttribute": { + "type": "string", + "description": "The id attribute\n" + }, "isAutoCreation": { "type": "boolean", "description": "enable if a new account in ZITADEL should be created automatically on login with an external account\n" @@ -6175,18 +6545,10 @@ "type": "boolean", "description": "enable if users should be able to create a new account in ZITADEL when using an external account\n" }, - "isIdTokenMapping": { - "type": "boolean", - "description": "if true, provider information get mapped from the id token, not from the userinfo endpoint\n" - }, "isLinkingAllowed": { "type": "boolean", "description": "enable if users should be able to link an existing ZITADEL user with an external account\n" }, - "issuer": { - "type": "string", - "description": "the issuer of the idp\n" - }, "name": { "type": "string", "description": "Name of the IDP\n" @@ -6202,30 +6564,356 @@ "type": "string" }, "description": "the scopes requested by ZITADEL during the request on the identity provider\n" + }, + "tokenEndpoint": { + "type": "string", + "description": "The token endpoint\n" + }, + "userEndpoint": { + "type": "string", + "description": "The user endpoint\n" } }, "type": "object" } }, - "zitadel:index/orgMember:OrgMember": { - "description": "Resource representing the membership of a user on an organization, defined with the given role.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.OrgMember(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n userId: data.zitadel_human_user[\"default\"].id,\n roles: [\"ORG_OWNER\"],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.OrgMember(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n user_id=data[\"zitadel_human_user\"][\"default\"][\"id\"],\n roles=[\"ORG_OWNER\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.OrgMember(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n UserId = data.Zitadel_human_user.Default.Id,\n Roles = new[]\n {\n \"ORG_OWNER\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewOrgMember(ctx, \"default\", \u0026zitadel.OrgMemberArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tUserId: pulumi.Any(data.Zitadel_human_user.Default.Id),\n\t\t\tRoles: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ORG_OWNER\"),\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.zitadel.OrgMember;\nimport com.pulumi.zitadel.OrgMemberArgs;\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 default_ = new OrgMember(\"default\", OrgMemberArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .userId(data.zitadel_human_user().default().id())\n .roles(\"ORG_OWNER\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:OrgMember\n properties:\n orgId: ${data.zitadel_org.default.id}\n userId: ${data.zitadel_human_user.default.id}\n roles:\n - ORG_OWNER\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cuser_id[:org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/orgMember:OrgMember imported '123456789012345678:123456789012345678'\n```\n\n ", + "zitadel:index/orgIdpOidc:OrgIdpOidc": { + "description": "Resource representing a generic OIDC IdP on the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.OrgIdpOidc(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n clientId: \"a_client_id\",\n clientSecret: \"a_client_secret\",\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n ],\n issuer: \"https://example.com\",\n isLinkingAllowed: false,\n isCreationAllowed: true,\n isAutoCreation: false,\n isAutoUpdate: true,\n isIdTokenMapping: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.OrgIdpOidc(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n client_id=\"a_client_id\",\n client_secret=\"a_client_secret\",\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n ],\n issuer=\"https://example.com\",\n is_linking_allowed=False,\n is_creation_allowed=True,\n is_auto_creation=False,\n is_auto_update=True,\n is_id_token_mapping=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.OrgIdpOidc(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ClientId = \"a_client_id\",\n ClientSecret = \"a_client_secret\",\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n },\n Issuer = \"https://example.com\",\n IsLinkingAllowed = false,\n IsCreationAllowed = true,\n IsAutoCreation = false,\n IsAutoUpdate = true,\n IsIdTokenMapping = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewOrgIdpOidc(ctx, \"default\", \u0026zitadel.OrgIdpOidcArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tClientId: pulumi.String(\"a_client_id\"),\n\t\t\tClientSecret: pulumi.String(\"a_client_secret\"),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t},\n\t\t\tIssuer: pulumi.String(\"https://example.com\"),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t\tIsIdTokenMapping: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.OrgIdpOidc;\nimport com.pulumi.zitadel.OrgIdpOidcArgs;\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 default_ = new OrgIdpOidc(\"default\", OrgIdpOidcArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .clientId(\"a_client_id\")\n .clientSecret(\"a_client_secret\")\n .scopes( \n \"openid\",\n \"profile\",\n \"email\")\n .issuer(\"https://example.com\")\n .isLinkingAllowed(false)\n .isCreationAllowed(true)\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .isIdTokenMapping(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:OrgIdpOidc\n properties:\n orgId: ${data.zitadel_org.default.id}\n clientId: a_client_id\n clientSecret: a_client_secret\n scopes:\n - openid\n - profile\n - email\n issuer: https://example.com\n isLinkingAllowed: false\n isCreationAllowed: true\n isAutoCreation: false\n isAutoUpdate: true\n isIdTokenMapping: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid[:org_id][:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/orgIdpOidc:OrgIdpOidc imported '123456789012345678:123456789012345678:1234567890abcdef'\n```\n\n ", "properties": { - "orgId": { + "clientId": { "type": "string", - "description": "ID of the organization\n" - }, - "roles": { - "type": "array", - "items": { - "type": "string" - }, - "description": "List of roles granted\n" + "description": "client id generated by the identity provider\n" }, - "userId": { + "clientSecret": { "type": "string", - "description": "ID of the user\n" - } - }, + "description": "client secret generated by the identity provider\n", + "secret": true + }, + "isAutoCreation": { + "type": "boolean", + "description": "enable if a new account in ZITADEL should be created automatically on login with an external account\n" + }, + "isAutoUpdate": { + "type": "boolean", + "description": "enable if a the ZITADEL account fields should be updated automatically on each login\n" + }, + "isCreationAllowed": { + "type": "boolean", + "description": "enable if users should be able to create a new account in ZITADEL when using an external account\n" + }, + "isIdTokenMapping": { + "type": "boolean", + "description": "if true, provider information get mapped from the id token, not from the userinfo endpoint\n" + }, + "isLinkingAllowed": { + "type": "boolean", + "description": "enable if users should be able to link an existing ZITADEL user with an external account\n" + }, + "issuer": { + "type": "string", + "description": "the issuer of the idp\n" + }, + "name": { + "type": "string", + "description": "Name of the IDP\n" + }, + "orgId": { + "type": "string", + "description": "ID of the organization\n" + }, + "scopes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "the scopes requested by ZITADEL during the request on the identity provider\n" + } + }, + "required": [ + "clientId", + "clientSecret", + "isAutoCreation", + "isAutoUpdate", + "isCreationAllowed", + "isIdTokenMapping", + "isLinkingAllowed", + "issuer", + "name" + ], + "inputProperties": { + "clientId": { + "type": "string", + "description": "client id generated by the identity provider\n" + }, + "clientSecret": { + "type": "string", + "description": "client secret generated by the identity provider\n", + "secret": true + }, + "isAutoCreation": { + "type": "boolean", + "description": "enable if a new account in ZITADEL should be created automatically on login with an external account\n" + }, + "isAutoUpdate": { + "type": "boolean", + "description": "enable if a the ZITADEL account fields should be updated automatically on each login\n" + }, + "isCreationAllowed": { + "type": "boolean", + "description": "enable if users should be able to create a new account in ZITADEL when using an external account\n" + }, + "isIdTokenMapping": { + "type": "boolean", + "description": "if true, provider information get mapped from the id token, not from the userinfo endpoint\n" + }, + "isLinkingAllowed": { + "type": "boolean", + "description": "enable if users should be able to link an existing ZITADEL user with an external account\n" + }, + "issuer": { + "type": "string", + "description": "the issuer of the idp\n" + }, + "name": { + "type": "string", + "description": "Name of the IDP\n" + }, + "orgId": { + "type": "string", + "description": "ID of the organization\n", + "willReplaceOnChanges": true + }, + "scopes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "the scopes requested by ZITADEL during the request on the identity provider\n" + } + }, + "requiredInputs": [ + "clientId", + "clientSecret", + "isAutoCreation", + "isAutoUpdate", + "isCreationAllowed", + "isIdTokenMapping", + "isLinkingAllowed", + "issuer" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering OrgIdpOidc resources.\n", + "properties": { + "clientId": { + "type": "string", + "description": "client id generated by the identity provider\n" + }, + "clientSecret": { + "type": "string", + "description": "client secret generated by the identity provider\n", + "secret": true + }, + "isAutoCreation": { + "type": "boolean", + "description": "enable if a new account in ZITADEL should be created automatically on login with an external account\n" + }, + "isAutoUpdate": { + "type": "boolean", + "description": "enable if a the ZITADEL account fields should be updated automatically on each login\n" + }, + "isCreationAllowed": { + "type": "boolean", + "description": "enable if users should be able to create a new account in ZITADEL when using an external account\n" + }, + "isIdTokenMapping": { + "type": "boolean", + "description": "if true, provider information get mapped from the id token, not from the userinfo endpoint\n" + }, + "isLinkingAllowed": { + "type": "boolean", + "description": "enable if users should be able to link an existing ZITADEL user with an external account\n" + }, + "issuer": { + "type": "string", + "description": "the issuer of the idp\n" + }, + "name": { + "type": "string", + "description": "Name of the IDP\n" + }, + "orgId": { + "type": "string", + "description": "ID of the organization\n", + "willReplaceOnChanges": true + }, + "scopes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "the scopes requested by ZITADEL during the request on the identity provider\n" + } + }, + "type": "object" + } + }, + "zitadel:index/orgIdpSaml:OrgIdpSaml": { + "description": "Resource representing a SAML IdP on the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.OrgIdpSaml(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n binding: \"SAML_BINDING_POST\",\n withSignedRequest: true,\n isLinkingAllowed: false,\n isCreationAllowed: true,\n isAutoCreation: false,\n isAutoUpdate: true,\n metadataXml: `\u003c?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?\u003e\n\u003cmd:EntityDescriptor xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\" entityID=\"https://saml.example.com/entityid\" validUntil=\"2034-05-15T14:21:58.979Z\"\u003e\n \u003cmd:IDPSSODescriptor WantAuthnRequestsSigned=\"true\" protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\"\u003e\n \u003cmd:KeyDescriptor use=\"signing\"\u003e\n \u003cds:KeyInfo xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\"\u003e\n \u003cds:X509Data\u003e\n \u003cds:X509Certificate\u003eMIIC4jCCAcoCCQC33wnybT5QZDANBgkqhkiG9w0BAQsFADAyMQswCQYDVQQGEwJV\nSzEPMA0GA1UECgwGQm94eUhRMRIwEAYDVQQDDAlNb2NrIFNBTUwwIBcNMjIwMjI4\nMjE0NjM4WhgPMzAyMTA3MDEyMTQ2MzhaMDIxCzAJBgNVBAYTAlVLMQ8wDQYDVQQK\nDAZCb3h5SFExEjAQBgNVBAMMCU1vY2sgU0FNTDCCASIwDQYJKoZIhvcNAQEBBQAD\nggEPADCCAQoCggEBALGfYettMsct1T6tVUwTudNJH5Pnb9GGnkXi9Zw/e6x45DD0\nRuRONbFlJ2T4RjAE/uG+AjXxXQ8o2SZfb9+GgmCHuTJFNgHoZ1nFVXCmb/Hg8Hpd\n4vOAGXndixaReOiq3EH5XvpMjMkJ3+8+9VYMzMZOjkgQtAqO36eAFFfNKX7dTj3V\npwLkvz6/KFCq8OAwY+AUi4eZm5J57D31GzjHwfjH9WTeX0MyndmnNB1qV75qQR3b\n2/W5sGHRv+9AarggJkF+ptUkXoLtVA51wcfYm6hILptpde5FQC8RWY1YrswBWAEZ\nNfyrR4JeSweElNHg4NVOs4TwGjOPwWGqzTfgTlECAwEAATANBgkqhkiG9w0BAQsF\nAAOCAQEAAYRlYflSXAWoZpFfwNiCQVE5d9zZ0DPzNdWhAybXcTyMf0z5mDf6FWBW\n5Gyoi9u3EMEDnzLcJNkwJAAc39Apa4I2/tml+Jy29dk8bTyX6m93ngmCgdLh5Za4\nkhuU3AM3L63g7VexCuO7kwkjh/+LqdcIXsVGO6XDfu2QOs1Xpe9zIzLpwm/RNYeX\nUjbSj5ce/jekpAw7qyVVL4xOyh8AtUW1ek3wIw1MJvEgEPt0d16oshWJpoS1OT8L\nr/22SvYEo3EmSGdTVGgk3x3s+A0qWAqTcyjr7Q4s/GKYRFfomGwz0TZ4Iw1ZN99M\nm0eo2USlSRTVl7QHRTuiuSThHpLKQQ==\u003c/ds:X509Certificate\u003e\n \u003c/ds:X509Data\u003e\n \u003c/ds:KeyInfo\u003e\n \u003c/md:KeyDescriptor\u003e\n \u003cmd:NameIDFormat\u003eurn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\u003c/md:NameIDFormat\u003e\n \u003cmd:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\" Location=\"https://mocksaml.com/api/saml/sso\"/\u003e\n \u003cmd:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\" Location=\"https://mocksaml.com/api/saml/sso\"/\u003e\n \u003c/md:IDPSSODescriptor\u003e\n\u003c/md:EntityDescriptor\u003e\n`,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.OrgIdpSaml(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n binding=\"SAML_BINDING_POST\",\n with_signed_request=True,\n is_linking_allowed=False,\n is_creation_allowed=True,\n is_auto_creation=False,\n is_auto_update=True,\n metadata_xml=\"\"\"\u003c?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?\u003e\n\u003cmd:EntityDescriptor xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\" entityID=\"https://saml.example.com/entityid\" validUntil=\"2034-05-15T14:21:58.979Z\"\u003e\n \u003cmd:IDPSSODescriptor WantAuthnRequestsSigned=\"true\" protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\"\u003e\n \u003cmd:KeyDescriptor use=\"signing\"\u003e\n \u003cds:KeyInfo xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\"\u003e\n \u003cds:X509Data\u003e\n \u003cds:X509Certificate\u003eMIIC4jCCAcoCCQC33wnybT5QZDANBgkqhkiG9w0BAQsFADAyMQswCQYDVQQGEwJV\nSzEPMA0GA1UECgwGQm94eUhRMRIwEAYDVQQDDAlNb2NrIFNBTUwwIBcNMjIwMjI4\nMjE0NjM4WhgPMzAyMTA3MDEyMTQ2MzhaMDIxCzAJBgNVBAYTAlVLMQ8wDQYDVQQK\nDAZCb3h5SFExEjAQBgNVBAMMCU1vY2sgU0FNTDCCASIwDQYJKoZIhvcNAQEBBQAD\nggEPADCCAQoCggEBALGfYettMsct1T6tVUwTudNJH5Pnb9GGnkXi9Zw/e6x45DD0\nRuRONbFlJ2T4RjAE/uG+AjXxXQ8o2SZfb9+GgmCHuTJFNgHoZ1nFVXCmb/Hg8Hpd\n4vOAGXndixaReOiq3EH5XvpMjMkJ3+8+9VYMzMZOjkgQtAqO36eAFFfNKX7dTj3V\npwLkvz6/KFCq8OAwY+AUi4eZm5J57D31GzjHwfjH9WTeX0MyndmnNB1qV75qQR3b\n2/W5sGHRv+9AarggJkF+ptUkXoLtVA51wcfYm6hILptpde5FQC8RWY1YrswBWAEZ\nNfyrR4JeSweElNHg4NVOs4TwGjOPwWGqzTfgTlECAwEAATANBgkqhkiG9w0BAQsF\nAAOCAQEAAYRlYflSXAWoZpFfwNiCQVE5d9zZ0DPzNdWhAybXcTyMf0z5mDf6FWBW\n5Gyoi9u3EMEDnzLcJNkwJAAc39Apa4I2/tml+Jy29dk8bTyX6m93ngmCgdLh5Za4\nkhuU3AM3L63g7VexCuO7kwkjh/+LqdcIXsVGO6XDfu2QOs1Xpe9zIzLpwm/RNYeX\nUjbSj5ce/jekpAw7qyVVL4xOyh8AtUW1ek3wIw1MJvEgEPt0d16oshWJpoS1OT8L\nr/22SvYEo3EmSGdTVGgk3x3s+A0qWAqTcyjr7Q4s/GKYRFfomGwz0TZ4Iw1ZN99M\nm0eo2USlSRTVl7QHRTuiuSThHpLKQQ==\u003c/ds:X509Certificate\u003e\n \u003c/ds:X509Data\u003e\n \u003c/ds:KeyInfo\u003e\n \u003c/md:KeyDescriptor\u003e\n \u003cmd:NameIDFormat\u003eurn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\u003c/md:NameIDFormat\u003e\n \u003cmd:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\" Location=\"https://mocksaml.com/api/saml/sso\"/\u003e\n \u003cmd:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\" Location=\"https://mocksaml.com/api/saml/sso\"/\u003e\n \u003c/md:IDPSSODescriptor\u003e\n\u003c/md:EntityDescriptor\u003e\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.OrgIdpSaml(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n Binding = \"SAML_BINDING_POST\",\n WithSignedRequest = true,\n IsLinkingAllowed = false,\n IsCreationAllowed = true,\n IsAutoCreation = false,\n IsAutoUpdate = true,\n MetadataXml = @\"\u003c?xml version=\"\"1.0\"\" encoding=\"\"UTF-8\"\" standalone=\"\"no\"\"?\u003e\n\u003cmd:EntityDescriptor xmlns:md=\"\"urn:oasis:names:tc:SAML:2.0:metadata\"\" entityID=\"\"https://saml.example.com/entityid\"\" validUntil=\"\"2034-05-15T14:21:58.979Z\"\"\u003e\n \u003cmd:IDPSSODescriptor WantAuthnRequestsSigned=\"\"true\"\" protocolSupportEnumeration=\"\"urn:oasis:names:tc:SAML:2.0:protocol\"\"\u003e\n \u003cmd:KeyDescriptor use=\"\"signing\"\"\u003e\n \u003cds:KeyInfo xmlns:ds=\"\"http://www.w3.org/2000/09/xmldsig#\"\"\u003e\n \u003cds:X509Data\u003e\n \u003cds:X509Certificate\u003eMIIC4jCCAcoCCQC33wnybT5QZDANBgkqhkiG9w0BAQsFADAyMQswCQYDVQQGEwJV\nSzEPMA0GA1UECgwGQm94eUhRMRIwEAYDVQQDDAlNb2NrIFNBTUwwIBcNMjIwMjI4\nMjE0NjM4WhgPMzAyMTA3MDEyMTQ2MzhaMDIxCzAJBgNVBAYTAlVLMQ8wDQYDVQQK\nDAZCb3h5SFExEjAQBgNVBAMMCU1vY2sgU0FNTDCCASIwDQYJKoZIhvcNAQEBBQAD\nggEPADCCAQoCggEBALGfYettMsct1T6tVUwTudNJH5Pnb9GGnkXi9Zw/e6x45DD0\nRuRONbFlJ2T4RjAE/uG+AjXxXQ8o2SZfb9+GgmCHuTJFNgHoZ1nFVXCmb/Hg8Hpd\n4vOAGXndixaReOiq3EH5XvpMjMkJ3+8+9VYMzMZOjkgQtAqO36eAFFfNKX7dTj3V\npwLkvz6/KFCq8OAwY+AUi4eZm5J57D31GzjHwfjH9WTeX0MyndmnNB1qV75qQR3b\n2/W5sGHRv+9AarggJkF+ptUkXoLtVA51wcfYm6hILptpde5FQC8RWY1YrswBWAEZ\nNfyrR4JeSweElNHg4NVOs4TwGjOPwWGqzTfgTlECAwEAATANBgkqhkiG9w0BAQsF\nAAOCAQEAAYRlYflSXAWoZpFfwNiCQVE5d9zZ0DPzNdWhAybXcTyMf0z5mDf6FWBW\n5Gyoi9u3EMEDnzLcJNkwJAAc39Apa4I2/tml+Jy29dk8bTyX6m93ngmCgdLh5Za4\nkhuU3AM3L63g7VexCuO7kwkjh/+LqdcIXsVGO6XDfu2QOs1Xpe9zIzLpwm/RNYeX\nUjbSj5ce/jekpAw7qyVVL4xOyh8AtUW1ek3wIw1MJvEgEPt0d16oshWJpoS1OT8L\nr/22SvYEo3EmSGdTVGgk3x3s+A0qWAqTcyjr7Q4s/GKYRFfomGwz0TZ4Iw1ZN99M\nm0eo2USlSRTVl7QHRTuiuSThHpLKQQ==\u003c/ds:X509Certificate\u003e\n \u003c/ds:X509Data\u003e\n \u003c/ds:KeyInfo\u003e\n \u003c/md:KeyDescriptor\u003e\n \u003cmd:NameIDFormat\u003eurn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\u003c/md:NameIDFormat\u003e\n \u003cmd:SingleSignOnService Binding=\"\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\"\" Location=\"\"https://mocksaml.com/api/saml/sso\"\"/\u003e\n \u003cmd:SingleSignOnService Binding=\"\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\"\" Location=\"\"https://mocksaml.com/api/saml/sso\"\"/\u003e\n \u003c/md:IDPSSODescriptor\u003e\n\u003c/md:EntityDescriptor\u003e\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewOrgIdpSaml(ctx, \"default\", \u0026zitadel.OrgIdpSamlArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tBinding: pulumi.String(\"SAML_BINDING_POST\"),\n\t\t\tWithSignedRequest: pulumi.Bool(true),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t\tMetadataXml: pulumi.String(`\u003c?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?\u003e\n\u003cmd:EntityDescriptor xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\" entityID=\"https://saml.example.com/entityid\" validUntil=\"2034-05-15T14:21:58.979Z\"\u003e\n \u003cmd:IDPSSODescriptor WantAuthnRequestsSigned=\"true\" protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\"\u003e\n \u003cmd:KeyDescriptor use=\"signing\"\u003e\n \u003cds:KeyInfo xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\"\u003e\n \u003cds:X509Data\u003e\n \u003cds:X509Certificate\u003eMIIC4jCCAcoCCQC33wnybT5QZDANBgkqhkiG9w0BAQsFADAyMQswCQYDVQQGEwJV\nSzEPMA0GA1UECgwGQm94eUhRMRIwEAYDVQQDDAlNb2NrIFNBTUwwIBcNMjIwMjI4\nMjE0NjM4WhgPMzAyMTA3MDEyMTQ2MzhaMDIxCzAJBgNVBAYTAlVLMQ8wDQYDVQQK\nDAZCb3h5SFExEjAQBgNVBAMMCU1vY2sgU0FNTDCCASIwDQYJKoZIhvcNAQEBBQAD\nggEPADCCAQoCggEBALGfYettMsct1T6tVUwTudNJH5Pnb9GGnkXi9Zw/e6x45DD0\nRuRONbFlJ2T4RjAE/uG+AjXxXQ8o2SZfb9+GgmCHuTJFNgHoZ1nFVXCmb/Hg8Hpd\n4vOAGXndixaReOiq3EH5XvpMjMkJ3+8+9VYMzMZOjkgQtAqO36eAFFfNKX7dTj3V\npwLkvz6/KFCq8OAwY+AUi4eZm5J57D31GzjHwfjH9WTeX0MyndmnNB1qV75qQR3b\n2/W5sGHRv+9AarggJkF+ptUkXoLtVA51wcfYm6hILptpde5FQC8RWY1YrswBWAEZ\nNfyrR4JeSweElNHg4NVOs4TwGjOPwWGqzTfgTlECAwEAATANBgkqhkiG9w0BAQsF\nAAOCAQEAAYRlYflSXAWoZpFfwNiCQVE5d9zZ0DPzNdWhAybXcTyMf0z5mDf6FWBW\n5Gyoi9u3EMEDnzLcJNkwJAAc39Apa4I2/tml+Jy29dk8bTyX6m93ngmCgdLh5Za4\nkhuU3AM3L63g7VexCuO7kwkjh/+LqdcIXsVGO6XDfu2QOs1Xpe9zIzLpwm/RNYeX\nUjbSj5ce/jekpAw7qyVVL4xOyh8AtUW1ek3wIw1MJvEgEPt0d16oshWJpoS1OT8L\nr/22SvYEo3EmSGdTVGgk3x3s+A0qWAqTcyjr7Q4s/GKYRFfomGwz0TZ4Iw1ZN99M\nm0eo2USlSRTVl7QHRTuiuSThHpLKQQ==\u003c/ds:X509Certificate\u003e\n \u003c/ds:X509Data\u003e\n \u003c/ds:KeyInfo\u003e\n \u003c/md:KeyDescriptor\u003e\n \u003cmd:NameIDFormat\u003eurn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\u003c/md:NameIDFormat\u003e\n \u003cmd:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\" Location=\"https://mocksaml.com/api/saml/sso\"/\u003e\n \u003cmd:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\" Location=\"https://mocksaml.com/api/saml/sso\"/\u003e\n \u003c/md:IDPSSODescriptor\u003e\n\u003c/md:EntityDescriptor\u003e\n`),\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.zitadel.OrgIdpSaml;\nimport com.pulumi.zitadel.OrgIdpSamlArgs;\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 default_ = new OrgIdpSaml(\"default\", OrgIdpSamlArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .binding(\"SAML_BINDING_POST\")\n .withSignedRequest(true)\n .isLinkingAllowed(false)\n .isCreationAllowed(true)\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .metadataXml(\"\"\"\n\u003c?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?\u003e\n\u003cmd:EntityDescriptor xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\" entityID=\"https://saml.example.com/entityid\" validUntil=\"2034-05-15T14:21:58.979Z\"\u003e\n \u003cmd:IDPSSODescriptor WantAuthnRequestsSigned=\"true\" protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\"\u003e\n \u003cmd:KeyDescriptor use=\"signing\"\u003e\n \u003cds:KeyInfo xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\"\u003e\n \u003cds:X509Data\u003e\n \u003cds:X509Certificate\u003eMIIC4jCCAcoCCQC33wnybT5QZDANBgkqhkiG9w0BAQsFADAyMQswCQYDVQQGEwJV\nSzEPMA0GA1UECgwGQm94eUhRMRIwEAYDVQQDDAlNb2NrIFNBTUwwIBcNMjIwMjI4\nMjE0NjM4WhgPMzAyMTA3MDEyMTQ2MzhaMDIxCzAJBgNVBAYTAlVLMQ8wDQYDVQQK\nDAZCb3h5SFExEjAQBgNVBAMMCU1vY2sgU0FNTDCCASIwDQYJKoZIhvcNAQEBBQAD\nggEPADCCAQoCggEBALGfYettMsct1T6tVUwTudNJH5Pnb9GGnkXi9Zw/e6x45DD0\nRuRONbFlJ2T4RjAE/uG+AjXxXQ8o2SZfb9+GgmCHuTJFNgHoZ1nFVXCmb/Hg8Hpd\n4vOAGXndixaReOiq3EH5XvpMjMkJ3+8+9VYMzMZOjkgQtAqO36eAFFfNKX7dTj3V\npwLkvz6/KFCq8OAwY+AUi4eZm5J57D31GzjHwfjH9WTeX0MyndmnNB1qV75qQR3b\n2/W5sGHRv+9AarggJkF+ptUkXoLtVA51wcfYm6hILptpde5FQC8RWY1YrswBWAEZ\nNfyrR4JeSweElNHg4NVOs4TwGjOPwWGqzTfgTlECAwEAATANBgkqhkiG9w0BAQsF\nAAOCAQEAAYRlYflSXAWoZpFfwNiCQVE5d9zZ0DPzNdWhAybXcTyMf0z5mDf6FWBW\n5Gyoi9u3EMEDnzLcJNkwJAAc39Apa4I2/tml+Jy29dk8bTyX6m93ngmCgdLh5Za4\nkhuU3AM3L63g7VexCuO7kwkjh/+LqdcIXsVGO6XDfu2QOs1Xpe9zIzLpwm/RNYeX\nUjbSj5ce/jekpAw7qyVVL4xOyh8AtUW1ek3wIw1MJvEgEPt0d16oshWJpoS1OT8L\nr/22SvYEo3EmSGdTVGgk3x3s+A0qWAqTcyjr7Q4s/GKYRFfomGwz0TZ4Iw1ZN99M\nm0eo2USlSRTVl7QHRTuiuSThHpLKQQ==\u003c/ds:X509Certificate\u003e\n \u003c/ds:X509Data\u003e\n \u003c/ds:KeyInfo\u003e\n \u003c/md:KeyDescriptor\u003e\n \u003cmd:NameIDFormat\u003eurn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\u003c/md:NameIDFormat\u003e\n \u003cmd:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\" Location=\"https://mocksaml.com/api/saml/sso\"/\u003e\n \u003cmd:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\" Location=\"https://mocksaml.com/api/saml/sso\"/\u003e\n \u003c/md:IDPSSODescriptor\u003e\n\u003c/md:EntityDescriptor\u003e\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:OrgIdpSaml\n properties:\n orgId: ${data.zitadel_org.default.id}\n binding: SAML_BINDING_POST\n withSignedRequest: true\n isLinkingAllowed: false\n isCreationAllowed: true\n isAutoCreation: false\n isAutoUpdate: true\n metadataXml: |\n \u003c?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?\u003e\n \u003cmd:EntityDescriptor xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\" entityID=\"https://saml.example.com/entityid\" validUntil=\"2034-05-15T14:21:58.979Z\"\u003e\n \u003cmd:IDPSSODescriptor WantAuthnRequestsSigned=\"true\" protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\"\u003e\n \u003cmd:KeyDescriptor use=\"signing\"\u003e\n \u003cds:KeyInfo xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\"\u003e\n \u003cds:X509Data\u003e\n \u003cds:X509Certificate\u003eMIIC4jCCAcoCCQC33wnybT5QZDANBgkqhkiG9w0BAQsFADAyMQswCQYDVQQGEwJV\n SzEPMA0GA1UECgwGQm94eUhRMRIwEAYDVQQDDAlNb2NrIFNBTUwwIBcNMjIwMjI4\n MjE0NjM4WhgPMzAyMTA3MDEyMTQ2MzhaMDIxCzAJBgNVBAYTAlVLMQ8wDQYDVQQK\n DAZCb3h5SFExEjAQBgNVBAMMCU1vY2sgU0FNTDCCASIwDQYJKoZIhvcNAQEBBQAD\n ggEPADCCAQoCggEBALGfYettMsct1T6tVUwTudNJH5Pnb9GGnkXi9Zw/e6x45DD0\n RuRONbFlJ2T4RjAE/uG+AjXxXQ8o2SZfb9+GgmCHuTJFNgHoZ1nFVXCmb/Hg8Hpd\n 4vOAGXndixaReOiq3EH5XvpMjMkJ3+8+9VYMzMZOjkgQtAqO36eAFFfNKX7dTj3V\n pwLkvz6/KFCq8OAwY+AUi4eZm5J57D31GzjHwfjH9WTeX0MyndmnNB1qV75qQR3b\n 2/W5sGHRv+9AarggJkF+ptUkXoLtVA51wcfYm6hILptpde5FQC8RWY1YrswBWAEZ\n NfyrR4JeSweElNHg4NVOs4TwGjOPwWGqzTfgTlECAwEAATANBgkqhkiG9w0BAQsF\n AAOCAQEAAYRlYflSXAWoZpFfwNiCQVE5d9zZ0DPzNdWhAybXcTyMf0z5mDf6FWBW\n 5Gyoi9u3EMEDnzLcJNkwJAAc39Apa4I2/tml+Jy29dk8bTyX6m93ngmCgdLh5Za4\n khuU3AM3L63g7VexCuO7kwkjh/+LqdcIXsVGO6XDfu2QOs1Xpe9zIzLpwm/RNYeX\n UjbSj5ce/jekpAw7qyVVL4xOyh8AtUW1ek3wIw1MJvEgEPt0d16oshWJpoS1OT8L\n r/22SvYEo3EmSGdTVGgk3x3s+A0qWAqTcyjr7Q4s/GKYRFfomGwz0TZ4Iw1ZN99M\n m0eo2USlSRTVl7QHRTuiuSThHpLKQQ==\u003c/ds:X509Certificate\u003e\n \u003c/ds:X509Data\u003e\n \u003c/ds:KeyInfo\u003e\n \u003c/md:KeyDescriptor\u003e\n \u003cmd:NameIDFormat\u003eurn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\u003c/md:NameIDFormat\u003e\n \u003cmd:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\" Location=\"https://mocksaml.com/api/saml/sso\"/\u003e\n \u003cmd:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\" Location=\"https://mocksaml.com/api/saml/sso\"/\u003e\n \u003c/md:IDPSSODescriptor\u003e\n \u003c/md:EntityDescriptor\u003e\n```\n\n{{% /example %}}\n{{% /examples %}}\n## Loading the XML Metadata\n\nIf you don't want to pass the XML metadata inline, you have plenty of options. For example:\n- local_file Data Source\n- http Data Source\n- terracurl_request Data Source\n- ...\n\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid[:org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/orgIdpSaml:OrgIdpSaml imported '123456789012345678:123456789012345678'\n```\n\n ", + "properties": { + "binding": { + "type": "string", + "description": "The binding, supported values: SAML*BINDING*UNSPECIFIED, SAML*BINDING*POST, SAML*BINDING*REDIRECT, SAML*BINDING*ARTIFACT\n" + }, + "isAutoCreation": { + "type": "boolean", + "description": "enable if a new account in ZITADEL should be created automatically on login with an external account\n" + }, + "isAutoUpdate": { + "type": "boolean", + "description": "enable if a the ZITADEL account fields should be updated automatically on each login\n" + }, + "isCreationAllowed": { + "type": "boolean", + "description": "enable if users should be able to create a new account in ZITADEL when using an external account\n" + }, + "isLinkingAllowed": { + "type": "boolean", + "description": "enable if users should be able to link an existing ZITADEL user with an external account\n" + }, + "metadataXml": { + "type": "string", + "description": "The metadata XML as plain string\n" + }, + "name": { + "type": "string", + "description": "Name of the IDP\n" + }, + "orgId": { + "type": "string", + "description": "ID of the organization\n" + }, + "withSignedRequest": { + "type": "boolean", + "description": "Whether the SAML IDP requires signed requests\n" + } + }, + "required": [ + "isAutoCreation", + "isAutoUpdate", + "isCreationAllowed", + "isLinkingAllowed", + "metadataXml", + "name" + ], + "inputProperties": { + "binding": { + "type": "string", + "description": "The binding, supported values: SAML*BINDING*UNSPECIFIED, SAML*BINDING*POST, SAML*BINDING*REDIRECT, SAML*BINDING*ARTIFACT\n" + }, + "isAutoCreation": { + "type": "boolean", + "description": "enable if a new account in ZITADEL should be created automatically on login with an external account\n" + }, + "isAutoUpdate": { + "type": "boolean", + "description": "enable if a the ZITADEL account fields should be updated automatically on each login\n" + }, + "isCreationAllowed": { + "type": "boolean", + "description": "enable if users should be able to create a new account in ZITADEL when using an external account\n" + }, + "isLinkingAllowed": { + "type": "boolean", + "description": "enable if users should be able to link an existing ZITADEL user with an external account\n" + }, + "metadataXml": { + "type": "string", + "description": "The metadata XML as plain string\n" + }, + "name": { + "type": "string", + "description": "Name of the IDP\n" + }, + "orgId": { + "type": "string", + "description": "ID of the organization\n", + "willReplaceOnChanges": true + }, + "withSignedRequest": { + "type": "boolean", + "description": "Whether the SAML IDP requires signed requests\n" + } + }, + "requiredInputs": [ + "isAutoCreation", + "isAutoUpdate", + "isCreationAllowed", + "isLinkingAllowed", + "metadataXml" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering OrgIdpSaml resources.\n", + "properties": { + "binding": { + "type": "string", + "description": "The binding, supported values: SAML*BINDING*UNSPECIFIED, SAML*BINDING*POST, SAML*BINDING*REDIRECT, SAML*BINDING*ARTIFACT\n" + }, + "isAutoCreation": { + "type": "boolean", + "description": "enable if a new account in ZITADEL should be created automatically on login with an external account\n" + }, + "isAutoUpdate": { + "type": "boolean", + "description": "enable if a the ZITADEL account fields should be updated automatically on each login\n" + }, + "isCreationAllowed": { + "type": "boolean", + "description": "enable if users should be able to create a new account in ZITADEL when using an external account\n" + }, + "isLinkingAllowed": { + "type": "boolean", + "description": "enable if users should be able to link an existing ZITADEL user with an external account\n" + }, + "metadataXml": { + "type": "string", + "description": "The metadata XML as plain string\n" + }, + "name": { + "type": "string", + "description": "Name of the IDP\n" + }, + "orgId": { + "type": "string", + "description": "ID of the organization\n", + "willReplaceOnChanges": true + }, + "withSignedRequest": { + "type": "boolean", + "description": "Whether the SAML IDP requires signed requests\n" + } + }, + "type": "object" + } + }, + "zitadel:index/orgMember:OrgMember": { + "description": "Resource representing the membership of a user on an organization, defined with the given role.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.OrgMember(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n userId: data.zitadel_human_user[\"default\"].id,\n roles: [\"ORG_OWNER\"],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.OrgMember(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n user_id=data[\"zitadel_human_user\"][\"default\"][\"id\"],\n roles=[\"ORG_OWNER\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.OrgMember(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n UserId = data.Zitadel_human_user.Default.Id,\n Roles = new[]\n {\n \"ORG_OWNER\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewOrgMember(ctx, \"default\", \u0026zitadel.OrgMemberArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tUserId: pulumi.Any(data.Zitadel_human_user.Default.Id),\n\t\t\tRoles: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ORG_OWNER\"),\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.zitadel.OrgMember;\nimport com.pulumi.zitadel.OrgMemberArgs;\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 default_ = new OrgMember(\"default\", OrgMemberArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .userId(data.zitadel_human_user().default().id())\n .roles(\"ORG_OWNER\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:OrgMember\n properties:\n orgId: ${data.zitadel_org.default.id}\n userId: ${data.zitadel_human_user.default.id}\n roles:\n - ORG_OWNER\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cuser_id[:org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/orgMember:OrgMember imported '123456789012345678:123456789012345678'\n```\n\n ", + "properties": { + "orgId": { + "type": "string", + "description": "ID of the organization\n" + }, + "roles": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of roles granted\n" + }, + "userId": { + "type": "string", + "description": "ID of the user\n" + } + }, "required": [ "roles", "userId" @@ -6277,6 +6965,67 @@ "type": "object" } }, + "zitadel:index/orgMetadata:OrgMetadata": { + "description": "{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.OrgMetadata(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n key: \"a_key\",\n value: \"a_value\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.OrgMetadata(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n key=\"a_key\",\n value=\"a_value\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.OrgMetadata(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n Key = \"a_key\",\n Value = \"a_value\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewOrgMetadata(ctx, \"default\", \u0026zitadel.OrgMetadataArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tKey: pulumi.String(\"a_key\"),\n\t\t\tValue: pulumi.String(\"a_value\"),\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.zitadel.OrgMetadata;\nimport com.pulumi.zitadel.OrgMetadataArgs;\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 default_ = new OrgMetadata(\"default\", OrgMetadataArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .key(\"a_key\")\n .value(\"a_value\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:OrgMetadata\n properties:\n orgId: ${data.zitadel_org.default.id}\n key: a_key\n value: a_value\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003ckey[:org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/orgMetadata:OrgMetadata imported 'a_key:123456789012345678'\n```\n\n ", + "properties": { + "key": { + "type": "string", + "description": "The key of a metadata entry\n" + }, + "orgId": { + "type": "string", + "description": "ID of the organization\n" + }, + "value": { + "type": "string", + "description": "The string representation of a metadata entry value. For binary data, use the base64encode function.\n" + } + }, + "required": [ + "key", + "value" + ], + "inputProperties": { + "key": { + "type": "string", + "description": "The key of a metadata entry\n", + "willReplaceOnChanges": true + }, + "orgId": { + "type": "string", + "description": "ID of the organization\n", + "willReplaceOnChanges": true + }, + "value": { + "type": "string", + "description": "The string representation of a metadata entry value. For binary data, use the base64encode function.\n" + } + }, + "requiredInputs": [ + "key", + "value" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering OrgMetadata resources.\n", + "properties": { + "key": { + "type": "string", + "description": "The key of a metadata entry\n", + "willReplaceOnChanges": true + }, + "orgId": { + "type": "string", + "description": "ID of the organization\n", + "willReplaceOnChanges": true + }, + "value": { + "type": "string", + "description": "The string representation of a metadata entry value. For binary data, use the base64encode function.\n" + } + }, + "type": "object" + } + }, "zitadel:index/passwordComplexityPolicy:PasswordComplexityPolicy": { "description": "Resource representing the custom password complexity policy of an organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.PasswordComplexityPolicy(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n minLength: 8,\n hasUppercase: true,\n hasLowercase: true,\n hasNumber: true,\n hasSymbol: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.PasswordComplexityPolicy(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n min_length=8,\n has_uppercase=True,\n has_lowercase=True,\n has_number=True,\n has_symbol=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.PasswordComplexityPolicy(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n MinLength = 8,\n HasUppercase = true,\n HasLowercase = true,\n HasNumber = true,\n HasSymbol = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewPasswordComplexityPolicy(ctx, \"default\", \u0026zitadel.PasswordComplexityPolicyArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tMinLength: pulumi.Int(8),\n\t\t\tHasUppercase: pulumi.Bool(true),\n\t\t\tHasLowercase: pulumi.Bool(true),\n\t\t\tHasNumber: pulumi.Bool(true),\n\t\t\tHasSymbol: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.PasswordComplexityPolicy;\nimport com.pulumi.zitadel.PasswordComplexityPolicyArgs;\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 default_ = new PasswordComplexityPolicy(\"default\", PasswordComplexityPolicyArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .minLength(\"8\")\n .hasUppercase(true)\n .hasLowercase(true)\n .hasNumber(true)\n .hasSymbol(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:PasswordComplexityPolicy\n properties:\n orgId: ${data.zitadel_org.default.id}\n minLength: '8'\n hasUppercase: true\n hasLowercase: true\n hasNumber: true\n hasSymbol: true\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { @@ -6379,7 +7128,7 @@ } }, "zitadel:index/personalAccessToken:PersonalAccessToken": { - "description": "Resource representing a personal access token of a user\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.PersonalAccessToken(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n userId: data.zitadel_machine_user[\"default\"].id,\n expirationDate: \"2519-04-01T08:45:00Z\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.PersonalAccessToken(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n user_id=data[\"zitadel_machine_user\"][\"default\"][\"id\"],\n expiration_date=\"2519-04-01T08:45:00Z\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.PersonalAccessToken(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n UserId = data.Zitadel_machine_user.Default.Id,\n ExpirationDate = \"2519-04-01T08:45:00Z\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewPersonalAccessToken(ctx, \"default\", \u0026zitadel.PersonalAccessTokenArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tUserId: pulumi.Any(data.Zitadel_machine_user.Default.Id),\n\t\t\tExpirationDate: pulumi.String(\"2519-04-01T08:45:00Z\"),\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.zitadel.PersonalAccessToken;\nimport com.pulumi.zitadel.PersonalAccessTokenArgs;\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 default_ = new PersonalAccessToken(\"default\", PersonalAccessTokenArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .userId(data.zitadel_machine_user().default().id())\n .expirationDate(\"2519-04-01T08:45:00Z\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:PersonalAccessToken\n properties:\n orgId: ${data.zitadel_org.default.id}\n userId: ${data.zitadel_machine_user.default.id}\n expirationDate: 2519-04-01T08:45:00Z\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid:user_id[:org_id][:token]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/personalAccessToken:PersonalAccessToken imported '123456789012345678:123456789012345678:123456789012345678:LHt79...'\n```\n\n ", + "description": "Resource representing a personal access token of a user\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.PersonalAccessToken(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n userId: data.zitadel_machine_user[\"default\"].id,\n expirationDate: \"2519-04-01T08:45:00Z\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.PersonalAccessToken(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n user_id=data[\"zitadel_machine_user\"][\"default\"][\"id\"],\n expiration_date=\"2519-04-01T08:45:00Z\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.PersonalAccessToken(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n UserId = data.Zitadel_machine_user.Default.Id,\n ExpirationDate = \"2519-04-01T08:45:00Z\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewPersonalAccessToken(ctx, \"default\", \u0026zitadel.PersonalAccessTokenArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tUserId: pulumi.Any(data.Zitadel_machine_user.Default.Id),\n\t\t\tExpirationDate: pulumi.String(\"2519-04-01T08:45:00Z\"),\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.zitadel.PersonalAccessToken;\nimport com.pulumi.zitadel.PersonalAccessTokenArgs;\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 default_ = new PersonalAccessToken(\"default\", PersonalAccessTokenArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .userId(data.zitadel_machine_user().default().id())\n .expirationDate(\"2519-04-01T08:45:00Z\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:PersonalAccessToken\n properties:\n orgId: ${data.zitadel_org.default.id}\n userId: ${data.zitadel_machine_user.default.id}\n expirationDate: 2519-04-01T08:45:00Z\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid:user_id[:org_id][:token]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/personalAccessToken:PersonalAccessToken imported '123456789012345678:123456789012345678:123456789012345678:LHt79...'\n```\n\n ", "properties": { "expirationDate": { "type": "string", @@ -6451,7 +7200,7 @@ } }, "zitadel:index/privacyPolicy:PrivacyPolicy": { - "description": "Resource representing the custom privacy policy of an organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.PrivacyPolicy(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n tosLink: \"https://example.com/tos\",\n privacyLink: \"https://example.com/privacy\",\n helpLink: \"https://example.com/help\",\n supportEmail: \"support@example.com\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.PrivacyPolicy(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n tos_link=\"https://example.com/tos\",\n privacy_link=\"https://example.com/privacy\",\n help_link=\"https://example.com/help\",\n support_email=\"support@example.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.PrivacyPolicy(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n TosLink = \"https://example.com/tos\",\n PrivacyLink = \"https://example.com/privacy\",\n HelpLink = \"https://example.com/help\",\n SupportEmail = \"support@example.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewPrivacyPolicy(ctx, \"default\", \u0026zitadel.PrivacyPolicyArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tTosLink: pulumi.String(\"https://example.com/tos\"),\n\t\t\tPrivacyLink: pulumi.String(\"https://example.com/privacy\"),\n\t\t\tHelpLink: pulumi.String(\"https://example.com/help\"),\n\t\t\tSupportEmail: pulumi.String(\"support@example.com\"),\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.zitadel.PrivacyPolicy;\nimport com.pulumi.zitadel.PrivacyPolicyArgs;\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 default_ = new PrivacyPolicy(\"default\", PrivacyPolicyArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .tosLink(\"https://example.com/tos\")\n .privacyLink(\"https://example.com/privacy\")\n .helpLink(\"https://example.com/help\")\n .supportEmail(\"support@example.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:PrivacyPolicy\n properties:\n orgId: ${data.zitadel_org.default.id}\n tosLink: https://example.com/tos\n privacyLink: https://example.com/privacy\n helpLink: https://example.com/help\n supportEmail: support@example.com\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003c[org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/privacyPolicy:PrivacyPolicy imported '123456789012345678'\n```\n\n ", + "description": "Resource representing the custom privacy policy of an organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.PrivacyPolicy(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n tosLink: \"https://example.com/tos\",\n privacyLink: \"https://example.com/privacy\",\n helpLink: \"https://example.com/help\",\n supportEmail: \"support@example.com\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.PrivacyPolicy(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n tos_link=\"https://example.com/tos\",\n privacy_link=\"https://example.com/privacy\",\n help_link=\"https://example.com/help\",\n support_email=\"support@example.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.PrivacyPolicy(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n TosLink = \"https://example.com/tos\",\n PrivacyLink = \"https://example.com/privacy\",\n HelpLink = \"https://example.com/help\",\n SupportEmail = \"support@example.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewPrivacyPolicy(ctx, \"default\", \u0026zitadel.PrivacyPolicyArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tTosLink: pulumi.String(\"https://example.com/tos\"),\n\t\t\tPrivacyLink: pulumi.String(\"https://example.com/privacy\"),\n\t\t\tHelpLink: pulumi.String(\"https://example.com/help\"),\n\t\t\tSupportEmail: pulumi.String(\"support@example.com\"),\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.zitadel.PrivacyPolicy;\nimport com.pulumi.zitadel.PrivacyPolicyArgs;\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 default_ = new PrivacyPolicy(\"default\", PrivacyPolicyArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .tosLink(\"https://example.com/tos\")\n .privacyLink(\"https://example.com/privacy\")\n .helpLink(\"https://example.com/help\")\n .supportEmail(\"support@example.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:PrivacyPolicy\n properties:\n orgId: ${data.zitadel_org.default.id}\n tosLink: https://example.com/tos\n privacyLink: https://example.com/privacy\n helpLink: https://example.com/help\n supportEmail: support@example.com\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003c[org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/privacyPolicy:PrivacyPolicy imported '123456789012345678'\n```\n\n ", "properties": { "helpLink": { "type": "string" @@ -6514,7 +7263,7 @@ } }, "zitadel:index/project:Project": { - "description": "Resource representing the project, which can then be granted to different organizations or users directly, containing different applications.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.Project(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n projectRoleAssertion: true,\n projectRoleCheck: true,\n hasProjectCheck: true,\n privateLabelingSetting: \"PRIVATE_LABELING_SETTING_ENFORCE_PROJECT_RESOURCE_OWNER_POLICY\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.Project(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n project_role_assertion=True,\n project_role_check=True,\n has_project_check=True,\n private_labeling_setting=\"PRIVATE_LABELING_SETTING_ENFORCE_PROJECT_RESOURCE_OWNER_POLICY\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.Project(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ProjectRoleAssertion = true,\n ProjectRoleCheck = true,\n HasProjectCheck = true,\n PrivateLabelingSetting = \"PRIVATE_LABELING_SETTING_ENFORCE_PROJECT_RESOURCE_OWNER_POLICY\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewProject(ctx, \"default\", \u0026zitadel.ProjectArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tProjectRoleAssertion: pulumi.Bool(true),\n\t\t\tProjectRoleCheck: pulumi.Bool(true),\n\t\t\tHasProjectCheck: pulumi.Bool(true),\n\t\t\tPrivateLabelingSetting: pulumi.String(\"PRIVATE_LABELING_SETTING_ENFORCE_PROJECT_RESOURCE_OWNER_POLICY\"),\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.zitadel.Project;\nimport com.pulumi.zitadel.ProjectArgs;\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 default_ = new Project(\"default\", ProjectArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .projectRoleAssertion(true)\n .projectRoleCheck(true)\n .hasProjectCheck(true)\n .privateLabelingSetting(\"PRIVATE_LABELING_SETTING_ENFORCE_PROJECT_RESOURCE_OWNER_POLICY\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:Project\n properties:\n orgId: ${data.zitadel_org.default.id}\n projectRoleAssertion: true\n projectRoleCheck: true\n hasProjectCheck: true\n privateLabelingSetting: PRIVATE_LABELING_SETTING_ENFORCE_PROJECT_RESOURCE_OWNER_POLICY\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid[:org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/project:Project imported '123456789012345678:123456789012345678'\n```\n\n ", + "description": "Resource representing the project, which can then be granted to different organizations or users directly, containing different applications.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.Project(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n projectRoleAssertion: true,\n projectRoleCheck: true,\n hasProjectCheck: true,\n privateLabelingSetting: \"PRIVATE_LABELING_SETTING_ENFORCE_PROJECT_RESOURCE_OWNER_POLICY\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.Project(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n project_role_assertion=True,\n project_role_check=True,\n has_project_check=True,\n private_labeling_setting=\"PRIVATE_LABELING_SETTING_ENFORCE_PROJECT_RESOURCE_OWNER_POLICY\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.Project(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ProjectRoleAssertion = true,\n ProjectRoleCheck = true,\n HasProjectCheck = true,\n PrivateLabelingSetting = \"PRIVATE_LABELING_SETTING_ENFORCE_PROJECT_RESOURCE_OWNER_POLICY\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewProject(ctx, \"default\", \u0026zitadel.ProjectArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tProjectRoleAssertion: pulumi.Bool(true),\n\t\t\tProjectRoleCheck: pulumi.Bool(true),\n\t\t\tHasProjectCheck: pulumi.Bool(true),\n\t\t\tPrivateLabelingSetting: pulumi.String(\"PRIVATE_LABELING_SETTING_ENFORCE_PROJECT_RESOURCE_OWNER_POLICY\"),\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.zitadel.Project;\nimport com.pulumi.zitadel.ProjectArgs;\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 default_ = new Project(\"default\", ProjectArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .projectRoleAssertion(true)\n .projectRoleCheck(true)\n .hasProjectCheck(true)\n .privateLabelingSetting(\"PRIVATE_LABELING_SETTING_ENFORCE_PROJECT_RESOURCE_OWNER_POLICY\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:Project\n properties:\n orgId: ${data.zitadel_org.default.id}\n projectRoleAssertion: true\n projectRoleCheck: true\n hasProjectCheck: true\n privateLabelingSetting: PRIVATE_LABELING_SETTING_ENFORCE_PROJECT_RESOURCE_OWNER_POLICY\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid[:org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/project:Project imported '123456789012345678:123456789012345678'\n```\n\n ", "properties": { "hasProjectCheck": { "type": "boolean", @@ -6613,7 +7362,7 @@ } }, "zitadel:index/projectGrant:ProjectGrant": { - "description": "Resource representing the grant of a project to a different organization, also containing the available roles which can be given to the members of the projectgrant.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.ProjectGrant(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n projectId: data.zitadel_project[\"default\"].id,\n grantedOrgId: data.zitadel_org.granted_org.id,\n roleKeys: [\"super-user\"],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.ProjectGrant(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n project_id=data[\"zitadel_project\"][\"default\"][\"id\"],\n granted_org_id=data[\"zitadel_org\"][\"granted_org\"][\"id\"],\n role_keys=[\"super-user\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.ProjectGrant(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ProjectId = data.Zitadel_project.Default.Id,\n GrantedOrgId = data.Zitadel_org.Granted_org.Id,\n RoleKeys = new[]\n {\n \"super-user\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewProjectGrant(ctx, \"default\", \u0026zitadel.ProjectGrantArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tProjectId: pulumi.Any(data.Zitadel_project.Default.Id),\n\t\t\tGrantedOrgId: pulumi.Any(data.Zitadel_org.Granted_org.Id),\n\t\t\tRoleKeys: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"super-user\"),\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.zitadel.ProjectGrant;\nimport com.pulumi.zitadel.ProjectGrantArgs;\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 default_ = new ProjectGrant(\"default\", ProjectGrantArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .projectId(data.zitadel_project().default().id())\n .grantedOrgId(data.zitadel_org().granted_org().id())\n .roleKeys(\"super-user\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:ProjectGrant\n properties:\n orgId: ${data.zitadel_org.default.id}\n projectId: ${data.zitadel_project.default.id}\n grantedOrgId: ${data.zitadel_org.granted_org.id}\n roleKeys:\n - super-user\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid:project_id[:org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/projectGrant:ProjectGrant imported '123456789012345678:123456789012345678:123456789012345678'\n```\n\n ", + "description": "Resource representing the grant of a project to a different organization, also containing the available roles which can be given to the members of the projectgrant.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.ProjectGrant(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n projectId: data.zitadel_project[\"default\"].id,\n grantedOrgId: data.zitadel_org.granted_org.id,\n roleKeys: [\"super-user\"],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.ProjectGrant(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n project_id=data[\"zitadel_project\"][\"default\"][\"id\"],\n granted_org_id=data[\"zitadel_org\"][\"granted_org\"][\"id\"],\n role_keys=[\"super-user\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.ProjectGrant(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ProjectId = data.Zitadel_project.Default.Id,\n GrantedOrgId = data.Zitadel_org.Granted_org.Id,\n RoleKeys = new[]\n {\n \"super-user\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewProjectGrant(ctx, \"default\", \u0026zitadel.ProjectGrantArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tProjectId: pulumi.Any(data.Zitadel_project.Default.Id),\n\t\t\tGrantedOrgId: pulumi.Any(data.Zitadel_org.Granted_org.Id),\n\t\t\tRoleKeys: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"super-user\"),\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.zitadel.ProjectGrant;\nimport com.pulumi.zitadel.ProjectGrantArgs;\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 default_ = new ProjectGrant(\"default\", ProjectGrantArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .projectId(data.zitadel_project().default().id())\n .grantedOrgId(data.zitadel_org().granted_org().id())\n .roleKeys(\"super-user\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:ProjectGrant\n properties:\n orgId: ${data.zitadel_org.default.id}\n projectId: ${data.zitadel_project.default.id}\n grantedOrgId: ${data.zitadel_org.granted_org.id}\n roleKeys:\n - super-user\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid:project_id[:org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/projectGrant:ProjectGrant imported '123456789012345678:123456789012345678:123456789012345678'\n```\n\n ", "properties": { "grantedOrgId": { "type": "string", @@ -6697,7 +7446,7 @@ } }, "zitadel:index/projectGrantMember:ProjectGrantMember": { - "description": "Resource representing the membership of a user on an granted project, defined with the given role.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.ProjectGrantMember(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n projectId: data.zitadel_project[\"default\"].id,\n userId: data.zitadel_human_user[\"default\"].id,\n grantId: \"123456789012345678\",\n roles: [\"PROJECT_GRANT_OWNER\"],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.ProjectGrantMember(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n project_id=data[\"zitadel_project\"][\"default\"][\"id\"],\n user_id=data[\"zitadel_human_user\"][\"default\"][\"id\"],\n grant_id=\"123456789012345678\",\n roles=[\"PROJECT_GRANT_OWNER\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.ProjectGrantMember(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ProjectId = data.Zitadel_project.Default.Id,\n UserId = data.Zitadel_human_user.Default.Id,\n GrantId = \"123456789012345678\",\n Roles = new[]\n {\n \"PROJECT_GRANT_OWNER\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewProjectGrantMember(ctx, \"default\", \u0026zitadel.ProjectGrantMemberArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tProjectId: pulumi.Any(data.Zitadel_project.Default.Id),\n\t\t\tUserId: pulumi.Any(data.Zitadel_human_user.Default.Id),\n\t\t\tGrantId: pulumi.String(\"123456789012345678\"),\n\t\t\tRoles: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"PROJECT_GRANT_OWNER\"),\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.zitadel.ProjectGrantMember;\nimport com.pulumi.zitadel.ProjectGrantMemberArgs;\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 default_ = new ProjectGrantMember(\"default\", ProjectGrantMemberArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .projectId(data.zitadel_project().default().id())\n .userId(data.zitadel_human_user().default().id())\n .grantId(\"123456789012345678\")\n .roles(\"PROJECT_GRANT_OWNER\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:ProjectGrantMember\n properties:\n orgId: ${data.zitadel_org.default.id}\n projectId: ${data.zitadel_project.default.id}\n userId: ${data.zitadel_human_user.default.id}\n grantId: '123456789012345678'\n roles:\n - PROJECT_GRANT_OWNER\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cproject_id:grant_id:user_id[:org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/projectGrantMember:ProjectGrantMember imported '123456789012345678:123456789012345678:123456789012345678:123456789012345678'\n```\n\n ", + "description": "Resource representing the membership of a user on an granted project, defined with the given role.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.ProjectGrantMember(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n projectId: data.zitadel_project[\"default\"].id,\n userId: data.zitadel_human_user[\"default\"].id,\n grantId: \"123456789012345678\",\n roles: [\"PROJECT_GRANT_OWNER\"],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.ProjectGrantMember(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n project_id=data[\"zitadel_project\"][\"default\"][\"id\"],\n user_id=data[\"zitadel_human_user\"][\"default\"][\"id\"],\n grant_id=\"123456789012345678\",\n roles=[\"PROJECT_GRANT_OWNER\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.ProjectGrantMember(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ProjectId = data.Zitadel_project.Default.Id,\n UserId = data.Zitadel_human_user.Default.Id,\n GrantId = \"123456789012345678\",\n Roles = new[]\n {\n \"PROJECT_GRANT_OWNER\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewProjectGrantMember(ctx, \"default\", \u0026zitadel.ProjectGrantMemberArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tProjectId: pulumi.Any(data.Zitadel_project.Default.Id),\n\t\t\tUserId: pulumi.Any(data.Zitadel_human_user.Default.Id),\n\t\t\tGrantId: pulumi.String(\"123456789012345678\"),\n\t\t\tRoles: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"PROJECT_GRANT_OWNER\"),\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.zitadel.ProjectGrantMember;\nimport com.pulumi.zitadel.ProjectGrantMemberArgs;\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 default_ = new ProjectGrantMember(\"default\", ProjectGrantMemberArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .projectId(data.zitadel_project().default().id())\n .userId(data.zitadel_human_user().default().id())\n .grantId(\"123456789012345678\")\n .roles(\"PROJECT_GRANT_OWNER\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:ProjectGrantMember\n properties:\n orgId: ${data.zitadel_org.default.id}\n projectId: ${data.zitadel_project.default.id}\n userId: ${data.zitadel_human_user.default.id}\n grantId: '123456789012345678'\n roles:\n - PROJECT_GRANT_OWNER\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cproject_id:grant_id:user_id[:org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/projectGrantMember:ProjectGrantMember imported '123456789012345678:123456789012345678:123456789012345678:123456789012345678'\n```\n\n ", "properties": { "grantId": { "type": "string", @@ -6799,7 +7548,7 @@ } }, "zitadel:index/projectMember:ProjectMember": { - "description": "Resource representing the membership of a user on an project, defined with the given role.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.ProjectMember(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n projectId: data.zitadel_project[\"default\"].id,\n userId: data.zitadel_human_user[\"default\"].id,\n roles: [\"PROJECT_OWNER\"],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.ProjectMember(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n project_id=data[\"zitadel_project\"][\"default\"][\"id\"],\n user_id=data[\"zitadel_human_user\"][\"default\"][\"id\"],\n roles=[\"PROJECT_OWNER\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.ProjectMember(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ProjectId = data.Zitadel_project.Default.Id,\n UserId = data.Zitadel_human_user.Default.Id,\n Roles = new[]\n {\n \"PROJECT_OWNER\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewProjectMember(ctx, \"default\", \u0026zitadel.ProjectMemberArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tProjectId: pulumi.Any(data.Zitadel_project.Default.Id),\n\t\t\tUserId: pulumi.Any(data.Zitadel_human_user.Default.Id),\n\t\t\tRoles: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"PROJECT_OWNER\"),\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.zitadel.ProjectMember;\nimport com.pulumi.zitadel.ProjectMemberArgs;\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 default_ = new ProjectMember(\"default\", ProjectMemberArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .projectId(data.zitadel_project().default().id())\n .userId(data.zitadel_human_user().default().id())\n .roles(\"PROJECT_OWNER\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:ProjectMember\n properties:\n orgId: ${data.zitadel_org.default.id}\n projectId: ${data.zitadel_project.default.id}\n userId: ${data.zitadel_human_user.default.id}\n roles:\n - PROJECT_OWNER\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cproject_id:user_id[:org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/projectMember:ProjectMember imported '123456789012345678:123456789012345678:123456789012345678'\n```\n\n ", + "description": "Resource representing the membership of a user on an project, defined with the given role.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.ProjectMember(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n projectId: data.zitadel_project[\"default\"].id,\n userId: data.zitadel_human_user[\"default\"].id,\n roles: [\"PROJECT_OWNER\"],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.ProjectMember(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n project_id=data[\"zitadel_project\"][\"default\"][\"id\"],\n user_id=data[\"zitadel_human_user\"][\"default\"][\"id\"],\n roles=[\"PROJECT_OWNER\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.ProjectMember(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ProjectId = data.Zitadel_project.Default.Id,\n UserId = data.Zitadel_human_user.Default.Id,\n Roles = new[]\n {\n \"PROJECT_OWNER\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewProjectMember(ctx, \"default\", \u0026zitadel.ProjectMemberArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tProjectId: pulumi.Any(data.Zitadel_project.Default.Id),\n\t\t\tUserId: pulumi.Any(data.Zitadel_human_user.Default.Id),\n\t\t\tRoles: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"PROJECT_OWNER\"),\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.zitadel.ProjectMember;\nimport com.pulumi.zitadel.ProjectMemberArgs;\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 default_ = new ProjectMember(\"default\", ProjectMemberArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .projectId(data.zitadel_project().default().id())\n .userId(data.zitadel_human_user().default().id())\n .roles(\"PROJECT_OWNER\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:ProjectMember\n properties:\n orgId: ${data.zitadel_org.default.id}\n projectId: ${data.zitadel_project.default.id}\n userId: ${data.zitadel_human_user.default.id}\n roles:\n - PROJECT_OWNER\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cproject_id:user_id[:org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/projectMember:ProjectMember imported '123456789012345678:123456789012345678:123456789012345678'\n```\n\n ", "properties": { "orgId": { "type": "string", @@ -6885,7 +7634,7 @@ } }, "zitadel:index/projectRole:ProjectRole": { - "description": "Resource representing the project roles, which can be given as authorizations to users.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.ProjectRole(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n projectId: data.zitadel_project[\"default\"].id,\n roleKey: \"super-user\",\n displayName: \"display_name2\",\n group: \"role_group\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.ProjectRole(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n project_id=data[\"zitadel_project\"][\"default\"][\"id\"],\n role_key=\"super-user\",\n display_name=\"display_name2\",\n group=\"role_group\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.ProjectRole(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ProjectId = data.Zitadel_project.Default.Id,\n RoleKey = \"super-user\",\n DisplayName = \"display_name2\",\n Group = \"role_group\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewProjectRole(ctx, \"default\", \u0026zitadel.ProjectRoleArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tProjectId: pulumi.Any(data.Zitadel_project.Default.Id),\n\t\t\tRoleKey: pulumi.String(\"super-user\"),\n\t\t\tDisplayName: pulumi.String(\"display_name2\"),\n\t\t\tGroup: pulumi.String(\"role_group\"),\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.zitadel.ProjectRole;\nimport com.pulumi.zitadel.ProjectRoleArgs;\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 default_ = new ProjectRole(\"default\", ProjectRoleArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .projectId(data.zitadel_project().default().id())\n .roleKey(\"super-user\")\n .displayName(\"display_name2\")\n .group(\"role_group\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:ProjectRole\n properties:\n orgId: ${data.zitadel_org.default.id}\n projectId: ${data.zitadel_project.default.id}\n roleKey: super-user\n displayName: display_name2\n group: role_group\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cproject_id:role_key[:org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/projectRole:ProjectRole imported '123456789012345678:my-role-key:123456789012345678'\n```\n\n ", + "description": "Resource representing the project roles, which can be given as authorizations to users.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.ProjectRole(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n projectId: data.zitadel_project[\"default\"].id,\n roleKey: \"super-user\",\n displayName: \"display_name2\",\n group: \"role_group\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.ProjectRole(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n project_id=data[\"zitadel_project\"][\"default\"][\"id\"],\n role_key=\"super-user\",\n display_name=\"display_name2\",\n group=\"role_group\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.ProjectRole(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ProjectId = data.Zitadel_project.Default.Id,\n RoleKey = \"super-user\",\n DisplayName = \"display_name2\",\n Group = \"role_group\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewProjectRole(ctx, \"default\", \u0026zitadel.ProjectRoleArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tProjectId: pulumi.Any(data.Zitadel_project.Default.Id),\n\t\t\tRoleKey: pulumi.String(\"super-user\"),\n\t\t\tDisplayName: pulumi.String(\"display_name2\"),\n\t\t\tGroup: pulumi.String(\"role_group\"),\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.zitadel.ProjectRole;\nimport com.pulumi.zitadel.ProjectRoleArgs;\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 default_ = new ProjectRole(\"default\", ProjectRoleArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .projectId(data.zitadel_project().default().id())\n .roleKey(\"super-user\")\n .displayName(\"display_name2\")\n .group(\"role_group\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:ProjectRole\n properties:\n orgId: ${data.zitadel_org.default.id}\n projectId: ${data.zitadel_project.default.id}\n roleKey: super-user\n displayName: display_name2\n group: role_group\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cproject_id:role_key[:org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/projectRole:ProjectRole imported '123456789012345678:my-role-key:123456789012345678'\n```\n\n ", "properties": { "displayName": { "type": "string", @@ -6974,7 +7723,7 @@ } }, "zitadel:index/smsProviderTwilio:SmsProviderTwilio": { - "description": "Resource representing the SMS provider Twilio configuration of an instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.SmsProviderTwilio(\"default\", {\n senderNumber: \"019920892\",\n sid: \"sid\",\n token: \"twilio_token\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.SmsProviderTwilio(\"default\",\n sender_number=\"019920892\",\n sid=\"sid\",\n token=\"twilio_token\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.SmsProviderTwilio(\"default\", new()\n {\n SenderNumber = \"019920892\",\n Sid = \"sid\",\n Token = \"twilio_token\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewSmsProviderTwilio(ctx, \"default\", \u0026zitadel.SmsProviderTwilioArgs{\n\t\t\tSenderNumber: pulumi.String(\"019920892\"),\n\t\t\tSid: pulumi.String(\"sid\"),\n\t\t\tToken: pulumi.String(\"twilio_token\"),\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.zitadel.SmsProviderTwilio;\nimport com.pulumi.zitadel.SmsProviderTwilioArgs;\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 default_ = new SmsProviderTwilio(\"default\", SmsProviderTwilioArgs.builder() \n .senderNumber(\"019920892\")\n .sid(\"sid\")\n .token(\"twilio_token\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:SmsProviderTwilio\n properties:\n senderNumber: '019920892'\n sid: sid\n token: twilio_token\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid[:token]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/smsProviderTwilio:SmsProviderTwilio imported '123456789012345678:12345678901234567890123456abcdef'\n```\n\n ", + "description": "Resource representing the SMS provider Twilio configuration of an instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.SmsProviderTwilio(\"default\", {\n senderNumber: \"019920892\",\n sid: \"sid\",\n token: \"twilio_token\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.SmsProviderTwilio(\"default\",\n sender_number=\"019920892\",\n sid=\"sid\",\n token=\"twilio_token\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.SmsProviderTwilio(\"default\", new()\n {\n SenderNumber = \"019920892\",\n Sid = \"sid\",\n Token = \"twilio_token\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewSmsProviderTwilio(ctx, \"default\", \u0026zitadel.SmsProviderTwilioArgs{\n\t\t\tSenderNumber: pulumi.String(\"019920892\"),\n\t\t\tSid: pulumi.String(\"sid\"),\n\t\t\tToken: pulumi.String(\"twilio_token\"),\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.zitadel.SmsProviderTwilio;\nimport com.pulumi.zitadel.SmsProviderTwilioArgs;\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 default_ = new SmsProviderTwilio(\"default\", SmsProviderTwilioArgs.builder() \n .senderNumber(\"019920892\")\n .sid(\"sid\")\n .token(\"twilio_token\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:SmsProviderTwilio\n properties:\n senderNumber: '019920892'\n sid: sid\n token: twilio_token\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid[:token]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/smsProviderTwilio:SmsProviderTwilio imported '123456789012345678:12345678901234567890123456abcdef'\n```\n\n ", "properties": { "senderNumber": { "type": "string", @@ -7036,7 +7785,7 @@ } }, "zitadel:index/smtpConfig:SmtpConfig": { - "description": "Resource representing the SMTP configuration of an instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.SmtpConfig(\"default\", {\n host: \"localhost:25\",\n password: \"secret_password\",\n replyToAddress: \"replyto@example.com\",\n senderAddress: \"sender@example.com\",\n senderName: \"no-reply\",\n tls: true,\n user: \"user\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.SmtpConfig(\"default\",\n host=\"localhost:25\",\n password=\"secret_password\",\n reply_to_address=\"replyto@example.com\",\n sender_address=\"sender@example.com\",\n sender_name=\"no-reply\",\n tls=True,\n user=\"user\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.SmtpConfig(\"default\", new()\n {\n Host = \"localhost:25\",\n Password = \"secret_password\",\n ReplyToAddress = \"replyto@example.com\",\n SenderAddress = \"sender@example.com\",\n SenderName = \"no-reply\",\n Tls = true,\n User = \"user\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewSmtpConfig(ctx, \"default\", \u0026zitadel.SmtpConfigArgs{\n\t\t\tHost: pulumi.String(\"localhost:25\"),\n\t\t\tPassword: pulumi.String(\"secret_password\"),\n\t\t\tReplyToAddress: pulumi.String(\"replyto@example.com\"),\n\t\t\tSenderAddress: pulumi.String(\"sender@example.com\"),\n\t\t\tSenderName: pulumi.String(\"no-reply\"),\n\t\t\tTls: pulumi.Bool(true),\n\t\t\tUser: pulumi.String(\"user\"),\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.zitadel.SmtpConfig;\nimport com.pulumi.zitadel.SmtpConfigArgs;\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 default_ = new SmtpConfig(\"default\", SmtpConfigArgs.builder() \n .host(\"localhost:25\")\n .password(\"secret_password\")\n .replyToAddress(\"replyto@example.com\")\n .senderAddress(\"sender@example.com\")\n .senderName(\"no-reply\")\n .tls(true)\n .user(\"user\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:SmtpConfig\n properties:\n host: localhost:25\n password: secret_password\n replyToAddress: replyto@example.com\n senderAddress: sender@example.com\n senderName: no-reply\n tls: true\n user: user\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003c[password]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/smtpConfig:SmtpConfig imported 'p4ssw0rd'\n```\n\n ", + "description": "Resource representing the SMTP configuration of an instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.SmtpConfig(\"default\", {\n host: \"localhost:25\",\n password: \"secret_password\",\n replyToAddress: \"replyto@example.com\",\n senderAddress: \"sender@example.com\",\n senderName: \"no-reply\",\n tls: true,\n user: \"user\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.SmtpConfig(\"default\",\n host=\"localhost:25\",\n password=\"secret_password\",\n reply_to_address=\"replyto@example.com\",\n sender_address=\"sender@example.com\",\n sender_name=\"no-reply\",\n tls=True,\n user=\"user\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.SmtpConfig(\"default\", new()\n {\n Host = \"localhost:25\",\n Password = \"secret_password\",\n ReplyToAddress = \"replyto@example.com\",\n SenderAddress = \"sender@example.com\",\n SenderName = \"no-reply\",\n Tls = true,\n User = \"user\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewSmtpConfig(ctx, \"default\", \u0026zitadel.SmtpConfigArgs{\n\t\t\tHost: pulumi.String(\"localhost:25\"),\n\t\t\tPassword: pulumi.String(\"secret_password\"),\n\t\t\tReplyToAddress: pulumi.String(\"replyto@example.com\"),\n\t\t\tSenderAddress: pulumi.String(\"sender@example.com\"),\n\t\t\tSenderName: pulumi.String(\"no-reply\"),\n\t\t\tTls: pulumi.Bool(true),\n\t\t\tUser: pulumi.String(\"user\"),\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.zitadel.SmtpConfig;\nimport com.pulumi.zitadel.SmtpConfigArgs;\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 default_ = new SmtpConfig(\"default\", SmtpConfigArgs.builder() \n .host(\"localhost:25\")\n .password(\"secret_password\")\n .replyToAddress(\"replyto@example.com\")\n .senderAddress(\"sender@example.com\")\n .senderName(\"no-reply\")\n .tls(true)\n .user(\"user\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:SmtpConfig\n properties:\n host: localhost:25\n password: secret_password\n replyToAddress: replyto@example.com\n senderAddress: sender@example.com\n senderName: no-reply\n tls: true\n user: user\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003c[password]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/smtpConfig:SmtpConfig imported 'p4ssw0rd'\n```\n\n ", "properties": { "host": { "type": "string", @@ -7146,7 +7895,7 @@ } }, "zitadel:index/triggerActions:TriggerActions": { - "description": "Resource representing triggers, when actions get started\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.TriggerActions(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n flowType: \"FLOW_TYPE_CUSTOMISE_TOKEN\",\n triggerType: \"TRIGGER_TYPE_PRE_ACCESS_TOKEN_CREATION\",\n actionIds: [data.zitadel_action[\"default\"].id],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.TriggerActions(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n flow_type=\"FLOW_TYPE_CUSTOMISE_TOKEN\",\n trigger_type=\"TRIGGER_TYPE_PRE_ACCESS_TOKEN_CREATION\",\n action_ids=[data[\"zitadel_action\"][\"default\"][\"id\"]])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.TriggerActions(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n FlowType = \"FLOW_TYPE_CUSTOMISE_TOKEN\",\n TriggerType = \"TRIGGER_TYPE_PRE_ACCESS_TOKEN_CREATION\",\n ActionIds = new[]\n {\n data.Zitadel_action.Default.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewTriggerActions(ctx, \"default\", \u0026zitadel.TriggerActionsArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tFlowType: pulumi.String(\"FLOW_TYPE_CUSTOMISE_TOKEN\"),\n\t\t\tTriggerType: pulumi.String(\"TRIGGER_TYPE_PRE_ACCESS_TOKEN_CREATION\"),\n\t\t\tActionIds: pulumi.StringArray{\n\t\t\t\tdata.Zitadel_action.Default.Id,\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.zitadel.TriggerActions;\nimport com.pulumi.zitadel.TriggerActionsArgs;\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 default_ = new TriggerActions(\"default\", TriggerActionsArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .flowType(\"FLOW_TYPE_CUSTOMISE_TOKEN\")\n .triggerType(\"TRIGGER_TYPE_PRE_ACCESS_TOKEN_CREATION\")\n .actionIds(data.zitadel_action().default().id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:TriggerActions\n properties:\n orgId: ${data.zitadel_org.default.id}\n flowType: FLOW_TYPE_CUSTOMISE_TOKEN\n triggerType: TRIGGER_TYPE_PRE_ACCESS_TOKEN_CREATION\n actionIds:\n - ${data.zitadel_action.default.id}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cflow_type:trigger_type[:org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/triggerActions:TriggerActions imported 'FLOW_TYPE_EXTERNAL_AUTHENTICATION:TRIGGER_TYPE_POST_CREATION:123456789012345678'\n```\n\n ", + "description": "Resource representing triggers, when actions get started\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.TriggerActions(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n flowType: \"FLOW_TYPE_CUSTOMISE_TOKEN\",\n triggerType: \"TRIGGER_TYPE_PRE_ACCESS_TOKEN_CREATION\",\n actionIds: [data.zitadel_action[\"default\"].id],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.TriggerActions(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n flow_type=\"FLOW_TYPE_CUSTOMISE_TOKEN\",\n trigger_type=\"TRIGGER_TYPE_PRE_ACCESS_TOKEN_CREATION\",\n action_ids=[data[\"zitadel_action\"][\"default\"][\"id\"]])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.TriggerActions(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n FlowType = \"FLOW_TYPE_CUSTOMISE_TOKEN\",\n TriggerType = \"TRIGGER_TYPE_PRE_ACCESS_TOKEN_CREATION\",\n ActionIds = new[]\n {\n data.Zitadel_action.Default.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewTriggerActions(ctx, \"default\", \u0026zitadel.TriggerActionsArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tFlowType: pulumi.String(\"FLOW_TYPE_CUSTOMISE_TOKEN\"),\n\t\t\tTriggerType: pulumi.String(\"TRIGGER_TYPE_PRE_ACCESS_TOKEN_CREATION\"),\n\t\t\tActionIds: pulumi.StringArray{\n\t\t\t\tdata.Zitadel_action.Default.Id,\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.zitadel.TriggerActions;\nimport com.pulumi.zitadel.TriggerActionsArgs;\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 default_ = new TriggerActions(\"default\", TriggerActionsArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .flowType(\"FLOW_TYPE_CUSTOMISE_TOKEN\")\n .triggerType(\"TRIGGER_TYPE_PRE_ACCESS_TOKEN_CREATION\")\n .actionIds(data.zitadel_action().default().id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:TriggerActions\n properties:\n orgId: ${data.zitadel_org.default.id}\n flowType: FLOW_TYPE_CUSTOMISE_TOKEN\n triggerType: TRIGGER_TYPE_PRE_ACCESS_TOKEN_CREATION\n actionIds:\n - ${data.zitadel_action.default.id}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cflow_type:trigger_type[:org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/triggerActions:TriggerActions imported 'FLOW_TYPE_EXTERNAL_AUTHENTICATION:TRIGGER_TYPE_POST_CREATION:123456789012345678'\n```\n\n ", "properties": { "actionIds": { "type": "array", @@ -7232,7 +7981,7 @@ } }, "zitadel:index/userGrant:UserGrant": { - "description": "Resource representing the authorization given to a user directly, including the given roles.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.UserGrant(\"default\", {\n projectId: data.zitadel_project[\"default\"].id,\n orgId: data.zitadel_org[\"default\"].id,\n roleKeys: [\"super-user\"],\n userId: data.zitadel_human_user[\"default\"].id,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.UserGrant(\"default\",\n project_id=data[\"zitadel_project\"][\"default\"][\"id\"],\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n role_keys=[\"super-user\"],\n user_id=data[\"zitadel_human_user\"][\"default\"][\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.UserGrant(\"default\", new()\n {\n ProjectId = data.Zitadel_project.Default.Id,\n OrgId = data.Zitadel_org.Default.Id,\n RoleKeys = new[]\n {\n \"super-user\",\n },\n UserId = data.Zitadel_human_user.Default.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewUserGrant(ctx, \"default\", \u0026zitadel.UserGrantArgs{\n\t\t\tProjectId: pulumi.Any(data.Zitadel_project.Default.Id),\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tRoleKeys: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"super-user\"),\n\t\t\t},\n\t\t\tUserId: pulumi.Any(data.Zitadel_human_user.Default.Id),\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.zitadel.UserGrant;\nimport com.pulumi.zitadel.UserGrantArgs;\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 default_ = new UserGrant(\"default\", UserGrantArgs.builder() \n .projectId(data.zitadel_project().default().id())\n .orgId(data.zitadel_org().default().id())\n .roleKeys(\"super-user\")\n .userId(data.zitadel_human_user().default().id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:UserGrant\n properties:\n projectId: ${data.zitadel_project.default.id}\n orgId: ${data.zitadel_org.default.id}\n roleKeys:\n - super-user\n userId: ${data.zitadel_human_user.default.id}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cflow_type:trigger_type[:org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/userGrant:UserGrant imported '123456789012345678:123456789012345678:123456789012345678'\n```\n\n ", + "description": "Resource representing the authorization given to a user directly, including the given roles.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.UserGrant(\"default\", {\n projectId: data.zitadel_project[\"default\"].id,\n orgId: data.zitadel_org[\"default\"].id,\n roleKeys: [\"super-user\"],\n userId: data.zitadel_human_user[\"default\"].id,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.UserGrant(\"default\",\n project_id=data[\"zitadel_project\"][\"default\"][\"id\"],\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n role_keys=[\"super-user\"],\n user_id=data[\"zitadel_human_user\"][\"default\"][\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.UserGrant(\"default\", new()\n {\n ProjectId = data.Zitadel_project.Default.Id,\n OrgId = data.Zitadel_org.Default.Id,\n RoleKeys = new[]\n {\n \"super-user\",\n },\n UserId = data.Zitadel_human_user.Default.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewUserGrant(ctx, \"default\", \u0026zitadel.UserGrantArgs{\n\t\t\tProjectId: pulumi.Any(data.Zitadel_project.Default.Id),\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tRoleKeys: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"super-user\"),\n\t\t\t},\n\t\t\tUserId: pulumi.Any(data.Zitadel_human_user.Default.Id),\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.zitadel.UserGrant;\nimport com.pulumi.zitadel.UserGrantArgs;\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 default_ = new UserGrant(\"default\", UserGrantArgs.builder() \n .projectId(data.zitadel_project().default().id())\n .orgId(data.zitadel_org().default().id())\n .roleKeys(\"super-user\")\n .userId(data.zitadel_human_user().default().id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:UserGrant\n properties:\n projectId: ${data.zitadel_project.default.id}\n orgId: ${data.zitadel_org.default.id}\n roleKeys:\n - super-user\n userId: ${data.zitadel_human_user.default.id}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cflow_type:trigger_type[:org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/userGrant:UserGrant imported '123456789012345678:123456789012345678:123456789012345678'\n```\n\n ", "properties": { "orgId": { "type": "string", @@ -7269,59 +8018,136 @@ }, "projectGrantId": { "type": "string", - "description": "ID of the granted project\n", + "description": "ID of the granted project\n", + "willReplaceOnChanges": true + }, + "projectId": { + "type": "string", + "description": "ID of the project\n", + "willReplaceOnChanges": true + }, + "roleKeys": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of roles granted\n" + }, + "userId": { + "type": "string", + "description": "ID of the user\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "userId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering UserGrant resources.\n", + "properties": { + "orgId": { + "type": "string", + "description": "ID of the organization\n", + "willReplaceOnChanges": true + }, + "projectGrantId": { + "type": "string", + "description": "ID of the granted project\n", + "willReplaceOnChanges": true + }, + "projectId": { + "type": "string", + "description": "ID of the project\n", + "willReplaceOnChanges": true + }, + "roleKeys": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of roles granted\n" + }, + "userId": { + "type": "string", + "description": "ID of the user\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + }, + "zitadel:index/userMetadata:UserMetadata": { + "description": "{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.UserMetadata(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n userId: data.zitadel_human_user[\"default\"].id,\n key: \"a_key\",\n value: \"a_value\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.UserMetadata(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n user_id=data[\"zitadel_human_user\"][\"default\"][\"id\"],\n key=\"a_key\",\n value=\"a_value\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.UserMetadata(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n UserId = data.Zitadel_human_user.Default.Id,\n Key = \"a_key\",\n Value = \"a_value\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewUserMetadata(ctx, \"default\", \u0026zitadel.UserMetadataArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tUserId: pulumi.Any(data.Zitadel_human_user.Default.Id),\n\t\t\tKey: pulumi.String(\"a_key\"),\n\t\t\tValue: pulumi.String(\"a_value\"),\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.zitadel.UserMetadata;\nimport com.pulumi.zitadel.UserMetadataArgs;\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 default_ = new UserMetadata(\"default\", UserMetadataArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .userId(data.zitadel_human_user().default().id())\n .key(\"a_key\")\n .value(\"a_value\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:UserMetadata\n properties:\n orgId: ${data.zitadel_org.default.id}\n userId: ${data.zitadel_human_user.default.id}\n key: a_key\n value: a_value\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cuser_id:key[:org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/userMetadata:UserMetadata imported '123456789012345678:a_key:123456789012345678'\n```\n\n ", + "properties": { + "key": { + "type": "string", + "description": "The key of a metadata entry\n" + }, + "orgId": { + "type": "string", + "description": "ID of the organization\n" + }, + "userId": { + "type": "string", + "description": "ID of the user\n" + }, + "value": { + "type": "string", + "description": "The string representation of a metadata entry value. For binary data, use the base64encode function.\n" + } + }, + "required": [ + "key", + "userId", + "value" + ], + "inputProperties": { + "key": { + "type": "string", + "description": "The key of a metadata entry\n", "willReplaceOnChanges": true }, - "projectId": { + "orgId": { "type": "string", - "description": "ID of the project\n", + "description": "ID of the organization\n", "willReplaceOnChanges": true }, - "roleKeys": { - "type": "array", - "items": { - "type": "string" - }, - "description": "List of roles granted\n" - }, "userId": { "type": "string", "description": "ID of the user\n", "willReplaceOnChanges": true + }, + "value": { + "type": "string", + "description": "The string representation of a metadata entry value. For binary data, use the base64encode function.\n" } }, "requiredInputs": [ - "userId" + "key", + "userId", + "value" ], "stateInputs": { - "description": "Input properties used for looking up and filtering UserGrant resources.\n", + "description": "Input properties used for looking up and filtering UserMetadata resources.\n", "properties": { - "orgId": { - "type": "string", - "description": "ID of the organization\n", - "willReplaceOnChanges": true - }, - "projectGrantId": { + "key": { "type": "string", - "description": "ID of the granted project\n", + "description": "The key of a metadata entry\n", "willReplaceOnChanges": true }, - "projectId": { + "orgId": { "type": "string", - "description": "ID of the project\n", + "description": "ID of the organization\n", "willReplaceOnChanges": true }, - "roleKeys": { - "type": "array", - "items": { - "type": "string" - }, - "description": "List of roles granted\n" - }, "userId": { "type": "string", "description": "ID of the user\n", "willReplaceOnChanges": true + }, + "value": { + "type": "string", + "description": "The string representation of a metadata entry value. For binary data, use the base64encode function.\n" } }, "type": "object" @@ -7430,6 +8256,10 @@ "type": "string", "description": "Auth method type\n" }, + "clientId": { + "type": "string", + "secret": true + }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" @@ -7451,6 +8281,7 @@ "required": [ "appId", "authMethodType", + "clientId", "name", "projectId", "id" @@ -7579,6 +8410,10 @@ "type": "string", "description": "Auth method type\n" }, + "clientId": { + "type": "string", + "secret": true + }, "clockSkew": { "type": "string", "description": "Clockskew\n" @@ -7652,6 +8487,7 @@ "appId", "appType", "authMethodType", + "clientId", "clockSkew", "devMode", "grantTypes", @@ -8546,9 +9382,243 @@ "type": "string", "description": "The ID of this resource.\n" }, - "idAttribute": { + "idAttribute": { + "type": "string", + "description": "User attribute for the id\n" + }, + "isAutoCreation": { + "type": "boolean", + "description": "enabled if a new account in ZITADEL are created automatically on login with an external account\n" + }, + "isAutoUpdate": { + "type": "boolean", + "description": "enabled if a the ZITADEL account fields are updated automatically on each login\n" + }, + "isCreationAllowed": { + "type": "boolean", + "description": "enabled if users are able to create a new account in ZITADEL when using an external account\n" + }, + "isLinkingAllowed": { + "type": "boolean", + "description": "enabled if users are able to link an existing ZITADEL user with an external account\n" + }, + "lastNameAttribute": { + "type": "string", + "description": "User attribute for the last name\n" + }, + "name": { + "type": "string", + "description": "Name of the IDP\n" + }, + "nickNameAttribute": { + "type": "string", + "description": "User attribute for the nick name\n" + }, + "phoneAttribute": { + "type": "string", + "description": "User attribute for the phone\n" + }, + "phoneVerifiedAttribute": { + "type": "string", + "description": "User attribute for the phone verified state\n" + }, + "preferredLanguageAttribute": { + "type": "string", + "description": "User attribute for the preferred language\n" + }, + "preferredUsernameAttribute": { + "type": "string", + "description": "User attribute for the preferred username\n" + }, + "profileAttribute": { + "type": "string", + "description": "User attribute for the profile\n" + }, + "servers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Servers to try in order for establishing LDAP connections\n" + }, + "startTls": { + "type": "boolean", + "description": "Wether to use StartTLS for LDAP connections\n" + }, + "timeout": { + "type": "string", + "description": "Timeout for LDAP connections\n" + }, + "userBase": { + "type": "string", + "description": "User base for LDAP connections\n" + }, + "userFilters": { + "type": "array", + "items": { + "type": "string" + }, + "description": "User filters for LDAP connections\n" + }, + "userObjectClasses": { + "type": "array", + "items": { + "type": "string" + }, + "description": "User object classes for LDAP connections\n" + } + }, + "type": "object", + "required": [ + "avatarUrlAttribute", + "baseDn", + "bindDn", + "bindPassword", + "displayNameAttribute", + "emailAttribute", + "emailVerifiedAttribute", + "firstNameAttribute", + "id", + "idAttribute", + "isAutoCreation", + "isAutoUpdate", + "isCreationAllowed", + "isLinkingAllowed", + "lastNameAttribute", + "name", + "nickNameAttribute", + "phoneAttribute", + "phoneVerifiedAttribute", + "preferredLanguageAttribute", + "preferredUsernameAttribute", + "profileAttribute", + "servers", + "startTls", + "timeout", + "userBase", + "userFilters", + "userObjectClasses" + ] + } + }, + "zitadel:index/getIdpOauth:getIdpOauth": { + "description": "Datasource representing a generic OAuth2 IDP on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getIdpOauth({\n id: \"123456789012345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_idp_oauth(id=\"123456789012345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetIdpOauth.Invoke(new()\n {\n Id = \"123456789012345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.LookupIdpOauth(ctx, \u0026zitadel.LookupIdpOauthArgs{\n\t\t\tId: \"123456789012345678\",\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.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetIdpOauthArgs;\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 default = ZitadelFunctions.getIdpOauth(GetIdpOauthArgs.builder()\n .id(\"123456789012345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getIdpOauth\n Arguments:\n id: '123456789012345678'\n```\n{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getIdpOauth.\n", + "properties": { + "id": { + "type": "string", + "description": "The ID of this resource.\n" + } + }, + "type": "object", + "required": [ + "id" + ] + }, + "outputs": { + "description": "A collection of values returned by getIdpOauth.\n", + "properties": { + "authorizationEndpoint": { + "type": "string", + "description": "The authorization endpoint\n" + }, + "clientId": { + "type": "string", + "description": "client id generated by the identity provider\n" + }, + "clientSecret": { + "type": "string", + "description": "client secret generated by the identity provider\n", + "secret": true + }, + "id": { + "type": "string", + "description": "The ID of this resource.\n" + }, + "idAttribute": { + "type": "string", + "description": "The id attribute\n" + }, + "isAutoCreation": { + "type": "boolean", + "description": "enabled if a new account in ZITADEL are created automatically on login with an external account\n" + }, + "isAutoUpdate": { + "type": "boolean", + "description": "enabled if a the ZITADEL account fields are updated automatically on each login\n" + }, + "isCreationAllowed": { + "type": "boolean", + "description": "enabled if users are able to create a new account in ZITADEL when using an external account\n" + }, + "isLinkingAllowed": { + "type": "boolean", + "description": "enabled if users are able to link an existing ZITADEL user with an external account\n" + }, + "name": { + "type": "string", + "description": "Name of the IDP\n" + }, + "scopes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "the scopes requested by ZITADEL during the request on the identity provider\n" + }, + "tokenEndpoint": { + "type": "string", + "description": "The token endpoint\n" + }, + "userEndpoint": { + "type": "string", + "description": "The user endpoint\n" + } + }, + "type": "object", + "required": [ + "authorizationEndpoint", + "clientId", + "clientSecret", + "id", + "idAttribute", + "isAutoCreation", + "isAutoUpdate", + "isCreationAllowed", + "isLinkingAllowed", + "name", + "scopes", + "tokenEndpoint", + "userEndpoint" + ] + } + }, + "zitadel:index/getIdpSaml:getIdpSaml": { + "description": "Datasource representing a SAML IDP on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getIdpSaml({\n id: \"123456789012345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_idp_saml(id=\"123456789012345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetIdpSaml.Invoke(new()\n {\n Id = \"123456789012345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.LookupIdpSaml(ctx, \u0026zitadel.LookupIdpSamlArgs{\n\t\t\tId: \"123456789012345678\",\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.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetIdpSamlArgs;\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 default = ZitadelFunctions.getIdpSaml(GetIdpSamlArgs.builder()\n .id(\"123456789012345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getIdpSaml\n Arguments:\n id: '123456789012345678'\n```\n{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getIdpSaml.\n", + "properties": { + "id": { + "type": "string", + "description": "The ID of this resource.\n" + } + }, + "type": "object", + "required": [ + "id" + ] + }, + "outputs": { + "description": "A collection of values returned by getIdpSaml.\n", + "properties": { + "binding": { + "type": "string", + "description": "The binding\n" + }, + "id": { "type": "string", - "description": "User attribute for the id\n" + "description": "The ID of this resource.\n" }, "isAutoCreation": { "type": "boolean", @@ -8566,102 +9636,30 @@ "type": "boolean", "description": "enabled if users are able to link an existing ZITADEL user with an external account\n" }, - "lastNameAttribute": { + "metadataXml": { "type": "string", - "description": "User attribute for the last name\n" + "description": "The metadata XML as plain string\n" }, "name": { "type": "string", "description": "Name of the IDP\n" }, - "nickNameAttribute": { - "type": "string", - "description": "User attribute for the nick name\n" - }, - "phoneAttribute": { - "type": "string", - "description": "User attribute for the phone\n" - }, - "phoneVerifiedAttribute": { - "type": "string", - "description": "User attribute for the phone verified state\n" - }, - "preferredLanguageAttribute": { - "type": "string", - "description": "User attribute for the preferred language\n" - }, - "preferredUsernameAttribute": { - "type": "string", - "description": "User attribute for the preferred username\n" - }, - "profileAttribute": { - "type": "string", - "description": "User attribute for the profile\n" - }, - "servers": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Servers to try in order for establishing LDAP connections\n" - }, - "startTls": { - "type": "boolean", - "description": "Wether to use StartTLS for LDAP connections\n" - }, - "timeout": { - "type": "string", - "description": "Timeout for LDAP connections\n" - }, - "userBase": { + "withSignedRequest": { "type": "string", - "description": "User base for LDAP connections\n" - }, - "userFilters": { - "type": "array", - "items": { - "type": "string" - }, - "description": "User filters for LDAP connections\n" - }, - "userObjectClasses": { - "type": "array", - "items": { - "type": "string" - }, - "description": "User object classes for LDAP connections\n" + "description": "Whether the SAML IDP requires signed requests\n" } }, "type": "object", "required": [ - "avatarUrlAttribute", - "baseDn", - "bindDn", - "bindPassword", - "displayNameAttribute", - "emailAttribute", - "emailVerifiedAttribute", - "firstNameAttribute", + "binding", "id", - "idAttribute", "isAutoCreation", "isAutoUpdate", "isCreationAllowed", "isLinkingAllowed", - "lastNameAttribute", + "metadataXml", "name", - "nickNameAttribute", - "phoneAttribute", - "phoneVerifiedAttribute", - "preferredLanguageAttribute", - "preferredUsernameAttribute", - "profileAttribute", - "servers", - "startTls", - "timeout", - "userBase", - "userFilters", - "userObjectClasses" + "withSignedRequest" ] } }, @@ -9555,6 +10553,184 @@ ] } }, + "zitadel:index/getOrgIdpOauth:getOrgIdpOauth": { + "description": "Datasource representing a generic OAuth2 IDP of the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getOrgIdpOauth({\n orgId: data.zitadel_org[\"default\"].id,\n id: \"123456789012345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_org_idp_oauth(org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n id=\"123456789012345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetOrgIdpOauth.Invoke(new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n Id = \"123456789012345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.LookupOrgIdpOauth(ctx, \u0026zitadel.LookupOrgIdpOauthArgs{\n\t\t\tOrgId: pulumi.StringRef(data.Zitadel_org.Default.Id),\n\t\t\tId: \"123456789012345678\",\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.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetOrgIdpOauthArgs;\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 default = ZitadelFunctions.getOrgIdpOauth(GetOrgIdpOauthArgs.builder()\n .orgId(data.zitadel_org().default().id())\n .id(\"123456789012345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getOrgIdpOauth\n Arguments:\n orgId: ${data.zitadel_org.default.id}\n id: '123456789012345678'\n```\n{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getOrgIdpOauth.\n", + "properties": { + "id": { + "type": "string", + "description": "The ID of this resource.\n" + }, + "orgId": { + "type": "string", + "description": "ID of the organization\n" + } + }, + "type": "object", + "required": [ + "id" + ] + }, + "outputs": { + "description": "A collection of values returned by getOrgIdpOauth.\n", + "properties": { + "authorizationEndpoint": { + "type": "string", + "description": "The authorization endpoint\n" + }, + "clientId": { + "type": "string", + "description": "client id generated by the identity provider\n" + }, + "clientSecret": { + "type": "string", + "description": "client secret generated by the identity provider\n", + "secret": true + }, + "id": { + "type": "string", + "description": "The ID of this resource.\n" + }, + "idAttribute": { + "type": "string", + "description": "The id attribute\n" + }, + "isAutoCreation": { + "type": "boolean", + "description": "enabled if a new account in ZITADEL are created automatically on login with an external account\n" + }, + "isAutoUpdate": { + "type": "boolean", + "description": "enabled if a the ZITADEL account fields are updated automatically on each login\n" + }, + "isCreationAllowed": { + "type": "boolean", + "description": "enabled if users are able to create a new account in ZITADEL when using an external account\n" + }, + "isLinkingAllowed": { + "type": "boolean", + "description": "enabled if users are able to link an existing ZITADEL user with an external account\n" + }, + "name": { + "type": "string", + "description": "Name of the IDP\n" + }, + "orgId": { + "type": "string", + "description": "ID of the organization\n" + }, + "scopes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "the scopes requested by ZITADEL during the request on the identity provider\n" + }, + "tokenEndpoint": { + "type": "string", + "description": "The token endpoint\n" + }, + "userEndpoint": { + "type": "string", + "description": "The user endpoint\n" + } + }, + "type": "object", + "required": [ + "authorizationEndpoint", + "clientId", + "clientSecret", + "id", + "idAttribute", + "isAutoCreation", + "isAutoUpdate", + "isCreationAllowed", + "isLinkingAllowed", + "name", + "scopes", + "tokenEndpoint", + "userEndpoint" + ] + } + }, + "zitadel:index/getOrgIdpSaml:getOrgIdpSaml": { + "description": "Datasource representing a SAML IdP of the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getOrgIdpSaml({\n orgId: data.zitadel_org[\"default\"].id,\n id: \"123456789012345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_org_idp_saml(org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n id=\"123456789012345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetOrgIdpSaml.Invoke(new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n Id = \"123456789012345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.LookupOrgIdpSaml(ctx, \u0026zitadel.LookupOrgIdpSamlArgs{\n\t\t\tOrgId: pulumi.StringRef(data.Zitadel_org.Default.Id),\n\t\t\tId: \"123456789012345678\",\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.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetOrgIdpSamlArgs;\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 default = ZitadelFunctions.getOrgIdpSaml(GetOrgIdpSamlArgs.builder()\n .orgId(data.zitadel_org().default().id())\n .id(\"123456789012345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getOrgIdpSaml\n Arguments:\n orgId: ${data.zitadel_org.default.id}\n id: '123456789012345678'\n```\n{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getOrgIdpSaml.\n", + "properties": { + "id": { + "type": "string", + "description": "The ID of this resource.\n" + }, + "orgId": { + "type": "string", + "description": "ID of the organization\n" + } + }, + "type": "object", + "required": [ + "id" + ] + }, + "outputs": { + "description": "A collection of values returned by getOrgIdpSaml.\n", + "properties": { + "binding": { + "type": "string", + "description": "The binding\n" + }, + "id": { + "type": "string", + "description": "The ID of this resource.\n" + }, + "isAutoCreation": { + "type": "boolean", + "description": "enabled if a new account in ZITADEL are created automatically on login with an external account\n" + }, + "isAutoUpdate": { + "type": "boolean", + "description": "enabled if a the ZITADEL account fields are updated automatically on each login\n" + }, + "isCreationAllowed": { + "type": "boolean", + "description": "enabled if users are able to create a new account in ZITADEL when using an external account\n" + }, + "isLinkingAllowed": { + "type": "boolean", + "description": "enabled if users are able to link an existing ZITADEL user with an external account\n" + }, + "metadataXml": { + "type": "string", + "description": "The metadata XML as plain string\n" + }, + "name": { + "type": "string", + "description": "Name of the IDP\n" + }, + "orgId": { + "type": "string", + "description": "ID of the organization\n" + }, + "withSignedRequest": { + "type": "string", + "description": "Whether the SAML IDP requires signed requests\n" + } + }, + "type": "object", + "required": [ + "binding", + "id", + "isAutoCreation", + "isAutoUpdate", + "isCreationAllowed", + "isLinkingAllowed", + "metadataXml", + "name", + "withSignedRequest" + ] + } + }, "zitadel:index/getOrgJwtIdp:getOrgJwtIdp": { "description": "Datasource representing a generic JWT IdP on the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetOrgJwtIdpArgs;\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 default = ZitadelFunctions.getOrgJwtIdp(GetOrgJwtIdpArgs.builder()\n .orgId(data.zitadel_org().default().id())\n .id(\"123456789012345678\")\n .build());\n\n ctx.export(\"orgIdpOrgJwtIdp\", default_);\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getOrgJwtIdp\n Arguments:\n orgId: ${data.zitadel_org.default.id}\n id: '123456789012345678'\noutputs:\n orgIdpOrgJwtIdp: ${default}\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { diff --git a/provider/go.mod b/provider/go.mod index 665164f..026727f 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -7,7 +7,7 @@ replace github.com/hashicorp/terraform-plugin-sdk/v2 => github.com/pulumi/terraf require ( github.com/pulumi/pulumi-terraform-bridge/v3 v3.62.0 github.com/pulumi/pulumi/sdk/v3 v3.89.0 - github.com/zitadel/terraform-provider-zitadel v1.1.1 + github.com/zitadel/terraform-provider-zitadel v1.3.0 ) require ( @@ -240,14 +240,14 @@ require ( 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.18.0 // indirect + golang.org/x/crypto v0.21.0 // indirect golang.org/x/exp v0.0.0-20231006140011-7918f672742d // indirect golang.org/x/mod v0.13.0 // indirect - golang.org/x/net v0.20.0 // indirect + golang.org/x/net v0.23.0 // indirect golang.org/x/oauth2 v0.16.0 // indirect golang.org/x/sync v0.5.0 // indirect - golang.org/x/sys v0.16.0 // indirect - golang.org/x/term v0.16.0 // indirect + golang.org/x/sys v0.18.0 // indirect + golang.org/x/term v0.18.0 // indirect golang.org/x/text v0.14.0 // indirect golang.org/x/time v0.3.0 // indirect golang.org/x/tools v0.14.0 // indirect @@ -258,7 +258,7 @@ require ( google.golang.org/genproto/googleapis/api v0.0.0-20240125205218-1f4bbc51befe // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240125205218-1f4bbc51befe // indirect google.golang.org/grpc v1.61.0 // indirect - google.golang.org/protobuf v1.32.0 // indirect + google.golang.org/protobuf v1.33.0 // indirect gopkg.in/square/go-jose.v2 v2.6.0 // indirect gopkg.in/warnings.v0 v0.1.2 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/provider/go.sum b/provider/go.sum index ddc0cba..c5cbe41 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -2446,8 +2446,8 @@ github.com/zeebo/xxh3 v1.0.2/go.mod h1:5NWz9Sef7zIDm2JHfFlcQvNekmcEl9ekUZQQKCYaD github.com/zenazn/goji v0.9.0/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q= github.com/zitadel/oidc v1.13.5 h1:7jhh68NGZitLqwLiVU9Dtwa4IraJPFF1vS+4UupO93U= github.com/zitadel/oidc v1.13.5/go.mod h1:rHs1DhU3Sv3tnI6bQRVlFa3u0lCwtR7S21WHY+yXgPA= -github.com/zitadel/terraform-provider-zitadel v1.1.1 h1:Ys0jBN9NcJtBkAEFxLDakDuLH5Z002/+Yeu75+ixvhs= -github.com/zitadel/terraform-provider-zitadel v1.1.1/go.mod h1:3hq2uZ1n6/z9M9sLo0ShBPOPQuzwrZKCU7MS9ytiyOk= +github.com/zitadel/terraform-provider-zitadel v1.3.0 h1:M86kZ6Ny4LPdRpvNUSyA438m1fbfi7E45LlsUkw1K5A= +github.com/zitadel/terraform-provider-zitadel v1.3.0/go.mod h1:rzoOhFgdh0e/Jgu7o0yqTWf/9u7ikJoETlIsUPS4RDM= github.com/zitadel/zitadel-go/v2 v2.1.8 h1:b+1SoltzphLq0ixYwSuROQBEdBXFAs/5xMGVsQ52Waw= github.com/zitadel/zitadel-go/v2 v2.1.8/go.mod h1:uHnf22GMpkAdRyFtJ/xUwaqEI5gxRbu4FnKEqpzuclA= go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= @@ -2605,8 +2605,8 @@ 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.11.0/go.mod h1:xgJhtzW8F9jGdVFWZESrid1U1bjeNy4zgy5cRr/CIio= golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc= -golang.org/x/crypto v0.18.0 h1:PGVlW0xEltQnzFZ55hkuX5+KLyrMYhHld1YHO4AKcdc= -golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg= +golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA= +golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= 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= @@ -2767,8 +2767,8 @@ 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.12.0/go.mod h1:zEVYFnQC7m/vmpQFELhcD1EWkZlX69l4oqgmer6hfKA= golang.org/x/net v0.13.0/go.mod h1:zEVYFnQC7m/vmpQFELhcD1EWkZlX69l4oqgmer6hfKA= -golang.org/x/net v0.20.0 h1:aCL9BSgETF1k+blQaYUBx9hJ9LOGP3gAVemcZlf1Kpo= -golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY= +golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs= +golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= 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= @@ -2984,8 +2984,8 @@ 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.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.16.0 h1:xWw16ngr6ZMtmxDyKyIgsE93KNKz5HKmMa3b8ALHidU= -golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= +golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= 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= @@ -3002,8 +3002,8 @@ 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.10.0/go.mod h1:lpqdcUyK/oCiQxvxVrppt5ggO2KCZ5QblwqPnfZ6d5o= golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU= -golang.org/x/term v0.16.0 h1:m+B6fahuftsE9qjo0VWp2FW0mB3MTJvR0BaMQrq0pmE= -golang.org/x/term v0.16.0/go.mod h1:yn7UURbUtPyrVJPGPq404EukNFxcm/foM+bV/bfcDsY= +golang.org/x/term v0.18.0 h1:FcHjZXDMxI8mM3nwhX9HlKop4C0YQvCVCdwYl2wOtE8= +golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58= 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= @@ -3465,8 +3465,8 @@ google.golang.org/protobuf v1.28.2-0.20230222093303-bc1253ad3743/go.mod h1:HV8QO 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/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I= -google.golang.org/protobuf v1.32.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= +google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= +google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/airbrake/gobrake.v2 v2.0.9/go.mod h1:/h5ZAUhDkGaJfjzjKLSjv6zCL6O0LLBxU4K+aSYdM/U= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff --git a/provider/resources.go b/provider/resources.go index e4e58bd..e29171a 100644 --- a/provider/resources.go +++ b/provider/resources.go @@ -39,7 +39,7 @@ const ( // It should validate that the provider can be configured, and provide actionable errors in the case // it cannot be. Configuration variables can be read from `vars` using the `stringValue` function - // for example `stringValue(vars, "accessKey")`. -func preConfigureCallback(vars resource.PropertyMap, c shim.ResourceConfig) error { +func preConfigureCallback(_ resource.PropertyMap, _ shim.ResourceConfig) error { return nil } @@ -146,6 +146,13 @@ func Provider() tfbridge.ProviderInfo { "zitadel_org_idp_azure_ad": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "OrgIdpAzureAd")}, "zitadel_org_idp_ldap": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "OrgIdpLdap")}, "zitadel_application_saml": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "ApplicationSaml")}, + + "zitadel_idp_oauth": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "IdpOauth")}, + "zitadel_idp_saml": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "IdpSaml")}, + "zitadel_org_idp_oauth": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "OrgIdpOauth")}, + "zitadel_org_idp_saml": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "OrgIdpSaml")}, + "zitadel_org_metadata": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "OrgMetadata")}, + "zitadel_user_metadata": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "UserMetadata")}, }, DataSources: map[string]*tfbridge.DataSourceInfo{ "zitadel_org": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getOrg")}, @@ -181,6 +188,11 @@ func Provider() tfbridge.ProviderInfo { "zitadel_machine_users": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getMachineUsers")}, "zitadel_projects": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getProjects")}, "zitadel_application_apis": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getApplicationApis")}, + + "zitadel_idp_oauth": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getIdpOauth")}, + "zitadel_idp_saml": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getIdpSaml")}, + "zitadel_org_idp_oauth": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getOrgIdpOauth")}, + "zitadel_org_idp_saml": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getOrgIdpSaml")}, }, JavaScript: &tfbridge.JavaScriptInfo{ PackageName: "@pulumiverse/zitadel", diff --git a/sdk/dotnet/Action.cs b/sdk/dotnet/Action.cs index 064d703..f3fc8b9 100644 --- a/sdk/dotnet/Action.cs +++ b/sdk/dotnet/Action.cs @@ -36,7 +36,7 @@ namespace Pulumiverse.Zitadel /// /// ## Import /// - /// terraform The resource can be imported using the ID format `<id[:org_id]>`, e.g. + /// bash The resource can be imported using the ID format `<id[:org_id]>`, e.g. /// /// ```sh /// $ pulumi import zitadel:index/action:Action imported '123456789012345678:123456789012345678' diff --git a/sdk/dotnet/ApplicationApi.cs b/sdk/dotnet/ApplicationApi.cs index 3d80d7d..2452131 100644 --- a/sdk/dotnet/ApplicationApi.cs +++ b/sdk/dotnet/ApplicationApi.cs @@ -35,7 +35,7 @@ namespace Pulumiverse.Zitadel /// /// ## Import /// - /// terraform The resource can be imported using the ID format `<id:project_id[:org_id][:client_id][:client_secret]>`, e.g. + /// bash The resource can be imported using the ID format `<id:project_id[:org_id][:client_id][:client_secret]>`, e.g. /// /// ```sh /// $ pulumi import zitadel:index/applicationApi:ApplicationApi imported '123456789012345678:123456789012345678:123456789012345678:123456789012345678@zitadel:JuaDFFeOak5DGE655KCYPSAclSkbMVEJXXuX1lEMBT14eLMSs0A0qhafKX5SA2Df' diff --git a/sdk/dotnet/ApplicationKey.cs b/sdk/dotnet/ApplicationKey.cs index bf8cebd..bb258e0 100644 --- a/sdk/dotnet/ApplicationKey.cs +++ b/sdk/dotnet/ApplicationKey.cs @@ -37,7 +37,7 @@ namespace Pulumiverse.Zitadel /// /// ## Import /// - /// terraform The resource can be imported using the ID format `<id:project_id:app_id[:org_id][:key_details]>`. You can use __SEMICOLON__ to escape :, e.g. + /// bash The resource can be imported using the ID format `<id:project_id:app_id[:org_id][:key_details]>`. You can use __SEMICOLON__ to escape :, e.g. /// /// ```sh /// $ pulumi import zitadel:index/applicationKey:ApplicationKey imported "123456789012345678:123456789012345678:123456789012345678:123456789012345678:$(cat ~/Downloads/123456789012345678.json | sed -e 's/:/__SEMICOLON__/g')" diff --git a/sdk/dotnet/ApplicationOidc.cs b/sdk/dotnet/ApplicationOidc.cs index efc9c41..18e60e9 100644 --- a/sdk/dotnet/ApplicationOidc.cs +++ b/sdk/dotnet/ApplicationOidc.cs @@ -60,7 +60,7 @@ namespace Pulumiverse.Zitadel /// /// ## Import /// - /// terraform The resource can be imported using the ID format `<id:project_id[:org_id][:client_id][:client_secret]>`, e.g. + /// bash The resource can be imported using the ID format `<id:project_id[:org_id][:client_id][:client_secret]>`, e.g. /// /// ```sh /// $ pulumi import zitadel:index/applicationOidc:ApplicationOidc imported '123456789012345678:123456789012345678:123456789012345678:123456789012345678@zitadel:JuaDFFeOak5DGE655KCYPSAclSkbMVEJXXuX1lEMBT14eLMSs0A0qhafKX5SA2Df' diff --git a/sdk/dotnet/ApplicationSaml.cs b/sdk/dotnet/ApplicationSaml.cs index 9fbc4cf..aa178b8 100644 --- a/sdk/dotnet/ApplicationSaml.cs +++ b/sdk/dotnet/ApplicationSaml.cs @@ -47,7 +47,7 @@ namespace Pulumiverse.Zitadel /// /// ## Import /// - /// terraform The resource can be imported using the ID format `<id:project_id[:org_id]>`, e.g. + /// bash The resource can be imported using the ID format `<id:project_id[:org_id]>`, e.g. /// /// ```sh /// $ pulumi import zitadel:index/applicationSaml:ApplicationSaml imported '123456789012345678:123456789012345678:123456789012345678' diff --git a/sdk/dotnet/DefaultDomainPolicy.cs b/sdk/dotnet/DefaultDomainPolicy.cs index 5aee43e..89d12de 100644 --- a/sdk/dotnet/DefaultDomainPolicy.cs +++ b/sdk/dotnet/DefaultDomainPolicy.cs @@ -35,7 +35,7 @@ namespace Pulumiverse.Zitadel /// /// ## Import /// - /// terraform The resource can be imported using the ID format `<>`, e.g. + /// bash The resource can be imported using the ID format `<>`, e.g. /// /// ```sh /// $ pulumi import zitadel:index/defaultDomainPolicy:DefaultDomainPolicy imported '' diff --git a/sdk/dotnet/DefaultLabelPolicy.cs b/sdk/dotnet/DefaultLabelPolicy.cs index ed552d3..3365fa9 100644 --- a/sdk/dotnet/DefaultLabelPolicy.cs +++ b/sdk/dotnet/DefaultLabelPolicy.cs @@ -15,7 +15,7 @@ namespace Pulumiverse.Zitadel /// /// ## Import /// - /// terraform The resource can be imported using the ID format `<>`, e.g. + /// bash The resource can be imported using the ID format `<>`, e.g. /// /// ```sh /// $ pulumi import zitadel:index/defaultLabelPolicy:DefaultLabelPolicy imported '' @@ -123,6 +123,12 @@ public partial class DefaultLabelPolicy : global::Pulumi.CustomResource [Output("setActive")] public Output SetActive { get; private set; } = null!; + /// + /// theme mode, supported values: THEME*MODE*UNSPECIFIED, THEME*MODE*AUTO, THEME*MODE*DARK, THEME*MODE*LIGHT + /// + [Output("themeMode")] + public Output ThemeMode { get; private set; } = null!; + /// /// hex value for warn color /// @@ -266,6 +272,12 @@ public sealed class DefaultLabelPolicyArgs : global::Pulumi.ResourceArgs [Input("setActive")] public Input? SetActive { get; set; } + /// + /// theme mode, supported values: THEME*MODE*UNSPECIFIED, THEME*MODE*AUTO, THEME*MODE*DARK, THEME*MODE*LIGHT + /// + [Input("themeMode")] + public Input? ThemeMode { get; set; } + /// /// hex value for warn color /// @@ -385,6 +397,12 @@ public sealed class DefaultLabelPolicyState : global::Pulumi.ResourceArgs [Input("setActive")] public Input? SetActive { get; set; } + /// + /// theme mode, supported values: THEME*MODE*UNSPECIFIED, THEME*MODE*AUTO, THEME*MODE*DARK, THEME*MODE*LIGHT + /// + [Input("themeMode")] + public Input? ThemeMode { get; set; } + /// /// hex value for warn color /// diff --git a/sdk/dotnet/DefaultLockoutPolicy.cs b/sdk/dotnet/DefaultLockoutPolicy.cs index 9b433bc..9fa135d 100644 --- a/sdk/dotnet/DefaultLockoutPolicy.cs +++ b/sdk/dotnet/DefaultLockoutPolicy.cs @@ -33,7 +33,7 @@ namespace Pulumiverse.Zitadel /// /// ## Import /// - /// terraform The resource can be imported using the ID format `<>`, e.g. + /// bash The resource can be imported using the ID format `<>`, e.g. /// /// ```sh /// $ pulumi import zitadel:index/defaultLockoutPolicy:DefaultLockoutPolicy imported '' diff --git a/sdk/dotnet/DefaultLoginPolicy.cs b/sdk/dotnet/DefaultLoginPolicy.cs index b043350..5403e42 100644 --- a/sdk/dotnet/DefaultLoginPolicy.cs +++ b/sdk/dotnet/DefaultLoginPolicy.cs @@ -63,7 +63,7 @@ namespace Pulumiverse.Zitadel /// /// ## Import /// - /// terraform The resource can be imported using the ID format `<>`, e.g. + /// bash The resource can be imported using the ID format `<>`, e.g. /// /// ```sh /// $ pulumi import zitadel:index/defaultLoginPolicy:DefaultLoginPolicy imported '' diff --git a/sdk/dotnet/DefaultNotificationPolicy.cs b/sdk/dotnet/DefaultNotificationPolicy.cs index 098d5a0..4133299 100644 --- a/sdk/dotnet/DefaultNotificationPolicy.cs +++ b/sdk/dotnet/DefaultNotificationPolicy.cs @@ -33,7 +33,7 @@ namespace Pulumiverse.Zitadel /// /// ## Import /// - /// terraform The resource can be imported using the ID format `<>`, e.g. + /// bash The resource can be imported using the ID format `<>`, e.g. /// /// ```sh /// $ pulumi import zitadel:index/defaultNotificationPolicy:DefaultNotificationPolicy imported '' diff --git a/sdk/dotnet/DefaultPasswordComplexityPolicy.cs b/sdk/dotnet/DefaultPasswordComplexityPolicy.cs index 8c96664..b2646d4 100644 --- a/sdk/dotnet/DefaultPasswordComplexityPolicy.cs +++ b/sdk/dotnet/DefaultPasswordComplexityPolicy.cs @@ -37,7 +37,7 @@ namespace Pulumiverse.Zitadel /// /// ## Import /// - /// terraform The resource can be imported using the ID format `<>`, e.g. + /// bash The resource can be imported using the ID format `<>`, e.g. /// /// ```sh /// $ pulumi import zitadel:index/defaultPasswordComplexityPolicy:DefaultPasswordComplexityPolicy imported '' diff --git a/sdk/dotnet/DefaultPrivacyPolicy.cs b/sdk/dotnet/DefaultPrivacyPolicy.cs index a1f9eb7..84120f3 100644 --- a/sdk/dotnet/DefaultPrivacyPolicy.cs +++ b/sdk/dotnet/DefaultPrivacyPolicy.cs @@ -36,7 +36,7 @@ namespace Pulumiverse.Zitadel /// /// ## Import /// - /// terraform The resource can be imported using the ID format `<>`, e.g. + /// bash The resource can be imported using the ID format `<>`, e.g. /// /// ```sh /// $ pulumi import zitadel:index/defaultPrivacyPolicy:DefaultPrivacyPolicy imported '' diff --git a/sdk/dotnet/Domain.cs b/sdk/dotnet/Domain.cs index 87bcbcb..64364cd 100644 --- a/sdk/dotnet/Domain.cs +++ b/sdk/dotnet/Domain.cs @@ -34,7 +34,7 @@ namespace Pulumiverse.Zitadel /// /// ## Import /// - /// terraform The resource can be imported using the ID format `name[:org_id]`, e.g. + /// bash The resource can be imported using the ID format `name[:org_id]`, e.g. /// /// ```sh /// $ pulumi import zitadel:index/domain:Domain imported 'example.com:123456789012345678' diff --git a/sdk/dotnet/DomainPolicy.cs b/sdk/dotnet/DomainPolicy.cs index a9695a1..4f767e4 100644 --- a/sdk/dotnet/DomainPolicy.cs +++ b/sdk/dotnet/DomainPolicy.cs @@ -36,7 +36,7 @@ namespace Pulumiverse.Zitadel /// /// ## Import /// - /// terraform The resource can be imported using the ID format `<[org_id]>`, e.g. + /// bash The resource can be imported using the ID format `<[org_id]>`, e.g. /// /// ```sh /// $ pulumi import zitadel:index/domainPolicy:DomainPolicy imported '123456789012345678' diff --git a/sdk/dotnet/GetApplicationApi.cs b/sdk/dotnet/GetApplicationApi.cs index e3d1667..7c88a1d 100644 --- a/sdk/dotnet/GetApplicationApi.cs +++ b/sdk/dotnet/GetApplicationApi.cs @@ -138,6 +138,7 @@ public sealed class GetApplicationApiResult /// Auth method type /// public readonly string AuthMethodType; + public readonly string ClientId; /// /// The provider-assigned unique ID for this managed resource. /// @@ -161,6 +162,8 @@ private GetApplicationApiResult( string authMethodType, + string clientId, + string id, string name, @@ -171,6 +174,7 @@ private GetApplicationApiResult( { AppId = appId; AuthMethodType = authMethodType; + ClientId = clientId; Id = id; Name = name; OrgId = orgId; diff --git a/sdk/dotnet/GetApplicationOidc.cs b/sdk/dotnet/GetApplicationOidc.cs index d062a0a..2dec9e7 100644 --- a/sdk/dotnet/GetApplicationOidc.cs +++ b/sdk/dotnet/GetApplicationOidc.cs @@ -154,6 +154,7 @@ public sealed class GetApplicationOidcResult /// Auth method type /// public readonly string AuthMethodType; + public readonly string ClientId; /// /// Clockskew /// @@ -221,6 +222,8 @@ private GetApplicationOidcResult( string authMethodType, + string clientId, + string clockSkew, bool devMode, @@ -253,6 +256,7 @@ private GetApplicationOidcResult( AppId = appId; AppType = appType; AuthMethodType = authMethodType; + ClientId = clientId; ClockSkew = clockSkew; DevMode = devMode; GrantTypes = grantTypes; diff --git a/sdk/dotnet/GetIdpOauth.cs b/sdk/dotnet/GetIdpOauth.cs new file mode 100644 index 0000000..a34ccfc --- /dev/null +++ b/sdk/dotnet/GetIdpOauth.cs @@ -0,0 +1,201 @@ +// *** 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; +using Pulumi; + +namespace Pulumiverse.Zitadel +{ + public static class GetIdpOauth + { + /// + /// Datasource representing a generic OAuth2 IDP on the instance. + /// + /// {{% examples %}} + /// ## Example Usage + /// {{% example %}} + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Zitadel = Pulumi.Zitadel; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var @default = Zitadel.GetIdpOauth.Invoke(new() + /// { + /// Id = "123456789012345678", + /// }); + /// + /// }); + /// ``` + /// {{% /example %}} + /// {{% /examples %}} + /// + public static Task InvokeAsync(GetIdpOauthArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("zitadel:index/getIdpOauth:getIdpOauth", args ?? new GetIdpOauthArgs(), options.WithDefaults()); + + /// + /// Datasource representing a generic OAuth2 IDP on the instance. + /// + /// {{% examples %}} + /// ## Example Usage + /// {{% example %}} + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Zitadel = Pulumi.Zitadel; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var @default = Zitadel.GetIdpOauth.Invoke(new() + /// { + /// Id = "123456789012345678", + /// }); + /// + /// }); + /// ``` + /// {{% /example %}} + /// {{% /examples %}} + /// + public static Output Invoke(GetIdpOauthInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("zitadel:index/getIdpOauth:getIdpOauth", args ?? new GetIdpOauthInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetIdpOauthArgs : global::Pulumi.InvokeArgs + { + /// + /// The ID of this resource. + /// + [Input("id", required: true)] + public string Id { get; set; } = null!; + + public GetIdpOauthArgs() + { + } + public static new GetIdpOauthArgs Empty => new GetIdpOauthArgs(); + } + + public sealed class GetIdpOauthInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The ID of this resource. + /// + [Input("id", required: true)] + public Input Id { get; set; } = null!; + + public GetIdpOauthInvokeArgs() + { + } + public static new GetIdpOauthInvokeArgs Empty => new GetIdpOauthInvokeArgs(); + } + + + [OutputType] + public sealed class GetIdpOauthResult + { + /// + /// The authorization endpoint + /// + public readonly string AuthorizationEndpoint; + /// + /// client id generated by the identity provider + /// + public readonly string ClientId; + /// + /// client secret generated by the identity provider + /// + public readonly string ClientSecret; + /// + /// The ID of this resource. + /// + public readonly string Id; + /// + /// The id attribute + /// + public readonly string IdAttribute; + /// + /// enabled if a new account in ZITADEL are created automatically on login with an external account + /// + public readonly bool IsAutoCreation; + /// + /// enabled if a the ZITADEL account fields are updated automatically on each login + /// + public readonly bool IsAutoUpdate; + /// + /// enabled if users are able to create a new account in ZITADEL when using an external account + /// + public readonly bool IsCreationAllowed; + /// + /// enabled if users are able to link an existing ZITADEL user with an external account + /// + public readonly bool IsLinkingAllowed; + /// + /// Name of the IDP + /// + public readonly string Name; + /// + /// the scopes requested by ZITADEL during the request on the identity provider + /// + public readonly ImmutableArray Scopes; + /// + /// The token endpoint + /// + public readonly string TokenEndpoint; + /// + /// The user endpoint + /// + public readonly string UserEndpoint; + + [OutputConstructor] + private GetIdpOauthResult( + string authorizationEndpoint, + + string clientId, + + string clientSecret, + + string id, + + string idAttribute, + + bool isAutoCreation, + + bool isAutoUpdate, + + bool isCreationAllowed, + + bool isLinkingAllowed, + + string name, + + ImmutableArray scopes, + + string tokenEndpoint, + + string userEndpoint) + { + AuthorizationEndpoint = authorizationEndpoint; + ClientId = clientId; + ClientSecret = clientSecret; + Id = id; + IdAttribute = idAttribute; + IsAutoCreation = isAutoCreation; + IsAutoUpdate = isAutoUpdate; + IsCreationAllowed = isCreationAllowed; + IsLinkingAllowed = isLinkingAllowed; + Name = name; + Scopes = scopes; + TokenEndpoint = tokenEndpoint; + UserEndpoint = userEndpoint; + } + } +} diff --git a/sdk/dotnet/GetIdpSaml.cs b/sdk/dotnet/GetIdpSaml.cs new file mode 100644 index 0000000..c372e0b --- /dev/null +++ b/sdk/dotnet/GetIdpSaml.cs @@ -0,0 +1,173 @@ +// *** 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; +using Pulumi; + +namespace Pulumiverse.Zitadel +{ + public static class GetIdpSaml + { + /// + /// Datasource representing a SAML IDP on the instance. + /// + /// {{% examples %}} + /// ## Example Usage + /// {{% example %}} + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Zitadel = Pulumi.Zitadel; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var @default = Zitadel.GetIdpSaml.Invoke(new() + /// { + /// Id = "123456789012345678", + /// }); + /// + /// }); + /// ``` + /// {{% /example %}} + /// {{% /examples %}} + /// + public static Task InvokeAsync(GetIdpSamlArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("zitadel:index/getIdpSaml:getIdpSaml", args ?? new GetIdpSamlArgs(), options.WithDefaults()); + + /// + /// Datasource representing a SAML IDP on the instance. + /// + /// {{% examples %}} + /// ## Example Usage + /// {{% example %}} + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Zitadel = Pulumi.Zitadel; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var @default = Zitadel.GetIdpSaml.Invoke(new() + /// { + /// Id = "123456789012345678", + /// }); + /// + /// }); + /// ``` + /// {{% /example %}} + /// {{% /examples %}} + /// + public static Output Invoke(GetIdpSamlInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("zitadel:index/getIdpSaml:getIdpSaml", args ?? new GetIdpSamlInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetIdpSamlArgs : global::Pulumi.InvokeArgs + { + /// + /// The ID of this resource. + /// + [Input("id", required: true)] + public string Id { get; set; } = null!; + + public GetIdpSamlArgs() + { + } + public static new GetIdpSamlArgs Empty => new GetIdpSamlArgs(); + } + + public sealed class GetIdpSamlInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The ID of this resource. + /// + [Input("id", required: true)] + public Input Id { get; set; } = null!; + + public GetIdpSamlInvokeArgs() + { + } + public static new GetIdpSamlInvokeArgs Empty => new GetIdpSamlInvokeArgs(); + } + + + [OutputType] + public sealed class GetIdpSamlResult + { + /// + /// The binding + /// + public readonly string Binding; + /// + /// The ID of this resource. + /// + public readonly string Id; + /// + /// enabled if a new account in ZITADEL are created automatically on login with an external account + /// + public readonly bool IsAutoCreation; + /// + /// enabled if a the ZITADEL account fields are updated automatically on each login + /// + public readonly bool IsAutoUpdate; + /// + /// enabled if users are able to create a new account in ZITADEL when using an external account + /// + public readonly bool IsCreationAllowed; + /// + /// enabled if users are able to link an existing ZITADEL user with an external account + /// + public readonly bool IsLinkingAllowed; + /// + /// The metadata XML as plain string + /// + public readonly string MetadataXml; + /// + /// Name of the IDP + /// + public readonly string Name; + /// + /// Whether the SAML IDP requires signed requests + /// + public readonly string WithSignedRequest; + + [OutputConstructor] + private GetIdpSamlResult( + string binding, + + string id, + + bool isAutoCreation, + + bool isAutoUpdate, + + bool isCreationAllowed, + + bool isLinkingAllowed, + + string metadataXml, + + string name, + + string withSignedRequest) + { + Binding = binding; + Id = id; + IsAutoCreation = isAutoCreation; + IsAutoUpdate = isAutoUpdate; + IsCreationAllowed = isCreationAllowed; + IsLinkingAllowed = isLinkingAllowed; + MetadataXml = metadataXml; + Name = name; + WithSignedRequest = withSignedRequest; + } + } +} diff --git a/sdk/dotnet/GetOrgIdpOauth.cs b/sdk/dotnet/GetOrgIdpOauth.cs new file mode 100644 index 0000000..b9fe3d9 --- /dev/null +++ b/sdk/dotnet/GetOrgIdpOauth.cs @@ -0,0 +1,222 @@ +// *** 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; +using Pulumi; + +namespace Pulumiverse.Zitadel +{ + public static class GetOrgIdpOauth + { + /// + /// Datasource representing a generic OAuth2 IDP of the organization. + /// + /// {{% examples %}} + /// ## Example Usage + /// {{% example %}} + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Zitadel = Pulumi.Zitadel; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var @default = Zitadel.GetOrgIdpOauth.Invoke(new() + /// { + /// OrgId = data.Zitadel_org.Default.Id, + /// Id = "123456789012345678", + /// }); + /// + /// }); + /// ``` + /// {{% /example %}} + /// {{% /examples %}} + /// + public static Task InvokeAsync(GetOrgIdpOauthArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("zitadel:index/getOrgIdpOauth:getOrgIdpOauth", args ?? new GetOrgIdpOauthArgs(), options.WithDefaults()); + + /// + /// Datasource representing a generic OAuth2 IDP of the organization. + /// + /// {{% examples %}} + /// ## Example Usage + /// {{% example %}} + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Zitadel = Pulumi.Zitadel; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var @default = Zitadel.GetOrgIdpOauth.Invoke(new() + /// { + /// OrgId = data.Zitadel_org.Default.Id, + /// Id = "123456789012345678", + /// }); + /// + /// }); + /// ``` + /// {{% /example %}} + /// {{% /examples %}} + /// + public static Output Invoke(GetOrgIdpOauthInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("zitadel:index/getOrgIdpOauth:getOrgIdpOauth", args ?? new GetOrgIdpOauthInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetOrgIdpOauthArgs : global::Pulumi.InvokeArgs + { + /// + /// The ID of this resource. + /// + [Input("id", required: true)] + public string Id { get; set; } = null!; + + /// + /// ID of the organization + /// + [Input("orgId")] + public string? OrgId { get; set; } + + public GetOrgIdpOauthArgs() + { + } + public static new GetOrgIdpOauthArgs Empty => new GetOrgIdpOauthArgs(); + } + + public sealed class GetOrgIdpOauthInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The ID of this resource. + /// + [Input("id", required: true)] + public Input Id { get; set; } = null!; + + /// + /// ID of the organization + /// + [Input("orgId")] + public Input? OrgId { get; set; } + + public GetOrgIdpOauthInvokeArgs() + { + } + public static new GetOrgIdpOauthInvokeArgs Empty => new GetOrgIdpOauthInvokeArgs(); + } + + + [OutputType] + public sealed class GetOrgIdpOauthResult + { + /// + /// The authorization endpoint + /// + public readonly string AuthorizationEndpoint; + /// + /// client id generated by the identity provider + /// + public readonly string ClientId; + /// + /// client secret generated by the identity provider + /// + public readonly string ClientSecret; + /// + /// The ID of this resource. + /// + public readonly string Id; + /// + /// The id attribute + /// + public readonly string IdAttribute; + /// + /// enabled if a new account in ZITADEL are created automatically on login with an external account + /// + public readonly bool IsAutoCreation; + /// + /// enabled if a the ZITADEL account fields are updated automatically on each login + /// + public readonly bool IsAutoUpdate; + /// + /// enabled if users are able to create a new account in ZITADEL when using an external account + /// + public readonly bool IsCreationAllowed; + /// + /// enabled if users are able to link an existing ZITADEL user with an external account + /// + public readonly bool IsLinkingAllowed; + /// + /// Name of the IDP + /// + public readonly string Name; + /// + /// ID of the organization + /// + public readonly string? OrgId; + /// + /// the scopes requested by ZITADEL during the request on the identity provider + /// + public readonly ImmutableArray Scopes; + /// + /// The token endpoint + /// + public readonly string TokenEndpoint; + /// + /// The user endpoint + /// + public readonly string UserEndpoint; + + [OutputConstructor] + private GetOrgIdpOauthResult( + string authorizationEndpoint, + + string clientId, + + string clientSecret, + + string id, + + string idAttribute, + + bool isAutoCreation, + + bool isAutoUpdate, + + bool isCreationAllowed, + + bool isLinkingAllowed, + + string name, + + string? orgId, + + ImmutableArray scopes, + + string tokenEndpoint, + + string userEndpoint) + { + AuthorizationEndpoint = authorizationEndpoint; + ClientId = clientId; + ClientSecret = clientSecret; + Id = id; + IdAttribute = idAttribute; + IsAutoCreation = isAutoCreation; + IsAutoUpdate = isAutoUpdate; + IsCreationAllowed = isCreationAllowed; + IsLinkingAllowed = isLinkingAllowed; + Name = name; + OrgId = orgId; + Scopes = scopes; + TokenEndpoint = tokenEndpoint; + UserEndpoint = userEndpoint; + } + } +} diff --git a/sdk/dotnet/GetOrgIdpSaml.cs b/sdk/dotnet/GetOrgIdpSaml.cs new file mode 100644 index 0000000..656c49f --- /dev/null +++ b/sdk/dotnet/GetOrgIdpSaml.cs @@ -0,0 +1,194 @@ +// *** 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; +using Pulumi; + +namespace Pulumiverse.Zitadel +{ + public static class GetOrgIdpSaml + { + /// + /// Datasource representing a SAML IdP of the organization. + /// + /// {{% examples %}} + /// ## Example Usage + /// {{% example %}} + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Zitadel = Pulumi.Zitadel; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var @default = Zitadel.GetOrgIdpSaml.Invoke(new() + /// { + /// OrgId = data.Zitadel_org.Default.Id, + /// Id = "123456789012345678", + /// }); + /// + /// }); + /// ``` + /// {{% /example %}} + /// {{% /examples %}} + /// + public static Task InvokeAsync(GetOrgIdpSamlArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("zitadel:index/getOrgIdpSaml:getOrgIdpSaml", args ?? new GetOrgIdpSamlArgs(), options.WithDefaults()); + + /// + /// Datasource representing a SAML IdP of the organization. + /// + /// {{% examples %}} + /// ## Example Usage + /// {{% example %}} + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Zitadel = Pulumi.Zitadel; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var @default = Zitadel.GetOrgIdpSaml.Invoke(new() + /// { + /// OrgId = data.Zitadel_org.Default.Id, + /// Id = "123456789012345678", + /// }); + /// + /// }); + /// ``` + /// {{% /example %}} + /// {{% /examples %}} + /// + public static Output Invoke(GetOrgIdpSamlInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("zitadel:index/getOrgIdpSaml:getOrgIdpSaml", args ?? new GetOrgIdpSamlInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetOrgIdpSamlArgs : global::Pulumi.InvokeArgs + { + /// + /// The ID of this resource. + /// + [Input("id", required: true)] + public string Id { get; set; } = null!; + + /// + /// ID of the organization + /// + [Input("orgId")] + public string? OrgId { get; set; } + + public GetOrgIdpSamlArgs() + { + } + public static new GetOrgIdpSamlArgs Empty => new GetOrgIdpSamlArgs(); + } + + public sealed class GetOrgIdpSamlInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The ID of this resource. + /// + [Input("id", required: true)] + public Input Id { get; set; } = null!; + + /// + /// ID of the organization + /// + [Input("orgId")] + public Input? OrgId { get; set; } + + public GetOrgIdpSamlInvokeArgs() + { + } + public static new GetOrgIdpSamlInvokeArgs Empty => new GetOrgIdpSamlInvokeArgs(); + } + + + [OutputType] + public sealed class GetOrgIdpSamlResult + { + /// + /// The binding + /// + public readonly string Binding; + /// + /// The ID of this resource. + /// + public readonly string Id; + /// + /// enabled if a new account in ZITADEL are created automatically on login with an external account + /// + public readonly bool IsAutoCreation; + /// + /// enabled if a the ZITADEL account fields are updated automatically on each login + /// + public readonly bool IsAutoUpdate; + /// + /// enabled if users are able to create a new account in ZITADEL when using an external account + /// + public readonly bool IsCreationAllowed; + /// + /// enabled if users are able to link an existing ZITADEL user with an external account + /// + public readonly bool IsLinkingAllowed; + /// + /// The metadata XML as plain string + /// + public readonly string MetadataXml; + /// + /// Name of the IDP + /// + public readonly string Name; + /// + /// ID of the organization + /// + public readonly string? OrgId; + /// + /// Whether the SAML IDP requires signed requests + /// + public readonly string WithSignedRequest; + + [OutputConstructor] + private GetOrgIdpSamlResult( + string binding, + + string id, + + bool isAutoCreation, + + bool isAutoUpdate, + + bool isCreationAllowed, + + bool isLinkingAllowed, + + string metadataXml, + + string name, + + string? orgId, + + string withSignedRequest) + { + Binding = binding; + Id = id; + IsAutoCreation = isAutoCreation; + IsAutoUpdate = isAutoUpdate; + IsCreationAllowed = isCreationAllowed; + IsLinkingAllowed = isLinkingAllowed; + MetadataXml = metadataXml; + Name = name; + OrgId = orgId; + WithSignedRequest = withSignedRequest; + } + } +} diff --git a/sdk/dotnet/HumanUser.cs b/sdk/dotnet/HumanUser.cs index fdef92b..6bce7ac 100644 --- a/sdk/dotnet/HumanUser.cs +++ b/sdk/dotnet/HumanUser.cs @@ -47,7 +47,7 @@ namespace Pulumiverse.Zitadel /// /// ## Import /// - /// terraform The resource can be imported using the ID format `id[:org_id][:initial_password]>`, e.g. + /// bash The resource can be imported using the ID format `id[:org_id][:initial_password]>`, e.g. /// /// ```sh /// $ pulumi import zitadel:index/humanUser:HumanUser imported '123456789012345678:123456789012345678:Password1!' diff --git a/sdk/dotnet/IdpAzureAd.cs b/sdk/dotnet/IdpAzureAd.cs index 418536b..620179a 100644 --- a/sdk/dotnet/IdpAzureAd.cs +++ b/sdk/dotnet/IdpAzureAd.cs @@ -47,7 +47,7 @@ namespace Pulumiverse.Zitadel /// /// ## Import /// - /// terraform The resource can be imported using the ID format `<id[:client_secret]>`, e.g. + /// bash The resource can be imported using the ID format `<id[:client_secret]>`, e.g. /// /// ```sh /// $ pulumi import zitadel:index/idpAzureAd:IdpAzureAd imported '123456789012345678:12345678-1234-1234-1234-123456789012' diff --git a/sdk/dotnet/IdpGithub.cs b/sdk/dotnet/IdpGithub.cs index ff8ca29..314197a 100644 --- a/sdk/dotnet/IdpGithub.cs +++ b/sdk/dotnet/IdpGithub.cs @@ -44,7 +44,7 @@ namespace Pulumiverse.Zitadel /// /// ## Import /// - /// terraform The resource can be imported using the ID format `<id[:client_secret]>`, e.g. + /// bash The resource can be imported using the ID format `<id[:client_secret]>`, e.g. /// /// ```sh /// $ pulumi import zitadel:index/idpGithub:IdpGithub imported '123456789012345678:1234567890123456781234567890123456787890' diff --git a/sdk/dotnet/IdpGithubEs.cs b/sdk/dotnet/IdpGithubEs.cs index e4da5a4..3e65c2f 100644 --- a/sdk/dotnet/IdpGithubEs.cs +++ b/sdk/dotnet/IdpGithubEs.cs @@ -47,7 +47,7 @@ namespace Pulumiverse.Zitadel /// /// ## Import /// - /// terraform The resource can be imported using the ID format `<id[:client_secret]>`, e.g. + /// bash The resource can be imported using the ID format `<id[:client_secret]>`, e.g. /// /// ```sh /// $ pulumi import zitadel:index/idpGithubEs:IdpGithubEs imported '123456789012345678:1234567890123456781234567890123456787890' diff --git a/sdk/dotnet/IdpGitlab.cs b/sdk/dotnet/IdpGitlab.cs index c3f1eac..d1bd098 100644 --- a/sdk/dotnet/IdpGitlab.cs +++ b/sdk/dotnet/IdpGitlab.cs @@ -44,7 +44,7 @@ namespace Pulumiverse.Zitadel /// /// ## Import /// - /// terraform The resource can be imported using the ID format `<id[:client_secret]>`, e.g. + /// bash The resource can be imported using the ID format `<id[:client_secret]>`, e.g. /// /// ```sh /// $ pulumi import zitadel:index/idpGitlab:IdpGitlab imported '123456789012345678:1234567890abcdef' diff --git a/sdk/dotnet/IdpGitlabSelfHosted.cs b/sdk/dotnet/IdpGitlabSelfHosted.cs index d94f4e2..c048cea 100644 --- a/sdk/dotnet/IdpGitlabSelfHosted.cs +++ b/sdk/dotnet/IdpGitlabSelfHosted.cs @@ -45,7 +45,7 @@ namespace Pulumiverse.Zitadel /// /// ## Import /// - /// terraform The resource can be imported using the ID format `<id[:client_secret]>`, e.g. + /// bash The resource can be imported using the ID format `<id[:client_secret]>`, e.g. /// /// ```sh /// $ pulumi import zitadel:index/idpGitlabSelfHosted:IdpGitlabSelfHosted imported '123456789012345678:1234567890abcdef' diff --git a/sdk/dotnet/IdpGoogle.cs b/sdk/dotnet/IdpGoogle.cs index 7e1b9e9..cedb506 100644 --- a/sdk/dotnet/IdpGoogle.cs +++ b/sdk/dotnet/IdpGoogle.cs @@ -44,7 +44,7 @@ namespace Pulumiverse.Zitadel /// /// ## Import /// - /// terraform The resource can be imported using the ID format `<id[:client_secret]>`, e.g. + /// bash The resource can be imported using the ID format `<id[:client_secret]>`, e.g. /// /// ```sh /// $ pulumi import zitadel:index/idpGoogle:IdpGoogle imported '123456789012345678:G1234567890123' diff --git a/sdk/dotnet/IdpLdap.cs b/sdk/dotnet/IdpLdap.cs index 32ba757..8618f7a 100644 --- a/sdk/dotnet/IdpLdap.cs +++ b/sdk/dotnet/IdpLdap.cs @@ -59,7 +59,7 @@ namespace Pulumiverse.Zitadel /// /// ## Import /// - /// terraform The resource can be imported using the ID format `<id[:bind_password]>`, e.g. + /// bash The resource can be imported using the ID format `<id[:bind_password]>`, e.g. /// /// ```sh /// $ pulumi import zitadel:index/idpLdap:IdpLdap imported '123456789012345678:b1nd_p4ssw0rd' diff --git a/sdk/dotnet/IdpOauth.cs b/sdk/dotnet/IdpOauth.cs new file mode 100644 index 0000000..56e3eda --- /dev/null +++ b/sdk/dotnet/IdpOauth.cs @@ -0,0 +1,372 @@ +// *** 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; +using Pulumi; + +namespace Pulumiverse.Zitadel +{ + /// + /// Resource representing a generic OAuth2 IDP on the instance. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Zitadel = Pulumiverse.Zitadel; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var @default = new Zitadel.IdpOauth("default", new() + /// { + /// AuthorizationEndpoint = "https://accounts.google.com/o/oauth2/v2/auth", + /// ClientId = "15765e...", + /// ClientSecret = "*****abcxyz", + /// IdAttribute = "user_id", + /// IsAutoCreation = false, + /// IsAutoUpdate = true, + /// IsCreationAllowed = true, + /// IsLinkingAllowed = false, + /// Scopes = new[] + /// { + /// "openid", + /// "profile", + /// "email", + /// }, + /// TokenEndpoint = "https://oauth2.googleapis.com/token", + /// UserEndpoint = "https://openidconnect.googleapis.com/v1/userinfo", + /// }); + /// + /// }); + /// ``` + /// + /// ## Import + /// + /// bash The resource can be imported using the ID format `<id[:client_secret]>`, e.g. + /// + /// ```sh + /// $ pulumi import zitadel:index/idpOauth:IdpOauth imported '123456789012345678:1234567890abcdef' + /// ``` + /// + [ZitadelResourceType("zitadel:index/idpOauth:IdpOauth")] + public partial class IdpOauth : global::Pulumi.CustomResource + { + /// + /// The authorization endpoint + /// + [Output("authorizationEndpoint")] + public Output AuthorizationEndpoint { get; private set; } = null!; + + /// + /// client id generated by the identity provider + /// + [Output("clientId")] + public Output ClientId { get; private set; } = null!; + + /// + /// client secret generated by the identity provider + /// + [Output("clientSecret")] + public Output ClientSecret { get; private set; } = null!; + + /// + /// The id attribute + /// + [Output("idAttribute")] + public Output IdAttribute { get; private set; } = null!; + + /// + /// enable if a new account in ZITADEL should be created automatically on login with an external account + /// + [Output("isAutoCreation")] + public Output IsAutoCreation { get; private set; } = null!; + + /// + /// enable if a the ZITADEL account fields should be updated automatically on each login + /// + [Output("isAutoUpdate")] + public Output IsAutoUpdate { get; private set; } = null!; + + /// + /// enable if users should be able to create a new account in ZITADEL when using an external account + /// + [Output("isCreationAllowed")] + public Output IsCreationAllowed { get; private set; } = null!; + + /// + /// enable if users should be able to link an existing ZITADEL user with an external account + /// + [Output("isLinkingAllowed")] + public Output IsLinkingAllowed { get; private set; } = null!; + + /// + /// Name of the IDP + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// the scopes requested by ZITADEL during the request on the identity provider + /// + [Output("scopes")] + public Output> Scopes { get; private set; } = null!; + + /// + /// The token endpoint + /// + [Output("tokenEndpoint")] + public Output TokenEndpoint { get; private set; } = null!; + + /// + /// The user endpoint + /// + [Output("userEndpoint")] + public Output UserEndpoint { get; private set; } = null!; + + + /// + /// Create a IdpOauth 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 IdpOauth(string name, IdpOauthArgs args, CustomResourceOptions? options = null) + : base("zitadel:index/idpOauth:IdpOauth", name, args ?? new IdpOauthArgs(), MakeResourceOptions(options, "")) + { + } + + private IdpOauth(string name, Input id, IdpOauthState? state = null, CustomResourceOptions? options = null) + : base("zitadel:index/idpOauth:IdpOauth", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + PluginDownloadURL = "github://api.github.com/pulumiverse", + AdditionalSecretOutputs = + { + "clientSecret", + }, + }; + 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 IdpOauth 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 IdpOauth Get(string name, Input id, IdpOauthState? state = null, CustomResourceOptions? options = null) + { + return new IdpOauth(name, id, state, options); + } + } + + public sealed class IdpOauthArgs : global::Pulumi.ResourceArgs + { + /// + /// The authorization endpoint + /// + [Input("authorizationEndpoint", required: true)] + public Input AuthorizationEndpoint { get; set; } = null!; + + /// + /// client id generated by the identity provider + /// + [Input("clientId", required: true)] + public Input ClientId { get; set; } = null!; + + [Input("clientSecret", required: true)] + private Input? _clientSecret; + + /// + /// client secret generated by the identity provider + /// + public Input? ClientSecret + { + get => _clientSecret; + set + { + var emptySecret = Output.CreateSecret(0); + _clientSecret = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + /// + /// The id attribute + /// + [Input("idAttribute", required: true)] + public Input IdAttribute { get; set; } = null!; + + /// + /// enable if a new account in ZITADEL should be created automatically on login with an external account + /// + [Input("isAutoCreation", required: true)] + public Input IsAutoCreation { get; set; } = null!; + + /// + /// enable if a the ZITADEL account fields should be updated automatically on each login + /// + [Input("isAutoUpdate", required: true)] + public Input IsAutoUpdate { get; set; } = null!; + + /// + /// enable if users should be able to create a new account in ZITADEL when using an external account + /// + [Input("isCreationAllowed", required: true)] + public Input IsCreationAllowed { get; set; } = null!; + + /// + /// enable if users should be able to link an existing ZITADEL user with an external account + /// + [Input("isLinkingAllowed", required: true)] + public Input IsLinkingAllowed { get; set; } = null!; + + /// + /// Name of the IDP + /// + [Input("name")] + public Input? Name { get; set; } + + [Input("scopes")] + private InputList? _scopes; + + /// + /// the scopes requested by ZITADEL during the request on the identity provider + /// + public InputList Scopes + { + get => _scopes ?? (_scopes = new InputList()); + set => _scopes = value; + } + + /// + /// The token endpoint + /// + [Input("tokenEndpoint", required: true)] + public Input TokenEndpoint { get; set; } = null!; + + /// + /// The user endpoint + /// + [Input("userEndpoint", required: true)] + public Input UserEndpoint { get; set; } = null!; + + public IdpOauthArgs() + { + } + public static new IdpOauthArgs Empty => new IdpOauthArgs(); + } + + public sealed class IdpOauthState : global::Pulumi.ResourceArgs + { + /// + /// The authorization endpoint + /// + [Input("authorizationEndpoint")] + public Input? AuthorizationEndpoint { get; set; } + + /// + /// client id generated by the identity provider + /// + [Input("clientId")] + public Input? ClientId { get; set; } + + [Input("clientSecret")] + private Input? _clientSecret; + + /// + /// client secret generated by the identity provider + /// + public Input? ClientSecret + { + get => _clientSecret; + set + { + var emptySecret = Output.CreateSecret(0); + _clientSecret = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + /// + /// The id attribute + /// + [Input("idAttribute")] + public Input? IdAttribute { get; set; } + + /// + /// enable if a new account in ZITADEL should be created automatically on login with an external account + /// + [Input("isAutoCreation")] + public Input? IsAutoCreation { get; set; } + + /// + /// enable if a the ZITADEL account fields should be updated automatically on each login + /// + [Input("isAutoUpdate")] + public Input? IsAutoUpdate { get; set; } + + /// + /// enable if users should be able to create a new account in ZITADEL when using an external account + /// + [Input("isCreationAllowed")] + public Input? IsCreationAllowed { get; set; } + + /// + /// enable if users should be able to link an existing ZITADEL user with an external account + /// + [Input("isLinkingAllowed")] + public Input? IsLinkingAllowed { get; set; } + + /// + /// Name of the IDP + /// + [Input("name")] + public Input? Name { get; set; } + + [Input("scopes")] + private InputList? _scopes; + + /// + /// the scopes requested by ZITADEL during the request on the identity provider + /// + public InputList Scopes + { + get => _scopes ?? (_scopes = new InputList()); + set => _scopes = value; + } + + /// + /// The token endpoint + /// + [Input("tokenEndpoint")] + public Input? TokenEndpoint { get; set; } + + /// + /// The user endpoint + /// + [Input("userEndpoint")] + public Input? UserEndpoint { get; set; } + + public IdpOauthState() + { + } + public static new IdpOauthState Empty => new IdpOauthState(); + } +} diff --git a/sdk/dotnet/IdpSaml.cs b/sdk/dotnet/IdpSaml.cs new file mode 100644 index 0000000..7620a35 --- /dev/null +++ b/sdk/dotnet/IdpSaml.cs @@ -0,0 +1,293 @@ +// *** 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; +using Pulumi; + +namespace Pulumiverse.Zitadel +{ + /// + /// Resource representing a SAML IDP on the instance. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Zitadel = Pulumiverse.Zitadel; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var @default = new Zitadel.IdpSaml("default", new() + /// { + /// Binding = "SAML_BINDING_POST", + /// IsAutoCreation = false, + /// IsAutoUpdate = true, + /// IsCreationAllowed = true, + /// IsLinkingAllowed = false, + /// MetadataXml = @"<?xml version=""1.0"" encoding=""UTF-8"" standalone=""no""?> + /// <md:EntityDescriptor xmlns:md=""urn:oasis:names:tc:SAML:2.0:metadata"" entityID=""https://saml.example.com/entityid"" validUntil=""2034-05-15T14:21:58.979Z""> + /// <md:IDPSSODescriptor WantAuthnRequestsSigned=""true"" protocolSupportEnumeration=""urn:oasis:names:tc:SAML:2.0:protocol""> + /// <md:KeyDescriptor use=""signing""> + /// <ds:KeyInfo xmlns:ds=""http://www.w3.org/2000/09/xmldsig#""> + /// <ds:X509Data> + /// <ds:X509Certificate>MIIC4jCCAcoCCQC33wnybT5QZDANBgkqhkiG9w0BAQsFADAyMQswCQYDVQQGEwJV + /// SzEPMA0GA1UECgwGQm94eUhRMRIwEAYDVQQDDAlNb2NrIFNBTUwwIBcNMjIwMjI4 + /// MjE0NjM4WhgPMzAyMTA3MDEyMTQ2MzhaMDIxCzAJBgNVBAYTAlVLMQ8wDQYDVQQK + /// DAZCb3h5SFExEjAQBgNVBAMMCU1vY2sgU0FNTDCCASIwDQYJKoZIhvcNAQEBBQAD + /// ggEPADCCAQoCggEBALGfYettMsct1T6tVUwTudNJH5Pnb9GGnkXi9Zw/e6x45DD0 + /// RuRONbFlJ2T4RjAE/uG+AjXxXQ8o2SZfb9+GgmCHuTJFNgHoZ1nFVXCmb/Hg8Hpd + /// 4vOAGXndixaReOiq3EH5XvpMjMkJ3+8+9VYMzMZOjkgQtAqO36eAFFfNKX7dTj3V + /// pwLkvz6/KFCq8OAwY+AUi4eZm5J57D31GzjHwfjH9WTeX0MyndmnNB1qV75qQR3b + /// 2/W5sGHRv+9AarggJkF+ptUkXoLtVA51wcfYm6hILptpde5FQC8RWY1YrswBWAEZ + /// NfyrR4JeSweElNHg4NVOs4TwGjOPwWGqzTfgTlECAwEAATANBgkqhkiG9w0BAQsF + /// AAOCAQEAAYRlYflSXAWoZpFfwNiCQVE5d9zZ0DPzNdWhAybXcTyMf0z5mDf6FWBW + /// 5Gyoi9u3EMEDnzLcJNkwJAAc39Apa4I2/tml+Jy29dk8bTyX6m93ngmCgdLh5Za4 + /// khuU3AM3L63g7VexCuO7kwkjh/+LqdcIXsVGO6XDfu2QOs1Xpe9zIzLpwm/RNYeX + /// UjbSj5ce/jekpAw7qyVVL4xOyh8AtUW1ek3wIw1MJvEgEPt0d16oshWJpoS1OT8L + /// r/22SvYEo3EmSGdTVGgk3x3s+A0qWAqTcyjr7Q4s/GKYRFfomGwz0TZ4Iw1ZN99M + /// m0eo2USlSRTVl7QHRTuiuSThHpLKQQ==</ds:X509Certificate> + /// </ds:X509Data> + /// </ds:KeyInfo> + /// </md:KeyDescriptor> + /// <md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress</md:NameIDFormat> + /// <md:SingleSignOnService Binding=""urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect"" Location=""https://mocksaml.com/api/saml/sso""/> + /// <md:SingleSignOnService Binding=""urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"" Location=""https://mocksaml.com/api/saml/sso""/> + /// </md:IDPSSODescriptor> + /// </md:EntityDescriptor> + /// + /// ", + /// WithSignedRequest = true, + /// }); + /// + /// }); + /// ``` + /// ## Loading the XML Metadata + /// + /// If you don't want to pass the XML metadata inline, you have plenty of options. For example: + /// - local_file Data Source + /// - http Data Source + /// - terracurl_request Data Source + /// - ... + /// + /// ## Import + /// + /// bash The resource can be imported using the ID format `<id>`, e.g. + /// + /// ```sh + /// $ pulumi import zitadel:index/idpSaml:IdpSaml imported '123456789012345678' + /// ``` + /// + [ZitadelResourceType("zitadel:index/idpSaml:IdpSaml")] + public partial class IdpSaml : global::Pulumi.CustomResource + { + /// + /// The binding, supported values: SAML*BINDING*UNSPECIFIED, SAML*BINDING*POST, SAML*BINDING*REDIRECT, SAML*BINDING*ARTIFACT + /// + [Output("binding")] + public Output Binding { get; private set; } = null!; + + /// + /// enable if a new account in ZITADEL should be created automatically on login with an external account + /// + [Output("isAutoCreation")] + public Output IsAutoCreation { get; private set; } = null!; + + /// + /// enable if a the ZITADEL account fields should be updated automatically on each login + /// + [Output("isAutoUpdate")] + public Output IsAutoUpdate { get; private set; } = null!; + + /// + /// enable if users should be able to create a new account in ZITADEL when using an external account + /// + [Output("isCreationAllowed")] + public Output IsCreationAllowed { get; private set; } = null!; + + /// + /// enable if users should be able to link an existing ZITADEL user with an external account + /// + [Output("isLinkingAllowed")] + public Output IsLinkingAllowed { get; private set; } = null!; + + /// + /// The metadata XML as plain string + /// + [Output("metadataXml")] + public Output MetadataXml { get; private set; } = null!; + + /// + /// Name of the IDP + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Whether the SAML IDP requires signed requests + /// + [Output("withSignedRequest")] + public Output WithSignedRequest { get; private set; } = null!; + + + /// + /// Create a IdpSaml 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 IdpSaml(string name, IdpSamlArgs args, CustomResourceOptions? options = null) + : base("zitadel:index/idpSaml:IdpSaml", name, args ?? new IdpSamlArgs(), MakeResourceOptions(options, "")) + { + } + + private IdpSaml(string name, Input id, IdpSamlState? state = null, CustomResourceOptions? options = null) + : base("zitadel:index/idpSaml:IdpSaml", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + PluginDownloadURL = "github://api.github.com/pulumiverse", + }; + 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 IdpSaml 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 IdpSaml Get(string name, Input id, IdpSamlState? state = null, CustomResourceOptions? options = null) + { + return new IdpSaml(name, id, state, options); + } + } + + public sealed class IdpSamlArgs : global::Pulumi.ResourceArgs + { + /// + /// The binding, supported values: SAML*BINDING*UNSPECIFIED, SAML*BINDING*POST, SAML*BINDING*REDIRECT, SAML*BINDING*ARTIFACT + /// + [Input("binding")] + public Input? Binding { get; set; } + + /// + /// enable if a new account in ZITADEL should be created automatically on login with an external account + /// + [Input("isAutoCreation", required: true)] + public Input IsAutoCreation { get; set; } = null!; + + /// + /// enable if a the ZITADEL account fields should be updated automatically on each login + /// + [Input("isAutoUpdate", required: true)] + public Input IsAutoUpdate { get; set; } = null!; + + /// + /// enable if users should be able to create a new account in ZITADEL when using an external account + /// + [Input("isCreationAllowed", required: true)] + public Input IsCreationAllowed { get; set; } = null!; + + /// + /// enable if users should be able to link an existing ZITADEL user with an external account + /// + [Input("isLinkingAllowed", required: true)] + public Input IsLinkingAllowed { get; set; } = null!; + + /// + /// The metadata XML as plain string + /// + [Input("metadataXml", required: true)] + public Input MetadataXml { get; set; } = null!; + + /// + /// Name of the IDP + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Whether the SAML IDP requires signed requests + /// + [Input("withSignedRequest")] + public Input? WithSignedRequest { get; set; } + + public IdpSamlArgs() + { + } + public static new IdpSamlArgs Empty => new IdpSamlArgs(); + } + + public sealed class IdpSamlState : global::Pulumi.ResourceArgs + { + /// + /// The binding, supported values: SAML*BINDING*UNSPECIFIED, SAML*BINDING*POST, SAML*BINDING*REDIRECT, SAML*BINDING*ARTIFACT + /// + [Input("binding")] + public Input? Binding { get; set; } + + /// + /// enable if a new account in ZITADEL should be created automatically on login with an external account + /// + [Input("isAutoCreation")] + public Input? IsAutoCreation { get; set; } + + /// + /// enable if a the ZITADEL account fields should be updated automatically on each login + /// + [Input("isAutoUpdate")] + public Input? IsAutoUpdate { get; set; } + + /// + /// enable if users should be able to create a new account in ZITADEL when using an external account + /// + [Input("isCreationAllowed")] + public Input? IsCreationAllowed { get; set; } + + /// + /// enable if users should be able to link an existing ZITADEL user with an external account + /// + [Input("isLinkingAllowed")] + public Input? IsLinkingAllowed { get; set; } + + /// + /// The metadata XML as plain string + /// + [Input("metadataXml")] + public Input? MetadataXml { get; set; } + + /// + /// Name of the IDP + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Whether the SAML IDP requires signed requests + /// + [Input("withSignedRequest")] + public Input? WithSignedRequest { get; set; } + + public IdpSamlState() + { + } + public static new IdpSamlState Empty => new IdpSamlState(); + } +} diff --git a/sdk/dotnet/InstanceMember.cs b/sdk/dotnet/InstanceMember.cs index b57ea94..dcf7a26 100644 --- a/sdk/dotnet/InstanceMember.cs +++ b/sdk/dotnet/InstanceMember.cs @@ -37,7 +37,7 @@ namespace Pulumiverse.Zitadel /// /// ## Import /// - /// terraform The resource can be imported using the ID format `<user_id>`, e.g. + /// bash The resource can be imported using the ID format `<user_id>`, e.g. /// /// ```sh /// $ pulumi import zitadel:index/instanceMember:InstanceMember imported '123456789012345678' diff --git a/sdk/dotnet/LabelPolicy.cs b/sdk/dotnet/LabelPolicy.cs index 4247b47..0e1a686 100644 --- a/sdk/dotnet/LabelPolicy.cs +++ b/sdk/dotnet/LabelPolicy.cs @@ -15,7 +15,7 @@ namespace Pulumiverse.Zitadel /// /// ## Import /// - /// terraform The resource can be imported using the ID format `<[org_id]>`, e.g. + /// bash The resource can be imported using the ID format `<[org_id]>`, e.g. /// /// ```sh /// $ pulumi import zitadel:index/labelPolicy:LabelPolicy imported '123456789012345678' @@ -129,6 +129,12 @@ public partial class LabelPolicy : global::Pulumi.CustomResource [Output("setActive")] public Output SetActive { get; private set; } = null!; + /// + /// theme mode, supported values: THEME*MODE*UNSPECIFIED, THEME*MODE*AUTO, THEME*MODE*DARK, THEME*MODE*LIGHT + /// + [Output("themeMode")] + public Output ThemeMode { get; private set; } = null!; + /// /// hex value for warn color /// @@ -278,6 +284,12 @@ public sealed class LabelPolicyArgs : global::Pulumi.ResourceArgs [Input("setActive")] public Input? SetActive { get; set; } + /// + /// theme mode, supported values: THEME*MODE*UNSPECIFIED, THEME*MODE*AUTO, THEME*MODE*DARK, THEME*MODE*LIGHT + /// + [Input("themeMode")] + public Input? ThemeMode { get; set; } + /// /// hex value for warn color /// @@ -403,6 +415,12 @@ public sealed class LabelPolicyState : global::Pulumi.ResourceArgs [Input("setActive")] public Input? SetActive { get; set; } + /// + /// theme mode, supported values: THEME*MODE*UNSPECIFIED, THEME*MODE*AUTO, THEME*MODE*DARK, THEME*MODE*LIGHT + /// + [Input("themeMode")] + public Input? ThemeMode { get; set; } + /// /// hex value for warn color /// diff --git a/sdk/dotnet/LockoutPolicy.cs b/sdk/dotnet/LockoutPolicy.cs index 27e3ce1..814a45d 100644 --- a/sdk/dotnet/LockoutPolicy.cs +++ b/sdk/dotnet/LockoutPolicy.cs @@ -34,7 +34,7 @@ namespace Pulumiverse.Zitadel /// /// ## Import /// - /// terraform The resource can be imported using the ID format `<[org_id]>`, e.g. + /// bash The resource can be imported using the ID format `<[org_id]>`, e.g. /// /// ```sh /// $ pulumi import zitadel:index/lockoutPolicy:LockoutPolicy imported '123456789012345678' diff --git a/sdk/dotnet/LoginPolicy.cs b/sdk/dotnet/LoginPolicy.cs index 3fd2f08..a45f57c 100644 --- a/sdk/dotnet/LoginPolicy.cs +++ b/sdk/dotnet/LoginPolicy.cs @@ -64,7 +64,7 @@ namespace Pulumiverse.Zitadel /// /// ## Import /// - /// terraform The resource can be imported using the ID format `<[org_id]>`, e.g. + /// bash The resource can be imported using the ID format `<[org_id]>`, e.g. /// /// ```sh /// $ pulumi import zitadel:index/loginPolicy:LoginPolicy imported '123456789012345678' diff --git a/sdk/dotnet/MachineKey.cs b/sdk/dotnet/MachineKey.cs index da0cf1e..f9d6e7c 100644 --- a/sdk/dotnet/MachineKey.cs +++ b/sdk/dotnet/MachineKey.cs @@ -36,7 +36,7 @@ namespace Pulumiverse.Zitadel /// /// ## Import /// - /// terraform The resource can be imported using the ID format `<id:user_id[:org_id][:key_details]>`, e.g. + /// bash The resource can be imported using the ID format `<id:user_id[:org_id][:key_details]>`, e.g. /// /// ```sh /// $ pulumi import zitadel:index/machineKey:MachineKey imported '123456789012345678:123456789012345678:123456789012345678:{"type":"serviceaccount","keyId":"123456789012345678","key":"-----BEGIN RSA PRIVATE KEY-----\nMIIEpQ...-----END RSA PRIVATE KEY-----\n","userId":"123456789012345678"}' diff --git a/sdk/dotnet/MachineUser.cs b/sdk/dotnet/MachineUser.cs index 52cb2e9..5bb5701 100644 --- a/sdk/dotnet/MachineUser.cs +++ b/sdk/dotnet/MachineUser.cs @@ -36,7 +36,7 @@ namespace Pulumiverse.Zitadel /// /// ## Import /// - /// terraform The resource can be imported using the ID format `<id:has_secret[:org_id][:client_id][:client_secret]>`, e.g. + /// bash The resource can be imported using the ID format `<id:has_secret[:org_id][:client_id][:client_secret]>`, e.g. /// /// ```sh /// $ pulumi import zitadel:index/machineUser:MachineUser imported '123456789012345678:123456789012345678:true:my-machine-user:j76mh34CHVrGGoXPQOg80lch67FIxwc2qIXjBkZoB6oMbf31eGMkB6bvRyaPjR2t' diff --git a/sdk/dotnet/NotificationPolicy.cs b/sdk/dotnet/NotificationPolicy.cs index 9696e93..55437d3 100644 --- a/sdk/dotnet/NotificationPolicy.cs +++ b/sdk/dotnet/NotificationPolicy.cs @@ -34,7 +34,7 @@ namespace Pulumiverse.Zitadel /// /// ## Import /// - /// terraform The resource can be imported using the ID format `<[org_id]>`, e.g. + /// bash The resource can be imported using the ID format `<[org_id]>`, e.g. /// /// ```sh /// $ pulumi import zitadel:index/notificationPolicy:NotificationPolicy imported '123456789012345678' diff --git a/sdk/dotnet/Org.cs b/sdk/dotnet/Org.cs index 0643f36..811bde9 100644 --- a/sdk/dotnet/Org.cs +++ b/sdk/dotnet/Org.cs @@ -30,7 +30,7 @@ namespace Pulumiverse.Zitadel /// /// ## Import /// - /// terraform The resource can be imported using the ID format `<id>`, e.g. + /// bash The resource can be imported using the ID format `<id>`, e.g. /// /// ```sh /// $ pulumi import zitadel:index/org:Org imported '123456789012345678' diff --git a/sdk/dotnet/OrgIdpAzureAd.cs b/sdk/dotnet/OrgIdpAzureAd.cs index c5ab66b..2db18ab 100644 --- a/sdk/dotnet/OrgIdpAzureAd.cs +++ b/sdk/dotnet/OrgIdpAzureAd.cs @@ -48,7 +48,7 @@ namespace Pulumiverse.Zitadel /// /// ## Import /// - /// terraform The resource can be imported using the ID format `<id[:org_id][:client_secret]>`, e.g. + /// bash The resource can be imported using the ID format `<id[:org_id][:client_secret]>`, e.g. /// /// ```sh /// $ pulumi import zitadel:index/orgIdpAzureAd:OrgIdpAzureAd imported '123456789012345678:123456789012345678:12345678-1234-1234-1234-123456789012' diff --git a/sdk/dotnet/OrgIdpGithub.cs b/sdk/dotnet/OrgIdpGithub.cs index 3661764..29ddc08 100644 --- a/sdk/dotnet/OrgIdpGithub.cs +++ b/sdk/dotnet/OrgIdpGithub.cs @@ -45,7 +45,7 @@ namespace Pulumiverse.Zitadel /// /// ## Import /// - /// terraform The resource can be imported using the ID format `<id[:org_id][:client_secret]>`, e.g. + /// bash The resource can be imported using the ID format `<id[:org_id][:client_secret]>`, e.g. /// /// ```sh /// $ pulumi import zitadel:index/orgIdpGithub:OrgIdpGithub imported '123456789012345678:123456789012345678:1234567890123456781234567890123456787890' diff --git a/sdk/dotnet/OrgIdpGithubEs.cs b/sdk/dotnet/OrgIdpGithubEs.cs index d374671..31aa07e 100644 --- a/sdk/dotnet/OrgIdpGithubEs.cs +++ b/sdk/dotnet/OrgIdpGithubEs.cs @@ -48,7 +48,7 @@ namespace Pulumiverse.Zitadel /// /// ## Import /// - /// terraform The resource can be imported using the ID format `<id[:org_id][:client_secret]>`, e.g. + /// bash The resource can be imported using the ID format `<id[:org_id][:client_secret]>`, e.g. /// /// ```sh /// $ pulumi import zitadel:index/orgIdpGithubEs:OrgIdpGithubEs imported '123456789012345678:123456789012345678:123456789012345678:123456789012345678' diff --git a/sdk/dotnet/OrgIdpGitlab.cs b/sdk/dotnet/OrgIdpGitlab.cs index ee6bd15..d63fcab 100644 --- a/sdk/dotnet/OrgIdpGitlab.cs +++ b/sdk/dotnet/OrgIdpGitlab.cs @@ -45,7 +45,7 @@ namespace Pulumiverse.Zitadel /// /// ## Import /// - /// terraform The resource can be imported using the ID format `<id[:org_id][:client_secret]>`, e.g. + /// bash The resource can be imported using the ID format `<id[:org_id][:client_secret]>`, e.g. /// /// ```sh /// $ pulumi import zitadel:index/orgIdpGitlab:OrgIdpGitlab imported '123456789012345678:123456789012345678:1234567890abcdef' diff --git a/sdk/dotnet/OrgIdpGitlabSelfHosted.cs b/sdk/dotnet/OrgIdpGitlabSelfHosted.cs index 8cac566..fe7ec1e 100644 --- a/sdk/dotnet/OrgIdpGitlabSelfHosted.cs +++ b/sdk/dotnet/OrgIdpGitlabSelfHosted.cs @@ -46,7 +46,7 @@ namespace Pulumiverse.Zitadel /// /// ## Import /// - /// terraform The resource can be imported using the ID format `<id[:org_id][:client_secret]>`, e.g. + /// bash The resource can be imported using the ID format `<id[:org_id][:client_secret]>`, e.g. /// /// ```sh /// $ pulumi import zitadel:index/orgIdpGitlabSelfHosted:OrgIdpGitlabSelfHosted imported '123456789012345678:123456789012345678:1234567890abcdef' diff --git a/sdk/dotnet/OrgIdpGoogle.cs b/sdk/dotnet/OrgIdpGoogle.cs index 0cccd4d..c7605f6 100644 --- a/sdk/dotnet/OrgIdpGoogle.cs +++ b/sdk/dotnet/OrgIdpGoogle.cs @@ -45,7 +45,7 @@ namespace Pulumiverse.Zitadel /// /// ## Import /// - /// terraform The resource can be imported using the ID format `<id[:org_id][:client_secret]>`, e.g. + /// bash The resource can be imported using the ID format `<id[:org_id][:client_secret]>`, e.g. /// /// ```sh /// $ pulumi import zitadel:index/orgIdpGoogle:OrgIdpGoogle imported '123456789012345678:123456789012345678:G1234567890123' diff --git a/sdk/dotnet/OrgIdpJwt.cs b/sdk/dotnet/OrgIdpJwt.cs index 4841dea..cb17e4e 100644 --- a/sdk/dotnet/OrgIdpJwt.cs +++ b/sdk/dotnet/OrgIdpJwt.cs @@ -39,7 +39,7 @@ namespace Pulumiverse.Zitadel /// /// ## Import /// - /// terraform The resource can be imported using the ID format `<id[:org_id]>`, e.g. + /// bash The resource can be imported using the ID format `<id[:org_id]>`, e.g. /// /// ```sh /// $ pulumi import zitadel:index/orgIdpJwt:OrgIdpJwt imported '123456789012345678:123456789012345678' diff --git a/sdk/dotnet/OrgIdpLdap.cs b/sdk/dotnet/OrgIdpLdap.cs index be13b38..eaf1a5d 100644 --- a/sdk/dotnet/OrgIdpLdap.cs +++ b/sdk/dotnet/OrgIdpLdap.cs @@ -60,7 +60,7 @@ namespace Pulumiverse.Zitadel /// /// ## Import /// - /// terraform The resource can be imported using the ID format `<id[:org_id][:bind_password]>`, e.g. + /// bash The resource can be imported using the ID format `<id[:org_id][:bind_password]>`, e.g. /// /// ```sh /// $ pulumi import zitadel:index/orgIdpLdap:OrgIdpLdap imported '123456789012345678:123456789012345678:b1nd_p4ssw0rd' diff --git a/sdk/dotnet/OrgIdpOauth.cs b/sdk/dotnet/OrgIdpOauth.cs new file mode 100644 index 0000000..3636b64 --- /dev/null +++ b/sdk/dotnet/OrgIdpOauth.cs @@ -0,0 +1,391 @@ +// *** 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; +using Pulumi; + +namespace Pulumiverse.Zitadel +{ + /// + /// Resource representing a generic OAuth2 IDP on the organization. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Zitadel = Pulumiverse.Zitadel; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var @default = new Zitadel.OrgIdpOauth("default", new() + /// { + /// OrgId = data.Zitadel_org.Default.Id, + /// ClientId = "15765e...", + /// ClientSecret = "*****abcxyz", + /// AuthorizationEndpoint = "https://accounts.google.com/o/oauth2/v2/auth", + /// TokenEndpoint = "https://oauth2.googleapis.com/token", + /// UserEndpoint = "https://openidconnect.googleapis.com/v1/userinfo", + /// IdAttribute = "user_id", + /// Scopes = new[] + /// { + /// "openid", + /// "profile", + /// "email", + /// }, + /// IsLinkingAllowed = false, + /// IsCreationAllowed = true, + /// IsAutoCreation = false, + /// IsAutoUpdate = true, + /// }); + /// + /// }); + /// ``` + /// + /// ## Import + /// + /// bash The resource can be imported using the ID format `<id[:org_id][:client_secret]>`, e.g. + /// + /// ```sh + /// $ pulumi import zitadel:index/orgIdpOauth:OrgIdpOauth imported '123456789012345678:123456789012345678:1234567890abcdef' + /// ``` + /// + [ZitadelResourceType("zitadel:index/orgIdpOauth:OrgIdpOauth")] + public partial class OrgIdpOauth : global::Pulumi.CustomResource + { + /// + /// The authorization endpoint + /// + [Output("authorizationEndpoint")] + public Output AuthorizationEndpoint { get; private set; } = null!; + + /// + /// client id generated by the identity provider + /// + [Output("clientId")] + public Output ClientId { get; private set; } = null!; + + /// + /// client secret generated by the identity provider + /// + [Output("clientSecret")] + public Output ClientSecret { get; private set; } = null!; + + /// + /// The id attribute + /// + [Output("idAttribute")] + public Output IdAttribute { get; private set; } = null!; + + /// + /// enable if a new account in ZITADEL should be created automatically on login with an external account + /// + [Output("isAutoCreation")] + public Output IsAutoCreation { get; private set; } = null!; + + /// + /// enable if a the ZITADEL account fields should be updated automatically on each login + /// + [Output("isAutoUpdate")] + public Output IsAutoUpdate { get; private set; } = null!; + + /// + /// enable if users should be able to create a new account in ZITADEL when using an external account + /// + [Output("isCreationAllowed")] + public Output IsCreationAllowed { get; private set; } = null!; + + /// + /// enable if users should be able to link an existing ZITADEL user with an external account + /// + [Output("isLinkingAllowed")] + public Output IsLinkingAllowed { get; private set; } = null!; + + /// + /// Name of the IDP + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// ID of the organization + /// + [Output("orgId")] + public Output OrgId { get; private set; } = null!; + + /// + /// the scopes requested by ZITADEL during the request on the identity provider + /// + [Output("scopes")] + public Output> Scopes { get; private set; } = null!; + + /// + /// The token endpoint + /// + [Output("tokenEndpoint")] + public Output TokenEndpoint { get; private set; } = null!; + + /// + /// The user endpoint + /// + [Output("userEndpoint")] + public Output UserEndpoint { get; private set; } = null!; + + + /// + /// Create a OrgIdpOauth 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 OrgIdpOauth(string name, OrgIdpOauthArgs args, CustomResourceOptions? options = null) + : base("zitadel:index/orgIdpOauth:OrgIdpOauth", name, args ?? new OrgIdpOauthArgs(), MakeResourceOptions(options, "")) + { + } + + private OrgIdpOauth(string name, Input id, OrgIdpOauthState? state = null, CustomResourceOptions? options = null) + : base("zitadel:index/orgIdpOauth:OrgIdpOauth", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + PluginDownloadURL = "github://api.github.com/pulumiverse", + AdditionalSecretOutputs = + { + "clientSecret", + }, + }; + 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 OrgIdpOauth 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 OrgIdpOauth Get(string name, Input id, OrgIdpOauthState? state = null, CustomResourceOptions? options = null) + { + return new OrgIdpOauth(name, id, state, options); + } + } + + public sealed class OrgIdpOauthArgs : global::Pulumi.ResourceArgs + { + /// + /// The authorization endpoint + /// + [Input("authorizationEndpoint", required: true)] + public Input AuthorizationEndpoint { get; set; } = null!; + + /// + /// client id generated by the identity provider + /// + [Input("clientId", required: true)] + public Input ClientId { get; set; } = null!; + + [Input("clientSecret", required: true)] + private Input? _clientSecret; + + /// + /// client secret generated by the identity provider + /// + public Input? ClientSecret + { + get => _clientSecret; + set + { + var emptySecret = Output.CreateSecret(0); + _clientSecret = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + /// + /// The id attribute + /// + [Input("idAttribute", required: true)] + public Input IdAttribute { get; set; } = null!; + + /// + /// enable if a new account in ZITADEL should be created automatically on login with an external account + /// + [Input("isAutoCreation", required: true)] + public Input IsAutoCreation { get; set; } = null!; + + /// + /// enable if a the ZITADEL account fields should be updated automatically on each login + /// + [Input("isAutoUpdate", required: true)] + public Input IsAutoUpdate { get; set; } = null!; + + /// + /// enable if users should be able to create a new account in ZITADEL when using an external account + /// + [Input("isCreationAllowed", required: true)] + public Input IsCreationAllowed { get; set; } = null!; + + /// + /// enable if users should be able to link an existing ZITADEL user with an external account + /// + [Input("isLinkingAllowed", required: true)] + public Input IsLinkingAllowed { get; set; } = null!; + + /// + /// Name of the IDP + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// ID of the organization + /// + [Input("orgId")] + public Input? OrgId { get; set; } + + [Input("scopes")] + private InputList? _scopes; + + /// + /// the scopes requested by ZITADEL during the request on the identity provider + /// + public InputList Scopes + { + get => _scopes ?? (_scopes = new InputList()); + set => _scopes = value; + } + + /// + /// The token endpoint + /// + [Input("tokenEndpoint", required: true)] + public Input TokenEndpoint { get; set; } = null!; + + /// + /// The user endpoint + /// + [Input("userEndpoint", required: true)] + public Input UserEndpoint { get; set; } = null!; + + public OrgIdpOauthArgs() + { + } + public static new OrgIdpOauthArgs Empty => new OrgIdpOauthArgs(); + } + + public sealed class OrgIdpOauthState : global::Pulumi.ResourceArgs + { + /// + /// The authorization endpoint + /// + [Input("authorizationEndpoint")] + public Input? AuthorizationEndpoint { get; set; } + + /// + /// client id generated by the identity provider + /// + [Input("clientId")] + public Input? ClientId { get; set; } + + [Input("clientSecret")] + private Input? _clientSecret; + + /// + /// client secret generated by the identity provider + /// + public Input? ClientSecret + { + get => _clientSecret; + set + { + var emptySecret = Output.CreateSecret(0); + _clientSecret = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + /// + /// The id attribute + /// + [Input("idAttribute")] + public Input? IdAttribute { get; set; } + + /// + /// enable if a new account in ZITADEL should be created automatically on login with an external account + /// + [Input("isAutoCreation")] + public Input? IsAutoCreation { get; set; } + + /// + /// enable if a the ZITADEL account fields should be updated automatically on each login + /// + [Input("isAutoUpdate")] + public Input? IsAutoUpdate { get; set; } + + /// + /// enable if users should be able to create a new account in ZITADEL when using an external account + /// + [Input("isCreationAllowed")] + public Input? IsCreationAllowed { get; set; } + + /// + /// enable if users should be able to link an existing ZITADEL user with an external account + /// + [Input("isLinkingAllowed")] + public Input? IsLinkingAllowed { get; set; } + + /// + /// Name of the IDP + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// ID of the organization + /// + [Input("orgId")] + public Input? OrgId { get; set; } + + [Input("scopes")] + private InputList? _scopes; + + /// + /// the scopes requested by ZITADEL during the request on the identity provider + /// + public InputList Scopes + { + get => _scopes ?? (_scopes = new InputList()); + set => _scopes = value; + } + + /// + /// The token endpoint + /// + [Input("tokenEndpoint")] + public Input? TokenEndpoint { get; set; } + + /// + /// The user endpoint + /// + [Input("userEndpoint")] + public Input? UserEndpoint { get; set; } + + public OrgIdpOauthState() + { + } + public static new OrgIdpOauthState Empty => new OrgIdpOauthState(); + } +} diff --git a/sdk/dotnet/OrgIdpOidc.cs b/sdk/dotnet/OrgIdpOidc.cs index bf8b70f..92d5173 100644 --- a/sdk/dotnet/OrgIdpOidc.cs +++ b/sdk/dotnet/OrgIdpOidc.cs @@ -47,7 +47,7 @@ namespace Pulumiverse.Zitadel /// /// ## Import /// - /// terraform The resource can be imported using the ID format `<id[:org_id][:client_secret]>`, e.g. + /// bash The resource can be imported using the ID format `<id[:org_id][:client_secret]>`, e.g. /// /// ```sh /// $ pulumi import zitadel:index/orgIdpOidc:OrgIdpOidc imported '123456789012345678:123456789012345678:1234567890abcdef' diff --git a/sdk/dotnet/OrgIdpSaml.cs b/sdk/dotnet/OrgIdpSaml.cs new file mode 100644 index 0000000..4fb16a4 --- /dev/null +++ b/sdk/dotnet/OrgIdpSaml.cs @@ -0,0 +1,311 @@ +// *** 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; +using Pulumi; + +namespace Pulumiverse.Zitadel +{ + /// + /// Resource representing a SAML IdP on the organization. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Zitadel = Pulumiverse.Zitadel; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var @default = new Zitadel.OrgIdpSaml("default", new() + /// { + /// OrgId = data.Zitadel_org.Default.Id, + /// Binding = "SAML_BINDING_POST", + /// WithSignedRequest = true, + /// IsLinkingAllowed = false, + /// IsCreationAllowed = true, + /// IsAutoCreation = false, + /// IsAutoUpdate = true, + /// MetadataXml = @"<?xml version=""1.0"" encoding=""UTF-8"" standalone=""no""?> + /// <md:EntityDescriptor xmlns:md=""urn:oasis:names:tc:SAML:2.0:metadata"" entityID=""https://saml.example.com/entityid"" validUntil=""2034-05-15T14:21:58.979Z""> + /// <md:IDPSSODescriptor WantAuthnRequestsSigned=""true"" protocolSupportEnumeration=""urn:oasis:names:tc:SAML:2.0:protocol""> + /// <md:KeyDescriptor use=""signing""> + /// <ds:KeyInfo xmlns:ds=""http://www.w3.org/2000/09/xmldsig#""> + /// <ds:X509Data> + /// <ds:X509Certificate>MIIC4jCCAcoCCQC33wnybT5QZDANBgkqhkiG9w0BAQsFADAyMQswCQYDVQQGEwJV + /// SzEPMA0GA1UECgwGQm94eUhRMRIwEAYDVQQDDAlNb2NrIFNBTUwwIBcNMjIwMjI4 + /// MjE0NjM4WhgPMzAyMTA3MDEyMTQ2MzhaMDIxCzAJBgNVBAYTAlVLMQ8wDQYDVQQK + /// DAZCb3h5SFExEjAQBgNVBAMMCU1vY2sgU0FNTDCCASIwDQYJKoZIhvcNAQEBBQAD + /// ggEPADCCAQoCggEBALGfYettMsct1T6tVUwTudNJH5Pnb9GGnkXi9Zw/e6x45DD0 + /// RuRONbFlJ2T4RjAE/uG+AjXxXQ8o2SZfb9+GgmCHuTJFNgHoZ1nFVXCmb/Hg8Hpd + /// 4vOAGXndixaReOiq3EH5XvpMjMkJ3+8+9VYMzMZOjkgQtAqO36eAFFfNKX7dTj3V + /// pwLkvz6/KFCq8OAwY+AUi4eZm5J57D31GzjHwfjH9WTeX0MyndmnNB1qV75qQR3b + /// 2/W5sGHRv+9AarggJkF+ptUkXoLtVA51wcfYm6hILptpde5FQC8RWY1YrswBWAEZ + /// NfyrR4JeSweElNHg4NVOs4TwGjOPwWGqzTfgTlECAwEAATANBgkqhkiG9w0BAQsF + /// AAOCAQEAAYRlYflSXAWoZpFfwNiCQVE5d9zZ0DPzNdWhAybXcTyMf0z5mDf6FWBW + /// 5Gyoi9u3EMEDnzLcJNkwJAAc39Apa4I2/tml+Jy29dk8bTyX6m93ngmCgdLh5Za4 + /// khuU3AM3L63g7VexCuO7kwkjh/+LqdcIXsVGO6XDfu2QOs1Xpe9zIzLpwm/RNYeX + /// UjbSj5ce/jekpAw7qyVVL4xOyh8AtUW1ek3wIw1MJvEgEPt0d16oshWJpoS1OT8L + /// r/22SvYEo3EmSGdTVGgk3x3s+A0qWAqTcyjr7Q4s/GKYRFfomGwz0TZ4Iw1ZN99M + /// m0eo2USlSRTVl7QHRTuiuSThHpLKQQ==</ds:X509Certificate> + /// </ds:X509Data> + /// </ds:KeyInfo> + /// </md:KeyDescriptor> + /// <md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress</md:NameIDFormat> + /// <md:SingleSignOnService Binding=""urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect"" Location=""https://mocksaml.com/api/saml/sso""/> + /// <md:SingleSignOnService Binding=""urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"" Location=""https://mocksaml.com/api/saml/sso""/> + /// </md:IDPSSODescriptor> + /// </md:EntityDescriptor> + /// ", + /// }); + /// + /// }); + /// ``` + /// ## Loading the XML Metadata + /// + /// If you don't want to pass the XML metadata inline, you have plenty of options. For example: + /// - local_file Data Source + /// - http Data Source + /// - terracurl_request Data Source + /// - ... + /// + /// ## Import + /// + /// bash The resource can be imported using the ID format `<id[:org_id]>`, e.g. + /// + /// ```sh + /// $ pulumi import zitadel:index/orgIdpSaml:OrgIdpSaml imported '123456789012345678:123456789012345678' + /// ``` + /// + [ZitadelResourceType("zitadel:index/orgIdpSaml:OrgIdpSaml")] + public partial class OrgIdpSaml : global::Pulumi.CustomResource + { + /// + /// The binding, supported values: SAML*BINDING*UNSPECIFIED, SAML*BINDING*POST, SAML*BINDING*REDIRECT, SAML*BINDING*ARTIFACT + /// + [Output("binding")] + public Output Binding { get; private set; } = null!; + + /// + /// enable if a new account in ZITADEL should be created automatically on login with an external account + /// + [Output("isAutoCreation")] + public Output IsAutoCreation { get; private set; } = null!; + + /// + /// enable if a the ZITADEL account fields should be updated automatically on each login + /// + [Output("isAutoUpdate")] + public Output IsAutoUpdate { get; private set; } = null!; + + /// + /// enable if users should be able to create a new account in ZITADEL when using an external account + /// + [Output("isCreationAllowed")] + public Output IsCreationAllowed { get; private set; } = null!; + + /// + /// enable if users should be able to link an existing ZITADEL user with an external account + /// + [Output("isLinkingAllowed")] + public Output IsLinkingAllowed { get; private set; } = null!; + + /// + /// The metadata XML as plain string + /// + [Output("metadataXml")] + public Output MetadataXml { get; private set; } = null!; + + /// + /// Name of the IDP + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// ID of the organization + /// + [Output("orgId")] + public Output OrgId { get; private set; } = null!; + + /// + /// Whether the SAML IDP requires signed requests + /// + [Output("withSignedRequest")] + public Output WithSignedRequest { get; private set; } = null!; + + + /// + /// Create a OrgIdpSaml 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 OrgIdpSaml(string name, OrgIdpSamlArgs args, CustomResourceOptions? options = null) + : base("zitadel:index/orgIdpSaml:OrgIdpSaml", name, args ?? new OrgIdpSamlArgs(), MakeResourceOptions(options, "")) + { + } + + private OrgIdpSaml(string name, Input id, OrgIdpSamlState? state = null, CustomResourceOptions? options = null) + : base("zitadel:index/orgIdpSaml:OrgIdpSaml", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + PluginDownloadURL = "github://api.github.com/pulumiverse", + }; + 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 OrgIdpSaml 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 OrgIdpSaml Get(string name, Input id, OrgIdpSamlState? state = null, CustomResourceOptions? options = null) + { + return new OrgIdpSaml(name, id, state, options); + } + } + + public sealed class OrgIdpSamlArgs : global::Pulumi.ResourceArgs + { + /// + /// The binding, supported values: SAML*BINDING*UNSPECIFIED, SAML*BINDING*POST, SAML*BINDING*REDIRECT, SAML*BINDING*ARTIFACT + /// + [Input("binding")] + public Input? Binding { get; set; } + + /// + /// enable if a new account in ZITADEL should be created automatically on login with an external account + /// + [Input("isAutoCreation", required: true)] + public Input IsAutoCreation { get; set; } = null!; + + /// + /// enable if a the ZITADEL account fields should be updated automatically on each login + /// + [Input("isAutoUpdate", required: true)] + public Input IsAutoUpdate { get; set; } = null!; + + /// + /// enable if users should be able to create a new account in ZITADEL when using an external account + /// + [Input("isCreationAllowed", required: true)] + public Input IsCreationAllowed { get; set; } = null!; + + /// + /// enable if users should be able to link an existing ZITADEL user with an external account + /// + [Input("isLinkingAllowed", required: true)] + public Input IsLinkingAllowed { get; set; } = null!; + + /// + /// The metadata XML as plain string + /// + [Input("metadataXml", required: true)] + public Input MetadataXml { get; set; } = null!; + + /// + /// Name of the IDP + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// ID of the organization + /// + [Input("orgId")] + public Input? OrgId { get; set; } + + /// + /// Whether the SAML IDP requires signed requests + /// + [Input("withSignedRequest")] + public Input? WithSignedRequest { get; set; } + + public OrgIdpSamlArgs() + { + } + public static new OrgIdpSamlArgs Empty => new OrgIdpSamlArgs(); + } + + public sealed class OrgIdpSamlState : global::Pulumi.ResourceArgs + { + /// + /// The binding, supported values: SAML*BINDING*UNSPECIFIED, SAML*BINDING*POST, SAML*BINDING*REDIRECT, SAML*BINDING*ARTIFACT + /// + [Input("binding")] + public Input? Binding { get; set; } + + /// + /// enable if a new account in ZITADEL should be created automatically on login with an external account + /// + [Input("isAutoCreation")] + public Input? IsAutoCreation { get; set; } + + /// + /// enable if a the ZITADEL account fields should be updated automatically on each login + /// + [Input("isAutoUpdate")] + public Input? IsAutoUpdate { get; set; } + + /// + /// enable if users should be able to create a new account in ZITADEL when using an external account + /// + [Input("isCreationAllowed")] + public Input? IsCreationAllowed { get; set; } + + /// + /// enable if users should be able to link an existing ZITADEL user with an external account + /// + [Input("isLinkingAllowed")] + public Input? IsLinkingAllowed { get; set; } + + /// + /// The metadata XML as plain string + /// + [Input("metadataXml")] + public Input? MetadataXml { get; set; } + + /// + /// Name of the IDP + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// ID of the organization + /// + [Input("orgId")] + public Input? OrgId { get; set; } + + /// + /// Whether the SAML IDP requires signed requests + /// + [Input("withSignedRequest")] + public Input? WithSignedRequest { get; set; } + + public OrgIdpSamlState() + { + } + public static new OrgIdpSamlState Empty => new OrgIdpSamlState(); + } +} diff --git a/sdk/dotnet/OrgMember.cs b/sdk/dotnet/OrgMember.cs index be54dce..4587746 100644 --- a/sdk/dotnet/OrgMember.cs +++ b/sdk/dotnet/OrgMember.cs @@ -38,7 +38,7 @@ namespace Pulumiverse.Zitadel /// /// ## Import /// - /// terraform The resource can be imported using the ID format `<user_id[:org_id]>`, e.g. + /// bash The resource can be imported using the ID format `<user_id[:org_id]>`, e.g. /// /// ```sh /// $ pulumi import zitadel:index/orgMember:OrgMember imported '123456789012345678:123456789012345678' diff --git a/sdk/dotnet/OrgMetadata.cs b/sdk/dotnet/OrgMetadata.cs new file mode 100644 index 0000000..6d7c9a7 --- /dev/null +++ b/sdk/dotnet/OrgMetadata.cs @@ -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! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace Pulumiverse.Zitadel +{ + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Zitadel = Pulumiverse.Zitadel; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var @default = new Zitadel.OrgMetadata("default", new() + /// { + /// OrgId = data.Zitadel_org.Default.Id, + /// Key = "a_key", + /// Value = "a_value", + /// }); + /// + /// }); + /// ``` + /// + /// ## Import + /// + /// bash The resource can be imported using the ID format `<key[:org_id]>`, e.g. + /// + /// ```sh + /// $ pulumi import zitadel:index/orgMetadata:OrgMetadata imported 'a_key:123456789012345678' + /// ``` + /// + [ZitadelResourceType("zitadel:index/orgMetadata:OrgMetadata")] + public partial class OrgMetadata : global::Pulumi.CustomResource + { + /// + /// The key of a metadata entry + /// + [Output("key")] + public Output Key { get; private set; } = null!; + + /// + /// ID of the organization + /// + [Output("orgId")] + public Output OrgId { get; private set; } = null!; + + /// + /// The string representation of a metadata entry value. For binary data, use the base64encode function. + /// + [Output("value")] + public Output Value { get; private set; } = null!; + + + /// + /// Create a OrgMetadata 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 OrgMetadata(string name, OrgMetadataArgs args, CustomResourceOptions? options = null) + : base("zitadel:index/orgMetadata:OrgMetadata", name, args ?? new OrgMetadataArgs(), MakeResourceOptions(options, "")) + { + } + + private OrgMetadata(string name, Input id, OrgMetadataState? state = null, CustomResourceOptions? options = null) + : base("zitadel:index/orgMetadata:OrgMetadata", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + PluginDownloadURL = "github://api.github.com/pulumiverse", + }; + 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 OrgMetadata 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 OrgMetadata Get(string name, Input id, OrgMetadataState? state = null, CustomResourceOptions? options = null) + { + return new OrgMetadata(name, id, state, options); + } + } + + public sealed class OrgMetadataArgs : global::Pulumi.ResourceArgs + { + /// + /// The key of a metadata entry + /// + [Input("key", required: true)] + public Input Key { get; set; } = null!; + + /// + /// ID of the organization + /// + [Input("orgId")] + public Input? OrgId { get; set; } + + /// + /// The string representation of a metadata entry value. For binary data, use the base64encode function. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public OrgMetadataArgs() + { + } + public static new OrgMetadataArgs Empty => new OrgMetadataArgs(); + } + + public sealed class OrgMetadataState : global::Pulumi.ResourceArgs + { + /// + /// The key of a metadata entry + /// + [Input("key")] + public Input? Key { get; set; } + + /// + /// ID of the organization + /// + [Input("orgId")] + public Input? OrgId { get; set; } + + /// + /// The string representation of a metadata entry value. For binary data, use the base64encode function. + /// + [Input("value")] + public Input? Value { get; set; } + + public OrgMetadataState() + { + } + public static new OrgMetadataState Empty => new OrgMetadataState(); + } +} diff --git a/sdk/dotnet/PersonalAccessToken.cs b/sdk/dotnet/PersonalAccessToken.cs index da30d90..dd619f2 100644 --- a/sdk/dotnet/PersonalAccessToken.cs +++ b/sdk/dotnet/PersonalAccessToken.cs @@ -35,7 +35,7 @@ namespace Pulumiverse.Zitadel /// /// ## Import /// - /// terraform The resource can be imported using the ID format `<id:user_id[:org_id][:token]>`, e.g. + /// bash The resource can be imported using the ID format `<id:user_id[:org_id][:token]>`, e.g. /// /// ```sh /// $ pulumi import zitadel:index/personalAccessToken:PersonalAccessToken imported '123456789012345678:123456789012345678:123456789012345678:LHt79...' diff --git a/sdk/dotnet/PrivacyPolicy.cs b/sdk/dotnet/PrivacyPolicy.cs index e5e7aa2..16c5ae9 100644 --- a/sdk/dotnet/PrivacyPolicy.cs +++ b/sdk/dotnet/PrivacyPolicy.cs @@ -37,7 +37,7 @@ namespace Pulumiverse.Zitadel /// /// ## Import /// - /// terraform The resource can be imported using the ID format `<[org_id]>`, e.g. + /// bash The resource can be imported using the ID format `<[org_id]>`, e.g. /// /// ```sh /// $ pulumi import zitadel:index/privacyPolicy:PrivacyPolicy imported '123456789012345678' diff --git a/sdk/dotnet/Project.cs b/sdk/dotnet/Project.cs index 545677c..ff8ee86 100644 --- a/sdk/dotnet/Project.cs +++ b/sdk/dotnet/Project.cs @@ -37,7 +37,7 @@ namespace Pulumiverse.Zitadel /// /// ## Import /// - /// terraform The resource can be imported using the ID format `<id[:org_id]>`, e.g. + /// bash The resource can be imported using the ID format `<id[:org_id]>`, e.g. /// /// ```sh /// $ pulumi import zitadel:index/project:Project imported '123456789012345678:123456789012345678' diff --git a/sdk/dotnet/ProjectGrant.cs b/sdk/dotnet/ProjectGrant.cs index 3067470..b164362 100644 --- a/sdk/dotnet/ProjectGrant.cs +++ b/sdk/dotnet/ProjectGrant.cs @@ -39,7 +39,7 @@ namespace Pulumiverse.Zitadel /// /// ## Import /// - /// terraform The resource can be imported using the ID format `<id:project_id[:org_id]>`, e.g. + /// bash The resource can be imported using the ID format `<id:project_id[:org_id]>`, e.g. /// /// ```sh /// $ pulumi import zitadel:index/projectGrant:ProjectGrant imported '123456789012345678:123456789012345678:123456789012345678' diff --git a/sdk/dotnet/ProjectGrantMember.cs b/sdk/dotnet/ProjectGrantMember.cs index 90a0ee2..3644b8d 100644 --- a/sdk/dotnet/ProjectGrantMember.cs +++ b/sdk/dotnet/ProjectGrantMember.cs @@ -40,7 +40,7 @@ namespace Pulumiverse.Zitadel /// /// ## Import /// - /// terraform The resource can be imported using the ID format `<project_id:grant_id:user_id[:org_id]>`, e.g. + /// bash The resource can be imported using the ID format `<project_id:grant_id:user_id[:org_id]>`, e.g. /// /// ```sh /// $ pulumi import zitadel:index/projectGrantMember:ProjectGrantMember imported '123456789012345678:123456789012345678:123456789012345678:123456789012345678' diff --git a/sdk/dotnet/ProjectMember.cs b/sdk/dotnet/ProjectMember.cs index 0e559fd..72085b0 100644 --- a/sdk/dotnet/ProjectMember.cs +++ b/sdk/dotnet/ProjectMember.cs @@ -39,7 +39,7 @@ namespace Pulumiverse.Zitadel /// /// ## Import /// - /// terraform The resource can be imported using the ID format `<project_id:user_id[:org_id]>`, e.g. + /// bash The resource can be imported using the ID format `<project_id:user_id[:org_id]>`, e.g. /// /// ```sh /// $ pulumi import zitadel:index/projectMember:ProjectMember imported '123456789012345678:123456789012345678:123456789012345678' diff --git a/sdk/dotnet/ProjectRole.cs b/sdk/dotnet/ProjectRole.cs index 5eb35a2..68180fd 100644 --- a/sdk/dotnet/ProjectRole.cs +++ b/sdk/dotnet/ProjectRole.cs @@ -37,7 +37,7 @@ namespace Pulumiverse.Zitadel /// /// ## Import /// - /// terraform The resource can be imported using the ID format `<project_id:role_key[:org_id]>`, e.g. + /// bash The resource can be imported using the ID format `<project_id:role_key[:org_id]>`, e.g. /// /// ```sh /// $ pulumi import zitadel:index/projectRole:ProjectRole imported '123456789012345678:my-role-key:123456789012345678' diff --git a/sdk/dotnet/SmsProviderTwilio.cs b/sdk/dotnet/SmsProviderTwilio.cs index 5c31a75..b52054a 100644 --- a/sdk/dotnet/SmsProviderTwilio.cs +++ b/sdk/dotnet/SmsProviderTwilio.cs @@ -35,7 +35,7 @@ namespace Pulumiverse.Zitadel /// /// ## Import /// - /// terraform The resource can be imported using the ID format `<id[:token]>`, e.g. + /// bash The resource can be imported using the ID format `<id[:token]>`, e.g. /// /// ```sh /// $ pulumi import zitadel:index/smsProviderTwilio:SmsProviderTwilio imported '123456789012345678:12345678901234567890123456abcdef' diff --git a/sdk/dotnet/SmtpConfig.cs b/sdk/dotnet/SmtpConfig.cs index 00d0256..9541694 100644 --- a/sdk/dotnet/SmtpConfig.cs +++ b/sdk/dotnet/SmtpConfig.cs @@ -39,7 +39,7 @@ namespace Pulumiverse.Zitadel /// /// ## Import /// - /// terraform The resource can be imported using the ID format `<[password]>`, e.g. + /// bash The resource can be imported using the ID format `<[password]>`, e.g. /// /// ```sh /// $ pulumi import zitadel:index/smtpConfig:SmtpConfig imported 'p4ssw0rd' diff --git a/sdk/dotnet/TriggerActions.cs b/sdk/dotnet/TriggerActions.cs index fcaf8fc..b0b515e 100644 --- a/sdk/dotnet/TriggerActions.cs +++ b/sdk/dotnet/TriggerActions.cs @@ -39,7 +39,7 @@ namespace Pulumiverse.Zitadel /// /// ## Import /// - /// terraform The resource can be imported using the ID format `<flow_type:trigger_type[:org_id]>`, e.g. + /// bash The resource can be imported using the ID format `<flow_type:trigger_type[:org_id]>`, e.g. /// /// ```sh /// $ pulumi import zitadel:index/triggerActions:TriggerActions imported 'FLOW_TYPE_EXTERNAL_AUTHENTICATION:TRIGGER_TYPE_POST_CREATION:123456789012345678' diff --git a/sdk/dotnet/UserGrant.cs b/sdk/dotnet/UserGrant.cs index b62ac2e..00052c1 100644 --- a/sdk/dotnet/UserGrant.cs +++ b/sdk/dotnet/UserGrant.cs @@ -39,7 +39,7 @@ namespace Pulumiverse.Zitadel /// /// ## Import /// - /// terraform The resource can be imported using the ID format `<flow_type:trigger_type[:org_id]>`, e.g. + /// bash The resource can be imported using the ID format `<flow_type:trigger_type[:org_id]>`, e.g. /// /// ```sh /// $ pulumi import zitadel:index/userGrant:UserGrant imported '123456789012345678:123456789012345678:123456789012345678' diff --git a/sdk/dotnet/UserMetadata.cs b/sdk/dotnet/UserMetadata.cs new file mode 100644 index 0000000..4b79a39 --- /dev/null +++ b/sdk/dotnet/UserMetadata.cs @@ -0,0 +1,178 @@ +// *** 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; +using Pulumi; + +namespace Pulumiverse.Zitadel +{ + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Zitadel = Pulumiverse.Zitadel; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var @default = new Zitadel.UserMetadata("default", new() + /// { + /// OrgId = data.Zitadel_org.Default.Id, + /// UserId = data.Zitadel_human_user.Default.Id, + /// Key = "a_key", + /// Value = "a_value", + /// }); + /// + /// }); + /// ``` + /// + /// ## Import + /// + /// bash The resource can be imported using the ID format `<user_id:key[:org_id]>`, e.g. + /// + /// ```sh + /// $ pulumi import zitadel:index/userMetadata:UserMetadata imported '123456789012345678:a_key:123456789012345678' + /// ``` + /// + [ZitadelResourceType("zitadel:index/userMetadata:UserMetadata")] + public partial class UserMetadata : global::Pulumi.CustomResource + { + /// + /// The key of a metadata entry + /// + [Output("key")] + public Output Key { get; private set; } = null!; + + /// + /// ID of the organization + /// + [Output("orgId")] + public Output OrgId { get; private set; } = null!; + + /// + /// ID of the user + /// + [Output("userId")] + public Output UserId { get; private set; } = null!; + + /// + /// The string representation of a metadata entry value. For binary data, use the base64encode function. + /// + [Output("value")] + public Output Value { get; private set; } = null!; + + + /// + /// Create a UserMetadata 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 UserMetadata(string name, UserMetadataArgs args, CustomResourceOptions? options = null) + : base("zitadel:index/userMetadata:UserMetadata", name, args ?? new UserMetadataArgs(), MakeResourceOptions(options, "")) + { + } + + private UserMetadata(string name, Input id, UserMetadataState? state = null, CustomResourceOptions? options = null) + : base("zitadel:index/userMetadata:UserMetadata", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + PluginDownloadURL = "github://api.github.com/pulumiverse", + }; + 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 UserMetadata 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 UserMetadata Get(string name, Input id, UserMetadataState? state = null, CustomResourceOptions? options = null) + { + return new UserMetadata(name, id, state, options); + } + } + + public sealed class UserMetadataArgs : global::Pulumi.ResourceArgs + { + /// + /// The key of a metadata entry + /// + [Input("key", required: true)] + public Input Key { get; set; } = null!; + + /// + /// ID of the organization + /// + [Input("orgId")] + public Input? OrgId { get; set; } + + /// + /// ID of the user + /// + [Input("userId", required: true)] + public Input UserId { get; set; } = null!; + + /// + /// The string representation of a metadata entry value. For binary data, use the base64encode function. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public UserMetadataArgs() + { + } + public static new UserMetadataArgs Empty => new UserMetadataArgs(); + } + + public sealed class UserMetadataState : global::Pulumi.ResourceArgs + { + /// + /// The key of a metadata entry + /// + [Input("key")] + public Input? Key { get; set; } + + /// + /// ID of the organization + /// + [Input("orgId")] + public Input? OrgId { get; set; } + + /// + /// ID of the user + /// + [Input("userId")] + public Input? UserId { get; set; } + + /// + /// The string representation of a metadata entry value. For binary data, use the base64encode function. + /// + [Input("value")] + public Input? Value { get; set; } + + public UserMetadataState() + { + } + public static new UserMetadataState Empty => new UserMetadataState(); + } +} diff --git a/sdk/go/zitadel/action.go b/sdk/go/zitadel/action.go index 7c65ec2..aee1e97 100644 --- a/sdk/go/zitadel/action.go +++ b/sdk/go/zitadel/action.go @@ -46,7 +46,7 @@ import ( // // ## Import // -// terraform The resource can be imported using the ID format ``, e.g. +// bash The resource can be imported using the ID format ``, e.g. // // ```sh // diff --git a/sdk/go/zitadel/applicationApi.go b/sdk/go/zitadel/applicationApi.go index 7a5c707..cdb312f 100644 --- a/sdk/go/zitadel/applicationApi.go +++ b/sdk/go/zitadel/applicationApi.go @@ -45,7 +45,7 @@ import ( // // ## Import // -// terraform The resource can be imported using the ID format ``, e.g. +// bash The resource can be imported using the ID format ``, e.g. // // ```sh // diff --git a/sdk/go/zitadel/applicationKey.go b/sdk/go/zitadel/applicationKey.go index 32fd68a..1e22953 100644 --- a/sdk/go/zitadel/applicationKey.go +++ b/sdk/go/zitadel/applicationKey.go @@ -47,7 +47,7 @@ import ( // // ## Import // -// terraform The resource can be imported using the ID format ``. You can use __SEMICOLON__ to escape :, e.g. +// bash The resource can be imported using the ID format ``. You can use __SEMICOLON__ to escape :, e.g. // // ```sh // diff --git a/sdk/go/zitadel/applicationOidc.go b/sdk/go/zitadel/applicationOidc.go index ea4df19..6dbfdad 100644 --- a/sdk/go/zitadel/applicationOidc.go +++ b/sdk/go/zitadel/applicationOidc.go @@ -66,7 +66,7 @@ import ( // // ## Import // -// terraform The resource can be imported using the ID format ``, e.g. +// bash The resource can be imported using the ID format ``, e.g. // // ```sh // diff --git a/sdk/go/zitadel/applicationSaml.go b/sdk/go/zitadel/applicationSaml.go index 86fad66..93d193d 100644 --- a/sdk/go/zitadel/applicationSaml.go +++ b/sdk/go/zitadel/applicationSaml.go @@ -61,7 +61,7 @@ import ( // // ## Import // -// terraform The resource can be imported using the ID format ``, e.g. +// bash The resource can be imported using the ID format ``, e.g. // // ```sh // diff --git a/sdk/go/zitadel/defaultDomainPolicy.go b/sdk/go/zitadel/defaultDomainPolicy.go index 67d570e..4e5b178 100644 --- a/sdk/go/zitadel/defaultDomainPolicy.go +++ b/sdk/go/zitadel/defaultDomainPolicy.go @@ -45,7 +45,7 @@ import ( // // ## Import // -// terraform The resource can be imported using the ID format `<>`, e.g. +// bash The resource can be imported using the ID format `<>`, e.g. // // ```sh // diff --git a/sdk/go/zitadel/defaultLabelPolicy.go b/sdk/go/zitadel/defaultLabelPolicy.go index b29a1ac..3c27d1f 100644 --- a/sdk/go/zitadel/defaultLabelPolicy.go +++ b/sdk/go/zitadel/defaultLabelPolicy.go @@ -17,7 +17,7 @@ import ( // // ## Import // -// terraform The resource can be imported using the ID format `<>`, e.g. +// bash The resource can be imported using the ID format `<>`, e.g. // // ```sh // @@ -60,6 +60,8 @@ type DefaultLabelPolicy struct { PrimaryColorDark pulumi.StringOutput `pulumi:"primaryColorDark"` // set the label policy active after creating/updating SetActive pulumi.BoolPtrOutput `pulumi:"setActive"` + // theme mode, supported values: THEME*MODE*UNSPECIFIED, THEME*MODE*AUTO, THEME*MODE*DARK, THEME*MODE*LIGHT + ThemeMode pulumi.StringPtrOutput `pulumi:"themeMode"` // hex value for warn color WarnColor pulumi.StringOutput `pulumi:"warnColor"` // hex value for warn color dark theme @@ -159,6 +161,8 @@ type defaultLabelPolicyState struct { PrimaryColorDark *string `pulumi:"primaryColorDark"` // set the label policy active after creating/updating SetActive *bool `pulumi:"setActive"` + // theme mode, supported values: THEME*MODE*UNSPECIFIED, THEME*MODE*AUTO, THEME*MODE*DARK, THEME*MODE*LIGHT + ThemeMode *string `pulumi:"themeMode"` // hex value for warn color WarnColor *string `pulumi:"warnColor"` // hex value for warn color dark theme @@ -199,6 +203,8 @@ type DefaultLabelPolicyState struct { PrimaryColorDark pulumi.StringPtrInput // set the label policy active after creating/updating SetActive pulumi.BoolPtrInput + // theme mode, supported values: THEME*MODE*UNSPECIFIED, THEME*MODE*AUTO, THEME*MODE*DARK, THEME*MODE*LIGHT + ThemeMode pulumi.StringPtrInput // hex value for warn color WarnColor pulumi.StringPtrInput // hex value for warn color dark theme @@ -238,6 +244,8 @@ type defaultLabelPolicyArgs struct { PrimaryColorDark string `pulumi:"primaryColorDark"` // set the label policy active after creating/updating SetActive *bool `pulumi:"setActive"` + // theme mode, supported values: THEME*MODE*UNSPECIFIED, THEME*MODE*AUTO, THEME*MODE*DARK, THEME*MODE*LIGHT + ThemeMode *string `pulumi:"themeMode"` // hex value for warn color WarnColor string `pulumi:"warnColor"` // hex value for warn color dark theme @@ -274,6 +282,8 @@ type DefaultLabelPolicyArgs struct { PrimaryColorDark pulumi.StringInput // set the label policy active after creating/updating SetActive pulumi.BoolPtrInput + // theme mode, supported values: THEME*MODE*UNSPECIFIED, THEME*MODE*AUTO, THEME*MODE*DARK, THEME*MODE*LIGHT + ThemeMode pulumi.StringPtrInput // hex value for warn color WarnColor pulumi.StringInput // hex value for warn color dark theme @@ -496,6 +506,11 @@ func (o DefaultLabelPolicyOutput) SetActive() pulumi.BoolPtrOutput { return o.ApplyT(func(v *DefaultLabelPolicy) pulumi.BoolPtrOutput { return v.SetActive }).(pulumi.BoolPtrOutput) } +// theme mode, supported values: THEME*MODE*UNSPECIFIED, THEME*MODE*AUTO, THEME*MODE*DARK, THEME*MODE*LIGHT +func (o DefaultLabelPolicyOutput) ThemeMode() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DefaultLabelPolicy) pulumi.StringPtrOutput { return v.ThemeMode }).(pulumi.StringPtrOutput) +} + // hex value for warn color func (o DefaultLabelPolicyOutput) WarnColor() pulumi.StringOutput { return o.ApplyT(func(v *DefaultLabelPolicy) pulumi.StringOutput { return v.WarnColor }).(pulumi.StringOutput) diff --git a/sdk/go/zitadel/defaultLockoutPolicy.go b/sdk/go/zitadel/defaultLockoutPolicy.go index be0720e..eda1ef5 100644 --- a/sdk/go/zitadel/defaultLockoutPolicy.go +++ b/sdk/go/zitadel/defaultLockoutPolicy.go @@ -43,7 +43,7 @@ import ( // // ## Import // -// terraform The resource can be imported using the ID format `<>`, e.g. +// bash The resource can be imported using the ID format `<>`, e.g. // // ```sh // diff --git a/sdk/go/zitadel/defaultLoginPolicy.go b/sdk/go/zitadel/defaultLoginPolicy.go index d4e77d7..406b395 100644 --- a/sdk/go/zitadel/defaultLoginPolicy.go +++ b/sdk/go/zitadel/defaultLoginPolicy.go @@ -70,7 +70,7 @@ import ( // // ## Import // -// terraform The resource can be imported using the ID format `<>`, e.g. +// bash The resource can be imported using the ID format `<>`, e.g. // // ```sh // diff --git a/sdk/go/zitadel/defaultNotificationPolicy.go b/sdk/go/zitadel/defaultNotificationPolicy.go index a313949..03a759b 100644 --- a/sdk/go/zitadel/defaultNotificationPolicy.go +++ b/sdk/go/zitadel/defaultNotificationPolicy.go @@ -43,7 +43,7 @@ import ( // // ## Import // -// terraform The resource can be imported using the ID format `<>`, e.g. +// bash The resource can be imported using the ID format `<>`, e.g. // // ```sh // diff --git a/sdk/go/zitadel/defaultPasswordComplexityPolicy.go b/sdk/go/zitadel/defaultPasswordComplexityPolicy.go index a60a80b..43cb22c 100644 --- a/sdk/go/zitadel/defaultPasswordComplexityPolicy.go +++ b/sdk/go/zitadel/defaultPasswordComplexityPolicy.go @@ -47,7 +47,7 @@ import ( // // ## Import // -// terraform The resource can be imported using the ID format `<>`, e.g. +// bash The resource can be imported using the ID format `<>`, e.g. // // ```sh // diff --git a/sdk/go/zitadel/defaultPrivacyPolicy.go b/sdk/go/zitadel/defaultPrivacyPolicy.go index a5003e0..65cf0d5 100644 --- a/sdk/go/zitadel/defaultPrivacyPolicy.go +++ b/sdk/go/zitadel/defaultPrivacyPolicy.go @@ -45,7 +45,7 @@ import ( // // ## Import // -// terraform The resource can be imported using the ID format `<>`, e.g. +// bash The resource can be imported using the ID format `<>`, e.g. // // ```sh // diff --git a/sdk/go/zitadel/domain.go b/sdk/go/zitadel/domain.go index 73c82a5..2af3b52 100644 --- a/sdk/go/zitadel/domain.go +++ b/sdk/go/zitadel/domain.go @@ -43,7 +43,7 @@ import ( // // ## Import // -// terraform The resource can be imported using the ID format `name[:org_id]`, e.g. +// bash The resource can be imported using the ID format `name[:org_id]`, e.g. // // ```sh // diff --git a/sdk/go/zitadel/domainPolicy.go b/sdk/go/zitadel/domainPolicy.go index 9005381..388e08d 100644 --- a/sdk/go/zitadel/domainPolicy.go +++ b/sdk/go/zitadel/domainPolicy.go @@ -46,7 +46,7 @@ import ( // // ## Import // -// terraform The resource can be imported using the ID format `<[org_id]>`, e.g. +// bash The resource can be imported using the ID format `<[org_id]>`, e.g. // // ```sh // diff --git a/sdk/go/zitadel/getApplicationApi.go b/sdk/go/zitadel/getApplicationApi.go index b4b4b1e..2c7edb5 100644 --- a/sdk/go/zitadel/getApplicationApi.go +++ b/sdk/go/zitadel/getApplicationApi.go @@ -67,6 +67,7 @@ type LookupApplicationApiResult struct { AppId string `pulumi:"appId"` // Auth method type AuthMethodType string `pulumi:"authMethodType"` + ClientId string `pulumi:"clientId"` // The provider-assigned unique ID for this managed resource. Id string `pulumi:"id"` // Name of the application @@ -135,6 +136,10 @@ func (o LookupApplicationApiResultOutput) AuthMethodType() pulumi.StringOutput { return o.ApplyT(func(v LookupApplicationApiResult) string { return v.AuthMethodType }).(pulumi.StringOutput) } +func (o LookupApplicationApiResultOutput) ClientId() pulumi.StringOutput { + return o.ApplyT(func(v LookupApplicationApiResult) string { return v.ClientId }).(pulumi.StringOutput) +} + // The provider-assigned unique ID for this managed resource. func (o LookupApplicationApiResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v LookupApplicationApiResult) string { return v.Id }).(pulumi.StringOutput) diff --git a/sdk/go/zitadel/getApplicationOidc.go b/sdk/go/zitadel/getApplicationOidc.go index 16754ad..84e2321 100644 --- a/sdk/go/zitadel/getApplicationOidc.go +++ b/sdk/go/zitadel/getApplicationOidc.go @@ -75,6 +75,7 @@ type LookupApplicationOidcResult struct { AppType string `pulumi:"appType"` // Auth method type AuthMethodType string `pulumi:"authMethodType"` + ClientId string `pulumi:"clientId"` // Clockskew ClockSkew string `pulumi:"clockSkew"` // Dev mode @@ -181,6 +182,10 @@ func (o LookupApplicationOidcResultOutput) AuthMethodType() pulumi.StringOutput return o.ApplyT(func(v LookupApplicationOidcResult) string { return v.AuthMethodType }).(pulumi.StringOutput) } +func (o LookupApplicationOidcResultOutput) ClientId() pulumi.StringOutput { + return o.ApplyT(func(v LookupApplicationOidcResult) string { return v.ClientId }).(pulumi.StringOutput) +} + // Clockskew func (o LookupApplicationOidcResultOutput) ClockSkew() pulumi.StringOutput { return o.ApplyT(func(v LookupApplicationOidcResult) string { return v.ClockSkew }).(pulumi.StringOutput) diff --git a/sdk/go/zitadel/getIdpOauth.go b/sdk/go/zitadel/getIdpOauth.go new file mode 100644 index 0000000..4ed3915 --- /dev/null +++ b/sdk/go/zitadel/getIdpOauth.go @@ -0,0 +1,199 @@ +// 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 zitadel + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumi/pulumi/sdk/v3/go/pulumix" + "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" +) + +// Datasource representing a generic OAuth2 IDP on the instance. +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := zitadel.LookupIdpOauth(ctx, &zitadel.LookupIdpOauthArgs{ +// Id: "123456789012345678", +// }, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +func LookupIdpOauth(ctx *pulumi.Context, args *LookupIdpOauthArgs, opts ...pulumi.InvokeOption) (*LookupIdpOauthResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIdpOauthResult + err := ctx.Invoke("zitadel:index/getIdpOauth:getIdpOauth", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIdpOauth. +type LookupIdpOauthArgs struct { + // The ID of this resource. + Id string `pulumi:"id"` +} + +// A collection of values returned by getIdpOauth. +type LookupIdpOauthResult struct { + // The authorization endpoint + AuthorizationEndpoint string `pulumi:"authorizationEndpoint"` + // client id generated by the identity provider + ClientId string `pulumi:"clientId"` + // client secret generated by the identity provider + ClientSecret string `pulumi:"clientSecret"` + // The ID of this resource. + Id string `pulumi:"id"` + // The id attribute + IdAttribute string `pulumi:"idAttribute"` + // enabled if a new account in ZITADEL are created automatically on login with an external account + IsAutoCreation bool `pulumi:"isAutoCreation"` + // enabled if a the ZITADEL account fields are updated automatically on each login + IsAutoUpdate bool `pulumi:"isAutoUpdate"` + // enabled if users are able to create a new account in ZITADEL when using an external account + IsCreationAllowed bool `pulumi:"isCreationAllowed"` + // enabled if users are able to link an existing ZITADEL user with an external account + IsLinkingAllowed bool `pulumi:"isLinkingAllowed"` + // Name of the IDP + Name string `pulumi:"name"` + // the scopes requested by ZITADEL during the request on the identity provider + Scopes []string `pulumi:"scopes"` + // The token endpoint + TokenEndpoint string `pulumi:"tokenEndpoint"` + // The user endpoint + UserEndpoint string `pulumi:"userEndpoint"` +} + +func LookupIdpOauthOutput(ctx *pulumi.Context, args LookupIdpOauthOutputArgs, opts ...pulumi.InvokeOption) LookupIdpOauthResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (LookupIdpOauthResult, error) { + args := v.(LookupIdpOauthArgs) + r, err := LookupIdpOauth(ctx, &args, opts...) + var s LookupIdpOauthResult + if r != nil { + s = *r + } + return s, err + }).(LookupIdpOauthResultOutput) +} + +// A collection of arguments for invoking getIdpOauth. +type LookupIdpOauthOutputArgs struct { + // The ID of this resource. + Id pulumi.StringInput `pulumi:"id"` +} + +func (LookupIdpOauthOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIdpOauthArgs)(nil)).Elem() +} + +// A collection of values returned by getIdpOauth. +type LookupIdpOauthResultOutput struct{ *pulumi.OutputState } + +func (LookupIdpOauthResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIdpOauthResult)(nil)).Elem() +} + +func (o LookupIdpOauthResultOutput) ToLookupIdpOauthResultOutput() LookupIdpOauthResultOutput { + return o +} + +func (o LookupIdpOauthResultOutput) ToLookupIdpOauthResultOutputWithContext(ctx context.Context) LookupIdpOauthResultOutput { + return o +} + +func (o LookupIdpOauthResultOutput) ToOutput(ctx context.Context) pulumix.Output[LookupIdpOauthResult] { + return pulumix.Output[LookupIdpOauthResult]{ + OutputState: o.OutputState, + } +} + +// The authorization endpoint +func (o LookupIdpOauthResultOutput) AuthorizationEndpoint() pulumi.StringOutput { + return o.ApplyT(func(v LookupIdpOauthResult) string { return v.AuthorizationEndpoint }).(pulumi.StringOutput) +} + +// client id generated by the identity provider +func (o LookupIdpOauthResultOutput) ClientId() pulumi.StringOutput { + return o.ApplyT(func(v LookupIdpOauthResult) string { return v.ClientId }).(pulumi.StringOutput) +} + +// client secret generated by the identity provider +func (o LookupIdpOauthResultOutput) ClientSecret() pulumi.StringOutput { + return o.ApplyT(func(v LookupIdpOauthResult) string { return v.ClientSecret }).(pulumi.StringOutput) +} + +// The ID of this resource. +func (o LookupIdpOauthResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIdpOauthResult) string { return v.Id }).(pulumi.StringOutput) +} + +// The id attribute +func (o LookupIdpOauthResultOutput) IdAttribute() pulumi.StringOutput { + return o.ApplyT(func(v LookupIdpOauthResult) string { return v.IdAttribute }).(pulumi.StringOutput) +} + +// enabled if a new account in ZITADEL are created automatically on login with an external account +func (o LookupIdpOauthResultOutput) IsAutoCreation() pulumi.BoolOutput { + return o.ApplyT(func(v LookupIdpOauthResult) bool { return v.IsAutoCreation }).(pulumi.BoolOutput) +} + +// enabled if a the ZITADEL account fields are updated automatically on each login +func (o LookupIdpOauthResultOutput) IsAutoUpdate() pulumi.BoolOutput { + return o.ApplyT(func(v LookupIdpOauthResult) bool { return v.IsAutoUpdate }).(pulumi.BoolOutput) +} + +// enabled if users are able to create a new account in ZITADEL when using an external account +func (o LookupIdpOauthResultOutput) IsCreationAllowed() pulumi.BoolOutput { + return o.ApplyT(func(v LookupIdpOauthResult) bool { return v.IsCreationAllowed }).(pulumi.BoolOutput) +} + +// enabled if users are able to link an existing ZITADEL user with an external account +func (o LookupIdpOauthResultOutput) IsLinkingAllowed() pulumi.BoolOutput { + return o.ApplyT(func(v LookupIdpOauthResult) bool { return v.IsLinkingAllowed }).(pulumi.BoolOutput) +} + +// Name of the IDP +func (o LookupIdpOauthResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupIdpOauthResult) string { return v.Name }).(pulumi.StringOutput) +} + +// the scopes requested by ZITADEL during the request on the identity provider +func (o LookupIdpOauthResultOutput) Scopes() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIdpOauthResult) []string { return v.Scopes }).(pulumi.StringArrayOutput) +} + +// The token endpoint +func (o LookupIdpOauthResultOutput) TokenEndpoint() pulumi.StringOutput { + return o.ApplyT(func(v LookupIdpOauthResult) string { return v.TokenEndpoint }).(pulumi.StringOutput) +} + +// The user endpoint +func (o LookupIdpOauthResultOutput) UserEndpoint() pulumi.StringOutput { + return o.ApplyT(func(v LookupIdpOauthResult) string { return v.UserEndpoint }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIdpOauthResultOutput{}) +} diff --git a/sdk/go/zitadel/getIdpSaml.go b/sdk/go/zitadel/getIdpSaml.go new file mode 100644 index 0000000..96a5078 --- /dev/null +++ b/sdk/go/zitadel/getIdpSaml.go @@ -0,0 +1,171 @@ +// 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 zitadel + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumi/pulumi/sdk/v3/go/pulumix" + "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" +) + +// Datasource representing a SAML IDP on the instance. +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := zitadel.LookupIdpSaml(ctx, &zitadel.LookupIdpSamlArgs{ +// Id: "123456789012345678", +// }, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +func LookupIdpSaml(ctx *pulumi.Context, args *LookupIdpSamlArgs, opts ...pulumi.InvokeOption) (*LookupIdpSamlResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIdpSamlResult + err := ctx.Invoke("zitadel:index/getIdpSaml:getIdpSaml", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIdpSaml. +type LookupIdpSamlArgs struct { + // The ID of this resource. + Id string `pulumi:"id"` +} + +// A collection of values returned by getIdpSaml. +type LookupIdpSamlResult struct { + // The binding + Binding string `pulumi:"binding"` + // The ID of this resource. + Id string `pulumi:"id"` + // enabled if a new account in ZITADEL are created automatically on login with an external account + IsAutoCreation bool `pulumi:"isAutoCreation"` + // enabled if a the ZITADEL account fields are updated automatically on each login + IsAutoUpdate bool `pulumi:"isAutoUpdate"` + // enabled if users are able to create a new account in ZITADEL when using an external account + IsCreationAllowed bool `pulumi:"isCreationAllowed"` + // enabled if users are able to link an existing ZITADEL user with an external account + IsLinkingAllowed bool `pulumi:"isLinkingAllowed"` + // The metadata XML as plain string + MetadataXml string `pulumi:"metadataXml"` + // Name of the IDP + Name string `pulumi:"name"` + // Whether the SAML IDP requires signed requests + WithSignedRequest string `pulumi:"withSignedRequest"` +} + +func LookupIdpSamlOutput(ctx *pulumi.Context, args LookupIdpSamlOutputArgs, opts ...pulumi.InvokeOption) LookupIdpSamlResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (LookupIdpSamlResult, error) { + args := v.(LookupIdpSamlArgs) + r, err := LookupIdpSaml(ctx, &args, opts...) + var s LookupIdpSamlResult + if r != nil { + s = *r + } + return s, err + }).(LookupIdpSamlResultOutput) +} + +// A collection of arguments for invoking getIdpSaml. +type LookupIdpSamlOutputArgs struct { + // The ID of this resource. + Id pulumi.StringInput `pulumi:"id"` +} + +func (LookupIdpSamlOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIdpSamlArgs)(nil)).Elem() +} + +// A collection of values returned by getIdpSaml. +type LookupIdpSamlResultOutput struct{ *pulumi.OutputState } + +func (LookupIdpSamlResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIdpSamlResult)(nil)).Elem() +} + +func (o LookupIdpSamlResultOutput) ToLookupIdpSamlResultOutput() LookupIdpSamlResultOutput { + return o +} + +func (o LookupIdpSamlResultOutput) ToLookupIdpSamlResultOutputWithContext(ctx context.Context) LookupIdpSamlResultOutput { + return o +} + +func (o LookupIdpSamlResultOutput) ToOutput(ctx context.Context) pulumix.Output[LookupIdpSamlResult] { + return pulumix.Output[LookupIdpSamlResult]{ + OutputState: o.OutputState, + } +} + +// The binding +func (o LookupIdpSamlResultOutput) Binding() pulumi.StringOutput { + return o.ApplyT(func(v LookupIdpSamlResult) string { return v.Binding }).(pulumi.StringOutput) +} + +// The ID of this resource. +func (o LookupIdpSamlResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIdpSamlResult) string { return v.Id }).(pulumi.StringOutput) +} + +// enabled if a new account in ZITADEL are created automatically on login with an external account +func (o LookupIdpSamlResultOutput) IsAutoCreation() pulumi.BoolOutput { + return o.ApplyT(func(v LookupIdpSamlResult) bool { return v.IsAutoCreation }).(pulumi.BoolOutput) +} + +// enabled if a the ZITADEL account fields are updated automatically on each login +func (o LookupIdpSamlResultOutput) IsAutoUpdate() pulumi.BoolOutput { + return o.ApplyT(func(v LookupIdpSamlResult) bool { return v.IsAutoUpdate }).(pulumi.BoolOutput) +} + +// enabled if users are able to create a new account in ZITADEL when using an external account +func (o LookupIdpSamlResultOutput) IsCreationAllowed() pulumi.BoolOutput { + return o.ApplyT(func(v LookupIdpSamlResult) bool { return v.IsCreationAllowed }).(pulumi.BoolOutput) +} + +// enabled if users are able to link an existing ZITADEL user with an external account +func (o LookupIdpSamlResultOutput) IsLinkingAllowed() pulumi.BoolOutput { + return o.ApplyT(func(v LookupIdpSamlResult) bool { return v.IsLinkingAllowed }).(pulumi.BoolOutput) +} + +// The metadata XML as plain string +func (o LookupIdpSamlResultOutput) MetadataXml() pulumi.StringOutput { + return o.ApplyT(func(v LookupIdpSamlResult) string { return v.MetadataXml }).(pulumi.StringOutput) +} + +// Name of the IDP +func (o LookupIdpSamlResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupIdpSamlResult) string { return v.Name }).(pulumi.StringOutput) +} + +// Whether the SAML IDP requires signed requests +func (o LookupIdpSamlResultOutput) WithSignedRequest() pulumi.StringOutput { + return o.ApplyT(func(v LookupIdpSamlResult) string { return v.WithSignedRequest }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIdpSamlResultOutput{}) +} diff --git a/sdk/go/zitadel/getOrgIdpOauth.go b/sdk/go/zitadel/getOrgIdpOauth.go new file mode 100644 index 0000000..6dd1431 --- /dev/null +++ b/sdk/go/zitadel/getOrgIdpOauth.go @@ -0,0 +1,211 @@ +// 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 zitadel + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumi/pulumi/sdk/v3/go/pulumix" + "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" +) + +// Datasource representing a generic OAuth2 IDP of the organization. +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := zitadel.LookupOrgIdpOauth(ctx, &zitadel.LookupOrgIdpOauthArgs{ +// OrgId: pulumi.StringRef(data.Zitadel_org.Default.Id), +// Id: "123456789012345678", +// }, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +func LookupOrgIdpOauth(ctx *pulumi.Context, args *LookupOrgIdpOauthArgs, opts ...pulumi.InvokeOption) (*LookupOrgIdpOauthResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupOrgIdpOauthResult + err := ctx.Invoke("zitadel:index/getOrgIdpOauth:getOrgIdpOauth", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getOrgIdpOauth. +type LookupOrgIdpOauthArgs struct { + // The ID of this resource. + Id string `pulumi:"id"` + // ID of the organization + OrgId *string `pulumi:"orgId"` +} + +// A collection of values returned by getOrgIdpOauth. +type LookupOrgIdpOauthResult struct { + // The authorization endpoint + AuthorizationEndpoint string `pulumi:"authorizationEndpoint"` + // client id generated by the identity provider + ClientId string `pulumi:"clientId"` + // client secret generated by the identity provider + ClientSecret string `pulumi:"clientSecret"` + // The ID of this resource. + Id string `pulumi:"id"` + // The id attribute + IdAttribute string `pulumi:"idAttribute"` + // enabled if a new account in ZITADEL are created automatically on login with an external account + IsAutoCreation bool `pulumi:"isAutoCreation"` + // enabled if a the ZITADEL account fields are updated automatically on each login + IsAutoUpdate bool `pulumi:"isAutoUpdate"` + // enabled if users are able to create a new account in ZITADEL when using an external account + IsCreationAllowed bool `pulumi:"isCreationAllowed"` + // enabled if users are able to link an existing ZITADEL user with an external account + IsLinkingAllowed bool `pulumi:"isLinkingAllowed"` + // Name of the IDP + Name string `pulumi:"name"` + // ID of the organization + OrgId *string `pulumi:"orgId"` + // the scopes requested by ZITADEL during the request on the identity provider + Scopes []string `pulumi:"scopes"` + // The token endpoint + TokenEndpoint string `pulumi:"tokenEndpoint"` + // The user endpoint + UserEndpoint string `pulumi:"userEndpoint"` +} + +func LookupOrgIdpOauthOutput(ctx *pulumi.Context, args LookupOrgIdpOauthOutputArgs, opts ...pulumi.InvokeOption) LookupOrgIdpOauthResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (LookupOrgIdpOauthResult, error) { + args := v.(LookupOrgIdpOauthArgs) + r, err := LookupOrgIdpOauth(ctx, &args, opts...) + var s LookupOrgIdpOauthResult + if r != nil { + s = *r + } + return s, err + }).(LookupOrgIdpOauthResultOutput) +} + +// A collection of arguments for invoking getOrgIdpOauth. +type LookupOrgIdpOauthOutputArgs struct { + // The ID of this resource. + Id pulumi.StringInput `pulumi:"id"` + // ID of the organization + OrgId pulumi.StringPtrInput `pulumi:"orgId"` +} + +func (LookupOrgIdpOauthOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupOrgIdpOauthArgs)(nil)).Elem() +} + +// A collection of values returned by getOrgIdpOauth. +type LookupOrgIdpOauthResultOutput struct{ *pulumi.OutputState } + +func (LookupOrgIdpOauthResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupOrgIdpOauthResult)(nil)).Elem() +} + +func (o LookupOrgIdpOauthResultOutput) ToLookupOrgIdpOauthResultOutput() LookupOrgIdpOauthResultOutput { + return o +} + +func (o LookupOrgIdpOauthResultOutput) ToLookupOrgIdpOauthResultOutputWithContext(ctx context.Context) LookupOrgIdpOauthResultOutput { + return o +} + +func (o LookupOrgIdpOauthResultOutput) ToOutput(ctx context.Context) pulumix.Output[LookupOrgIdpOauthResult] { + return pulumix.Output[LookupOrgIdpOauthResult]{ + OutputState: o.OutputState, + } +} + +// The authorization endpoint +func (o LookupOrgIdpOauthResultOutput) AuthorizationEndpoint() pulumi.StringOutput { + return o.ApplyT(func(v LookupOrgIdpOauthResult) string { return v.AuthorizationEndpoint }).(pulumi.StringOutput) +} + +// client id generated by the identity provider +func (o LookupOrgIdpOauthResultOutput) ClientId() pulumi.StringOutput { + return o.ApplyT(func(v LookupOrgIdpOauthResult) string { return v.ClientId }).(pulumi.StringOutput) +} + +// client secret generated by the identity provider +func (o LookupOrgIdpOauthResultOutput) ClientSecret() pulumi.StringOutput { + return o.ApplyT(func(v LookupOrgIdpOauthResult) string { return v.ClientSecret }).(pulumi.StringOutput) +} + +// The ID of this resource. +func (o LookupOrgIdpOauthResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupOrgIdpOauthResult) string { return v.Id }).(pulumi.StringOutput) +} + +// The id attribute +func (o LookupOrgIdpOauthResultOutput) IdAttribute() pulumi.StringOutput { + return o.ApplyT(func(v LookupOrgIdpOauthResult) string { return v.IdAttribute }).(pulumi.StringOutput) +} + +// enabled if a new account in ZITADEL are created automatically on login with an external account +func (o LookupOrgIdpOauthResultOutput) IsAutoCreation() pulumi.BoolOutput { + return o.ApplyT(func(v LookupOrgIdpOauthResult) bool { return v.IsAutoCreation }).(pulumi.BoolOutput) +} + +// enabled if a the ZITADEL account fields are updated automatically on each login +func (o LookupOrgIdpOauthResultOutput) IsAutoUpdate() pulumi.BoolOutput { + return o.ApplyT(func(v LookupOrgIdpOauthResult) bool { return v.IsAutoUpdate }).(pulumi.BoolOutput) +} + +// enabled if users are able to create a new account in ZITADEL when using an external account +func (o LookupOrgIdpOauthResultOutput) IsCreationAllowed() pulumi.BoolOutput { + return o.ApplyT(func(v LookupOrgIdpOauthResult) bool { return v.IsCreationAllowed }).(pulumi.BoolOutput) +} + +// enabled if users are able to link an existing ZITADEL user with an external account +func (o LookupOrgIdpOauthResultOutput) IsLinkingAllowed() pulumi.BoolOutput { + return o.ApplyT(func(v LookupOrgIdpOauthResult) bool { return v.IsLinkingAllowed }).(pulumi.BoolOutput) +} + +// Name of the IDP +func (o LookupOrgIdpOauthResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupOrgIdpOauthResult) string { return v.Name }).(pulumi.StringOutput) +} + +// ID of the organization +func (o LookupOrgIdpOauthResultOutput) OrgId() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupOrgIdpOauthResult) *string { return v.OrgId }).(pulumi.StringPtrOutput) +} + +// the scopes requested by ZITADEL during the request on the identity provider +func (o LookupOrgIdpOauthResultOutput) Scopes() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupOrgIdpOauthResult) []string { return v.Scopes }).(pulumi.StringArrayOutput) +} + +// The token endpoint +func (o LookupOrgIdpOauthResultOutput) TokenEndpoint() pulumi.StringOutput { + return o.ApplyT(func(v LookupOrgIdpOauthResult) string { return v.TokenEndpoint }).(pulumi.StringOutput) +} + +// The user endpoint +func (o LookupOrgIdpOauthResultOutput) UserEndpoint() pulumi.StringOutput { + return o.ApplyT(func(v LookupOrgIdpOauthResult) string { return v.UserEndpoint }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupOrgIdpOauthResultOutput{}) +} diff --git a/sdk/go/zitadel/getOrgIdpSaml.go b/sdk/go/zitadel/getOrgIdpSaml.go new file mode 100644 index 0000000..b88dad6 --- /dev/null +++ b/sdk/go/zitadel/getOrgIdpSaml.go @@ -0,0 +1,183 @@ +// 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 zitadel + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumi/pulumi/sdk/v3/go/pulumix" + "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" +) + +// Datasource representing a SAML IdP of the organization. +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := zitadel.LookupOrgIdpSaml(ctx, &zitadel.LookupOrgIdpSamlArgs{ +// OrgId: pulumi.StringRef(data.Zitadel_org.Default.Id), +// Id: "123456789012345678", +// }, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +func LookupOrgIdpSaml(ctx *pulumi.Context, args *LookupOrgIdpSamlArgs, opts ...pulumi.InvokeOption) (*LookupOrgIdpSamlResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupOrgIdpSamlResult + err := ctx.Invoke("zitadel:index/getOrgIdpSaml:getOrgIdpSaml", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getOrgIdpSaml. +type LookupOrgIdpSamlArgs struct { + // The ID of this resource. + Id string `pulumi:"id"` + // ID of the organization + OrgId *string `pulumi:"orgId"` +} + +// A collection of values returned by getOrgIdpSaml. +type LookupOrgIdpSamlResult struct { + // The binding + Binding string `pulumi:"binding"` + // The ID of this resource. + Id string `pulumi:"id"` + // enabled if a new account in ZITADEL are created automatically on login with an external account + IsAutoCreation bool `pulumi:"isAutoCreation"` + // enabled if a the ZITADEL account fields are updated automatically on each login + IsAutoUpdate bool `pulumi:"isAutoUpdate"` + // enabled if users are able to create a new account in ZITADEL when using an external account + IsCreationAllowed bool `pulumi:"isCreationAllowed"` + // enabled if users are able to link an existing ZITADEL user with an external account + IsLinkingAllowed bool `pulumi:"isLinkingAllowed"` + // The metadata XML as plain string + MetadataXml string `pulumi:"metadataXml"` + // Name of the IDP + Name string `pulumi:"name"` + // ID of the organization + OrgId *string `pulumi:"orgId"` + // Whether the SAML IDP requires signed requests + WithSignedRequest string `pulumi:"withSignedRequest"` +} + +func LookupOrgIdpSamlOutput(ctx *pulumi.Context, args LookupOrgIdpSamlOutputArgs, opts ...pulumi.InvokeOption) LookupOrgIdpSamlResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (LookupOrgIdpSamlResult, error) { + args := v.(LookupOrgIdpSamlArgs) + r, err := LookupOrgIdpSaml(ctx, &args, opts...) + var s LookupOrgIdpSamlResult + if r != nil { + s = *r + } + return s, err + }).(LookupOrgIdpSamlResultOutput) +} + +// A collection of arguments for invoking getOrgIdpSaml. +type LookupOrgIdpSamlOutputArgs struct { + // The ID of this resource. + Id pulumi.StringInput `pulumi:"id"` + // ID of the organization + OrgId pulumi.StringPtrInput `pulumi:"orgId"` +} + +func (LookupOrgIdpSamlOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupOrgIdpSamlArgs)(nil)).Elem() +} + +// A collection of values returned by getOrgIdpSaml. +type LookupOrgIdpSamlResultOutput struct{ *pulumi.OutputState } + +func (LookupOrgIdpSamlResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupOrgIdpSamlResult)(nil)).Elem() +} + +func (o LookupOrgIdpSamlResultOutput) ToLookupOrgIdpSamlResultOutput() LookupOrgIdpSamlResultOutput { + return o +} + +func (o LookupOrgIdpSamlResultOutput) ToLookupOrgIdpSamlResultOutputWithContext(ctx context.Context) LookupOrgIdpSamlResultOutput { + return o +} + +func (o LookupOrgIdpSamlResultOutput) ToOutput(ctx context.Context) pulumix.Output[LookupOrgIdpSamlResult] { + return pulumix.Output[LookupOrgIdpSamlResult]{ + OutputState: o.OutputState, + } +} + +// The binding +func (o LookupOrgIdpSamlResultOutput) Binding() pulumi.StringOutput { + return o.ApplyT(func(v LookupOrgIdpSamlResult) string { return v.Binding }).(pulumi.StringOutput) +} + +// The ID of this resource. +func (o LookupOrgIdpSamlResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupOrgIdpSamlResult) string { return v.Id }).(pulumi.StringOutput) +} + +// enabled if a new account in ZITADEL are created automatically on login with an external account +func (o LookupOrgIdpSamlResultOutput) IsAutoCreation() pulumi.BoolOutput { + return o.ApplyT(func(v LookupOrgIdpSamlResult) bool { return v.IsAutoCreation }).(pulumi.BoolOutput) +} + +// enabled if a the ZITADEL account fields are updated automatically on each login +func (o LookupOrgIdpSamlResultOutput) IsAutoUpdate() pulumi.BoolOutput { + return o.ApplyT(func(v LookupOrgIdpSamlResult) bool { return v.IsAutoUpdate }).(pulumi.BoolOutput) +} + +// enabled if users are able to create a new account in ZITADEL when using an external account +func (o LookupOrgIdpSamlResultOutput) IsCreationAllowed() pulumi.BoolOutput { + return o.ApplyT(func(v LookupOrgIdpSamlResult) bool { return v.IsCreationAllowed }).(pulumi.BoolOutput) +} + +// enabled if users are able to link an existing ZITADEL user with an external account +func (o LookupOrgIdpSamlResultOutput) IsLinkingAllowed() pulumi.BoolOutput { + return o.ApplyT(func(v LookupOrgIdpSamlResult) bool { return v.IsLinkingAllowed }).(pulumi.BoolOutput) +} + +// The metadata XML as plain string +func (o LookupOrgIdpSamlResultOutput) MetadataXml() pulumi.StringOutput { + return o.ApplyT(func(v LookupOrgIdpSamlResult) string { return v.MetadataXml }).(pulumi.StringOutput) +} + +// Name of the IDP +func (o LookupOrgIdpSamlResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupOrgIdpSamlResult) string { return v.Name }).(pulumi.StringOutput) +} + +// ID of the organization +func (o LookupOrgIdpSamlResultOutput) OrgId() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupOrgIdpSamlResult) *string { return v.OrgId }).(pulumi.StringPtrOutput) +} + +// Whether the SAML IDP requires signed requests +func (o LookupOrgIdpSamlResultOutput) WithSignedRequest() pulumi.StringOutput { + return o.ApplyT(func(v LookupOrgIdpSamlResult) string { return v.WithSignedRequest }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupOrgIdpSamlResultOutput{}) +} diff --git a/sdk/go/zitadel/humanUser.go b/sdk/go/zitadel/humanUser.go index 6538e00..b8f15c0 100644 --- a/sdk/go/zitadel/humanUser.go +++ b/sdk/go/zitadel/humanUser.go @@ -57,7 +57,7 @@ import ( // // ## Import // -// terraform The resource can be imported using the ID format `id[:org_id][:initial_password]>`, e.g. +// bash The resource can be imported using the ID format `id[:org_id][:initial_password]>`, e.g. // // ```sh // diff --git a/sdk/go/zitadel/idpAzureAd.go b/sdk/go/zitadel/idpAzureAd.go index d0878be..7a671fa 100644 --- a/sdk/go/zitadel/idpAzureAd.go +++ b/sdk/go/zitadel/idpAzureAd.go @@ -56,7 +56,7 @@ import ( // // ## Import // -// terraform The resource can be imported using the ID format ``, e.g. +// bash The resource can be imported using the ID format ``, e.g. // // ```sh // diff --git a/sdk/go/zitadel/idpGithub.go b/sdk/go/zitadel/idpGithub.go index 529a49f..2a6f54b 100644 --- a/sdk/go/zitadel/idpGithub.go +++ b/sdk/go/zitadel/idpGithub.go @@ -53,7 +53,7 @@ import ( // // ## Import // -// terraform The resource can be imported using the ID format ``, e.g. +// bash The resource can be imported using the ID format ``, e.g. // // ```sh // diff --git a/sdk/go/zitadel/idpGithubEs.go b/sdk/go/zitadel/idpGithubEs.go index e4c212e..5a89704 100644 --- a/sdk/go/zitadel/idpGithubEs.go +++ b/sdk/go/zitadel/idpGithubEs.go @@ -56,7 +56,7 @@ import ( // // ## Import // -// terraform The resource can be imported using the ID format ``, e.g. +// bash The resource can be imported using the ID format ``, e.g. // // ```sh // diff --git a/sdk/go/zitadel/idpGitlab.go b/sdk/go/zitadel/idpGitlab.go index f620fbd..9c07ce0 100644 --- a/sdk/go/zitadel/idpGitlab.go +++ b/sdk/go/zitadel/idpGitlab.go @@ -53,7 +53,7 @@ import ( // // ## Import // -// terraform The resource can be imported using the ID format ``, e.g. +// bash The resource can be imported using the ID format ``, e.g. // // ```sh // diff --git a/sdk/go/zitadel/idpGitlabSelfHosted.go b/sdk/go/zitadel/idpGitlabSelfHosted.go index d19c0a1..c0a94cc 100644 --- a/sdk/go/zitadel/idpGitlabSelfHosted.go +++ b/sdk/go/zitadel/idpGitlabSelfHosted.go @@ -54,7 +54,7 @@ import ( // // ## Import // -// terraform The resource can be imported using the ID format ``, e.g. +// bash The resource can be imported using the ID format ``, e.g. // // ```sh // diff --git a/sdk/go/zitadel/idpGoogle.go b/sdk/go/zitadel/idpGoogle.go index 9668974..b6cee6d 100644 --- a/sdk/go/zitadel/idpGoogle.go +++ b/sdk/go/zitadel/idpGoogle.go @@ -53,7 +53,7 @@ import ( // // ## Import // -// terraform The resource can be imported using the ID format ``, e.g. +// bash The resource can be imported using the ID format ``, e.g. // // ```sh // diff --git a/sdk/go/zitadel/idpLdap.go b/sdk/go/zitadel/idpLdap.go index 463df85..3e92752 100644 --- a/sdk/go/zitadel/idpLdap.go +++ b/sdk/go/zitadel/idpLdap.go @@ -66,7 +66,7 @@ import ( // // ## Import // -// terraform The resource can be imported using the ID format ``, e.g. +// bash The resource can be imported using the ID format ``, e.g. // // ```sh // diff --git a/sdk/go/zitadel/idpOauth.go b/sdk/go/zitadel/idpOauth.go new file mode 100644 index 0000000..dbf14e2 --- /dev/null +++ b/sdk/go/zitadel/idpOauth.go @@ -0,0 +1,505 @@ +// 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 zitadel + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumi/pulumi/sdk/v3/go/pulumix" + "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" +) + +// Resource representing a generic OAuth2 IDP on the instance. +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := zitadel.NewIdpOauth(ctx, "default", &zitadel.IdpOauthArgs{ +// AuthorizationEndpoint: pulumi.String("https://accounts.google.com/o/oauth2/v2/auth"), +// ClientId: pulumi.String("15765e..."), +// ClientSecret: pulumi.String("*****abcxyz"), +// IdAttribute: pulumi.String("user_id"), +// IsAutoCreation: pulumi.Bool(false), +// IsAutoUpdate: pulumi.Bool(true), +// IsCreationAllowed: pulumi.Bool(true), +// IsLinkingAllowed: pulumi.Bool(false), +// Scopes: pulumi.StringArray{ +// pulumi.String("openid"), +// pulumi.String("profile"), +// pulumi.String("email"), +// }, +// TokenEndpoint: pulumi.String("https://oauth2.googleapis.com/token"), +// UserEndpoint: pulumi.String("https://openidconnect.googleapis.com/v1/userinfo"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// bash The resource can be imported using the ID format ``, e.g. +// +// ```sh +// +// $ pulumi import zitadel:index/idpOauth:IdpOauth imported '123456789012345678:1234567890abcdef' +// +// ``` +type IdpOauth struct { + pulumi.CustomResourceState + + // The authorization endpoint + AuthorizationEndpoint pulumi.StringOutput `pulumi:"authorizationEndpoint"` + // client id generated by the identity provider + ClientId pulumi.StringOutput `pulumi:"clientId"` + // client secret generated by the identity provider + ClientSecret pulumi.StringOutput `pulumi:"clientSecret"` + // The id attribute + IdAttribute pulumi.StringOutput `pulumi:"idAttribute"` + // enable if a new account in ZITADEL should be created automatically on login with an external account + IsAutoCreation pulumi.BoolOutput `pulumi:"isAutoCreation"` + // enable if a the ZITADEL account fields should be updated automatically on each login + IsAutoUpdate pulumi.BoolOutput `pulumi:"isAutoUpdate"` + // enable if users should be able to create a new account in ZITADEL when using an external account + IsCreationAllowed pulumi.BoolOutput `pulumi:"isCreationAllowed"` + // enable if users should be able to link an existing ZITADEL user with an external account + IsLinkingAllowed pulumi.BoolOutput `pulumi:"isLinkingAllowed"` + // Name of the IDP + Name pulumi.StringOutput `pulumi:"name"` + // the scopes requested by ZITADEL during the request on the identity provider + Scopes pulumi.StringArrayOutput `pulumi:"scopes"` + // The token endpoint + TokenEndpoint pulumi.StringOutput `pulumi:"tokenEndpoint"` + // The user endpoint + UserEndpoint pulumi.StringOutput `pulumi:"userEndpoint"` +} + +// NewIdpOauth registers a new resource with the given unique name, arguments, and options. +func NewIdpOauth(ctx *pulumi.Context, + name string, args *IdpOauthArgs, opts ...pulumi.ResourceOption) (*IdpOauth, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.AuthorizationEndpoint == nil { + return nil, errors.New("invalid value for required argument 'AuthorizationEndpoint'") + } + if args.ClientId == nil { + return nil, errors.New("invalid value for required argument 'ClientId'") + } + if args.ClientSecret == nil { + return nil, errors.New("invalid value for required argument 'ClientSecret'") + } + if args.IdAttribute == nil { + return nil, errors.New("invalid value for required argument 'IdAttribute'") + } + if args.IsAutoCreation == nil { + return nil, errors.New("invalid value for required argument 'IsAutoCreation'") + } + if args.IsAutoUpdate == nil { + return nil, errors.New("invalid value for required argument 'IsAutoUpdate'") + } + if args.IsCreationAllowed == nil { + return nil, errors.New("invalid value for required argument 'IsCreationAllowed'") + } + if args.IsLinkingAllowed == nil { + return nil, errors.New("invalid value for required argument 'IsLinkingAllowed'") + } + if args.TokenEndpoint == nil { + return nil, errors.New("invalid value for required argument 'TokenEndpoint'") + } + if args.UserEndpoint == nil { + return nil, errors.New("invalid value for required argument 'UserEndpoint'") + } + if args.ClientSecret != nil { + args.ClientSecret = pulumi.ToSecret(args.ClientSecret).(pulumi.StringInput) + } + secrets := pulumi.AdditionalSecretOutputs([]string{ + "clientSecret", + }) + opts = append(opts, secrets) + opts = internal.PkgResourceDefaultOpts(opts) + var resource IdpOauth + err := ctx.RegisterResource("zitadel:index/idpOauth:IdpOauth", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIdpOauth gets an existing IdpOauth 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 GetIdpOauth(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IdpOauthState, opts ...pulumi.ResourceOption) (*IdpOauth, error) { + var resource IdpOauth + err := ctx.ReadResource("zitadel:index/idpOauth:IdpOauth", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IdpOauth resources. +type idpOauthState struct { + // The authorization endpoint + AuthorizationEndpoint *string `pulumi:"authorizationEndpoint"` + // client id generated by the identity provider + ClientId *string `pulumi:"clientId"` + // client secret generated by the identity provider + ClientSecret *string `pulumi:"clientSecret"` + // The id attribute + IdAttribute *string `pulumi:"idAttribute"` + // enable if a new account in ZITADEL should be created automatically on login with an external account + IsAutoCreation *bool `pulumi:"isAutoCreation"` + // enable if a the ZITADEL account fields should be updated automatically on each login + IsAutoUpdate *bool `pulumi:"isAutoUpdate"` + // enable if users should be able to create a new account in ZITADEL when using an external account + IsCreationAllowed *bool `pulumi:"isCreationAllowed"` + // enable if users should be able to link an existing ZITADEL user with an external account + IsLinkingAllowed *bool `pulumi:"isLinkingAllowed"` + // Name of the IDP + Name *string `pulumi:"name"` + // the scopes requested by ZITADEL during the request on the identity provider + Scopes []string `pulumi:"scopes"` + // The token endpoint + TokenEndpoint *string `pulumi:"tokenEndpoint"` + // The user endpoint + UserEndpoint *string `pulumi:"userEndpoint"` +} + +type IdpOauthState struct { + // The authorization endpoint + AuthorizationEndpoint pulumi.StringPtrInput + // client id generated by the identity provider + ClientId pulumi.StringPtrInput + // client secret generated by the identity provider + ClientSecret pulumi.StringPtrInput + // The id attribute + IdAttribute pulumi.StringPtrInput + // enable if a new account in ZITADEL should be created automatically on login with an external account + IsAutoCreation pulumi.BoolPtrInput + // enable if a the ZITADEL account fields should be updated automatically on each login + IsAutoUpdate pulumi.BoolPtrInput + // enable if users should be able to create a new account in ZITADEL when using an external account + IsCreationAllowed pulumi.BoolPtrInput + // enable if users should be able to link an existing ZITADEL user with an external account + IsLinkingAllowed pulumi.BoolPtrInput + // Name of the IDP + Name pulumi.StringPtrInput + // the scopes requested by ZITADEL during the request on the identity provider + Scopes pulumi.StringArrayInput + // The token endpoint + TokenEndpoint pulumi.StringPtrInput + // The user endpoint + UserEndpoint pulumi.StringPtrInput +} + +func (IdpOauthState) ElementType() reflect.Type { + return reflect.TypeOf((*idpOauthState)(nil)).Elem() +} + +type idpOauthArgs struct { + // The authorization endpoint + AuthorizationEndpoint string `pulumi:"authorizationEndpoint"` + // client id generated by the identity provider + ClientId string `pulumi:"clientId"` + // client secret generated by the identity provider + ClientSecret string `pulumi:"clientSecret"` + // The id attribute + IdAttribute string `pulumi:"idAttribute"` + // enable if a new account in ZITADEL should be created automatically on login with an external account + IsAutoCreation bool `pulumi:"isAutoCreation"` + // enable if a the ZITADEL account fields should be updated automatically on each login + IsAutoUpdate bool `pulumi:"isAutoUpdate"` + // enable if users should be able to create a new account in ZITADEL when using an external account + IsCreationAllowed bool `pulumi:"isCreationAllowed"` + // enable if users should be able to link an existing ZITADEL user with an external account + IsLinkingAllowed bool `pulumi:"isLinkingAllowed"` + // Name of the IDP + Name *string `pulumi:"name"` + // the scopes requested by ZITADEL during the request on the identity provider + Scopes []string `pulumi:"scopes"` + // The token endpoint + TokenEndpoint string `pulumi:"tokenEndpoint"` + // The user endpoint + UserEndpoint string `pulumi:"userEndpoint"` +} + +// The set of arguments for constructing a IdpOauth resource. +type IdpOauthArgs struct { + // The authorization endpoint + AuthorizationEndpoint pulumi.StringInput + // client id generated by the identity provider + ClientId pulumi.StringInput + // client secret generated by the identity provider + ClientSecret pulumi.StringInput + // The id attribute + IdAttribute pulumi.StringInput + // enable if a new account in ZITADEL should be created automatically on login with an external account + IsAutoCreation pulumi.BoolInput + // enable if a the ZITADEL account fields should be updated automatically on each login + IsAutoUpdate pulumi.BoolInput + // enable if users should be able to create a new account in ZITADEL when using an external account + IsCreationAllowed pulumi.BoolInput + // enable if users should be able to link an existing ZITADEL user with an external account + IsLinkingAllowed pulumi.BoolInput + // Name of the IDP + Name pulumi.StringPtrInput + // the scopes requested by ZITADEL during the request on the identity provider + Scopes pulumi.StringArrayInput + // The token endpoint + TokenEndpoint pulumi.StringInput + // The user endpoint + UserEndpoint pulumi.StringInput +} + +func (IdpOauthArgs) ElementType() reflect.Type { + return reflect.TypeOf((*idpOauthArgs)(nil)).Elem() +} + +type IdpOauthInput interface { + pulumi.Input + + ToIdpOauthOutput() IdpOauthOutput + ToIdpOauthOutputWithContext(ctx context.Context) IdpOauthOutput +} + +func (*IdpOauth) ElementType() reflect.Type { + return reflect.TypeOf((**IdpOauth)(nil)).Elem() +} + +func (i *IdpOauth) ToIdpOauthOutput() IdpOauthOutput { + return i.ToIdpOauthOutputWithContext(context.Background()) +} + +func (i *IdpOauth) ToIdpOauthOutputWithContext(ctx context.Context) IdpOauthOutput { + return pulumi.ToOutputWithContext(ctx, i).(IdpOauthOutput) +} + +func (i *IdpOauth) ToOutput(ctx context.Context) pulumix.Output[*IdpOauth] { + return pulumix.Output[*IdpOauth]{ + OutputState: i.ToIdpOauthOutputWithContext(ctx).OutputState, + } +} + +// IdpOauthArrayInput is an input type that accepts IdpOauthArray and IdpOauthArrayOutput values. +// You can construct a concrete instance of `IdpOauthArrayInput` via: +// +// IdpOauthArray{ IdpOauthArgs{...} } +type IdpOauthArrayInput interface { + pulumi.Input + + ToIdpOauthArrayOutput() IdpOauthArrayOutput + ToIdpOauthArrayOutputWithContext(context.Context) IdpOauthArrayOutput +} + +type IdpOauthArray []IdpOauthInput + +func (IdpOauthArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*IdpOauth)(nil)).Elem() +} + +func (i IdpOauthArray) ToIdpOauthArrayOutput() IdpOauthArrayOutput { + return i.ToIdpOauthArrayOutputWithContext(context.Background()) +} + +func (i IdpOauthArray) ToIdpOauthArrayOutputWithContext(ctx context.Context) IdpOauthArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IdpOauthArrayOutput) +} + +func (i IdpOauthArray) ToOutput(ctx context.Context) pulumix.Output[[]*IdpOauth] { + return pulumix.Output[[]*IdpOauth]{ + OutputState: i.ToIdpOauthArrayOutputWithContext(ctx).OutputState, + } +} + +// IdpOauthMapInput is an input type that accepts IdpOauthMap and IdpOauthMapOutput values. +// You can construct a concrete instance of `IdpOauthMapInput` via: +// +// IdpOauthMap{ "key": IdpOauthArgs{...} } +type IdpOauthMapInput interface { + pulumi.Input + + ToIdpOauthMapOutput() IdpOauthMapOutput + ToIdpOauthMapOutputWithContext(context.Context) IdpOauthMapOutput +} + +type IdpOauthMap map[string]IdpOauthInput + +func (IdpOauthMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*IdpOauth)(nil)).Elem() +} + +func (i IdpOauthMap) ToIdpOauthMapOutput() IdpOauthMapOutput { + return i.ToIdpOauthMapOutputWithContext(context.Background()) +} + +func (i IdpOauthMap) ToIdpOauthMapOutputWithContext(ctx context.Context) IdpOauthMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(IdpOauthMapOutput) +} + +func (i IdpOauthMap) ToOutput(ctx context.Context) pulumix.Output[map[string]*IdpOauth] { + return pulumix.Output[map[string]*IdpOauth]{ + OutputState: i.ToIdpOauthMapOutputWithContext(ctx).OutputState, + } +} + +type IdpOauthOutput struct{ *pulumi.OutputState } + +func (IdpOauthOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IdpOauth)(nil)).Elem() +} + +func (o IdpOauthOutput) ToIdpOauthOutput() IdpOauthOutput { + return o +} + +func (o IdpOauthOutput) ToIdpOauthOutputWithContext(ctx context.Context) IdpOauthOutput { + return o +} + +func (o IdpOauthOutput) ToOutput(ctx context.Context) pulumix.Output[*IdpOauth] { + return pulumix.Output[*IdpOauth]{ + OutputState: o.OutputState, + } +} + +// The authorization endpoint +func (o IdpOauthOutput) AuthorizationEndpoint() pulumi.StringOutput { + return o.ApplyT(func(v *IdpOauth) pulumi.StringOutput { return v.AuthorizationEndpoint }).(pulumi.StringOutput) +} + +// client id generated by the identity provider +func (o IdpOauthOutput) ClientId() pulumi.StringOutput { + return o.ApplyT(func(v *IdpOauth) pulumi.StringOutput { return v.ClientId }).(pulumi.StringOutput) +} + +// client secret generated by the identity provider +func (o IdpOauthOutput) ClientSecret() pulumi.StringOutput { + return o.ApplyT(func(v *IdpOauth) pulumi.StringOutput { return v.ClientSecret }).(pulumi.StringOutput) +} + +// The id attribute +func (o IdpOauthOutput) IdAttribute() pulumi.StringOutput { + return o.ApplyT(func(v *IdpOauth) pulumi.StringOutput { return v.IdAttribute }).(pulumi.StringOutput) +} + +// enable if a new account in ZITADEL should be created automatically on login with an external account +func (o IdpOauthOutput) IsAutoCreation() pulumi.BoolOutput { + return o.ApplyT(func(v *IdpOauth) pulumi.BoolOutput { return v.IsAutoCreation }).(pulumi.BoolOutput) +} + +// enable if a the ZITADEL account fields should be updated automatically on each login +func (o IdpOauthOutput) IsAutoUpdate() pulumi.BoolOutput { + return o.ApplyT(func(v *IdpOauth) pulumi.BoolOutput { return v.IsAutoUpdate }).(pulumi.BoolOutput) +} + +// enable if users should be able to create a new account in ZITADEL when using an external account +func (o IdpOauthOutput) IsCreationAllowed() pulumi.BoolOutput { + return o.ApplyT(func(v *IdpOauth) pulumi.BoolOutput { return v.IsCreationAllowed }).(pulumi.BoolOutput) +} + +// enable if users should be able to link an existing ZITADEL user with an external account +func (o IdpOauthOutput) IsLinkingAllowed() pulumi.BoolOutput { + return o.ApplyT(func(v *IdpOauth) pulumi.BoolOutput { return v.IsLinkingAllowed }).(pulumi.BoolOutput) +} + +// Name of the IDP +func (o IdpOauthOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IdpOauth) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// the scopes requested by ZITADEL during the request on the identity provider +func (o IdpOauthOutput) Scopes() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IdpOauth) pulumi.StringArrayOutput { return v.Scopes }).(pulumi.StringArrayOutput) +} + +// The token endpoint +func (o IdpOauthOutput) TokenEndpoint() pulumi.StringOutput { + return o.ApplyT(func(v *IdpOauth) pulumi.StringOutput { return v.TokenEndpoint }).(pulumi.StringOutput) +} + +// The user endpoint +func (o IdpOauthOutput) UserEndpoint() pulumi.StringOutput { + return o.ApplyT(func(v *IdpOauth) pulumi.StringOutput { return v.UserEndpoint }).(pulumi.StringOutput) +} + +type IdpOauthArrayOutput struct{ *pulumi.OutputState } + +func (IdpOauthArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*IdpOauth)(nil)).Elem() +} + +func (o IdpOauthArrayOutput) ToIdpOauthArrayOutput() IdpOauthArrayOutput { + return o +} + +func (o IdpOauthArrayOutput) ToIdpOauthArrayOutputWithContext(ctx context.Context) IdpOauthArrayOutput { + return o +} + +func (o IdpOauthArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]*IdpOauth] { + return pulumix.Output[[]*IdpOauth]{ + OutputState: o.OutputState, + } +} + +func (o IdpOauthArrayOutput) Index(i pulumi.IntInput) IdpOauthOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *IdpOauth { + return vs[0].([]*IdpOauth)[vs[1].(int)] + }).(IdpOauthOutput) +} + +type IdpOauthMapOutput struct{ *pulumi.OutputState } + +func (IdpOauthMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*IdpOauth)(nil)).Elem() +} + +func (o IdpOauthMapOutput) ToIdpOauthMapOutput() IdpOauthMapOutput { + return o +} + +func (o IdpOauthMapOutput) ToIdpOauthMapOutputWithContext(ctx context.Context) IdpOauthMapOutput { + return o +} + +func (o IdpOauthMapOutput) ToOutput(ctx context.Context) pulumix.Output[map[string]*IdpOauth] { + return pulumix.Output[map[string]*IdpOauth]{ + OutputState: o.OutputState, + } +} + +func (o IdpOauthMapOutput) MapIndex(k pulumi.StringInput) IdpOauthOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *IdpOauth { + return vs[0].(map[string]*IdpOauth)[vs[1].(string)] + }).(IdpOauthOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IdpOauthInput)(nil)).Elem(), &IdpOauth{}) + pulumi.RegisterInputType(reflect.TypeOf((*IdpOauthArrayInput)(nil)).Elem(), IdpOauthArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IdpOauthMapInput)(nil)).Elem(), IdpOauthMap{}) + pulumi.RegisterOutputType(IdpOauthOutput{}) + pulumi.RegisterOutputType(IdpOauthArrayOutput{}) + pulumi.RegisterOutputType(IdpOauthMapOutput{}) +} diff --git a/sdk/go/zitadel/idpSaml.go b/sdk/go/zitadel/idpSaml.go new file mode 100644 index 0000000..fdb591b --- /dev/null +++ b/sdk/go/zitadel/idpSaml.go @@ -0,0 +1,459 @@ +// 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 zitadel + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumi/pulumi/sdk/v3/go/pulumix" + "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" +) + +// Resource representing a SAML IDP on the instance. +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := zitadel.NewIdpSaml(ctx, "default", &zitadel.IdpSamlArgs{ +// Binding: pulumi.String("SAML_BINDING_POST"), +// IsAutoCreation: pulumi.Bool(false), +// IsAutoUpdate: pulumi.Bool(true), +// IsCreationAllowed: pulumi.Bool(true), +// IsLinkingAllowed: pulumi.Bool(false), +// MetadataXml: pulumi.String(` +// +// +// +// +// +// +// +// MIIC4jCCAcoCCQC33wnybT5QZDANBgkqhkiG9w0BAQsFADAyMQswCQYDVQQGEwJV +// +// SzEPMA0GA1UECgwGQm94eUhRMRIwEAYDVQQDDAlNb2NrIFNBTUwwIBcNMjIwMjI4 +// MjE0NjM4WhgPMzAyMTA3MDEyMTQ2MzhaMDIxCzAJBgNVBAYTAlVLMQ8wDQYDVQQK +// DAZCb3h5SFExEjAQBgNVBAMMCU1vY2sgU0FNTDCCASIwDQYJKoZIhvcNAQEBBQAD +// ggEPADCCAQoCggEBALGfYettMsct1T6tVUwTudNJH5Pnb9GGnkXi9Zw/e6x45DD0 +// RuRONbFlJ2T4RjAE/uG+AjXxXQ8o2SZfb9+GgmCHuTJFNgHoZ1nFVXCmb/Hg8Hpd +// 4vOAGXndixaReOiq3EH5XvpMjMkJ3+8+9VYMzMZOjkgQtAqO36eAFFfNKX7dTj3V +// pwLkvz6/KFCq8OAwY+AUi4eZm5J57D31GzjHwfjH9WTeX0MyndmnNB1qV75qQR3b +// 2/W5sGHRv+9AarggJkF+ptUkXoLtVA51wcfYm6hILptpde5FQC8RWY1YrswBWAEZ +// NfyrR4JeSweElNHg4NVOs4TwGjOPwWGqzTfgTlECAwEAATANBgkqhkiG9w0BAQsF +// AAOCAQEAAYRlYflSXAWoZpFfwNiCQVE5d9zZ0DPzNdWhAybXcTyMf0z5mDf6FWBW +// 5Gyoi9u3EMEDnzLcJNkwJAAc39Apa4I2/tml+Jy29dk8bTyX6m93ngmCgdLh5Za4 +// khuU3AM3L63g7VexCuO7kwkjh/+LqdcIXsVGO6XDfu2QOs1Xpe9zIzLpwm/RNYeX +// UjbSj5ce/jekpAw7qyVVL4xOyh8AtUW1ek3wIw1MJvEgEPt0d16oshWJpoS1OT8L +// r/22SvYEo3EmSGdTVGgk3x3s+A0qWAqTcyjr7Q4s/GKYRFfomGwz0TZ4Iw1ZN99M +// m0eo2USlSRTVl7QHRTuiuSThHpLKQQ== +// +// +// +// +// urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress +// +// +// +// +// +// +// `), +// +// WithSignedRequest: pulumi.Bool(true), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// ## Loading the XML Metadata +// +// If you don't want to pass the XML metadata inline, you have plenty of options. For example: +// - localFile Data Source +// - http Data Source +// - terracurlRequest Data Source +// - ... +// +// ## Import +// +// bash The resource can be imported using the ID format ``, e.g. +// +// ```sh +// +// $ pulumi import zitadel:index/idpSaml:IdpSaml imported '123456789012345678' +// +// ``` +type IdpSaml struct { + pulumi.CustomResourceState + + // The binding, supported values: SAML*BINDING*UNSPECIFIED, SAML*BINDING*POST, SAML*BINDING*REDIRECT, SAML*BINDING*ARTIFACT + Binding pulumi.StringPtrOutput `pulumi:"binding"` + // enable if a new account in ZITADEL should be created automatically on login with an external account + IsAutoCreation pulumi.BoolOutput `pulumi:"isAutoCreation"` + // enable if a the ZITADEL account fields should be updated automatically on each login + IsAutoUpdate pulumi.BoolOutput `pulumi:"isAutoUpdate"` + // enable if users should be able to create a new account in ZITADEL when using an external account + IsCreationAllowed pulumi.BoolOutput `pulumi:"isCreationAllowed"` + // enable if users should be able to link an existing ZITADEL user with an external account + IsLinkingAllowed pulumi.BoolOutput `pulumi:"isLinkingAllowed"` + // The metadata XML as plain string + MetadataXml pulumi.StringOutput `pulumi:"metadataXml"` + // Name of the IDP + Name pulumi.StringOutput `pulumi:"name"` + // Whether the SAML IDP requires signed requests + WithSignedRequest pulumi.BoolPtrOutput `pulumi:"withSignedRequest"` +} + +// NewIdpSaml registers a new resource with the given unique name, arguments, and options. +func NewIdpSaml(ctx *pulumi.Context, + name string, args *IdpSamlArgs, opts ...pulumi.ResourceOption) (*IdpSaml, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.IsAutoCreation == nil { + return nil, errors.New("invalid value for required argument 'IsAutoCreation'") + } + if args.IsAutoUpdate == nil { + return nil, errors.New("invalid value for required argument 'IsAutoUpdate'") + } + if args.IsCreationAllowed == nil { + return nil, errors.New("invalid value for required argument 'IsCreationAllowed'") + } + if args.IsLinkingAllowed == nil { + return nil, errors.New("invalid value for required argument 'IsLinkingAllowed'") + } + if args.MetadataXml == nil { + return nil, errors.New("invalid value for required argument 'MetadataXml'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IdpSaml + err := ctx.RegisterResource("zitadel:index/idpSaml:IdpSaml", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIdpSaml gets an existing IdpSaml 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 GetIdpSaml(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IdpSamlState, opts ...pulumi.ResourceOption) (*IdpSaml, error) { + var resource IdpSaml + err := ctx.ReadResource("zitadel:index/idpSaml:IdpSaml", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IdpSaml resources. +type idpSamlState struct { + // The binding, supported values: SAML*BINDING*UNSPECIFIED, SAML*BINDING*POST, SAML*BINDING*REDIRECT, SAML*BINDING*ARTIFACT + Binding *string `pulumi:"binding"` + // enable if a new account in ZITADEL should be created automatically on login with an external account + IsAutoCreation *bool `pulumi:"isAutoCreation"` + // enable if a the ZITADEL account fields should be updated automatically on each login + IsAutoUpdate *bool `pulumi:"isAutoUpdate"` + // enable if users should be able to create a new account in ZITADEL when using an external account + IsCreationAllowed *bool `pulumi:"isCreationAllowed"` + // enable if users should be able to link an existing ZITADEL user with an external account + IsLinkingAllowed *bool `pulumi:"isLinkingAllowed"` + // The metadata XML as plain string + MetadataXml *string `pulumi:"metadataXml"` + // Name of the IDP + Name *string `pulumi:"name"` + // Whether the SAML IDP requires signed requests + WithSignedRequest *bool `pulumi:"withSignedRequest"` +} + +type IdpSamlState struct { + // The binding, supported values: SAML*BINDING*UNSPECIFIED, SAML*BINDING*POST, SAML*BINDING*REDIRECT, SAML*BINDING*ARTIFACT + Binding pulumi.StringPtrInput + // enable if a new account in ZITADEL should be created automatically on login with an external account + IsAutoCreation pulumi.BoolPtrInput + // enable if a the ZITADEL account fields should be updated automatically on each login + IsAutoUpdate pulumi.BoolPtrInput + // enable if users should be able to create a new account in ZITADEL when using an external account + IsCreationAllowed pulumi.BoolPtrInput + // enable if users should be able to link an existing ZITADEL user with an external account + IsLinkingAllowed pulumi.BoolPtrInput + // The metadata XML as plain string + MetadataXml pulumi.StringPtrInput + // Name of the IDP + Name pulumi.StringPtrInput + // Whether the SAML IDP requires signed requests + WithSignedRequest pulumi.BoolPtrInput +} + +func (IdpSamlState) ElementType() reflect.Type { + return reflect.TypeOf((*idpSamlState)(nil)).Elem() +} + +type idpSamlArgs struct { + // The binding, supported values: SAML*BINDING*UNSPECIFIED, SAML*BINDING*POST, SAML*BINDING*REDIRECT, SAML*BINDING*ARTIFACT + Binding *string `pulumi:"binding"` + // enable if a new account in ZITADEL should be created automatically on login with an external account + IsAutoCreation bool `pulumi:"isAutoCreation"` + // enable if a the ZITADEL account fields should be updated automatically on each login + IsAutoUpdate bool `pulumi:"isAutoUpdate"` + // enable if users should be able to create a new account in ZITADEL when using an external account + IsCreationAllowed bool `pulumi:"isCreationAllowed"` + // enable if users should be able to link an existing ZITADEL user with an external account + IsLinkingAllowed bool `pulumi:"isLinkingAllowed"` + // The metadata XML as plain string + MetadataXml string `pulumi:"metadataXml"` + // Name of the IDP + Name *string `pulumi:"name"` + // Whether the SAML IDP requires signed requests + WithSignedRequest *bool `pulumi:"withSignedRequest"` +} + +// The set of arguments for constructing a IdpSaml resource. +type IdpSamlArgs struct { + // The binding, supported values: SAML*BINDING*UNSPECIFIED, SAML*BINDING*POST, SAML*BINDING*REDIRECT, SAML*BINDING*ARTIFACT + Binding pulumi.StringPtrInput + // enable if a new account in ZITADEL should be created automatically on login with an external account + IsAutoCreation pulumi.BoolInput + // enable if a the ZITADEL account fields should be updated automatically on each login + IsAutoUpdate pulumi.BoolInput + // enable if users should be able to create a new account in ZITADEL when using an external account + IsCreationAllowed pulumi.BoolInput + // enable if users should be able to link an existing ZITADEL user with an external account + IsLinkingAllowed pulumi.BoolInput + // The metadata XML as plain string + MetadataXml pulumi.StringInput + // Name of the IDP + Name pulumi.StringPtrInput + // Whether the SAML IDP requires signed requests + WithSignedRequest pulumi.BoolPtrInput +} + +func (IdpSamlArgs) ElementType() reflect.Type { + return reflect.TypeOf((*idpSamlArgs)(nil)).Elem() +} + +type IdpSamlInput interface { + pulumi.Input + + ToIdpSamlOutput() IdpSamlOutput + ToIdpSamlOutputWithContext(ctx context.Context) IdpSamlOutput +} + +func (*IdpSaml) ElementType() reflect.Type { + return reflect.TypeOf((**IdpSaml)(nil)).Elem() +} + +func (i *IdpSaml) ToIdpSamlOutput() IdpSamlOutput { + return i.ToIdpSamlOutputWithContext(context.Background()) +} + +func (i *IdpSaml) ToIdpSamlOutputWithContext(ctx context.Context) IdpSamlOutput { + return pulumi.ToOutputWithContext(ctx, i).(IdpSamlOutput) +} + +func (i *IdpSaml) ToOutput(ctx context.Context) pulumix.Output[*IdpSaml] { + return pulumix.Output[*IdpSaml]{ + OutputState: i.ToIdpSamlOutputWithContext(ctx).OutputState, + } +} + +// IdpSamlArrayInput is an input type that accepts IdpSamlArray and IdpSamlArrayOutput values. +// You can construct a concrete instance of `IdpSamlArrayInput` via: +// +// IdpSamlArray{ IdpSamlArgs{...} } +type IdpSamlArrayInput interface { + pulumi.Input + + ToIdpSamlArrayOutput() IdpSamlArrayOutput + ToIdpSamlArrayOutputWithContext(context.Context) IdpSamlArrayOutput +} + +type IdpSamlArray []IdpSamlInput + +func (IdpSamlArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*IdpSaml)(nil)).Elem() +} + +func (i IdpSamlArray) ToIdpSamlArrayOutput() IdpSamlArrayOutput { + return i.ToIdpSamlArrayOutputWithContext(context.Background()) +} + +func (i IdpSamlArray) ToIdpSamlArrayOutputWithContext(ctx context.Context) IdpSamlArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IdpSamlArrayOutput) +} + +func (i IdpSamlArray) ToOutput(ctx context.Context) pulumix.Output[[]*IdpSaml] { + return pulumix.Output[[]*IdpSaml]{ + OutputState: i.ToIdpSamlArrayOutputWithContext(ctx).OutputState, + } +} + +// IdpSamlMapInput is an input type that accepts IdpSamlMap and IdpSamlMapOutput values. +// You can construct a concrete instance of `IdpSamlMapInput` via: +// +// IdpSamlMap{ "key": IdpSamlArgs{...} } +type IdpSamlMapInput interface { + pulumi.Input + + ToIdpSamlMapOutput() IdpSamlMapOutput + ToIdpSamlMapOutputWithContext(context.Context) IdpSamlMapOutput +} + +type IdpSamlMap map[string]IdpSamlInput + +func (IdpSamlMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*IdpSaml)(nil)).Elem() +} + +func (i IdpSamlMap) ToIdpSamlMapOutput() IdpSamlMapOutput { + return i.ToIdpSamlMapOutputWithContext(context.Background()) +} + +func (i IdpSamlMap) ToIdpSamlMapOutputWithContext(ctx context.Context) IdpSamlMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(IdpSamlMapOutput) +} + +func (i IdpSamlMap) ToOutput(ctx context.Context) pulumix.Output[map[string]*IdpSaml] { + return pulumix.Output[map[string]*IdpSaml]{ + OutputState: i.ToIdpSamlMapOutputWithContext(ctx).OutputState, + } +} + +type IdpSamlOutput struct{ *pulumi.OutputState } + +func (IdpSamlOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IdpSaml)(nil)).Elem() +} + +func (o IdpSamlOutput) ToIdpSamlOutput() IdpSamlOutput { + return o +} + +func (o IdpSamlOutput) ToIdpSamlOutputWithContext(ctx context.Context) IdpSamlOutput { + return o +} + +func (o IdpSamlOutput) ToOutput(ctx context.Context) pulumix.Output[*IdpSaml] { + return pulumix.Output[*IdpSaml]{ + OutputState: o.OutputState, + } +} + +// The binding, supported values: SAML*BINDING*UNSPECIFIED, SAML*BINDING*POST, SAML*BINDING*REDIRECT, SAML*BINDING*ARTIFACT +func (o IdpSamlOutput) Binding() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IdpSaml) pulumi.StringPtrOutput { return v.Binding }).(pulumi.StringPtrOutput) +} + +// enable if a new account in ZITADEL should be created automatically on login with an external account +func (o IdpSamlOutput) IsAutoCreation() pulumi.BoolOutput { + return o.ApplyT(func(v *IdpSaml) pulumi.BoolOutput { return v.IsAutoCreation }).(pulumi.BoolOutput) +} + +// enable if a the ZITADEL account fields should be updated automatically on each login +func (o IdpSamlOutput) IsAutoUpdate() pulumi.BoolOutput { + return o.ApplyT(func(v *IdpSaml) pulumi.BoolOutput { return v.IsAutoUpdate }).(pulumi.BoolOutput) +} + +// enable if users should be able to create a new account in ZITADEL when using an external account +func (o IdpSamlOutput) IsCreationAllowed() pulumi.BoolOutput { + return o.ApplyT(func(v *IdpSaml) pulumi.BoolOutput { return v.IsCreationAllowed }).(pulumi.BoolOutput) +} + +// enable if users should be able to link an existing ZITADEL user with an external account +func (o IdpSamlOutput) IsLinkingAllowed() pulumi.BoolOutput { + return o.ApplyT(func(v *IdpSaml) pulumi.BoolOutput { return v.IsLinkingAllowed }).(pulumi.BoolOutput) +} + +// The metadata XML as plain string +func (o IdpSamlOutput) MetadataXml() pulumi.StringOutput { + return o.ApplyT(func(v *IdpSaml) pulumi.StringOutput { return v.MetadataXml }).(pulumi.StringOutput) +} + +// Name of the IDP +func (o IdpSamlOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IdpSaml) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Whether the SAML IDP requires signed requests +func (o IdpSamlOutput) WithSignedRequest() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IdpSaml) pulumi.BoolPtrOutput { return v.WithSignedRequest }).(pulumi.BoolPtrOutput) +} + +type IdpSamlArrayOutput struct{ *pulumi.OutputState } + +func (IdpSamlArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*IdpSaml)(nil)).Elem() +} + +func (o IdpSamlArrayOutput) ToIdpSamlArrayOutput() IdpSamlArrayOutput { + return o +} + +func (o IdpSamlArrayOutput) ToIdpSamlArrayOutputWithContext(ctx context.Context) IdpSamlArrayOutput { + return o +} + +func (o IdpSamlArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]*IdpSaml] { + return pulumix.Output[[]*IdpSaml]{ + OutputState: o.OutputState, + } +} + +func (o IdpSamlArrayOutput) Index(i pulumi.IntInput) IdpSamlOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *IdpSaml { + return vs[0].([]*IdpSaml)[vs[1].(int)] + }).(IdpSamlOutput) +} + +type IdpSamlMapOutput struct{ *pulumi.OutputState } + +func (IdpSamlMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*IdpSaml)(nil)).Elem() +} + +func (o IdpSamlMapOutput) ToIdpSamlMapOutput() IdpSamlMapOutput { + return o +} + +func (o IdpSamlMapOutput) ToIdpSamlMapOutputWithContext(ctx context.Context) IdpSamlMapOutput { + return o +} + +func (o IdpSamlMapOutput) ToOutput(ctx context.Context) pulumix.Output[map[string]*IdpSaml] { + return pulumix.Output[map[string]*IdpSaml]{ + OutputState: o.OutputState, + } +} + +func (o IdpSamlMapOutput) MapIndex(k pulumi.StringInput) IdpSamlOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *IdpSaml { + return vs[0].(map[string]*IdpSaml)[vs[1].(string)] + }).(IdpSamlOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IdpSamlInput)(nil)).Elem(), &IdpSaml{}) + pulumi.RegisterInputType(reflect.TypeOf((*IdpSamlArrayInput)(nil)).Elem(), IdpSamlArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IdpSamlMapInput)(nil)).Elem(), IdpSamlMap{}) + pulumi.RegisterOutputType(IdpSamlOutput{}) + pulumi.RegisterOutputType(IdpSamlArrayOutput{}) + pulumi.RegisterOutputType(IdpSamlMapOutput{}) +} diff --git a/sdk/go/zitadel/init.go b/sdk/go/zitadel/init.go index e419344..67ce39a 100644 --- a/sdk/go/zitadel/init.go +++ b/sdk/go/zitadel/init.go @@ -67,6 +67,10 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &IdpGoogle{} case "zitadel:index/idpLdap:IdpLdap": r = &IdpLdap{} + case "zitadel:index/idpOauth:IdpOauth": + r = &IdpOauth{} + case "zitadel:index/idpSaml:IdpSaml": + r = &IdpSaml{} case "zitadel:index/instanceMember:InstanceMember": r = &InstanceMember{} case "zitadel:index/labelPolicy:LabelPolicy": @@ -99,10 +103,16 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &OrgIdpJwt{} case "zitadel:index/orgIdpLdap:OrgIdpLdap": r = &OrgIdpLdap{} + case "zitadel:index/orgIdpOauth:OrgIdpOauth": + r = &OrgIdpOauth{} case "zitadel:index/orgIdpOidc:OrgIdpOidc": r = &OrgIdpOidc{} + case "zitadel:index/orgIdpSaml:OrgIdpSaml": + r = &OrgIdpSaml{} case "zitadel:index/orgMember:OrgMember": r = &OrgMember{} + case "zitadel:index/orgMetadata:OrgMetadata": + r = &OrgMetadata{} case "zitadel:index/passwordComplexityPolicy:PasswordComplexityPolicy": r = &PasswordComplexityPolicy{} case "zitadel:index/personalAccessToken:PersonalAccessToken": @@ -127,6 +137,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &TriggerActions{} case "zitadel:index/userGrant:UserGrant": r = &UserGrant{} + case "zitadel:index/userMetadata:UserMetadata": + r = &UserMetadata{} default: return nil, fmt.Errorf("unknown resource type: %s", typ) } @@ -273,6 +285,16 @@ func init() { "index/idpLdap", &module{version}, ) + pulumi.RegisterResourceModule( + "zitadel", + "index/idpOauth", + &module{version}, + ) + pulumi.RegisterResourceModule( + "zitadel", + "index/idpSaml", + &module{version}, + ) pulumi.RegisterResourceModule( "zitadel", "index/instanceMember", @@ -353,16 +375,31 @@ func init() { "index/orgIdpLdap", &module{version}, ) + pulumi.RegisterResourceModule( + "zitadel", + "index/orgIdpOauth", + &module{version}, + ) pulumi.RegisterResourceModule( "zitadel", "index/orgIdpOidc", &module{version}, ) + pulumi.RegisterResourceModule( + "zitadel", + "index/orgIdpSaml", + &module{version}, + ) pulumi.RegisterResourceModule( "zitadel", "index/orgMember", &module{version}, ) + pulumi.RegisterResourceModule( + "zitadel", + "index/orgMetadata", + &module{version}, + ) pulumi.RegisterResourceModule( "zitadel", "index/passwordComplexityPolicy", @@ -423,6 +460,11 @@ func init() { "index/userGrant", &module{version}, ) + pulumi.RegisterResourceModule( + "zitadel", + "index/userMetadata", + &module{version}, + ) pulumi.RegisterResourcePackage( "zitadel", &pkg{version}, diff --git a/sdk/go/zitadel/instanceMember.go b/sdk/go/zitadel/instanceMember.go index 81eeaf9..95f163e 100644 --- a/sdk/go/zitadel/instanceMember.go +++ b/sdk/go/zitadel/instanceMember.go @@ -46,7 +46,7 @@ import ( // // ## Import // -// terraform The resource can be imported using the ID format ``, e.g. +// bash The resource can be imported using the ID format ``, e.g. // // ```sh // diff --git a/sdk/go/zitadel/labelPolicy.go b/sdk/go/zitadel/labelPolicy.go index 6917727..8d1e006 100644 --- a/sdk/go/zitadel/labelPolicy.go +++ b/sdk/go/zitadel/labelPolicy.go @@ -17,7 +17,7 @@ import ( // // ## Import // -// terraform The resource can be imported using the ID format `<[org_id]>`, e.g. +// bash The resource can be imported using the ID format `<[org_id]>`, e.g. // // ```sh // @@ -62,6 +62,8 @@ type LabelPolicy struct { PrimaryColorDark pulumi.StringOutput `pulumi:"primaryColorDark"` // set the label policy active after creating/updating SetActive pulumi.BoolPtrOutput `pulumi:"setActive"` + // theme mode, supported values: THEME*MODE*UNSPECIFIED, THEME*MODE*AUTO, THEME*MODE*DARK, THEME*MODE*LIGHT + ThemeMode pulumi.StringPtrOutput `pulumi:"themeMode"` // hex value for warn color WarnColor pulumi.StringOutput `pulumi:"warnColor"` // hex value for warn color dark theme @@ -163,6 +165,8 @@ type labelPolicyState struct { PrimaryColorDark *string `pulumi:"primaryColorDark"` // set the label policy active after creating/updating SetActive *bool `pulumi:"setActive"` + // theme mode, supported values: THEME*MODE*UNSPECIFIED, THEME*MODE*AUTO, THEME*MODE*DARK, THEME*MODE*LIGHT + ThemeMode *string `pulumi:"themeMode"` // hex value for warn color WarnColor *string `pulumi:"warnColor"` // hex value for warn color dark theme @@ -205,6 +209,8 @@ type LabelPolicyState struct { PrimaryColorDark pulumi.StringPtrInput // set the label policy active after creating/updating SetActive pulumi.BoolPtrInput + // theme mode, supported values: THEME*MODE*UNSPECIFIED, THEME*MODE*AUTO, THEME*MODE*DARK, THEME*MODE*LIGHT + ThemeMode pulumi.StringPtrInput // hex value for warn color WarnColor pulumi.StringPtrInput // hex value for warn color dark theme @@ -246,6 +252,8 @@ type labelPolicyArgs struct { PrimaryColorDark string `pulumi:"primaryColorDark"` // set the label policy active after creating/updating SetActive *bool `pulumi:"setActive"` + // theme mode, supported values: THEME*MODE*UNSPECIFIED, THEME*MODE*AUTO, THEME*MODE*DARK, THEME*MODE*LIGHT + ThemeMode *string `pulumi:"themeMode"` // hex value for warn color WarnColor string `pulumi:"warnColor"` // hex value for warn color dark theme @@ -284,6 +292,8 @@ type LabelPolicyArgs struct { PrimaryColorDark pulumi.StringInput // set the label policy active after creating/updating SetActive pulumi.BoolPtrInput + // theme mode, supported values: THEME*MODE*UNSPECIFIED, THEME*MODE*AUTO, THEME*MODE*DARK, THEME*MODE*LIGHT + ThemeMode pulumi.StringPtrInput // hex value for warn color WarnColor pulumi.StringInput // hex value for warn color dark theme @@ -511,6 +521,11 @@ func (o LabelPolicyOutput) SetActive() pulumi.BoolPtrOutput { return o.ApplyT(func(v *LabelPolicy) pulumi.BoolPtrOutput { return v.SetActive }).(pulumi.BoolPtrOutput) } +// theme mode, supported values: THEME*MODE*UNSPECIFIED, THEME*MODE*AUTO, THEME*MODE*DARK, THEME*MODE*LIGHT +func (o LabelPolicyOutput) ThemeMode() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LabelPolicy) pulumi.StringPtrOutput { return v.ThemeMode }).(pulumi.StringPtrOutput) +} + // hex value for warn color func (o LabelPolicyOutput) WarnColor() pulumi.StringOutput { return o.ApplyT(func(v *LabelPolicy) pulumi.StringOutput { return v.WarnColor }).(pulumi.StringOutput) diff --git a/sdk/go/zitadel/lockoutPolicy.go b/sdk/go/zitadel/lockoutPolicy.go index 5ff1e0f..b249675 100644 --- a/sdk/go/zitadel/lockoutPolicy.go +++ b/sdk/go/zitadel/lockoutPolicy.go @@ -44,7 +44,7 @@ import ( // // ## Import // -// terraform The resource can be imported using the ID format `<[org_id]>`, e.g. +// bash The resource can be imported using the ID format `<[org_id]>`, e.g. // // ```sh // diff --git a/sdk/go/zitadel/loginPolicy.go b/sdk/go/zitadel/loginPolicy.go index 13e523f..f87313b 100644 --- a/sdk/go/zitadel/loginPolicy.go +++ b/sdk/go/zitadel/loginPolicy.go @@ -71,7 +71,7 @@ import ( // // ## Import // -// terraform The resource can be imported using the ID format `<[org_id]>`, e.g. +// bash The resource can be imported using the ID format `<[org_id]>`, e.g. // // ```sh // diff --git a/sdk/go/zitadel/machineKey.go b/sdk/go/zitadel/machineKey.go index de2f9bc..0c58726 100644 --- a/sdk/go/zitadel/machineKey.go +++ b/sdk/go/zitadel/machineKey.go @@ -46,7 +46,7 @@ import ( // // ## Import // -// terraform The resource can be imported using the ID format ``, e.g. +// bash The resource can be imported using the ID format ``, e.g. // // ```sh // diff --git a/sdk/go/zitadel/machineUser.go b/sdk/go/zitadel/machineUser.go index 8cd0059..6d3f88a 100644 --- a/sdk/go/zitadel/machineUser.go +++ b/sdk/go/zitadel/machineUser.go @@ -46,7 +46,7 @@ import ( // // ## Import // -// terraform The resource can be imported using the ID format ``, e.g. +// bash The resource can be imported using the ID format ``, e.g. // // ```sh // diff --git a/sdk/go/zitadel/notificationPolicy.go b/sdk/go/zitadel/notificationPolicy.go index 561ad7d..67fadb1 100644 --- a/sdk/go/zitadel/notificationPolicy.go +++ b/sdk/go/zitadel/notificationPolicy.go @@ -44,7 +44,7 @@ import ( // // ## Import // -// terraform The resource can be imported using the ID format `<[org_id]>`, e.g. +// bash The resource can be imported using the ID format `<[org_id]>`, e.g. // // ```sh // diff --git a/sdk/go/zitadel/org.go b/sdk/go/zitadel/org.go index 638c308..5ade4f4 100644 --- a/sdk/go/zitadel/org.go +++ b/sdk/go/zitadel/org.go @@ -40,7 +40,7 @@ import ( // // ## Import // -// terraform The resource can be imported using the ID format ``, e.g. +// bash The resource can be imported using the ID format ``, e.g. // // ```sh // diff --git a/sdk/go/zitadel/orgIdpAzureAd.go b/sdk/go/zitadel/orgIdpAzureAd.go index 34563b6..2a0f3d0 100644 --- a/sdk/go/zitadel/orgIdpAzureAd.go +++ b/sdk/go/zitadel/orgIdpAzureAd.go @@ -57,7 +57,7 @@ import ( // // ## Import // -// terraform The resource can be imported using the ID format ``, e.g. +// bash The resource can be imported using the ID format ``, e.g. // // ```sh // diff --git a/sdk/go/zitadel/orgIdpGithub.go b/sdk/go/zitadel/orgIdpGithub.go index 25ae56a..6c3c763 100644 --- a/sdk/go/zitadel/orgIdpGithub.go +++ b/sdk/go/zitadel/orgIdpGithub.go @@ -54,7 +54,7 @@ import ( // // ## Import // -// terraform The resource can be imported using the ID format ``, e.g. +// bash The resource can be imported using the ID format ``, e.g. // // ```sh // diff --git a/sdk/go/zitadel/orgIdpGithubEs.go b/sdk/go/zitadel/orgIdpGithubEs.go index 05688b8..10c809d 100644 --- a/sdk/go/zitadel/orgIdpGithubEs.go +++ b/sdk/go/zitadel/orgIdpGithubEs.go @@ -57,7 +57,7 @@ import ( // // ## Import // -// terraform The resource can be imported using the ID format ``, e.g. +// bash The resource can be imported using the ID format ``, e.g. // // ```sh // diff --git a/sdk/go/zitadel/orgIdpGitlab.go b/sdk/go/zitadel/orgIdpGitlab.go index 4297501..4d90f80 100644 --- a/sdk/go/zitadel/orgIdpGitlab.go +++ b/sdk/go/zitadel/orgIdpGitlab.go @@ -54,7 +54,7 @@ import ( // // ## Import // -// terraform The resource can be imported using the ID format ``, e.g. +// bash The resource can be imported using the ID format ``, e.g. // // ```sh // diff --git a/sdk/go/zitadel/orgIdpGitlabSelfHosted.go b/sdk/go/zitadel/orgIdpGitlabSelfHosted.go index 6b2e970..c0423f6 100644 --- a/sdk/go/zitadel/orgIdpGitlabSelfHosted.go +++ b/sdk/go/zitadel/orgIdpGitlabSelfHosted.go @@ -55,7 +55,7 @@ import ( // // ## Import // -// terraform The resource can be imported using the ID format ``, e.g. +// bash The resource can be imported using the ID format ``, e.g. // // ```sh // diff --git a/sdk/go/zitadel/orgIdpGoogle.go b/sdk/go/zitadel/orgIdpGoogle.go index f909dd1..e0aacda 100644 --- a/sdk/go/zitadel/orgIdpGoogle.go +++ b/sdk/go/zitadel/orgIdpGoogle.go @@ -54,7 +54,7 @@ import ( // // ## Import // -// terraform The resource can be imported using the ID format ``, e.g. +// bash The resource can be imported using the ID format ``, e.g. // // ```sh // diff --git a/sdk/go/zitadel/orgIdpJwt.go b/sdk/go/zitadel/orgIdpJwt.go index 6252e07..201dec7 100644 --- a/sdk/go/zitadel/orgIdpJwt.go +++ b/sdk/go/zitadel/orgIdpJwt.go @@ -49,7 +49,7 @@ import ( // // ## Import // -// terraform The resource can be imported using the ID format ``, e.g. +// bash The resource can be imported using the ID format ``, e.g. // // ```sh // diff --git a/sdk/go/zitadel/orgIdpLdap.go b/sdk/go/zitadel/orgIdpLdap.go index 63e0ab1..f721dbe 100644 --- a/sdk/go/zitadel/orgIdpLdap.go +++ b/sdk/go/zitadel/orgIdpLdap.go @@ -67,7 +67,7 @@ import ( // // ## Import // -// terraform The resource can be imported using the ID format ``, e.g. +// bash The resource can be imported using the ID format ``, e.g. // // ```sh // diff --git a/sdk/go/zitadel/orgIdpOauth.go b/sdk/go/zitadel/orgIdpOauth.go new file mode 100644 index 0000000..d5a0b7a --- /dev/null +++ b/sdk/go/zitadel/orgIdpOauth.go @@ -0,0 +1,521 @@ +// 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 zitadel + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumi/pulumi/sdk/v3/go/pulumix" + "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" +) + +// Resource representing a generic OAuth2 IDP on the organization. +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := zitadel.NewOrgIdpOauth(ctx, "default", &zitadel.OrgIdpOauthArgs{ +// OrgId: pulumi.Any(data.Zitadel_org.Default.Id), +// ClientId: pulumi.String("15765e..."), +// ClientSecret: pulumi.String("*****abcxyz"), +// AuthorizationEndpoint: pulumi.String("https://accounts.google.com/o/oauth2/v2/auth"), +// TokenEndpoint: pulumi.String("https://oauth2.googleapis.com/token"), +// UserEndpoint: pulumi.String("https://openidconnect.googleapis.com/v1/userinfo"), +// IdAttribute: pulumi.String("user_id"), +// Scopes: pulumi.StringArray{ +// pulumi.String("openid"), +// pulumi.String("profile"), +// pulumi.String("email"), +// }, +// IsLinkingAllowed: pulumi.Bool(false), +// IsCreationAllowed: pulumi.Bool(true), +// IsAutoCreation: pulumi.Bool(false), +// IsAutoUpdate: pulumi.Bool(true), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// bash The resource can be imported using the ID format ``, e.g. +// +// ```sh +// +// $ pulumi import zitadel:index/orgIdpOauth:OrgIdpOauth imported '123456789012345678:123456789012345678:1234567890abcdef' +// +// ``` +type OrgIdpOauth struct { + pulumi.CustomResourceState + + // The authorization endpoint + AuthorizationEndpoint pulumi.StringOutput `pulumi:"authorizationEndpoint"` + // client id generated by the identity provider + ClientId pulumi.StringOutput `pulumi:"clientId"` + // client secret generated by the identity provider + ClientSecret pulumi.StringOutput `pulumi:"clientSecret"` + // The id attribute + IdAttribute pulumi.StringOutput `pulumi:"idAttribute"` + // enable if a new account in ZITADEL should be created automatically on login with an external account + IsAutoCreation pulumi.BoolOutput `pulumi:"isAutoCreation"` + // enable if a the ZITADEL account fields should be updated automatically on each login + IsAutoUpdate pulumi.BoolOutput `pulumi:"isAutoUpdate"` + // enable if users should be able to create a new account in ZITADEL when using an external account + IsCreationAllowed pulumi.BoolOutput `pulumi:"isCreationAllowed"` + // enable if users should be able to link an existing ZITADEL user with an external account + IsLinkingAllowed pulumi.BoolOutput `pulumi:"isLinkingAllowed"` + // Name of the IDP + Name pulumi.StringOutput `pulumi:"name"` + // ID of the organization + OrgId pulumi.StringPtrOutput `pulumi:"orgId"` + // the scopes requested by ZITADEL during the request on the identity provider + Scopes pulumi.StringArrayOutput `pulumi:"scopes"` + // The token endpoint + TokenEndpoint pulumi.StringOutput `pulumi:"tokenEndpoint"` + // The user endpoint + UserEndpoint pulumi.StringOutput `pulumi:"userEndpoint"` +} + +// NewOrgIdpOauth registers a new resource with the given unique name, arguments, and options. +func NewOrgIdpOauth(ctx *pulumi.Context, + name string, args *OrgIdpOauthArgs, opts ...pulumi.ResourceOption) (*OrgIdpOauth, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.AuthorizationEndpoint == nil { + return nil, errors.New("invalid value for required argument 'AuthorizationEndpoint'") + } + if args.ClientId == nil { + return nil, errors.New("invalid value for required argument 'ClientId'") + } + if args.ClientSecret == nil { + return nil, errors.New("invalid value for required argument 'ClientSecret'") + } + if args.IdAttribute == nil { + return nil, errors.New("invalid value for required argument 'IdAttribute'") + } + if args.IsAutoCreation == nil { + return nil, errors.New("invalid value for required argument 'IsAutoCreation'") + } + if args.IsAutoUpdate == nil { + return nil, errors.New("invalid value for required argument 'IsAutoUpdate'") + } + if args.IsCreationAllowed == nil { + return nil, errors.New("invalid value for required argument 'IsCreationAllowed'") + } + if args.IsLinkingAllowed == nil { + return nil, errors.New("invalid value for required argument 'IsLinkingAllowed'") + } + if args.TokenEndpoint == nil { + return nil, errors.New("invalid value for required argument 'TokenEndpoint'") + } + if args.UserEndpoint == nil { + return nil, errors.New("invalid value for required argument 'UserEndpoint'") + } + if args.ClientSecret != nil { + args.ClientSecret = pulumi.ToSecret(args.ClientSecret).(pulumi.StringInput) + } + secrets := pulumi.AdditionalSecretOutputs([]string{ + "clientSecret", + }) + opts = append(opts, secrets) + opts = internal.PkgResourceDefaultOpts(opts) + var resource OrgIdpOauth + err := ctx.RegisterResource("zitadel:index/orgIdpOauth:OrgIdpOauth", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetOrgIdpOauth gets an existing OrgIdpOauth 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 GetOrgIdpOauth(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *OrgIdpOauthState, opts ...pulumi.ResourceOption) (*OrgIdpOauth, error) { + var resource OrgIdpOauth + err := ctx.ReadResource("zitadel:index/orgIdpOauth:OrgIdpOauth", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering OrgIdpOauth resources. +type orgIdpOauthState struct { + // The authorization endpoint + AuthorizationEndpoint *string `pulumi:"authorizationEndpoint"` + // client id generated by the identity provider + ClientId *string `pulumi:"clientId"` + // client secret generated by the identity provider + ClientSecret *string `pulumi:"clientSecret"` + // The id attribute + IdAttribute *string `pulumi:"idAttribute"` + // enable if a new account in ZITADEL should be created automatically on login with an external account + IsAutoCreation *bool `pulumi:"isAutoCreation"` + // enable if a the ZITADEL account fields should be updated automatically on each login + IsAutoUpdate *bool `pulumi:"isAutoUpdate"` + // enable if users should be able to create a new account in ZITADEL when using an external account + IsCreationAllowed *bool `pulumi:"isCreationAllowed"` + // enable if users should be able to link an existing ZITADEL user with an external account + IsLinkingAllowed *bool `pulumi:"isLinkingAllowed"` + // Name of the IDP + Name *string `pulumi:"name"` + // ID of the organization + OrgId *string `pulumi:"orgId"` + // the scopes requested by ZITADEL during the request on the identity provider + Scopes []string `pulumi:"scopes"` + // The token endpoint + TokenEndpoint *string `pulumi:"tokenEndpoint"` + // The user endpoint + UserEndpoint *string `pulumi:"userEndpoint"` +} + +type OrgIdpOauthState struct { + // The authorization endpoint + AuthorizationEndpoint pulumi.StringPtrInput + // client id generated by the identity provider + ClientId pulumi.StringPtrInput + // client secret generated by the identity provider + ClientSecret pulumi.StringPtrInput + // The id attribute + IdAttribute pulumi.StringPtrInput + // enable if a new account in ZITADEL should be created automatically on login with an external account + IsAutoCreation pulumi.BoolPtrInput + // enable if a the ZITADEL account fields should be updated automatically on each login + IsAutoUpdate pulumi.BoolPtrInput + // enable if users should be able to create a new account in ZITADEL when using an external account + IsCreationAllowed pulumi.BoolPtrInput + // enable if users should be able to link an existing ZITADEL user with an external account + IsLinkingAllowed pulumi.BoolPtrInput + // Name of the IDP + Name pulumi.StringPtrInput + // ID of the organization + OrgId pulumi.StringPtrInput + // the scopes requested by ZITADEL during the request on the identity provider + Scopes pulumi.StringArrayInput + // The token endpoint + TokenEndpoint pulumi.StringPtrInput + // The user endpoint + UserEndpoint pulumi.StringPtrInput +} + +func (OrgIdpOauthState) ElementType() reflect.Type { + return reflect.TypeOf((*orgIdpOauthState)(nil)).Elem() +} + +type orgIdpOauthArgs struct { + // The authorization endpoint + AuthorizationEndpoint string `pulumi:"authorizationEndpoint"` + // client id generated by the identity provider + ClientId string `pulumi:"clientId"` + // client secret generated by the identity provider + ClientSecret string `pulumi:"clientSecret"` + // The id attribute + IdAttribute string `pulumi:"idAttribute"` + // enable if a new account in ZITADEL should be created automatically on login with an external account + IsAutoCreation bool `pulumi:"isAutoCreation"` + // enable if a the ZITADEL account fields should be updated automatically on each login + IsAutoUpdate bool `pulumi:"isAutoUpdate"` + // enable if users should be able to create a new account in ZITADEL when using an external account + IsCreationAllowed bool `pulumi:"isCreationAllowed"` + // enable if users should be able to link an existing ZITADEL user with an external account + IsLinkingAllowed bool `pulumi:"isLinkingAllowed"` + // Name of the IDP + Name *string `pulumi:"name"` + // ID of the organization + OrgId *string `pulumi:"orgId"` + // the scopes requested by ZITADEL during the request on the identity provider + Scopes []string `pulumi:"scopes"` + // The token endpoint + TokenEndpoint string `pulumi:"tokenEndpoint"` + // The user endpoint + UserEndpoint string `pulumi:"userEndpoint"` +} + +// The set of arguments for constructing a OrgIdpOauth resource. +type OrgIdpOauthArgs struct { + // The authorization endpoint + AuthorizationEndpoint pulumi.StringInput + // client id generated by the identity provider + ClientId pulumi.StringInput + // client secret generated by the identity provider + ClientSecret pulumi.StringInput + // The id attribute + IdAttribute pulumi.StringInput + // enable if a new account in ZITADEL should be created automatically on login with an external account + IsAutoCreation pulumi.BoolInput + // enable if a the ZITADEL account fields should be updated automatically on each login + IsAutoUpdate pulumi.BoolInput + // enable if users should be able to create a new account in ZITADEL when using an external account + IsCreationAllowed pulumi.BoolInput + // enable if users should be able to link an existing ZITADEL user with an external account + IsLinkingAllowed pulumi.BoolInput + // Name of the IDP + Name pulumi.StringPtrInput + // ID of the organization + OrgId pulumi.StringPtrInput + // the scopes requested by ZITADEL during the request on the identity provider + Scopes pulumi.StringArrayInput + // The token endpoint + TokenEndpoint pulumi.StringInput + // The user endpoint + UserEndpoint pulumi.StringInput +} + +func (OrgIdpOauthArgs) ElementType() reflect.Type { + return reflect.TypeOf((*orgIdpOauthArgs)(nil)).Elem() +} + +type OrgIdpOauthInput interface { + pulumi.Input + + ToOrgIdpOauthOutput() OrgIdpOauthOutput + ToOrgIdpOauthOutputWithContext(ctx context.Context) OrgIdpOauthOutput +} + +func (*OrgIdpOauth) ElementType() reflect.Type { + return reflect.TypeOf((**OrgIdpOauth)(nil)).Elem() +} + +func (i *OrgIdpOauth) ToOrgIdpOauthOutput() OrgIdpOauthOutput { + return i.ToOrgIdpOauthOutputWithContext(context.Background()) +} + +func (i *OrgIdpOauth) ToOrgIdpOauthOutputWithContext(ctx context.Context) OrgIdpOauthOutput { + return pulumi.ToOutputWithContext(ctx, i).(OrgIdpOauthOutput) +} + +func (i *OrgIdpOauth) ToOutput(ctx context.Context) pulumix.Output[*OrgIdpOauth] { + return pulumix.Output[*OrgIdpOauth]{ + OutputState: i.ToOrgIdpOauthOutputWithContext(ctx).OutputState, + } +} + +// OrgIdpOauthArrayInput is an input type that accepts OrgIdpOauthArray and OrgIdpOauthArrayOutput values. +// You can construct a concrete instance of `OrgIdpOauthArrayInput` via: +// +// OrgIdpOauthArray{ OrgIdpOauthArgs{...} } +type OrgIdpOauthArrayInput interface { + pulumi.Input + + ToOrgIdpOauthArrayOutput() OrgIdpOauthArrayOutput + ToOrgIdpOauthArrayOutputWithContext(context.Context) OrgIdpOauthArrayOutput +} + +type OrgIdpOauthArray []OrgIdpOauthInput + +func (OrgIdpOauthArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*OrgIdpOauth)(nil)).Elem() +} + +func (i OrgIdpOauthArray) ToOrgIdpOauthArrayOutput() OrgIdpOauthArrayOutput { + return i.ToOrgIdpOauthArrayOutputWithContext(context.Background()) +} + +func (i OrgIdpOauthArray) ToOrgIdpOauthArrayOutputWithContext(ctx context.Context) OrgIdpOauthArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(OrgIdpOauthArrayOutput) +} + +func (i OrgIdpOauthArray) ToOutput(ctx context.Context) pulumix.Output[[]*OrgIdpOauth] { + return pulumix.Output[[]*OrgIdpOauth]{ + OutputState: i.ToOrgIdpOauthArrayOutputWithContext(ctx).OutputState, + } +} + +// OrgIdpOauthMapInput is an input type that accepts OrgIdpOauthMap and OrgIdpOauthMapOutput values. +// You can construct a concrete instance of `OrgIdpOauthMapInput` via: +// +// OrgIdpOauthMap{ "key": OrgIdpOauthArgs{...} } +type OrgIdpOauthMapInput interface { + pulumi.Input + + ToOrgIdpOauthMapOutput() OrgIdpOauthMapOutput + ToOrgIdpOauthMapOutputWithContext(context.Context) OrgIdpOauthMapOutput +} + +type OrgIdpOauthMap map[string]OrgIdpOauthInput + +func (OrgIdpOauthMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*OrgIdpOauth)(nil)).Elem() +} + +func (i OrgIdpOauthMap) ToOrgIdpOauthMapOutput() OrgIdpOauthMapOutput { + return i.ToOrgIdpOauthMapOutputWithContext(context.Background()) +} + +func (i OrgIdpOauthMap) ToOrgIdpOauthMapOutputWithContext(ctx context.Context) OrgIdpOauthMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(OrgIdpOauthMapOutput) +} + +func (i OrgIdpOauthMap) ToOutput(ctx context.Context) pulumix.Output[map[string]*OrgIdpOauth] { + return pulumix.Output[map[string]*OrgIdpOauth]{ + OutputState: i.ToOrgIdpOauthMapOutputWithContext(ctx).OutputState, + } +} + +type OrgIdpOauthOutput struct{ *pulumi.OutputState } + +func (OrgIdpOauthOutput) ElementType() reflect.Type { + return reflect.TypeOf((**OrgIdpOauth)(nil)).Elem() +} + +func (o OrgIdpOauthOutput) ToOrgIdpOauthOutput() OrgIdpOauthOutput { + return o +} + +func (o OrgIdpOauthOutput) ToOrgIdpOauthOutputWithContext(ctx context.Context) OrgIdpOauthOutput { + return o +} + +func (o OrgIdpOauthOutput) ToOutput(ctx context.Context) pulumix.Output[*OrgIdpOauth] { + return pulumix.Output[*OrgIdpOauth]{ + OutputState: o.OutputState, + } +} + +// The authorization endpoint +func (o OrgIdpOauthOutput) AuthorizationEndpoint() pulumi.StringOutput { + return o.ApplyT(func(v *OrgIdpOauth) pulumi.StringOutput { return v.AuthorizationEndpoint }).(pulumi.StringOutput) +} + +// client id generated by the identity provider +func (o OrgIdpOauthOutput) ClientId() pulumi.StringOutput { + return o.ApplyT(func(v *OrgIdpOauth) pulumi.StringOutput { return v.ClientId }).(pulumi.StringOutput) +} + +// client secret generated by the identity provider +func (o OrgIdpOauthOutput) ClientSecret() pulumi.StringOutput { + return o.ApplyT(func(v *OrgIdpOauth) pulumi.StringOutput { return v.ClientSecret }).(pulumi.StringOutput) +} + +// The id attribute +func (o OrgIdpOauthOutput) IdAttribute() pulumi.StringOutput { + return o.ApplyT(func(v *OrgIdpOauth) pulumi.StringOutput { return v.IdAttribute }).(pulumi.StringOutput) +} + +// enable if a new account in ZITADEL should be created automatically on login with an external account +func (o OrgIdpOauthOutput) IsAutoCreation() pulumi.BoolOutput { + return o.ApplyT(func(v *OrgIdpOauth) pulumi.BoolOutput { return v.IsAutoCreation }).(pulumi.BoolOutput) +} + +// enable if a the ZITADEL account fields should be updated automatically on each login +func (o OrgIdpOauthOutput) IsAutoUpdate() pulumi.BoolOutput { + return o.ApplyT(func(v *OrgIdpOauth) pulumi.BoolOutput { return v.IsAutoUpdate }).(pulumi.BoolOutput) +} + +// enable if users should be able to create a new account in ZITADEL when using an external account +func (o OrgIdpOauthOutput) IsCreationAllowed() pulumi.BoolOutput { + return o.ApplyT(func(v *OrgIdpOauth) pulumi.BoolOutput { return v.IsCreationAllowed }).(pulumi.BoolOutput) +} + +// enable if users should be able to link an existing ZITADEL user with an external account +func (o OrgIdpOauthOutput) IsLinkingAllowed() pulumi.BoolOutput { + return o.ApplyT(func(v *OrgIdpOauth) pulumi.BoolOutput { return v.IsLinkingAllowed }).(pulumi.BoolOutput) +} + +// Name of the IDP +func (o OrgIdpOauthOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *OrgIdpOauth) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// ID of the organization +func (o OrgIdpOauthOutput) OrgId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *OrgIdpOauth) pulumi.StringPtrOutput { return v.OrgId }).(pulumi.StringPtrOutput) +} + +// the scopes requested by ZITADEL during the request on the identity provider +func (o OrgIdpOauthOutput) Scopes() pulumi.StringArrayOutput { + return o.ApplyT(func(v *OrgIdpOauth) pulumi.StringArrayOutput { return v.Scopes }).(pulumi.StringArrayOutput) +} + +// The token endpoint +func (o OrgIdpOauthOutput) TokenEndpoint() pulumi.StringOutput { + return o.ApplyT(func(v *OrgIdpOauth) pulumi.StringOutput { return v.TokenEndpoint }).(pulumi.StringOutput) +} + +// The user endpoint +func (o OrgIdpOauthOutput) UserEndpoint() pulumi.StringOutput { + return o.ApplyT(func(v *OrgIdpOauth) pulumi.StringOutput { return v.UserEndpoint }).(pulumi.StringOutput) +} + +type OrgIdpOauthArrayOutput struct{ *pulumi.OutputState } + +func (OrgIdpOauthArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*OrgIdpOauth)(nil)).Elem() +} + +func (o OrgIdpOauthArrayOutput) ToOrgIdpOauthArrayOutput() OrgIdpOauthArrayOutput { + return o +} + +func (o OrgIdpOauthArrayOutput) ToOrgIdpOauthArrayOutputWithContext(ctx context.Context) OrgIdpOauthArrayOutput { + return o +} + +func (o OrgIdpOauthArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]*OrgIdpOauth] { + return pulumix.Output[[]*OrgIdpOauth]{ + OutputState: o.OutputState, + } +} + +func (o OrgIdpOauthArrayOutput) Index(i pulumi.IntInput) OrgIdpOauthOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *OrgIdpOauth { + return vs[0].([]*OrgIdpOauth)[vs[1].(int)] + }).(OrgIdpOauthOutput) +} + +type OrgIdpOauthMapOutput struct{ *pulumi.OutputState } + +func (OrgIdpOauthMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*OrgIdpOauth)(nil)).Elem() +} + +func (o OrgIdpOauthMapOutput) ToOrgIdpOauthMapOutput() OrgIdpOauthMapOutput { + return o +} + +func (o OrgIdpOauthMapOutput) ToOrgIdpOauthMapOutputWithContext(ctx context.Context) OrgIdpOauthMapOutput { + return o +} + +func (o OrgIdpOauthMapOutput) ToOutput(ctx context.Context) pulumix.Output[map[string]*OrgIdpOauth] { + return pulumix.Output[map[string]*OrgIdpOauth]{ + OutputState: o.OutputState, + } +} + +func (o OrgIdpOauthMapOutput) MapIndex(k pulumi.StringInput) OrgIdpOauthOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *OrgIdpOauth { + return vs[0].(map[string]*OrgIdpOauth)[vs[1].(string)] + }).(OrgIdpOauthOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*OrgIdpOauthInput)(nil)).Elem(), &OrgIdpOauth{}) + pulumi.RegisterInputType(reflect.TypeOf((*OrgIdpOauthArrayInput)(nil)).Elem(), OrgIdpOauthArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*OrgIdpOauthMapInput)(nil)).Elem(), OrgIdpOauthMap{}) + pulumi.RegisterOutputType(OrgIdpOauthOutput{}) + pulumi.RegisterOutputType(OrgIdpOauthArrayOutput{}) + pulumi.RegisterOutputType(OrgIdpOauthMapOutput{}) +} diff --git a/sdk/go/zitadel/orgIdpOidc.go b/sdk/go/zitadel/orgIdpOidc.go index b7479c7..8a1a5e8 100644 --- a/sdk/go/zitadel/orgIdpOidc.go +++ b/sdk/go/zitadel/orgIdpOidc.go @@ -56,7 +56,7 @@ import ( // // ## Import // -// terraform The resource can be imported using the ID format ``, e.g. +// bash The resource can be imported using the ID format ``, e.g. // // ```sh // diff --git a/sdk/go/zitadel/orgIdpSaml.go b/sdk/go/zitadel/orgIdpSaml.go new file mode 100644 index 0000000..78516a6 --- /dev/null +++ b/sdk/go/zitadel/orgIdpSaml.go @@ -0,0 +1,474 @@ +// 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 zitadel + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumi/pulumi/sdk/v3/go/pulumix" + "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" +) + +// Resource representing a SAML IdP on the organization. +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := zitadel.NewOrgIdpSaml(ctx, "default", &zitadel.OrgIdpSamlArgs{ +// OrgId: pulumi.Any(data.Zitadel_org.Default.Id), +// Binding: pulumi.String("SAML_BINDING_POST"), +// WithSignedRequest: pulumi.Bool(true), +// IsLinkingAllowed: pulumi.Bool(false), +// IsCreationAllowed: pulumi.Bool(true), +// IsAutoCreation: pulumi.Bool(false), +// IsAutoUpdate: pulumi.Bool(true), +// MetadataXml: pulumi.String(` +// +// +// +// +// +// +// +// MIIC4jCCAcoCCQC33wnybT5QZDANBgkqhkiG9w0BAQsFADAyMQswCQYDVQQGEwJV +// +// SzEPMA0GA1UECgwGQm94eUhRMRIwEAYDVQQDDAlNb2NrIFNBTUwwIBcNMjIwMjI4 +// MjE0NjM4WhgPMzAyMTA3MDEyMTQ2MzhaMDIxCzAJBgNVBAYTAlVLMQ8wDQYDVQQK +// DAZCb3h5SFExEjAQBgNVBAMMCU1vY2sgU0FNTDCCASIwDQYJKoZIhvcNAQEBBQAD +// ggEPADCCAQoCggEBALGfYettMsct1T6tVUwTudNJH5Pnb9GGnkXi9Zw/e6x45DD0 +// RuRONbFlJ2T4RjAE/uG+AjXxXQ8o2SZfb9+GgmCHuTJFNgHoZ1nFVXCmb/Hg8Hpd +// 4vOAGXndixaReOiq3EH5XvpMjMkJ3+8+9VYMzMZOjkgQtAqO36eAFFfNKX7dTj3V +// pwLkvz6/KFCq8OAwY+AUi4eZm5J57D31GzjHwfjH9WTeX0MyndmnNB1qV75qQR3b +// 2/W5sGHRv+9AarggJkF+ptUkXoLtVA51wcfYm6hILptpde5FQC8RWY1YrswBWAEZ +// NfyrR4JeSweElNHg4NVOs4TwGjOPwWGqzTfgTlECAwEAATANBgkqhkiG9w0BAQsF +// AAOCAQEAAYRlYflSXAWoZpFfwNiCQVE5d9zZ0DPzNdWhAybXcTyMf0z5mDf6FWBW +// 5Gyoi9u3EMEDnzLcJNkwJAAc39Apa4I2/tml+Jy29dk8bTyX6m93ngmCgdLh5Za4 +// khuU3AM3L63g7VexCuO7kwkjh/+LqdcIXsVGO6XDfu2QOs1Xpe9zIzLpwm/RNYeX +// UjbSj5ce/jekpAw7qyVVL4xOyh8AtUW1ek3wIw1MJvEgEPt0d16oshWJpoS1OT8L +// r/22SvYEo3EmSGdTVGgk3x3s+A0qWAqTcyjr7Q4s/GKYRFfomGwz0TZ4Iw1ZN99M +// m0eo2USlSRTVl7QHRTuiuSThHpLKQQ== +// +// +// +// +// urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress +// +// +// +// +// +// `), +// +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// ## Loading the XML Metadata +// +// If you don't want to pass the XML metadata inline, you have plenty of options. For example: +// - localFile Data Source +// - http Data Source +// - terracurlRequest Data Source +// - ... +// +// ## Import +// +// bash The resource can be imported using the ID format ``, e.g. +// +// ```sh +// +// $ pulumi import zitadel:index/orgIdpSaml:OrgIdpSaml imported '123456789012345678:123456789012345678' +// +// ``` +type OrgIdpSaml struct { + pulumi.CustomResourceState + + // The binding, supported values: SAML*BINDING*UNSPECIFIED, SAML*BINDING*POST, SAML*BINDING*REDIRECT, SAML*BINDING*ARTIFACT + Binding pulumi.StringPtrOutput `pulumi:"binding"` + // enable if a new account in ZITADEL should be created automatically on login with an external account + IsAutoCreation pulumi.BoolOutput `pulumi:"isAutoCreation"` + // enable if a the ZITADEL account fields should be updated automatically on each login + IsAutoUpdate pulumi.BoolOutput `pulumi:"isAutoUpdate"` + // enable if users should be able to create a new account in ZITADEL when using an external account + IsCreationAllowed pulumi.BoolOutput `pulumi:"isCreationAllowed"` + // enable if users should be able to link an existing ZITADEL user with an external account + IsLinkingAllowed pulumi.BoolOutput `pulumi:"isLinkingAllowed"` + // The metadata XML as plain string + MetadataXml pulumi.StringOutput `pulumi:"metadataXml"` + // Name of the IDP + Name pulumi.StringOutput `pulumi:"name"` + // ID of the organization + OrgId pulumi.StringPtrOutput `pulumi:"orgId"` + // Whether the SAML IDP requires signed requests + WithSignedRequest pulumi.BoolPtrOutput `pulumi:"withSignedRequest"` +} + +// NewOrgIdpSaml registers a new resource with the given unique name, arguments, and options. +func NewOrgIdpSaml(ctx *pulumi.Context, + name string, args *OrgIdpSamlArgs, opts ...pulumi.ResourceOption) (*OrgIdpSaml, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.IsAutoCreation == nil { + return nil, errors.New("invalid value for required argument 'IsAutoCreation'") + } + if args.IsAutoUpdate == nil { + return nil, errors.New("invalid value for required argument 'IsAutoUpdate'") + } + if args.IsCreationAllowed == nil { + return nil, errors.New("invalid value for required argument 'IsCreationAllowed'") + } + if args.IsLinkingAllowed == nil { + return nil, errors.New("invalid value for required argument 'IsLinkingAllowed'") + } + if args.MetadataXml == nil { + return nil, errors.New("invalid value for required argument 'MetadataXml'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource OrgIdpSaml + err := ctx.RegisterResource("zitadel:index/orgIdpSaml:OrgIdpSaml", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetOrgIdpSaml gets an existing OrgIdpSaml 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 GetOrgIdpSaml(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *OrgIdpSamlState, opts ...pulumi.ResourceOption) (*OrgIdpSaml, error) { + var resource OrgIdpSaml + err := ctx.ReadResource("zitadel:index/orgIdpSaml:OrgIdpSaml", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering OrgIdpSaml resources. +type orgIdpSamlState struct { + // The binding, supported values: SAML*BINDING*UNSPECIFIED, SAML*BINDING*POST, SAML*BINDING*REDIRECT, SAML*BINDING*ARTIFACT + Binding *string `pulumi:"binding"` + // enable if a new account in ZITADEL should be created automatically on login with an external account + IsAutoCreation *bool `pulumi:"isAutoCreation"` + // enable if a the ZITADEL account fields should be updated automatically on each login + IsAutoUpdate *bool `pulumi:"isAutoUpdate"` + // enable if users should be able to create a new account in ZITADEL when using an external account + IsCreationAllowed *bool `pulumi:"isCreationAllowed"` + // enable if users should be able to link an existing ZITADEL user with an external account + IsLinkingAllowed *bool `pulumi:"isLinkingAllowed"` + // The metadata XML as plain string + MetadataXml *string `pulumi:"metadataXml"` + // Name of the IDP + Name *string `pulumi:"name"` + // ID of the organization + OrgId *string `pulumi:"orgId"` + // Whether the SAML IDP requires signed requests + WithSignedRequest *bool `pulumi:"withSignedRequest"` +} + +type OrgIdpSamlState struct { + // The binding, supported values: SAML*BINDING*UNSPECIFIED, SAML*BINDING*POST, SAML*BINDING*REDIRECT, SAML*BINDING*ARTIFACT + Binding pulumi.StringPtrInput + // enable if a new account in ZITADEL should be created automatically on login with an external account + IsAutoCreation pulumi.BoolPtrInput + // enable if a the ZITADEL account fields should be updated automatically on each login + IsAutoUpdate pulumi.BoolPtrInput + // enable if users should be able to create a new account in ZITADEL when using an external account + IsCreationAllowed pulumi.BoolPtrInput + // enable if users should be able to link an existing ZITADEL user with an external account + IsLinkingAllowed pulumi.BoolPtrInput + // The metadata XML as plain string + MetadataXml pulumi.StringPtrInput + // Name of the IDP + Name pulumi.StringPtrInput + // ID of the organization + OrgId pulumi.StringPtrInput + // Whether the SAML IDP requires signed requests + WithSignedRequest pulumi.BoolPtrInput +} + +func (OrgIdpSamlState) ElementType() reflect.Type { + return reflect.TypeOf((*orgIdpSamlState)(nil)).Elem() +} + +type orgIdpSamlArgs struct { + // The binding, supported values: SAML*BINDING*UNSPECIFIED, SAML*BINDING*POST, SAML*BINDING*REDIRECT, SAML*BINDING*ARTIFACT + Binding *string `pulumi:"binding"` + // enable if a new account in ZITADEL should be created automatically on login with an external account + IsAutoCreation bool `pulumi:"isAutoCreation"` + // enable if a the ZITADEL account fields should be updated automatically on each login + IsAutoUpdate bool `pulumi:"isAutoUpdate"` + // enable if users should be able to create a new account in ZITADEL when using an external account + IsCreationAllowed bool `pulumi:"isCreationAllowed"` + // enable if users should be able to link an existing ZITADEL user with an external account + IsLinkingAllowed bool `pulumi:"isLinkingAllowed"` + // The metadata XML as plain string + MetadataXml string `pulumi:"metadataXml"` + // Name of the IDP + Name *string `pulumi:"name"` + // ID of the organization + OrgId *string `pulumi:"orgId"` + // Whether the SAML IDP requires signed requests + WithSignedRequest *bool `pulumi:"withSignedRequest"` +} + +// The set of arguments for constructing a OrgIdpSaml resource. +type OrgIdpSamlArgs struct { + // The binding, supported values: SAML*BINDING*UNSPECIFIED, SAML*BINDING*POST, SAML*BINDING*REDIRECT, SAML*BINDING*ARTIFACT + Binding pulumi.StringPtrInput + // enable if a new account in ZITADEL should be created automatically on login with an external account + IsAutoCreation pulumi.BoolInput + // enable if a the ZITADEL account fields should be updated automatically on each login + IsAutoUpdate pulumi.BoolInput + // enable if users should be able to create a new account in ZITADEL when using an external account + IsCreationAllowed pulumi.BoolInput + // enable if users should be able to link an existing ZITADEL user with an external account + IsLinkingAllowed pulumi.BoolInput + // The metadata XML as plain string + MetadataXml pulumi.StringInput + // Name of the IDP + Name pulumi.StringPtrInput + // ID of the organization + OrgId pulumi.StringPtrInput + // Whether the SAML IDP requires signed requests + WithSignedRequest pulumi.BoolPtrInput +} + +func (OrgIdpSamlArgs) ElementType() reflect.Type { + return reflect.TypeOf((*orgIdpSamlArgs)(nil)).Elem() +} + +type OrgIdpSamlInput interface { + pulumi.Input + + ToOrgIdpSamlOutput() OrgIdpSamlOutput + ToOrgIdpSamlOutputWithContext(ctx context.Context) OrgIdpSamlOutput +} + +func (*OrgIdpSaml) ElementType() reflect.Type { + return reflect.TypeOf((**OrgIdpSaml)(nil)).Elem() +} + +func (i *OrgIdpSaml) ToOrgIdpSamlOutput() OrgIdpSamlOutput { + return i.ToOrgIdpSamlOutputWithContext(context.Background()) +} + +func (i *OrgIdpSaml) ToOrgIdpSamlOutputWithContext(ctx context.Context) OrgIdpSamlOutput { + return pulumi.ToOutputWithContext(ctx, i).(OrgIdpSamlOutput) +} + +func (i *OrgIdpSaml) ToOutput(ctx context.Context) pulumix.Output[*OrgIdpSaml] { + return pulumix.Output[*OrgIdpSaml]{ + OutputState: i.ToOrgIdpSamlOutputWithContext(ctx).OutputState, + } +} + +// OrgIdpSamlArrayInput is an input type that accepts OrgIdpSamlArray and OrgIdpSamlArrayOutput values. +// You can construct a concrete instance of `OrgIdpSamlArrayInput` via: +// +// OrgIdpSamlArray{ OrgIdpSamlArgs{...} } +type OrgIdpSamlArrayInput interface { + pulumi.Input + + ToOrgIdpSamlArrayOutput() OrgIdpSamlArrayOutput + ToOrgIdpSamlArrayOutputWithContext(context.Context) OrgIdpSamlArrayOutput +} + +type OrgIdpSamlArray []OrgIdpSamlInput + +func (OrgIdpSamlArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*OrgIdpSaml)(nil)).Elem() +} + +func (i OrgIdpSamlArray) ToOrgIdpSamlArrayOutput() OrgIdpSamlArrayOutput { + return i.ToOrgIdpSamlArrayOutputWithContext(context.Background()) +} + +func (i OrgIdpSamlArray) ToOrgIdpSamlArrayOutputWithContext(ctx context.Context) OrgIdpSamlArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(OrgIdpSamlArrayOutput) +} + +func (i OrgIdpSamlArray) ToOutput(ctx context.Context) pulumix.Output[[]*OrgIdpSaml] { + return pulumix.Output[[]*OrgIdpSaml]{ + OutputState: i.ToOrgIdpSamlArrayOutputWithContext(ctx).OutputState, + } +} + +// OrgIdpSamlMapInput is an input type that accepts OrgIdpSamlMap and OrgIdpSamlMapOutput values. +// You can construct a concrete instance of `OrgIdpSamlMapInput` via: +// +// OrgIdpSamlMap{ "key": OrgIdpSamlArgs{...} } +type OrgIdpSamlMapInput interface { + pulumi.Input + + ToOrgIdpSamlMapOutput() OrgIdpSamlMapOutput + ToOrgIdpSamlMapOutputWithContext(context.Context) OrgIdpSamlMapOutput +} + +type OrgIdpSamlMap map[string]OrgIdpSamlInput + +func (OrgIdpSamlMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*OrgIdpSaml)(nil)).Elem() +} + +func (i OrgIdpSamlMap) ToOrgIdpSamlMapOutput() OrgIdpSamlMapOutput { + return i.ToOrgIdpSamlMapOutputWithContext(context.Background()) +} + +func (i OrgIdpSamlMap) ToOrgIdpSamlMapOutputWithContext(ctx context.Context) OrgIdpSamlMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(OrgIdpSamlMapOutput) +} + +func (i OrgIdpSamlMap) ToOutput(ctx context.Context) pulumix.Output[map[string]*OrgIdpSaml] { + return pulumix.Output[map[string]*OrgIdpSaml]{ + OutputState: i.ToOrgIdpSamlMapOutputWithContext(ctx).OutputState, + } +} + +type OrgIdpSamlOutput struct{ *pulumi.OutputState } + +func (OrgIdpSamlOutput) ElementType() reflect.Type { + return reflect.TypeOf((**OrgIdpSaml)(nil)).Elem() +} + +func (o OrgIdpSamlOutput) ToOrgIdpSamlOutput() OrgIdpSamlOutput { + return o +} + +func (o OrgIdpSamlOutput) ToOrgIdpSamlOutputWithContext(ctx context.Context) OrgIdpSamlOutput { + return o +} + +func (o OrgIdpSamlOutput) ToOutput(ctx context.Context) pulumix.Output[*OrgIdpSaml] { + return pulumix.Output[*OrgIdpSaml]{ + OutputState: o.OutputState, + } +} + +// The binding, supported values: SAML*BINDING*UNSPECIFIED, SAML*BINDING*POST, SAML*BINDING*REDIRECT, SAML*BINDING*ARTIFACT +func (o OrgIdpSamlOutput) Binding() pulumi.StringPtrOutput { + return o.ApplyT(func(v *OrgIdpSaml) pulumi.StringPtrOutput { return v.Binding }).(pulumi.StringPtrOutput) +} + +// enable if a new account in ZITADEL should be created automatically on login with an external account +func (o OrgIdpSamlOutput) IsAutoCreation() pulumi.BoolOutput { + return o.ApplyT(func(v *OrgIdpSaml) pulumi.BoolOutput { return v.IsAutoCreation }).(pulumi.BoolOutput) +} + +// enable if a the ZITADEL account fields should be updated automatically on each login +func (o OrgIdpSamlOutput) IsAutoUpdate() pulumi.BoolOutput { + return o.ApplyT(func(v *OrgIdpSaml) pulumi.BoolOutput { return v.IsAutoUpdate }).(pulumi.BoolOutput) +} + +// enable if users should be able to create a new account in ZITADEL when using an external account +func (o OrgIdpSamlOutput) IsCreationAllowed() pulumi.BoolOutput { + return o.ApplyT(func(v *OrgIdpSaml) pulumi.BoolOutput { return v.IsCreationAllowed }).(pulumi.BoolOutput) +} + +// enable if users should be able to link an existing ZITADEL user with an external account +func (o OrgIdpSamlOutput) IsLinkingAllowed() pulumi.BoolOutput { + return o.ApplyT(func(v *OrgIdpSaml) pulumi.BoolOutput { return v.IsLinkingAllowed }).(pulumi.BoolOutput) +} + +// The metadata XML as plain string +func (o OrgIdpSamlOutput) MetadataXml() pulumi.StringOutput { + return o.ApplyT(func(v *OrgIdpSaml) pulumi.StringOutput { return v.MetadataXml }).(pulumi.StringOutput) +} + +// Name of the IDP +func (o OrgIdpSamlOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *OrgIdpSaml) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// ID of the organization +func (o OrgIdpSamlOutput) OrgId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *OrgIdpSaml) pulumi.StringPtrOutput { return v.OrgId }).(pulumi.StringPtrOutput) +} + +// Whether the SAML IDP requires signed requests +func (o OrgIdpSamlOutput) WithSignedRequest() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *OrgIdpSaml) pulumi.BoolPtrOutput { return v.WithSignedRequest }).(pulumi.BoolPtrOutput) +} + +type OrgIdpSamlArrayOutput struct{ *pulumi.OutputState } + +func (OrgIdpSamlArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*OrgIdpSaml)(nil)).Elem() +} + +func (o OrgIdpSamlArrayOutput) ToOrgIdpSamlArrayOutput() OrgIdpSamlArrayOutput { + return o +} + +func (o OrgIdpSamlArrayOutput) ToOrgIdpSamlArrayOutputWithContext(ctx context.Context) OrgIdpSamlArrayOutput { + return o +} + +func (o OrgIdpSamlArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]*OrgIdpSaml] { + return pulumix.Output[[]*OrgIdpSaml]{ + OutputState: o.OutputState, + } +} + +func (o OrgIdpSamlArrayOutput) Index(i pulumi.IntInput) OrgIdpSamlOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *OrgIdpSaml { + return vs[0].([]*OrgIdpSaml)[vs[1].(int)] + }).(OrgIdpSamlOutput) +} + +type OrgIdpSamlMapOutput struct{ *pulumi.OutputState } + +func (OrgIdpSamlMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*OrgIdpSaml)(nil)).Elem() +} + +func (o OrgIdpSamlMapOutput) ToOrgIdpSamlMapOutput() OrgIdpSamlMapOutput { + return o +} + +func (o OrgIdpSamlMapOutput) ToOrgIdpSamlMapOutputWithContext(ctx context.Context) OrgIdpSamlMapOutput { + return o +} + +func (o OrgIdpSamlMapOutput) ToOutput(ctx context.Context) pulumix.Output[map[string]*OrgIdpSaml] { + return pulumix.Output[map[string]*OrgIdpSaml]{ + OutputState: o.OutputState, + } +} + +func (o OrgIdpSamlMapOutput) MapIndex(k pulumi.StringInput) OrgIdpSamlOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *OrgIdpSaml { + return vs[0].(map[string]*OrgIdpSaml)[vs[1].(string)] + }).(OrgIdpSamlOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*OrgIdpSamlInput)(nil)).Elem(), &OrgIdpSaml{}) + pulumi.RegisterInputType(reflect.TypeOf((*OrgIdpSamlArrayInput)(nil)).Elem(), OrgIdpSamlArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*OrgIdpSamlMapInput)(nil)).Elem(), OrgIdpSamlMap{}) + pulumi.RegisterOutputType(OrgIdpSamlOutput{}) + pulumi.RegisterOutputType(OrgIdpSamlArrayOutput{}) + pulumi.RegisterOutputType(OrgIdpSamlMapOutput{}) +} diff --git a/sdk/go/zitadel/orgMember.go b/sdk/go/zitadel/orgMember.go index 53b44da..9b853fc 100644 --- a/sdk/go/zitadel/orgMember.go +++ b/sdk/go/zitadel/orgMember.go @@ -47,7 +47,7 @@ import ( // // ## Import // -// terraform The resource can be imported using the ID format ``, e.g. +// bash The resource can be imported using the ID format ``, e.g. // // ```sh // diff --git a/sdk/go/zitadel/orgMetadata.go b/sdk/go/zitadel/orgMetadata.go new file mode 100644 index 0000000..d1e2695 --- /dev/null +++ b/sdk/go/zitadel/orgMetadata.go @@ -0,0 +1,325 @@ +// 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 zitadel + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumi/pulumi/sdk/v3/go/pulumix" + "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" +) + +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := zitadel.NewOrgMetadata(ctx, "default", &zitadel.OrgMetadataArgs{ +// OrgId: pulumi.Any(data.Zitadel_org.Default.Id), +// Key: pulumi.String("a_key"), +// Value: pulumi.String("a_value"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// bash The resource can be imported using the ID format ``, e.g. +// +// ```sh +// +// $ pulumi import zitadel:index/orgMetadata:OrgMetadata imported 'a_key:123456789012345678' +// +// ``` +type OrgMetadata struct { + pulumi.CustomResourceState + + // The key of a metadata entry + Key pulumi.StringOutput `pulumi:"key"` + // ID of the organization + OrgId pulumi.StringPtrOutput `pulumi:"orgId"` + // The string representation of a metadata entry value. For binary data, use the base64encode function. + Value pulumi.StringOutput `pulumi:"value"` +} + +// NewOrgMetadata registers a new resource with the given unique name, arguments, and options. +func NewOrgMetadata(ctx *pulumi.Context, + name string, args *OrgMetadataArgs, opts ...pulumi.ResourceOption) (*OrgMetadata, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Key == nil { + return nil, errors.New("invalid value for required argument 'Key'") + } + if args.Value == nil { + return nil, errors.New("invalid value for required argument 'Value'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource OrgMetadata + err := ctx.RegisterResource("zitadel:index/orgMetadata:OrgMetadata", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetOrgMetadata gets an existing OrgMetadata 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 GetOrgMetadata(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *OrgMetadataState, opts ...pulumi.ResourceOption) (*OrgMetadata, error) { + var resource OrgMetadata + err := ctx.ReadResource("zitadel:index/orgMetadata:OrgMetadata", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering OrgMetadata resources. +type orgMetadataState struct { + // The key of a metadata entry + Key *string `pulumi:"key"` + // ID of the organization + OrgId *string `pulumi:"orgId"` + // The string representation of a metadata entry value. For binary data, use the base64encode function. + Value *string `pulumi:"value"` +} + +type OrgMetadataState struct { + // The key of a metadata entry + Key pulumi.StringPtrInput + // ID of the organization + OrgId pulumi.StringPtrInput + // The string representation of a metadata entry value. For binary data, use the base64encode function. + Value pulumi.StringPtrInput +} + +func (OrgMetadataState) ElementType() reflect.Type { + return reflect.TypeOf((*orgMetadataState)(nil)).Elem() +} + +type orgMetadataArgs struct { + // The key of a metadata entry + Key string `pulumi:"key"` + // ID of the organization + OrgId *string `pulumi:"orgId"` + // The string representation of a metadata entry value. For binary data, use the base64encode function. + Value string `pulumi:"value"` +} + +// The set of arguments for constructing a OrgMetadata resource. +type OrgMetadataArgs struct { + // The key of a metadata entry + Key pulumi.StringInput + // ID of the organization + OrgId pulumi.StringPtrInput + // The string representation of a metadata entry value. For binary data, use the base64encode function. + Value pulumi.StringInput +} + +func (OrgMetadataArgs) ElementType() reflect.Type { + return reflect.TypeOf((*orgMetadataArgs)(nil)).Elem() +} + +type OrgMetadataInput interface { + pulumi.Input + + ToOrgMetadataOutput() OrgMetadataOutput + ToOrgMetadataOutputWithContext(ctx context.Context) OrgMetadataOutput +} + +func (*OrgMetadata) ElementType() reflect.Type { + return reflect.TypeOf((**OrgMetadata)(nil)).Elem() +} + +func (i *OrgMetadata) ToOrgMetadataOutput() OrgMetadataOutput { + return i.ToOrgMetadataOutputWithContext(context.Background()) +} + +func (i *OrgMetadata) ToOrgMetadataOutputWithContext(ctx context.Context) OrgMetadataOutput { + return pulumi.ToOutputWithContext(ctx, i).(OrgMetadataOutput) +} + +func (i *OrgMetadata) ToOutput(ctx context.Context) pulumix.Output[*OrgMetadata] { + return pulumix.Output[*OrgMetadata]{ + OutputState: i.ToOrgMetadataOutputWithContext(ctx).OutputState, + } +} + +// OrgMetadataArrayInput is an input type that accepts OrgMetadataArray and OrgMetadataArrayOutput values. +// You can construct a concrete instance of `OrgMetadataArrayInput` via: +// +// OrgMetadataArray{ OrgMetadataArgs{...} } +type OrgMetadataArrayInput interface { + pulumi.Input + + ToOrgMetadataArrayOutput() OrgMetadataArrayOutput + ToOrgMetadataArrayOutputWithContext(context.Context) OrgMetadataArrayOutput +} + +type OrgMetadataArray []OrgMetadataInput + +func (OrgMetadataArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*OrgMetadata)(nil)).Elem() +} + +func (i OrgMetadataArray) ToOrgMetadataArrayOutput() OrgMetadataArrayOutput { + return i.ToOrgMetadataArrayOutputWithContext(context.Background()) +} + +func (i OrgMetadataArray) ToOrgMetadataArrayOutputWithContext(ctx context.Context) OrgMetadataArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(OrgMetadataArrayOutput) +} + +func (i OrgMetadataArray) ToOutput(ctx context.Context) pulumix.Output[[]*OrgMetadata] { + return pulumix.Output[[]*OrgMetadata]{ + OutputState: i.ToOrgMetadataArrayOutputWithContext(ctx).OutputState, + } +} + +// OrgMetadataMapInput is an input type that accepts OrgMetadataMap and OrgMetadataMapOutput values. +// You can construct a concrete instance of `OrgMetadataMapInput` via: +// +// OrgMetadataMap{ "key": OrgMetadataArgs{...} } +type OrgMetadataMapInput interface { + pulumi.Input + + ToOrgMetadataMapOutput() OrgMetadataMapOutput + ToOrgMetadataMapOutputWithContext(context.Context) OrgMetadataMapOutput +} + +type OrgMetadataMap map[string]OrgMetadataInput + +func (OrgMetadataMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*OrgMetadata)(nil)).Elem() +} + +func (i OrgMetadataMap) ToOrgMetadataMapOutput() OrgMetadataMapOutput { + return i.ToOrgMetadataMapOutputWithContext(context.Background()) +} + +func (i OrgMetadataMap) ToOrgMetadataMapOutputWithContext(ctx context.Context) OrgMetadataMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(OrgMetadataMapOutput) +} + +func (i OrgMetadataMap) ToOutput(ctx context.Context) pulumix.Output[map[string]*OrgMetadata] { + return pulumix.Output[map[string]*OrgMetadata]{ + OutputState: i.ToOrgMetadataMapOutputWithContext(ctx).OutputState, + } +} + +type OrgMetadataOutput struct{ *pulumi.OutputState } + +func (OrgMetadataOutput) ElementType() reflect.Type { + return reflect.TypeOf((**OrgMetadata)(nil)).Elem() +} + +func (o OrgMetadataOutput) ToOrgMetadataOutput() OrgMetadataOutput { + return o +} + +func (o OrgMetadataOutput) ToOrgMetadataOutputWithContext(ctx context.Context) OrgMetadataOutput { + return o +} + +func (o OrgMetadataOutput) ToOutput(ctx context.Context) pulumix.Output[*OrgMetadata] { + return pulumix.Output[*OrgMetadata]{ + OutputState: o.OutputState, + } +} + +// The key of a metadata entry +func (o OrgMetadataOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v *OrgMetadata) pulumi.StringOutput { return v.Key }).(pulumi.StringOutput) +} + +// ID of the organization +func (o OrgMetadataOutput) OrgId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *OrgMetadata) pulumi.StringPtrOutput { return v.OrgId }).(pulumi.StringPtrOutput) +} + +// The string representation of a metadata entry value. For binary data, use the base64encode function. +func (o OrgMetadataOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v *OrgMetadata) pulumi.StringOutput { return v.Value }).(pulumi.StringOutput) +} + +type OrgMetadataArrayOutput struct{ *pulumi.OutputState } + +func (OrgMetadataArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*OrgMetadata)(nil)).Elem() +} + +func (o OrgMetadataArrayOutput) ToOrgMetadataArrayOutput() OrgMetadataArrayOutput { + return o +} + +func (o OrgMetadataArrayOutput) ToOrgMetadataArrayOutputWithContext(ctx context.Context) OrgMetadataArrayOutput { + return o +} + +func (o OrgMetadataArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]*OrgMetadata] { + return pulumix.Output[[]*OrgMetadata]{ + OutputState: o.OutputState, + } +} + +func (o OrgMetadataArrayOutput) Index(i pulumi.IntInput) OrgMetadataOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *OrgMetadata { + return vs[0].([]*OrgMetadata)[vs[1].(int)] + }).(OrgMetadataOutput) +} + +type OrgMetadataMapOutput struct{ *pulumi.OutputState } + +func (OrgMetadataMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*OrgMetadata)(nil)).Elem() +} + +func (o OrgMetadataMapOutput) ToOrgMetadataMapOutput() OrgMetadataMapOutput { + return o +} + +func (o OrgMetadataMapOutput) ToOrgMetadataMapOutputWithContext(ctx context.Context) OrgMetadataMapOutput { + return o +} + +func (o OrgMetadataMapOutput) ToOutput(ctx context.Context) pulumix.Output[map[string]*OrgMetadata] { + return pulumix.Output[map[string]*OrgMetadata]{ + OutputState: o.OutputState, + } +} + +func (o OrgMetadataMapOutput) MapIndex(k pulumi.StringInput) OrgMetadataOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *OrgMetadata { + return vs[0].(map[string]*OrgMetadata)[vs[1].(string)] + }).(OrgMetadataOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*OrgMetadataInput)(nil)).Elem(), &OrgMetadata{}) + pulumi.RegisterInputType(reflect.TypeOf((*OrgMetadataArrayInput)(nil)).Elem(), OrgMetadataArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*OrgMetadataMapInput)(nil)).Elem(), OrgMetadataMap{}) + pulumi.RegisterOutputType(OrgMetadataOutput{}) + pulumi.RegisterOutputType(OrgMetadataArrayOutput{}) + pulumi.RegisterOutputType(OrgMetadataMapOutput{}) +} diff --git a/sdk/go/zitadel/personalAccessToken.go b/sdk/go/zitadel/personalAccessToken.go index eafde87..466a0ca 100644 --- a/sdk/go/zitadel/personalAccessToken.go +++ b/sdk/go/zitadel/personalAccessToken.go @@ -45,7 +45,7 @@ import ( // // ## Import // -// terraform The resource can be imported using the ID format ``, e.g. +// bash The resource can be imported using the ID format ``, e.g. // // ```sh // diff --git a/sdk/go/zitadel/privacyPolicy.go b/sdk/go/zitadel/privacyPolicy.go index 7a422e7..72327ff 100644 --- a/sdk/go/zitadel/privacyPolicy.go +++ b/sdk/go/zitadel/privacyPolicy.go @@ -46,7 +46,7 @@ import ( // // ## Import // -// terraform The resource can be imported using the ID format `<[org_id]>`, e.g. +// bash The resource can be imported using the ID format `<[org_id]>`, e.g. // // ```sh // diff --git a/sdk/go/zitadel/project.go b/sdk/go/zitadel/project.go index c92b1a0..2702cb7 100644 --- a/sdk/go/zitadel/project.go +++ b/sdk/go/zitadel/project.go @@ -46,7 +46,7 @@ import ( // // ## Import // -// terraform The resource can be imported using the ID format ``, e.g. +// bash The resource can be imported using the ID format ``, e.g. // // ```sh // diff --git a/sdk/go/zitadel/projectGrant.go b/sdk/go/zitadel/projectGrant.go index 5413d30..9e30462 100644 --- a/sdk/go/zitadel/projectGrant.go +++ b/sdk/go/zitadel/projectGrant.go @@ -48,7 +48,7 @@ import ( // // ## Import // -// terraform The resource can be imported using the ID format ``, e.g. +// bash The resource can be imported using the ID format ``, e.g. // // ```sh // diff --git a/sdk/go/zitadel/projectGrantMember.go b/sdk/go/zitadel/projectGrantMember.go index ce3ce22..dececd4 100644 --- a/sdk/go/zitadel/projectGrantMember.go +++ b/sdk/go/zitadel/projectGrantMember.go @@ -49,7 +49,7 @@ import ( // // ## Import // -// terraform The resource can be imported using the ID format ``, e.g. +// bash The resource can be imported using the ID format ``, e.g. // // ```sh // diff --git a/sdk/go/zitadel/projectMember.go b/sdk/go/zitadel/projectMember.go index aaf4eb9..892fa01 100644 --- a/sdk/go/zitadel/projectMember.go +++ b/sdk/go/zitadel/projectMember.go @@ -48,7 +48,7 @@ import ( // // ## Import // -// terraform The resource can be imported using the ID format ``, e.g. +// bash The resource can be imported using the ID format ``, e.g. // // ```sh // diff --git a/sdk/go/zitadel/projectRole.go b/sdk/go/zitadel/projectRole.go index c7ddf68..7159054 100644 --- a/sdk/go/zitadel/projectRole.go +++ b/sdk/go/zitadel/projectRole.go @@ -47,7 +47,7 @@ import ( // // ## Import // -// terraform The resource can be imported using the ID format ``, e.g. +// bash The resource can be imported using the ID format ``, e.g. // // ```sh // diff --git a/sdk/go/zitadel/smsProviderTwilio.go b/sdk/go/zitadel/smsProviderTwilio.go index 42bdcfd..85b1cce 100644 --- a/sdk/go/zitadel/smsProviderTwilio.go +++ b/sdk/go/zitadel/smsProviderTwilio.go @@ -45,7 +45,7 @@ import ( // // ## Import // -// terraform The resource can be imported using the ID format ``, e.g. +// bash The resource can be imported using the ID format ``, e.g. // // ```sh // diff --git a/sdk/go/zitadel/smtpConfig.go b/sdk/go/zitadel/smtpConfig.go index 0aa5600..5ccd138 100644 --- a/sdk/go/zitadel/smtpConfig.go +++ b/sdk/go/zitadel/smtpConfig.go @@ -49,7 +49,7 @@ import ( // // ## Import // -// terraform The resource can be imported using the ID format `<[password]>`, e.g. +// bash The resource can be imported using the ID format `<[password]>`, e.g. // // ```sh // diff --git a/sdk/go/zitadel/triggerActions.go b/sdk/go/zitadel/triggerActions.go index b12cd80..7e783f1 100644 --- a/sdk/go/zitadel/triggerActions.go +++ b/sdk/go/zitadel/triggerActions.go @@ -48,7 +48,7 @@ import ( // // ## Import // -// terraform The resource can be imported using the ID format ``, e.g. +// bash The resource can be imported using the ID format ``, e.g. // // ```sh // diff --git a/sdk/go/zitadel/userGrant.go b/sdk/go/zitadel/userGrant.go index a46cfdc..1d09dbe 100644 --- a/sdk/go/zitadel/userGrant.go +++ b/sdk/go/zitadel/userGrant.go @@ -48,7 +48,7 @@ import ( // // ## Import // -// terraform The resource can be imported using the ID format ``, e.g. +// bash The resource can be imported using the ID format ``, e.g. // // ```sh // diff --git a/sdk/go/zitadel/userMetadata.go b/sdk/go/zitadel/userMetadata.go new file mode 100644 index 0000000..9e727c0 --- /dev/null +++ b/sdk/go/zitadel/userMetadata.go @@ -0,0 +1,344 @@ +// 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 zitadel + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumi/pulumi/sdk/v3/go/pulumix" + "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" +) + +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := zitadel.NewUserMetadata(ctx, "default", &zitadel.UserMetadataArgs{ +// OrgId: pulumi.Any(data.Zitadel_org.Default.Id), +// UserId: pulumi.Any(data.Zitadel_human_user.Default.Id), +// Key: pulumi.String("a_key"), +// Value: pulumi.String("a_value"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// bash The resource can be imported using the ID format ``, e.g. +// +// ```sh +// +// $ pulumi import zitadel:index/userMetadata:UserMetadata imported '123456789012345678:a_key:123456789012345678' +// +// ``` +type UserMetadata struct { + pulumi.CustomResourceState + + // The key of a metadata entry + Key pulumi.StringOutput `pulumi:"key"` + // ID of the organization + OrgId pulumi.StringPtrOutput `pulumi:"orgId"` + // ID of the user + UserId pulumi.StringOutput `pulumi:"userId"` + // The string representation of a metadata entry value. For binary data, use the base64encode function. + Value pulumi.StringOutput `pulumi:"value"` +} + +// NewUserMetadata registers a new resource with the given unique name, arguments, and options. +func NewUserMetadata(ctx *pulumi.Context, + name string, args *UserMetadataArgs, opts ...pulumi.ResourceOption) (*UserMetadata, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Key == nil { + return nil, errors.New("invalid value for required argument 'Key'") + } + if args.UserId == nil { + return nil, errors.New("invalid value for required argument 'UserId'") + } + if args.Value == nil { + return nil, errors.New("invalid value for required argument 'Value'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource UserMetadata + err := ctx.RegisterResource("zitadel:index/userMetadata:UserMetadata", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetUserMetadata gets an existing UserMetadata 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 GetUserMetadata(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *UserMetadataState, opts ...pulumi.ResourceOption) (*UserMetadata, error) { + var resource UserMetadata + err := ctx.ReadResource("zitadel:index/userMetadata:UserMetadata", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering UserMetadata resources. +type userMetadataState struct { + // The key of a metadata entry + Key *string `pulumi:"key"` + // ID of the organization + OrgId *string `pulumi:"orgId"` + // ID of the user + UserId *string `pulumi:"userId"` + // The string representation of a metadata entry value. For binary data, use the base64encode function. + Value *string `pulumi:"value"` +} + +type UserMetadataState struct { + // The key of a metadata entry + Key pulumi.StringPtrInput + // ID of the organization + OrgId pulumi.StringPtrInput + // ID of the user + UserId pulumi.StringPtrInput + // The string representation of a metadata entry value. For binary data, use the base64encode function. + Value pulumi.StringPtrInput +} + +func (UserMetadataState) ElementType() reflect.Type { + return reflect.TypeOf((*userMetadataState)(nil)).Elem() +} + +type userMetadataArgs struct { + // The key of a metadata entry + Key string `pulumi:"key"` + // ID of the organization + OrgId *string `pulumi:"orgId"` + // ID of the user + UserId string `pulumi:"userId"` + // The string representation of a metadata entry value. For binary data, use the base64encode function. + Value string `pulumi:"value"` +} + +// The set of arguments for constructing a UserMetadata resource. +type UserMetadataArgs struct { + // The key of a metadata entry + Key pulumi.StringInput + // ID of the organization + OrgId pulumi.StringPtrInput + // ID of the user + UserId pulumi.StringInput + // The string representation of a metadata entry value. For binary data, use the base64encode function. + Value pulumi.StringInput +} + +func (UserMetadataArgs) ElementType() reflect.Type { + return reflect.TypeOf((*userMetadataArgs)(nil)).Elem() +} + +type UserMetadataInput interface { + pulumi.Input + + ToUserMetadataOutput() UserMetadataOutput + ToUserMetadataOutputWithContext(ctx context.Context) UserMetadataOutput +} + +func (*UserMetadata) ElementType() reflect.Type { + return reflect.TypeOf((**UserMetadata)(nil)).Elem() +} + +func (i *UserMetadata) ToUserMetadataOutput() UserMetadataOutput { + return i.ToUserMetadataOutputWithContext(context.Background()) +} + +func (i *UserMetadata) ToUserMetadataOutputWithContext(ctx context.Context) UserMetadataOutput { + return pulumi.ToOutputWithContext(ctx, i).(UserMetadataOutput) +} + +func (i *UserMetadata) ToOutput(ctx context.Context) pulumix.Output[*UserMetadata] { + return pulumix.Output[*UserMetadata]{ + OutputState: i.ToUserMetadataOutputWithContext(ctx).OutputState, + } +} + +// UserMetadataArrayInput is an input type that accepts UserMetadataArray and UserMetadataArrayOutput values. +// You can construct a concrete instance of `UserMetadataArrayInput` via: +// +// UserMetadataArray{ UserMetadataArgs{...} } +type UserMetadataArrayInput interface { + pulumi.Input + + ToUserMetadataArrayOutput() UserMetadataArrayOutput + ToUserMetadataArrayOutputWithContext(context.Context) UserMetadataArrayOutput +} + +type UserMetadataArray []UserMetadataInput + +func (UserMetadataArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*UserMetadata)(nil)).Elem() +} + +func (i UserMetadataArray) ToUserMetadataArrayOutput() UserMetadataArrayOutput { + return i.ToUserMetadataArrayOutputWithContext(context.Background()) +} + +func (i UserMetadataArray) ToUserMetadataArrayOutputWithContext(ctx context.Context) UserMetadataArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(UserMetadataArrayOutput) +} + +func (i UserMetadataArray) ToOutput(ctx context.Context) pulumix.Output[[]*UserMetadata] { + return pulumix.Output[[]*UserMetadata]{ + OutputState: i.ToUserMetadataArrayOutputWithContext(ctx).OutputState, + } +} + +// UserMetadataMapInput is an input type that accepts UserMetadataMap and UserMetadataMapOutput values. +// You can construct a concrete instance of `UserMetadataMapInput` via: +// +// UserMetadataMap{ "key": UserMetadataArgs{...} } +type UserMetadataMapInput interface { + pulumi.Input + + ToUserMetadataMapOutput() UserMetadataMapOutput + ToUserMetadataMapOutputWithContext(context.Context) UserMetadataMapOutput +} + +type UserMetadataMap map[string]UserMetadataInput + +func (UserMetadataMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*UserMetadata)(nil)).Elem() +} + +func (i UserMetadataMap) ToUserMetadataMapOutput() UserMetadataMapOutput { + return i.ToUserMetadataMapOutputWithContext(context.Background()) +} + +func (i UserMetadataMap) ToUserMetadataMapOutputWithContext(ctx context.Context) UserMetadataMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(UserMetadataMapOutput) +} + +func (i UserMetadataMap) ToOutput(ctx context.Context) pulumix.Output[map[string]*UserMetadata] { + return pulumix.Output[map[string]*UserMetadata]{ + OutputState: i.ToUserMetadataMapOutputWithContext(ctx).OutputState, + } +} + +type UserMetadataOutput struct{ *pulumi.OutputState } + +func (UserMetadataOutput) ElementType() reflect.Type { + return reflect.TypeOf((**UserMetadata)(nil)).Elem() +} + +func (o UserMetadataOutput) ToUserMetadataOutput() UserMetadataOutput { + return o +} + +func (o UserMetadataOutput) ToUserMetadataOutputWithContext(ctx context.Context) UserMetadataOutput { + return o +} + +func (o UserMetadataOutput) ToOutput(ctx context.Context) pulumix.Output[*UserMetadata] { + return pulumix.Output[*UserMetadata]{ + OutputState: o.OutputState, + } +} + +// The key of a metadata entry +func (o UserMetadataOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v *UserMetadata) pulumi.StringOutput { return v.Key }).(pulumi.StringOutput) +} + +// ID of the organization +func (o UserMetadataOutput) OrgId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *UserMetadata) pulumi.StringPtrOutput { return v.OrgId }).(pulumi.StringPtrOutput) +} + +// ID of the user +func (o UserMetadataOutput) UserId() pulumi.StringOutput { + return o.ApplyT(func(v *UserMetadata) pulumi.StringOutput { return v.UserId }).(pulumi.StringOutput) +} + +// The string representation of a metadata entry value. For binary data, use the base64encode function. +func (o UserMetadataOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v *UserMetadata) pulumi.StringOutput { return v.Value }).(pulumi.StringOutput) +} + +type UserMetadataArrayOutput struct{ *pulumi.OutputState } + +func (UserMetadataArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*UserMetadata)(nil)).Elem() +} + +func (o UserMetadataArrayOutput) ToUserMetadataArrayOutput() UserMetadataArrayOutput { + return o +} + +func (o UserMetadataArrayOutput) ToUserMetadataArrayOutputWithContext(ctx context.Context) UserMetadataArrayOutput { + return o +} + +func (o UserMetadataArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]*UserMetadata] { + return pulumix.Output[[]*UserMetadata]{ + OutputState: o.OutputState, + } +} + +func (o UserMetadataArrayOutput) Index(i pulumi.IntInput) UserMetadataOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *UserMetadata { + return vs[0].([]*UserMetadata)[vs[1].(int)] + }).(UserMetadataOutput) +} + +type UserMetadataMapOutput struct{ *pulumi.OutputState } + +func (UserMetadataMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*UserMetadata)(nil)).Elem() +} + +func (o UserMetadataMapOutput) ToUserMetadataMapOutput() UserMetadataMapOutput { + return o +} + +func (o UserMetadataMapOutput) ToUserMetadataMapOutputWithContext(ctx context.Context) UserMetadataMapOutput { + return o +} + +func (o UserMetadataMapOutput) ToOutput(ctx context.Context) pulumix.Output[map[string]*UserMetadata] { + return pulumix.Output[map[string]*UserMetadata]{ + OutputState: o.OutputState, + } +} + +func (o UserMetadataMapOutput) MapIndex(k pulumi.StringInput) UserMetadataOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *UserMetadata { + return vs[0].(map[string]*UserMetadata)[vs[1].(string)] + }).(UserMetadataOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*UserMetadataInput)(nil)).Elem(), &UserMetadata{}) + pulumi.RegisterInputType(reflect.TypeOf((*UserMetadataArrayInput)(nil)).Elem(), UserMetadataArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*UserMetadataMapInput)(nil)).Elem(), UserMetadataMap{}) + pulumi.RegisterOutputType(UserMetadataOutput{}) + pulumi.RegisterOutputType(UserMetadataArrayOutput{}) + pulumi.RegisterOutputType(UserMetadataMapOutput{}) +} diff --git a/sdk/nodejs/action.ts b/sdk/nodejs/action.ts index 616223a..19ffa11 100644 --- a/sdk/nodejs/action.ts +++ b/sdk/nodejs/action.ts @@ -23,7 +23,7 @@ import * as utilities from "./utilities"; * * ## Import * - * terraform The resource can be imported using the ID format ``, e.g. + * bash The resource can be imported using the ID format ``, e.g. * * ```sh * $ pulumi import zitadel:index/action:Action imported '123456789012345678:123456789012345678' diff --git a/sdk/nodejs/applicationApi.ts b/sdk/nodejs/applicationApi.ts index 3dae60b..c924f39 100644 --- a/sdk/nodejs/applicationApi.ts +++ b/sdk/nodejs/applicationApi.ts @@ -22,7 +22,7 @@ import * as utilities from "./utilities"; * * ## Import * - * terraform The resource can be imported using the ID format ``, e.g. + * bash The resource can be imported using the ID format ``, e.g. * * ```sh * $ pulumi import zitadel:index/applicationApi:ApplicationApi imported '123456789012345678:123456789012345678:123456789012345678:123456789012345678@zitadel:JuaDFFeOak5DGE655KCYPSAclSkbMVEJXXuX1lEMBT14eLMSs0A0qhafKX5SA2Df' diff --git a/sdk/nodejs/applicationKey.ts b/sdk/nodejs/applicationKey.ts index 575aaa4..9ee6f97 100644 --- a/sdk/nodejs/applicationKey.ts +++ b/sdk/nodejs/applicationKey.ts @@ -24,7 +24,7 @@ import * as utilities from "./utilities"; * * ## Import * - * terraform The resource can be imported using the ID format ``. You can use __SEMICOLON__ to escape :, e.g. + * bash The resource can be imported using the ID format ``. You can use __SEMICOLON__ to escape :, e.g. * * ```sh * $ pulumi import zitadel:index/applicationKey:ApplicationKey imported "123456789012345678:123456789012345678:123456789012345678:123456789012345678:$(cat ~/Downloads/123456789012345678.json | sed -e 's/:/__SEMICOLON__/g')" diff --git a/sdk/nodejs/applicationOidc.ts b/sdk/nodejs/applicationOidc.ts index 26280ce..fcb48c7 100644 --- a/sdk/nodejs/applicationOidc.ts +++ b/sdk/nodejs/applicationOidc.ts @@ -35,7 +35,7 @@ import * as utilities from "./utilities"; * * ## Import * - * terraform The resource can be imported using the ID format ``, e.g. + * bash The resource can be imported using the ID format ``, e.g. * * ```sh * $ pulumi import zitadel:index/applicationOidc:ApplicationOidc imported '123456789012345678:123456789012345678:123456789012345678:123456789012345678@zitadel:JuaDFFeOak5DGE655KCYPSAclSkbMVEJXXuX1lEMBT14eLMSs0A0qhafKX5SA2Df' diff --git a/sdk/nodejs/applicationSaml.ts b/sdk/nodejs/applicationSaml.ts index 928fa2b..8b1840e 100644 --- a/sdk/nodejs/applicationSaml.ts +++ b/sdk/nodejs/applicationSaml.ts @@ -34,7 +34,7 @@ import * as utilities from "./utilities"; * * ## Import * - * terraform The resource can be imported using the ID format ``, e.g. + * bash The resource can be imported using the ID format ``, e.g. * * ```sh * $ pulumi import zitadel:index/applicationSaml:ApplicationSaml imported '123456789012345678:123456789012345678:123456789012345678' diff --git a/sdk/nodejs/defaultDomainPolicy.ts b/sdk/nodejs/defaultDomainPolicy.ts index 9904c5b..c1345b1 100644 --- a/sdk/nodejs/defaultDomainPolicy.ts +++ b/sdk/nodejs/defaultDomainPolicy.ts @@ -22,7 +22,7 @@ import * as utilities from "./utilities"; * * ## Import * - * terraform The resource can be imported using the ID format `<>`, e.g. + * bash The resource can be imported using the ID format `<>`, e.g. * * ```sh * $ pulumi import zitadel:index/defaultDomainPolicy:DefaultDomainPolicy imported '' diff --git a/sdk/nodejs/defaultLabelPolicy.ts b/sdk/nodejs/defaultLabelPolicy.ts index d0ec042..e246b3f 100644 --- a/sdk/nodejs/defaultLabelPolicy.ts +++ b/sdk/nodejs/defaultLabelPolicy.ts @@ -9,7 +9,7 @@ import * as utilities from "./utilities"; * * ## Import * - * terraform The resource can be imported using the ID format `<>`, e.g. + * bash The resource can be imported using the ID format `<>`, e.g. * * ```sh * $ pulumi import zitadel:index/defaultLabelPolicy:DefaultLabelPolicy imported '' @@ -94,6 +94,10 @@ export class DefaultLabelPolicy extends pulumi.CustomResource { * set the label policy active after creating/updating */ public readonly setActive!: pulumi.Output; + /** + * theme mode, supported values: THEME*MODE*UNSPECIFIED, THEME*MODE*AUTO, THEME*MODE*DARK, THEME*MODE*LIGHT + */ + public readonly themeMode!: pulumi.Output; /** * hex value for warn color */ @@ -140,6 +144,7 @@ export class DefaultLabelPolicy extends pulumi.CustomResource { resourceInputs["primaryColor"] = state ? state.primaryColor : undefined; resourceInputs["primaryColorDark"] = state ? state.primaryColorDark : undefined; resourceInputs["setActive"] = state ? state.setActive : undefined; + resourceInputs["themeMode"] = state ? state.themeMode : undefined; resourceInputs["warnColor"] = state ? state.warnColor : undefined; resourceInputs["warnColorDark"] = state ? state.warnColorDark : undefined; } else { @@ -193,6 +198,7 @@ export class DefaultLabelPolicy extends pulumi.CustomResource { resourceInputs["primaryColor"] = args ? args.primaryColor : undefined; resourceInputs["primaryColorDark"] = args ? args.primaryColorDark : undefined; resourceInputs["setActive"] = args ? args.setActive : undefined; + resourceInputs["themeMode"] = args ? args.themeMode : undefined; resourceInputs["warnColor"] = args ? args.warnColor : undefined; resourceInputs["warnColorDark"] = args ? args.warnColorDark : undefined; resourceInputs["fontUrl"] = undefined /*out*/; @@ -261,6 +267,10 @@ export interface DefaultLabelPolicyState { * set the label policy active after creating/updating */ setActive?: pulumi.Input; + /** + * theme mode, supported values: THEME*MODE*UNSPECIFIED, THEME*MODE*AUTO, THEME*MODE*DARK, THEME*MODE*LIGHT + */ + themeMode?: pulumi.Input; /** * hex value for warn color */ @@ -321,6 +331,10 @@ export interface DefaultLabelPolicyArgs { * set the label policy active after creating/updating */ setActive?: pulumi.Input; + /** + * theme mode, supported values: THEME*MODE*UNSPECIFIED, THEME*MODE*AUTO, THEME*MODE*DARK, THEME*MODE*LIGHT + */ + themeMode?: pulumi.Input; /** * hex value for warn color */ diff --git a/sdk/nodejs/defaultLockoutPolicy.ts b/sdk/nodejs/defaultLockoutPolicy.ts index 05210ab..fe8d281 100644 --- a/sdk/nodejs/defaultLockoutPolicy.ts +++ b/sdk/nodejs/defaultLockoutPolicy.ts @@ -18,7 +18,7 @@ import * as utilities from "./utilities"; * * ## Import * - * terraform The resource can be imported using the ID format `<>`, e.g. + * bash The resource can be imported using the ID format `<>`, e.g. * * ```sh * $ pulumi import zitadel:index/defaultLockoutPolicy:DefaultLockoutPolicy imported '' diff --git a/sdk/nodejs/defaultLoginPolicy.ts b/sdk/nodejs/defaultLoginPolicy.ts index a5f2e62..3dc00c2 100644 --- a/sdk/nodejs/defaultLoginPolicy.ts +++ b/sdk/nodejs/defaultLoginPolicy.ts @@ -45,7 +45,7 @@ import * as utilities from "./utilities"; * * ## Import * - * terraform The resource can be imported using the ID format `<>`, e.g. + * bash The resource can be imported using the ID format `<>`, e.g. * * ```sh * $ pulumi import zitadel:index/defaultLoginPolicy:DefaultLoginPolicy imported '' diff --git a/sdk/nodejs/defaultNotificationPolicy.ts b/sdk/nodejs/defaultNotificationPolicy.ts index 12cf86b..ba6f1e4 100644 --- a/sdk/nodejs/defaultNotificationPolicy.ts +++ b/sdk/nodejs/defaultNotificationPolicy.ts @@ -18,7 +18,7 @@ import * as utilities from "./utilities"; * * ## Import * - * terraform The resource can be imported using the ID format `<>`, e.g. + * bash The resource can be imported using the ID format `<>`, e.g. * * ```sh * $ pulumi import zitadel:index/defaultNotificationPolicy:DefaultNotificationPolicy imported '' diff --git a/sdk/nodejs/defaultPasswordComplexityPolicy.ts b/sdk/nodejs/defaultPasswordComplexityPolicy.ts index 528c0b2..f746154 100644 --- a/sdk/nodejs/defaultPasswordComplexityPolicy.ts +++ b/sdk/nodejs/defaultPasswordComplexityPolicy.ts @@ -24,7 +24,7 @@ import * as utilities from "./utilities"; * * ## Import * - * terraform The resource can be imported using the ID format `<>`, e.g. + * bash The resource can be imported using the ID format `<>`, e.g. * * ```sh * $ pulumi import zitadel:index/defaultPasswordComplexityPolicy:DefaultPasswordComplexityPolicy imported '' diff --git a/sdk/nodejs/defaultPrivacyPolicy.ts b/sdk/nodejs/defaultPrivacyPolicy.ts index 860d2ea..7cfdb7b 100644 --- a/sdk/nodejs/defaultPrivacyPolicy.ts +++ b/sdk/nodejs/defaultPrivacyPolicy.ts @@ -23,7 +23,7 @@ import * as utilities from "./utilities"; * * ## Import * - * terraform The resource can be imported using the ID format `<>`, e.g. + * bash The resource can be imported using the ID format `<>`, e.g. * * ```sh * $ pulumi import zitadel:index/defaultPrivacyPolicy:DefaultPrivacyPolicy imported '' diff --git a/sdk/nodejs/domain.ts b/sdk/nodejs/domain.ts index 9a1a7e5..79e44f0 100644 --- a/sdk/nodejs/domain.ts +++ b/sdk/nodejs/domain.ts @@ -21,7 +21,7 @@ import * as utilities from "./utilities"; * * ## Import * - * terraform The resource can be imported using the ID format `name[:org_id]`, e.g. + * bash The resource can be imported using the ID format `name[:org_id]`, e.g. * * ```sh * $ pulumi import zitadel:index/domain:Domain imported 'example.com:123456789012345678' diff --git a/sdk/nodejs/domainPolicy.ts b/sdk/nodejs/domainPolicy.ts index e225097..487890e 100644 --- a/sdk/nodejs/domainPolicy.ts +++ b/sdk/nodejs/domainPolicy.ts @@ -23,7 +23,7 @@ import * as utilities from "./utilities"; * * ## Import * - * terraform The resource can be imported using the ID format `<[org_id]>`, e.g. + * bash The resource can be imported using the ID format `<[org_id]>`, e.g. * * ```sh * $ pulumi import zitadel:index/domainPolicy:DomainPolicy imported '123456789012345678' diff --git a/sdk/nodejs/getApplicationApi.ts b/sdk/nodejs/getApplicationApi.ts index 40f4012..f1f587f 100644 --- a/sdk/nodejs/getApplicationApi.ts +++ b/sdk/nodejs/getApplicationApi.ts @@ -60,6 +60,7 @@ export interface GetApplicationApiResult { * Auth method type */ readonly authMethodType: string; + readonly clientId: string; /** * The provider-assigned unique ID for this managed resource. */ diff --git a/sdk/nodejs/getApplicationOidc.ts b/sdk/nodejs/getApplicationOidc.ts index 54c0dcd..982497a 100644 --- a/sdk/nodejs/getApplicationOidc.ts +++ b/sdk/nodejs/getApplicationOidc.ts @@ -76,6 +76,7 @@ export interface GetApplicationOidcResult { * Auth method type */ readonly authMethodType: string; + readonly clientId: string; /** * Clockskew */ diff --git a/sdk/nodejs/getIdpOauth.ts b/sdk/nodejs/getIdpOauth.ts new file mode 100644 index 0000000..9525e98 --- /dev/null +++ b/sdk/nodejs/getIdpOauth.ts @@ -0,0 +1,122 @@ +// *** 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"; + +/** + * Datasource representing a generic OAuth2 IDP on the instance. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as zitadel from "@pulumi/zitadel"; + * + * const default = zitadel.getIdpOauth({ + * id: "123456789012345678", + * }); + * ``` + */ +export function getIdpOauth(args: GetIdpOauthArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("zitadel:index/getIdpOauth:getIdpOauth", { + "id": args.id, + }, opts); +} + +/** + * A collection of arguments for invoking getIdpOauth. + */ +export interface GetIdpOauthArgs { + /** + * The ID of this resource. + */ + id: string; +} + +/** + * A collection of values returned by getIdpOauth. + */ +export interface GetIdpOauthResult { + /** + * The authorization endpoint + */ + readonly authorizationEndpoint: string; + /** + * client id generated by the identity provider + */ + readonly clientId: string; + /** + * client secret generated by the identity provider + */ + readonly clientSecret: string; + /** + * The ID of this resource. + */ + readonly id: string; + /** + * The id attribute + */ + readonly idAttribute: string; + /** + * enabled if a new account in ZITADEL are created automatically on login with an external account + */ + readonly isAutoCreation: boolean; + /** + * enabled if a the ZITADEL account fields are updated automatically on each login + */ + readonly isAutoUpdate: boolean; + /** + * enabled if users are able to create a new account in ZITADEL when using an external account + */ + readonly isCreationAllowed: boolean; + /** + * enabled if users are able to link an existing ZITADEL user with an external account + */ + readonly isLinkingAllowed: boolean; + /** + * Name of the IDP + */ + readonly name: string; + /** + * the scopes requested by ZITADEL during the request on the identity provider + */ + readonly scopes: string[]; + /** + * The token endpoint + */ + readonly tokenEndpoint: string; + /** + * The user endpoint + */ + readonly userEndpoint: string; +} +/** + * Datasource representing a generic OAuth2 IDP on the instance. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as zitadel from "@pulumi/zitadel"; + * + * const default = zitadel.getIdpOauth({ + * id: "123456789012345678", + * }); + * ``` + */ +export function getIdpOauthOutput(args: GetIdpOauthOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getIdpOauth(a, opts)) +} + +/** + * A collection of arguments for invoking getIdpOauth. + */ +export interface GetIdpOauthOutputArgs { + /** + * The ID of this resource. + */ + id: pulumi.Input; +} diff --git a/sdk/nodejs/getIdpSaml.ts b/sdk/nodejs/getIdpSaml.ts new file mode 100644 index 0000000..363e2e9 --- /dev/null +++ b/sdk/nodejs/getIdpSaml.ts @@ -0,0 +1,106 @@ +// *** 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"; + +/** + * Datasource representing a SAML IDP on the instance. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as zitadel from "@pulumi/zitadel"; + * + * const default = zitadel.getIdpSaml({ + * id: "123456789012345678", + * }); + * ``` + */ +export function getIdpSaml(args: GetIdpSamlArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("zitadel:index/getIdpSaml:getIdpSaml", { + "id": args.id, + }, opts); +} + +/** + * A collection of arguments for invoking getIdpSaml. + */ +export interface GetIdpSamlArgs { + /** + * The ID of this resource. + */ + id: string; +} + +/** + * A collection of values returned by getIdpSaml. + */ +export interface GetIdpSamlResult { + /** + * The binding + */ + readonly binding: string; + /** + * The ID of this resource. + */ + readonly id: string; + /** + * enabled if a new account in ZITADEL are created automatically on login with an external account + */ + readonly isAutoCreation: boolean; + /** + * enabled if a the ZITADEL account fields are updated automatically on each login + */ + readonly isAutoUpdate: boolean; + /** + * enabled if users are able to create a new account in ZITADEL when using an external account + */ + readonly isCreationAllowed: boolean; + /** + * enabled if users are able to link an existing ZITADEL user with an external account + */ + readonly isLinkingAllowed: boolean; + /** + * The metadata XML as plain string + */ + readonly metadataXml: string; + /** + * Name of the IDP + */ + readonly name: string; + /** + * Whether the SAML IDP requires signed requests + */ + readonly withSignedRequest: string; +} +/** + * Datasource representing a SAML IDP on the instance. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as zitadel from "@pulumi/zitadel"; + * + * const default = zitadel.getIdpSaml({ + * id: "123456789012345678", + * }); + * ``` + */ +export function getIdpSamlOutput(args: GetIdpSamlOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getIdpSaml(a, opts)) +} + +/** + * A collection of arguments for invoking getIdpSaml. + */ +export interface GetIdpSamlOutputArgs { + /** + * The ID of this resource. + */ + id: pulumi.Input; +} diff --git a/sdk/nodejs/getOrgIdpOauth.ts b/sdk/nodejs/getOrgIdpOauth.ts new file mode 100644 index 0000000..399ea82 --- /dev/null +++ b/sdk/nodejs/getOrgIdpOauth.ts @@ -0,0 +1,137 @@ +// *** 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"; + +/** + * Datasource representing a generic OAuth2 IDP of the organization. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as zitadel from "@pulumi/zitadel"; + * + * const default = zitadel.getOrgIdpOauth({ + * orgId: data.zitadel_org["default"].id, + * id: "123456789012345678", + * }); + * ``` + */ +export function getOrgIdpOauth(args: GetOrgIdpOauthArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("zitadel:index/getOrgIdpOauth:getOrgIdpOauth", { + "id": args.id, + "orgId": args.orgId, + }, opts); +} + +/** + * A collection of arguments for invoking getOrgIdpOauth. + */ +export interface GetOrgIdpOauthArgs { + /** + * The ID of this resource. + */ + id: string; + /** + * ID of the organization + */ + orgId?: string; +} + +/** + * A collection of values returned by getOrgIdpOauth. + */ +export interface GetOrgIdpOauthResult { + /** + * The authorization endpoint + */ + readonly authorizationEndpoint: string; + /** + * client id generated by the identity provider + */ + readonly clientId: string; + /** + * client secret generated by the identity provider + */ + readonly clientSecret: string; + /** + * The ID of this resource. + */ + readonly id: string; + /** + * The id attribute + */ + readonly idAttribute: string; + /** + * enabled if a new account in ZITADEL are created automatically on login with an external account + */ + readonly isAutoCreation: boolean; + /** + * enabled if a the ZITADEL account fields are updated automatically on each login + */ + readonly isAutoUpdate: boolean; + /** + * enabled if users are able to create a new account in ZITADEL when using an external account + */ + readonly isCreationAllowed: boolean; + /** + * enabled if users are able to link an existing ZITADEL user with an external account + */ + readonly isLinkingAllowed: boolean; + /** + * Name of the IDP + */ + readonly name: string; + /** + * ID of the organization + */ + readonly orgId?: string; + /** + * the scopes requested by ZITADEL during the request on the identity provider + */ + readonly scopes: string[]; + /** + * The token endpoint + */ + readonly tokenEndpoint: string; + /** + * The user endpoint + */ + readonly userEndpoint: string; +} +/** + * Datasource representing a generic OAuth2 IDP of the organization. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as zitadel from "@pulumi/zitadel"; + * + * const default = zitadel.getOrgIdpOauth({ + * orgId: data.zitadel_org["default"].id, + * id: "123456789012345678", + * }); + * ``` + */ +export function getOrgIdpOauthOutput(args: GetOrgIdpOauthOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getOrgIdpOauth(a, opts)) +} + +/** + * A collection of arguments for invoking getOrgIdpOauth. + */ +export interface GetOrgIdpOauthOutputArgs { + /** + * The ID of this resource. + */ + id: pulumi.Input; + /** + * ID of the organization + */ + orgId?: pulumi.Input; +} diff --git a/sdk/nodejs/getOrgIdpSaml.ts b/sdk/nodejs/getOrgIdpSaml.ts new file mode 100644 index 0000000..d8a5e56 --- /dev/null +++ b/sdk/nodejs/getOrgIdpSaml.ts @@ -0,0 +1,121 @@ +// *** 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"; + +/** + * Datasource representing a SAML IdP of the organization. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as zitadel from "@pulumi/zitadel"; + * + * const default = zitadel.getOrgIdpSaml({ + * orgId: data.zitadel_org["default"].id, + * id: "123456789012345678", + * }); + * ``` + */ +export function getOrgIdpSaml(args: GetOrgIdpSamlArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("zitadel:index/getOrgIdpSaml:getOrgIdpSaml", { + "id": args.id, + "orgId": args.orgId, + }, opts); +} + +/** + * A collection of arguments for invoking getOrgIdpSaml. + */ +export interface GetOrgIdpSamlArgs { + /** + * The ID of this resource. + */ + id: string; + /** + * ID of the organization + */ + orgId?: string; +} + +/** + * A collection of values returned by getOrgIdpSaml. + */ +export interface GetOrgIdpSamlResult { + /** + * The binding + */ + readonly binding: string; + /** + * The ID of this resource. + */ + readonly id: string; + /** + * enabled if a new account in ZITADEL are created automatically on login with an external account + */ + readonly isAutoCreation: boolean; + /** + * enabled if a the ZITADEL account fields are updated automatically on each login + */ + readonly isAutoUpdate: boolean; + /** + * enabled if users are able to create a new account in ZITADEL when using an external account + */ + readonly isCreationAllowed: boolean; + /** + * enabled if users are able to link an existing ZITADEL user with an external account + */ + readonly isLinkingAllowed: boolean; + /** + * The metadata XML as plain string + */ + readonly metadataXml: string; + /** + * Name of the IDP + */ + readonly name: string; + /** + * ID of the organization + */ + readonly orgId?: string; + /** + * Whether the SAML IDP requires signed requests + */ + readonly withSignedRequest: string; +} +/** + * Datasource representing a SAML IdP of the organization. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as zitadel from "@pulumi/zitadel"; + * + * const default = zitadel.getOrgIdpSaml({ + * orgId: data.zitadel_org["default"].id, + * id: "123456789012345678", + * }); + * ``` + */ +export function getOrgIdpSamlOutput(args: GetOrgIdpSamlOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getOrgIdpSaml(a, opts)) +} + +/** + * A collection of arguments for invoking getOrgIdpSaml. + */ +export interface GetOrgIdpSamlOutputArgs { + /** + * The ID of this resource. + */ + id: pulumi.Input; + /** + * ID of the organization + */ + orgId?: pulumi.Input; +} diff --git a/sdk/nodejs/humanUser.ts b/sdk/nodejs/humanUser.ts index b6b5fa8..df3875b 100644 --- a/sdk/nodejs/humanUser.ts +++ b/sdk/nodejs/humanUser.ts @@ -34,7 +34,7 @@ import * as utilities from "./utilities"; * * ## Import * - * terraform The resource can be imported using the ID format `id[:org_id][:initial_password]>`, e.g. + * bash The resource can be imported using the ID format `id[:org_id][:initial_password]>`, e.g. * * ```sh * $ pulumi import zitadel:index/humanUser:HumanUser imported '123456789012345678:123456789012345678:Password1!' diff --git a/sdk/nodejs/idpAzureAd.ts b/sdk/nodejs/idpAzureAd.ts index 2a714f4..1e56ac1 100644 --- a/sdk/nodejs/idpAzureAd.ts +++ b/sdk/nodejs/idpAzureAd.ts @@ -33,7 +33,7 @@ import * as utilities from "./utilities"; * * ## Import * - * terraform The resource can be imported using the ID format ``, e.g. + * bash The resource can be imported using the ID format ``, e.g. * * ```sh * $ pulumi import zitadel:index/idpAzureAd:IdpAzureAd imported '123456789012345678:12345678-1234-1234-1234-123456789012' diff --git a/sdk/nodejs/idpGithub.ts b/sdk/nodejs/idpGithub.ts index efa169a..73e6789 100644 --- a/sdk/nodejs/idpGithub.ts +++ b/sdk/nodejs/idpGithub.ts @@ -30,7 +30,7 @@ import * as utilities from "./utilities"; * * ## Import * - * terraform The resource can be imported using the ID format ``, e.g. + * bash The resource can be imported using the ID format ``, e.g. * * ```sh * $ pulumi import zitadel:index/idpGithub:IdpGithub imported '123456789012345678:1234567890123456781234567890123456787890' diff --git a/sdk/nodejs/idpGithubEs.ts b/sdk/nodejs/idpGithubEs.ts index 62302ba..437afff 100644 --- a/sdk/nodejs/idpGithubEs.ts +++ b/sdk/nodejs/idpGithubEs.ts @@ -33,7 +33,7 @@ import * as utilities from "./utilities"; * * ## Import * - * terraform The resource can be imported using the ID format ``, e.g. + * bash The resource can be imported using the ID format ``, e.g. * * ```sh * $ pulumi import zitadel:index/idpGithubEs:IdpGithubEs imported '123456789012345678:1234567890123456781234567890123456787890' diff --git a/sdk/nodejs/idpGitlab.ts b/sdk/nodejs/idpGitlab.ts index 6515f06..6a8d9b6 100644 --- a/sdk/nodejs/idpGitlab.ts +++ b/sdk/nodejs/idpGitlab.ts @@ -30,7 +30,7 @@ import * as utilities from "./utilities"; * * ## Import * - * terraform The resource can be imported using the ID format ``, e.g. + * bash The resource can be imported using the ID format ``, e.g. * * ```sh * $ pulumi import zitadel:index/idpGitlab:IdpGitlab imported '123456789012345678:1234567890abcdef' diff --git a/sdk/nodejs/idpGitlabSelfHosted.ts b/sdk/nodejs/idpGitlabSelfHosted.ts index 63a7d79..d6c359c 100644 --- a/sdk/nodejs/idpGitlabSelfHosted.ts +++ b/sdk/nodejs/idpGitlabSelfHosted.ts @@ -31,7 +31,7 @@ import * as utilities from "./utilities"; * * ## Import * - * terraform The resource can be imported using the ID format ``, e.g. + * bash The resource can be imported using the ID format ``, e.g. * * ```sh * $ pulumi import zitadel:index/idpGitlabSelfHosted:IdpGitlabSelfHosted imported '123456789012345678:1234567890abcdef' diff --git a/sdk/nodejs/idpGoogle.ts b/sdk/nodejs/idpGoogle.ts index 049caa6..586c33d 100644 --- a/sdk/nodejs/idpGoogle.ts +++ b/sdk/nodejs/idpGoogle.ts @@ -30,7 +30,7 @@ import * as utilities from "./utilities"; * * ## Import * - * terraform The resource can be imported using the ID format ``, e.g. + * bash The resource can be imported using the ID format ``, e.g. * * ```sh * $ pulumi import zitadel:index/idpGoogle:IdpGoogle imported '123456789012345678:G1234567890123' diff --git a/sdk/nodejs/idpLdap.ts b/sdk/nodejs/idpLdap.ts index 39d2e77..935a372 100644 --- a/sdk/nodejs/idpLdap.ts +++ b/sdk/nodejs/idpLdap.ts @@ -41,7 +41,7 @@ import * as utilities from "./utilities"; * * ## Import * - * terraform The resource can be imported using the ID format ``, e.g. + * bash The resource can be imported using the ID format ``, e.g. * * ```sh * $ pulumi import zitadel:index/idpLdap:IdpLdap imported '123456789012345678:b1nd_p4ssw0rd' diff --git a/sdk/nodejs/idpOauth.ts b/sdk/nodejs/idpOauth.ts new file mode 100644 index 0000000..38ec981 --- /dev/null +++ b/sdk/nodejs/idpOauth.ts @@ -0,0 +1,303 @@ +// *** 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"; + +/** + * Resource representing a generic OAuth2 IDP on the instance. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as zitadel from "@pulumiverse/zitadel"; + * + * const _default = new zitadel.IdpOauth("default", { + * authorizationEndpoint: "https://accounts.google.com/o/oauth2/v2/auth", + * clientId: "15765e...", + * clientSecret: "*****abcxyz", + * idAttribute: "user_id", + * isAutoCreation: false, + * isAutoUpdate: true, + * isCreationAllowed: true, + * isLinkingAllowed: false, + * scopes: [ + * "openid", + * "profile", + * "email", + * ], + * tokenEndpoint: "https://oauth2.googleapis.com/token", + * userEndpoint: "https://openidconnect.googleapis.com/v1/userinfo", + * }); + * ``` + * + * ## Import + * + * bash The resource can be imported using the ID format ``, e.g. + * + * ```sh + * $ pulumi import zitadel:index/idpOauth:IdpOauth imported '123456789012345678:1234567890abcdef' + * ``` + */ +export class IdpOauth extends pulumi.CustomResource { + /** + * Get an existing IdpOauth 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?: IdpOauthState, opts?: pulumi.CustomResourceOptions): IdpOauth { + return new IdpOauth(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'zitadel:index/idpOauth:IdpOauth'; + + /** + * Returns true if the given object is an instance of IdpOauth. 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 IdpOauth { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === IdpOauth.__pulumiType; + } + + /** + * The authorization endpoint + */ + public readonly authorizationEndpoint!: pulumi.Output; + /** + * client id generated by the identity provider + */ + public readonly clientId!: pulumi.Output; + /** + * client secret generated by the identity provider + */ + public readonly clientSecret!: pulumi.Output; + /** + * The id attribute + */ + public readonly idAttribute!: pulumi.Output; + /** + * enable if a new account in ZITADEL should be created automatically on login with an external account + */ + public readonly isAutoCreation!: pulumi.Output; + /** + * enable if a the ZITADEL account fields should be updated automatically on each login + */ + public readonly isAutoUpdate!: pulumi.Output; + /** + * enable if users should be able to create a new account in ZITADEL when using an external account + */ + public readonly isCreationAllowed!: pulumi.Output; + /** + * enable if users should be able to link an existing ZITADEL user with an external account + */ + public readonly isLinkingAllowed!: pulumi.Output; + /** + * Name of the IDP + */ + public readonly name!: pulumi.Output; + /** + * the scopes requested by ZITADEL during the request on the identity provider + */ + public readonly scopes!: pulumi.Output; + /** + * The token endpoint + */ + public readonly tokenEndpoint!: pulumi.Output; + /** + * The user endpoint + */ + public readonly userEndpoint!: pulumi.Output; + + /** + * Create a IdpOauth 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: IdpOauthArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: IdpOauthArgs | IdpOauthState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as IdpOauthState | undefined; + resourceInputs["authorizationEndpoint"] = state ? state.authorizationEndpoint : undefined; + resourceInputs["clientId"] = state ? state.clientId : undefined; + resourceInputs["clientSecret"] = state ? state.clientSecret : undefined; + resourceInputs["idAttribute"] = state ? state.idAttribute : undefined; + resourceInputs["isAutoCreation"] = state ? state.isAutoCreation : undefined; + resourceInputs["isAutoUpdate"] = state ? state.isAutoUpdate : undefined; + resourceInputs["isCreationAllowed"] = state ? state.isCreationAllowed : undefined; + resourceInputs["isLinkingAllowed"] = state ? state.isLinkingAllowed : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["scopes"] = state ? state.scopes : undefined; + resourceInputs["tokenEndpoint"] = state ? state.tokenEndpoint : undefined; + resourceInputs["userEndpoint"] = state ? state.userEndpoint : undefined; + } else { + const args = argsOrState as IdpOauthArgs | undefined; + if ((!args || args.authorizationEndpoint === undefined) && !opts.urn) { + throw new Error("Missing required property 'authorizationEndpoint'"); + } + if ((!args || args.clientId === undefined) && !opts.urn) { + throw new Error("Missing required property 'clientId'"); + } + if ((!args || args.clientSecret === undefined) && !opts.urn) { + throw new Error("Missing required property 'clientSecret'"); + } + if ((!args || args.idAttribute === undefined) && !opts.urn) { + throw new Error("Missing required property 'idAttribute'"); + } + if ((!args || args.isAutoCreation === undefined) && !opts.urn) { + throw new Error("Missing required property 'isAutoCreation'"); + } + if ((!args || args.isAutoUpdate === undefined) && !opts.urn) { + throw new Error("Missing required property 'isAutoUpdate'"); + } + if ((!args || args.isCreationAllowed === undefined) && !opts.urn) { + throw new Error("Missing required property 'isCreationAllowed'"); + } + if ((!args || args.isLinkingAllowed === undefined) && !opts.urn) { + throw new Error("Missing required property 'isLinkingAllowed'"); + } + if ((!args || args.tokenEndpoint === undefined) && !opts.urn) { + throw new Error("Missing required property 'tokenEndpoint'"); + } + if ((!args || args.userEndpoint === undefined) && !opts.urn) { + throw new Error("Missing required property 'userEndpoint'"); + } + resourceInputs["authorizationEndpoint"] = args ? args.authorizationEndpoint : undefined; + resourceInputs["clientId"] = args ? args.clientId : undefined; + resourceInputs["clientSecret"] = args?.clientSecret ? pulumi.secret(args.clientSecret) : undefined; + resourceInputs["idAttribute"] = args ? args.idAttribute : undefined; + resourceInputs["isAutoCreation"] = args ? args.isAutoCreation : undefined; + resourceInputs["isAutoUpdate"] = args ? args.isAutoUpdate : undefined; + resourceInputs["isCreationAllowed"] = args ? args.isCreationAllowed : undefined; + resourceInputs["isLinkingAllowed"] = args ? args.isLinkingAllowed : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["scopes"] = args ? args.scopes : undefined; + resourceInputs["tokenEndpoint"] = args ? args.tokenEndpoint : undefined; + resourceInputs["userEndpoint"] = args ? args.userEndpoint : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const secretOpts = { additionalSecretOutputs: ["clientSecret"] }; + opts = pulumi.mergeOptions(opts, secretOpts); + super(IdpOauth.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering IdpOauth resources. + */ +export interface IdpOauthState { + /** + * The authorization endpoint + */ + authorizationEndpoint?: pulumi.Input; + /** + * client id generated by the identity provider + */ + clientId?: pulumi.Input; + /** + * client secret generated by the identity provider + */ + clientSecret?: pulumi.Input; + /** + * The id attribute + */ + idAttribute?: pulumi.Input; + /** + * enable if a new account in ZITADEL should be created automatically on login with an external account + */ + isAutoCreation?: pulumi.Input; + /** + * enable if a the ZITADEL account fields should be updated automatically on each login + */ + isAutoUpdate?: pulumi.Input; + /** + * enable if users should be able to create a new account in ZITADEL when using an external account + */ + isCreationAllowed?: pulumi.Input; + /** + * enable if users should be able to link an existing ZITADEL user with an external account + */ + isLinkingAllowed?: pulumi.Input; + /** + * Name of the IDP + */ + name?: pulumi.Input; + /** + * the scopes requested by ZITADEL during the request on the identity provider + */ + scopes?: pulumi.Input[]>; + /** + * The token endpoint + */ + tokenEndpoint?: pulumi.Input; + /** + * The user endpoint + */ + userEndpoint?: pulumi.Input; +} + +/** + * The set of arguments for constructing a IdpOauth resource. + */ +export interface IdpOauthArgs { + /** + * The authorization endpoint + */ + authorizationEndpoint: pulumi.Input; + /** + * client id generated by the identity provider + */ + clientId: pulumi.Input; + /** + * client secret generated by the identity provider + */ + clientSecret: pulumi.Input; + /** + * The id attribute + */ + idAttribute: pulumi.Input; + /** + * enable if a new account in ZITADEL should be created automatically on login with an external account + */ + isAutoCreation: pulumi.Input; + /** + * enable if a the ZITADEL account fields should be updated automatically on each login + */ + isAutoUpdate: pulumi.Input; + /** + * enable if users should be able to create a new account in ZITADEL when using an external account + */ + isCreationAllowed: pulumi.Input; + /** + * enable if users should be able to link an existing ZITADEL user with an external account + */ + isLinkingAllowed: pulumi.Input; + /** + * Name of the IDP + */ + name?: pulumi.Input; + /** + * the scopes requested by ZITADEL during the request on the identity provider + */ + scopes?: pulumi.Input[]>; + /** + * The token endpoint + */ + tokenEndpoint: pulumi.Input; + /** + * The user endpoint + */ + userEndpoint: pulumi.Input; +} diff --git a/sdk/nodejs/idpSaml.ts b/sdk/nodejs/idpSaml.ts new file mode 100644 index 0000000..bd29731 --- /dev/null +++ b/sdk/nodejs/idpSaml.ts @@ -0,0 +1,260 @@ +// *** 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"; + +/** + * Resource representing a SAML IDP on the instance. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as zitadel from "@pulumiverse/zitadel"; + * + * const _default = new zitadel.IdpSaml("default", { + * binding: "SAML_BINDING_POST", + * isAutoCreation: false, + * isAutoUpdate: true, + * isCreationAllowed: true, + * isLinkingAllowed: false, + * metadataXml: ` + * + * + * + * + * + * MIIC4jCCAcoCCQC33wnybT5QZDANBgkqhkiG9w0BAQsFADAyMQswCQYDVQQGEwJV + * SzEPMA0GA1UECgwGQm94eUhRMRIwEAYDVQQDDAlNb2NrIFNBTUwwIBcNMjIwMjI4 + * MjE0NjM4WhgPMzAyMTA3MDEyMTQ2MzhaMDIxCzAJBgNVBAYTAlVLMQ8wDQYDVQQK + * DAZCb3h5SFExEjAQBgNVBAMMCU1vY2sgU0FNTDCCASIwDQYJKoZIhvcNAQEBBQAD + * ggEPADCCAQoCggEBALGfYettMsct1T6tVUwTudNJH5Pnb9GGnkXi9Zw/e6x45DD0 + * RuRONbFlJ2T4RjAE/uG+AjXxXQ8o2SZfb9+GgmCHuTJFNgHoZ1nFVXCmb/Hg8Hpd + * 4vOAGXndixaReOiq3EH5XvpMjMkJ3+8+9VYMzMZOjkgQtAqO36eAFFfNKX7dTj3V + * pwLkvz6/KFCq8OAwY+AUi4eZm5J57D31GzjHwfjH9WTeX0MyndmnNB1qV75qQR3b + * 2/W5sGHRv+9AarggJkF+ptUkXoLtVA51wcfYm6hILptpde5FQC8RWY1YrswBWAEZ + * NfyrR4JeSweElNHg4NVOs4TwGjOPwWGqzTfgTlECAwEAATANBgkqhkiG9w0BAQsF + * AAOCAQEAAYRlYflSXAWoZpFfwNiCQVE5d9zZ0DPzNdWhAybXcTyMf0z5mDf6FWBW + * 5Gyoi9u3EMEDnzLcJNkwJAAc39Apa4I2/tml+Jy29dk8bTyX6m93ngmCgdLh5Za4 + * khuU3AM3L63g7VexCuO7kwkjh/+LqdcIXsVGO6XDfu2QOs1Xpe9zIzLpwm/RNYeX + * UjbSj5ce/jekpAw7qyVVL4xOyh8AtUW1ek3wIw1MJvEgEPt0d16oshWJpoS1OT8L + * r/22SvYEo3EmSGdTVGgk3x3s+A0qWAqTcyjr7Q4s/GKYRFfomGwz0TZ4Iw1ZN99M + * m0eo2USlSRTVl7QHRTuiuSThHpLKQQ== + * + * + * + * urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress + * + * + * + * + * + * `, + * withSignedRequest: true, + * }); + * ``` + * ## Loading the XML Metadata + * + * If you don't want to pass the XML metadata inline, you have plenty of options. For example: + * - localFile Data Source + * - http Data Source + * - terracurlRequest Data Source + * - ... + * + * ## Import + * + * bash The resource can be imported using the ID format ``, e.g. + * + * ```sh + * $ pulumi import zitadel:index/idpSaml:IdpSaml imported '123456789012345678' + * ``` + */ +export class IdpSaml extends pulumi.CustomResource { + /** + * Get an existing IdpSaml 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?: IdpSamlState, opts?: pulumi.CustomResourceOptions): IdpSaml { + return new IdpSaml(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'zitadel:index/idpSaml:IdpSaml'; + + /** + * Returns true if the given object is an instance of IdpSaml. 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 IdpSaml { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === IdpSaml.__pulumiType; + } + + /** + * The binding, supported values: SAML*BINDING*UNSPECIFIED, SAML*BINDING*POST, SAML*BINDING*REDIRECT, SAML*BINDING*ARTIFACT + */ + public readonly binding!: pulumi.Output; + /** + * enable if a new account in ZITADEL should be created automatically on login with an external account + */ + public readonly isAutoCreation!: pulumi.Output; + /** + * enable if a the ZITADEL account fields should be updated automatically on each login + */ + public readonly isAutoUpdate!: pulumi.Output; + /** + * enable if users should be able to create a new account in ZITADEL when using an external account + */ + public readonly isCreationAllowed!: pulumi.Output; + /** + * enable if users should be able to link an existing ZITADEL user with an external account + */ + public readonly isLinkingAllowed!: pulumi.Output; + /** + * The metadata XML as plain string + */ + public readonly metadataXml!: pulumi.Output; + /** + * Name of the IDP + */ + public readonly name!: pulumi.Output; + /** + * Whether the SAML IDP requires signed requests + */ + public readonly withSignedRequest!: pulumi.Output; + + /** + * Create a IdpSaml 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: IdpSamlArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: IdpSamlArgs | IdpSamlState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as IdpSamlState | undefined; + resourceInputs["binding"] = state ? state.binding : undefined; + resourceInputs["isAutoCreation"] = state ? state.isAutoCreation : undefined; + resourceInputs["isAutoUpdate"] = state ? state.isAutoUpdate : undefined; + resourceInputs["isCreationAllowed"] = state ? state.isCreationAllowed : undefined; + resourceInputs["isLinkingAllowed"] = state ? state.isLinkingAllowed : undefined; + resourceInputs["metadataXml"] = state ? state.metadataXml : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["withSignedRequest"] = state ? state.withSignedRequest : undefined; + } else { + const args = argsOrState as IdpSamlArgs | undefined; + if ((!args || args.isAutoCreation === undefined) && !opts.urn) { + throw new Error("Missing required property 'isAutoCreation'"); + } + if ((!args || args.isAutoUpdate === undefined) && !opts.urn) { + throw new Error("Missing required property 'isAutoUpdate'"); + } + if ((!args || args.isCreationAllowed === undefined) && !opts.urn) { + throw new Error("Missing required property 'isCreationAllowed'"); + } + if ((!args || args.isLinkingAllowed === undefined) && !opts.urn) { + throw new Error("Missing required property 'isLinkingAllowed'"); + } + if ((!args || args.metadataXml === undefined) && !opts.urn) { + throw new Error("Missing required property 'metadataXml'"); + } + resourceInputs["binding"] = args ? args.binding : undefined; + resourceInputs["isAutoCreation"] = args ? args.isAutoCreation : undefined; + resourceInputs["isAutoUpdate"] = args ? args.isAutoUpdate : undefined; + resourceInputs["isCreationAllowed"] = args ? args.isCreationAllowed : undefined; + resourceInputs["isLinkingAllowed"] = args ? args.isLinkingAllowed : undefined; + resourceInputs["metadataXml"] = args ? args.metadataXml : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["withSignedRequest"] = args ? args.withSignedRequest : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(IdpSaml.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering IdpSaml resources. + */ +export interface IdpSamlState { + /** + * The binding, supported values: SAML*BINDING*UNSPECIFIED, SAML*BINDING*POST, SAML*BINDING*REDIRECT, SAML*BINDING*ARTIFACT + */ + binding?: pulumi.Input; + /** + * enable if a new account in ZITADEL should be created automatically on login with an external account + */ + isAutoCreation?: pulumi.Input; + /** + * enable if a the ZITADEL account fields should be updated automatically on each login + */ + isAutoUpdate?: pulumi.Input; + /** + * enable if users should be able to create a new account in ZITADEL when using an external account + */ + isCreationAllowed?: pulumi.Input; + /** + * enable if users should be able to link an existing ZITADEL user with an external account + */ + isLinkingAllowed?: pulumi.Input; + /** + * The metadata XML as plain string + */ + metadataXml?: pulumi.Input; + /** + * Name of the IDP + */ + name?: pulumi.Input; + /** + * Whether the SAML IDP requires signed requests + */ + withSignedRequest?: pulumi.Input; +} + +/** + * The set of arguments for constructing a IdpSaml resource. + */ +export interface IdpSamlArgs { + /** + * The binding, supported values: SAML*BINDING*UNSPECIFIED, SAML*BINDING*POST, SAML*BINDING*REDIRECT, SAML*BINDING*ARTIFACT + */ + binding?: pulumi.Input; + /** + * enable if a new account in ZITADEL should be created automatically on login with an external account + */ + isAutoCreation: pulumi.Input; + /** + * enable if a the ZITADEL account fields should be updated automatically on each login + */ + isAutoUpdate: pulumi.Input; + /** + * enable if users should be able to create a new account in ZITADEL when using an external account + */ + isCreationAllowed: pulumi.Input; + /** + * enable if users should be able to link an existing ZITADEL user with an external account + */ + isLinkingAllowed: pulumi.Input; + /** + * The metadata XML as plain string + */ + metadataXml: pulumi.Input; + /** + * Name of the IDP + */ + name?: pulumi.Input; + /** + * Whether the SAML IDP requires signed requests + */ + withSignedRequest?: pulumi.Input; +} diff --git a/sdk/nodejs/index.ts b/sdk/nodejs/index.ts index e231a15..bf7b113 100644 --- a/sdk/nodejs/index.ts +++ b/sdk/nodejs/index.ts @@ -160,6 +160,16 @@ export const getIdpLdap: typeof import("./getIdpLdap").getIdpLdap = null as any; export const getIdpLdapOutput: typeof import("./getIdpLdap").getIdpLdapOutput = null as any; utilities.lazyLoad(exports, ["getIdpLdap","getIdpLdapOutput"], () => require("./getIdpLdap")); +export { GetIdpOauthArgs, GetIdpOauthResult, GetIdpOauthOutputArgs } from "./getIdpOauth"; +export const getIdpOauth: typeof import("./getIdpOauth").getIdpOauth = null as any; +export const getIdpOauthOutput: typeof import("./getIdpOauth").getIdpOauthOutput = null as any; +utilities.lazyLoad(exports, ["getIdpOauth","getIdpOauthOutput"], () => require("./getIdpOauth")); + +export { GetIdpSamlArgs, GetIdpSamlResult, GetIdpSamlOutputArgs } from "./getIdpSaml"; +export const getIdpSaml: typeof import("./getIdpSaml").getIdpSaml = null as any; +export const getIdpSamlOutput: typeof import("./getIdpSaml").getIdpSamlOutput = null as any; +utilities.lazyLoad(exports, ["getIdpSaml","getIdpSamlOutput"], () => require("./getIdpSaml")); + export { GetMachineUserArgs, GetMachineUserResult, GetMachineUserOutputArgs } from "./getMachineUser"; export const getMachineUser: typeof import("./getMachineUser").getMachineUser = null as any; export const getMachineUserOutput: typeof import("./getMachineUser").getMachineUserOutput = null as any; @@ -210,6 +220,16 @@ export const getOrgIdpLdap: typeof import("./getOrgIdpLdap").getOrgIdpLdap = nul export const getOrgIdpLdapOutput: typeof import("./getOrgIdpLdap").getOrgIdpLdapOutput = null as any; utilities.lazyLoad(exports, ["getOrgIdpLdap","getOrgIdpLdapOutput"], () => require("./getOrgIdpLdap")); +export { GetOrgIdpOauthArgs, GetOrgIdpOauthResult, GetOrgIdpOauthOutputArgs } from "./getOrgIdpOauth"; +export const getOrgIdpOauth: typeof import("./getOrgIdpOauth").getOrgIdpOauth = null as any; +export const getOrgIdpOauthOutput: typeof import("./getOrgIdpOauth").getOrgIdpOauthOutput = null as any; +utilities.lazyLoad(exports, ["getOrgIdpOauth","getOrgIdpOauthOutput"], () => require("./getOrgIdpOauth")); + +export { GetOrgIdpSamlArgs, GetOrgIdpSamlResult, GetOrgIdpSamlOutputArgs } from "./getOrgIdpSaml"; +export const getOrgIdpSaml: typeof import("./getOrgIdpSaml").getOrgIdpSaml = null as any; +export const getOrgIdpSamlOutput: typeof import("./getOrgIdpSaml").getOrgIdpSamlOutput = null as any; +utilities.lazyLoad(exports, ["getOrgIdpSaml","getOrgIdpSamlOutput"], () => require("./getOrgIdpSaml")); + export { GetOrgJwtIdpArgs, GetOrgJwtIdpResult, GetOrgJwtIdpOutputArgs } from "./getOrgJwtIdp"; export const getOrgJwtIdp: typeof import("./getOrgJwtIdp").getOrgJwtIdp = null as any; export const getOrgJwtIdpOutput: typeof import("./getOrgJwtIdp").getOrgJwtIdpOutput = null as any; @@ -285,6 +305,16 @@ export type IdpLdap = import("./idpLdap").IdpLdap; export const IdpLdap: typeof import("./idpLdap").IdpLdap = null as any; utilities.lazyLoad(exports, ["IdpLdap"], () => require("./idpLdap")); +export { IdpOauthArgs, IdpOauthState } from "./idpOauth"; +export type IdpOauth = import("./idpOauth").IdpOauth; +export const IdpOauth: typeof import("./idpOauth").IdpOauth = null as any; +utilities.lazyLoad(exports, ["IdpOauth"], () => require("./idpOauth")); + +export { IdpSamlArgs, IdpSamlState } from "./idpSaml"; +export type IdpSaml = import("./idpSaml").IdpSaml; +export const IdpSaml: typeof import("./idpSaml").IdpSaml = null as any; +utilities.lazyLoad(exports, ["IdpSaml"], () => require("./idpSaml")); + export { InstanceMemberArgs, InstanceMemberState } from "./instanceMember"; export type InstanceMember = import("./instanceMember").InstanceMember; export const InstanceMember: typeof import("./instanceMember").InstanceMember = null as any; @@ -365,16 +395,31 @@ export type OrgIdpLdap = import("./orgIdpLdap").OrgIdpLdap; export const OrgIdpLdap: typeof import("./orgIdpLdap").OrgIdpLdap = null as any; utilities.lazyLoad(exports, ["OrgIdpLdap"], () => require("./orgIdpLdap")); +export { OrgIdpOauthArgs, OrgIdpOauthState } from "./orgIdpOauth"; +export type OrgIdpOauth = import("./orgIdpOauth").OrgIdpOauth; +export const OrgIdpOauth: typeof import("./orgIdpOauth").OrgIdpOauth = null as any; +utilities.lazyLoad(exports, ["OrgIdpOauth"], () => require("./orgIdpOauth")); + export { OrgIdpOidcArgs, OrgIdpOidcState } from "./orgIdpOidc"; export type OrgIdpOidc = import("./orgIdpOidc").OrgIdpOidc; export const OrgIdpOidc: typeof import("./orgIdpOidc").OrgIdpOidc = null as any; utilities.lazyLoad(exports, ["OrgIdpOidc"], () => require("./orgIdpOidc")); +export { OrgIdpSamlArgs, OrgIdpSamlState } from "./orgIdpSaml"; +export type OrgIdpSaml = import("./orgIdpSaml").OrgIdpSaml; +export const OrgIdpSaml: typeof import("./orgIdpSaml").OrgIdpSaml = null as any; +utilities.lazyLoad(exports, ["OrgIdpSaml"], () => require("./orgIdpSaml")); + export { OrgMemberArgs, OrgMemberState } from "./orgMember"; export type OrgMember = import("./orgMember").OrgMember; export const OrgMember: typeof import("./orgMember").OrgMember = null as any; utilities.lazyLoad(exports, ["OrgMember"], () => require("./orgMember")); +export { OrgMetadataArgs, OrgMetadataState } from "./orgMetadata"; +export type OrgMetadata = import("./orgMetadata").OrgMetadata; +export const OrgMetadata: typeof import("./orgMetadata").OrgMetadata = null as any; +utilities.lazyLoad(exports, ["OrgMetadata"], () => require("./orgMetadata")); + export { PasswordComplexityPolicyArgs, PasswordComplexityPolicyState } from "./passwordComplexityPolicy"; export type PasswordComplexityPolicy = import("./passwordComplexityPolicy").PasswordComplexityPolicy; export const PasswordComplexityPolicy: typeof import("./passwordComplexityPolicy").PasswordComplexityPolicy = null as any; @@ -440,6 +485,11 @@ export type UserGrant = import("./userGrant").UserGrant; export const UserGrant: typeof import("./userGrant").UserGrant = null as any; utilities.lazyLoad(exports, ["UserGrant"], () => require("./userGrant")); +export { UserMetadataArgs, UserMetadataState } from "./userMetadata"; +export type UserMetadata = import("./userMetadata").UserMetadata; +export const UserMetadata: typeof import("./userMetadata").UserMetadata = null as any; +utilities.lazyLoad(exports, ["UserMetadata"], () => require("./userMetadata")); + // Export sub-modules: import * as config from "./config"; @@ -498,6 +548,10 @@ const _module = { return new IdpGoogle(name, undefined, { urn }) case "zitadel:index/idpLdap:IdpLdap": return new IdpLdap(name, undefined, { urn }) + case "zitadel:index/idpOauth:IdpOauth": + return new IdpOauth(name, undefined, { urn }) + case "zitadel:index/idpSaml:IdpSaml": + return new IdpSaml(name, undefined, { urn }) case "zitadel:index/instanceMember:InstanceMember": return new InstanceMember(name, undefined, { urn }) case "zitadel:index/labelPolicy:LabelPolicy": @@ -530,10 +584,16 @@ const _module = { return new OrgIdpJwt(name, undefined, { urn }) case "zitadel:index/orgIdpLdap:OrgIdpLdap": return new OrgIdpLdap(name, undefined, { urn }) + case "zitadel:index/orgIdpOauth:OrgIdpOauth": + return new OrgIdpOauth(name, undefined, { urn }) case "zitadel:index/orgIdpOidc:OrgIdpOidc": return new OrgIdpOidc(name, undefined, { urn }) + case "zitadel:index/orgIdpSaml:OrgIdpSaml": + return new OrgIdpSaml(name, undefined, { urn }) case "zitadel:index/orgMember:OrgMember": return new OrgMember(name, undefined, { urn }) + case "zitadel:index/orgMetadata:OrgMetadata": + return new OrgMetadata(name, undefined, { urn }) case "zitadel:index/passwordComplexityPolicy:PasswordComplexityPolicy": return new PasswordComplexityPolicy(name, undefined, { urn }) case "zitadel:index/personalAccessToken:PersonalAccessToken": @@ -558,6 +618,8 @@ const _module = { return new TriggerActions(name, undefined, { urn }) case "zitadel:index/userGrant:UserGrant": return new UserGrant(name, undefined, { urn }) + case "zitadel:index/userMetadata:UserMetadata": + return new UserMetadata(name, undefined, { urn }) default: throw new Error(`unknown resource type ${type}`); } @@ -586,6 +648,8 @@ pulumi.runtime.registerResourceModule("zitadel", "index/idpGitlab", _module) pulumi.runtime.registerResourceModule("zitadel", "index/idpGitlabSelfHosted", _module) pulumi.runtime.registerResourceModule("zitadel", "index/idpGoogle", _module) pulumi.runtime.registerResourceModule("zitadel", "index/idpLdap", _module) +pulumi.runtime.registerResourceModule("zitadel", "index/idpOauth", _module) +pulumi.runtime.registerResourceModule("zitadel", "index/idpSaml", _module) pulumi.runtime.registerResourceModule("zitadel", "index/instanceMember", _module) pulumi.runtime.registerResourceModule("zitadel", "index/labelPolicy", _module) pulumi.runtime.registerResourceModule("zitadel", "index/lockoutPolicy", _module) @@ -602,8 +666,11 @@ pulumi.runtime.registerResourceModule("zitadel", "index/orgIdpGitlabSelfHosted", pulumi.runtime.registerResourceModule("zitadel", "index/orgIdpGoogle", _module) pulumi.runtime.registerResourceModule("zitadel", "index/orgIdpJwt", _module) pulumi.runtime.registerResourceModule("zitadel", "index/orgIdpLdap", _module) +pulumi.runtime.registerResourceModule("zitadel", "index/orgIdpOauth", _module) pulumi.runtime.registerResourceModule("zitadel", "index/orgIdpOidc", _module) +pulumi.runtime.registerResourceModule("zitadel", "index/orgIdpSaml", _module) pulumi.runtime.registerResourceModule("zitadel", "index/orgMember", _module) +pulumi.runtime.registerResourceModule("zitadel", "index/orgMetadata", _module) pulumi.runtime.registerResourceModule("zitadel", "index/passwordComplexityPolicy", _module) pulumi.runtime.registerResourceModule("zitadel", "index/personalAccessToken", _module) pulumi.runtime.registerResourceModule("zitadel", "index/privacyPolicy", _module) @@ -616,6 +683,7 @@ pulumi.runtime.registerResourceModule("zitadel", "index/smsProviderTwilio", _mod pulumi.runtime.registerResourceModule("zitadel", "index/smtpConfig", _module) pulumi.runtime.registerResourceModule("zitadel", "index/triggerActions", _module) pulumi.runtime.registerResourceModule("zitadel", "index/userGrant", _module) +pulumi.runtime.registerResourceModule("zitadel", "index/userMetadata", _module) pulumi.runtime.registerResourcePackage("zitadel", { version: utilities.getVersion(), constructProvider: (name: string, type: string, urn: string): pulumi.ProviderResource => { diff --git a/sdk/nodejs/instanceMember.ts b/sdk/nodejs/instanceMember.ts index 09f209b..57be789 100644 --- a/sdk/nodejs/instanceMember.ts +++ b/sdk/nodejs/instanceMember.ts @@ -21,7 +21,7 @@ import * as utilities from "./utilities"; * * ## Import * - * terraform The resource can be imported using the ID format ``, e.g. + * bash The resource can be imported using the ID format ``, e.g. * * ```sh * $ pulumi import zitadel:index/instanceMember:InstanceMember imported '123456789012345678' diff --git a/sdk/nodejs/labelPolicy.ts b/sdk/nodejs/labelPolicy.ts index 70a8908..5ee8798 100644 --- a/sdk/nodejs/labelPolicy.ts +++ b/sdk/nodejs/labelPolicy.ts @@ -9,7 +9,7 @@ import * as utilities from "./utilities"; * * ## Import * - * terraform The resource can be imported using the ID format `<[org_id]>`, e.g. + * bash The resource can be imported using the ID format `<[org_id]>`, e.g. * * ```sh * $ pulumi import zitadel:index/labelPolicy:LabelPolicy imported '123456789012345678' @@ -98,6 +98,10 @@ export class LabelPolicy extends pulumi.CustomResource { * set the label policy active after creating/updating */ public readonly setActive!: pulumi.Output; + /** + * theme mode, supported values: THEME*MODE*UNSPECIFIED, THEME*MODE*AUTO, THEME*MODE*DARK, THEME*MODE*LIGHT + */ + public readonly themeMode!: pulumi.Output; /** * hex value for warn color */ @@ -145,6 +149,7 @@ export class LabelPolicy extends pulumi.CustomResource { resourceInputs["primaryColor"] = state ? state.primaryColor : undefined; resourceInputs["primaryColorDark"] = state ? state.primaryColorDark : undefined; resourceInputs["setActive"] = state ? state.setActive : undefined; + resourceInputs["themeMode"] = state ? state.themeMode : undefined; resourceInputs["warnColor"] = state ? state.warnColor : undefined; resourceInputs["warnColorDark"] = state ? state.warnColorDark : undefined; } else { @@ -199,6 +204,7 @@ export class LabelPolicy extends pulumi.CustomResource { resourceInputs["primaryColor"] = args ? args.primaryColor : undefined; resourceInputs["primaryColorDark"] = args ? args.primaryColorDark : undefined; resourceInputs["setActive"] = args ? args.setActive : undefined; + resourceInputs["themeMode"] = args ? args.themeMode : undefined; resourceInputs["warnColor"] = args ? args.warnColor : undefined; resourceInputs["warnColorDark"] = args ? args.warnColorDark : undefined; resourceInputs["fontUrl"] = undefined /*out*/; @@ -271,6 +277,10 @@ export interface LabelPolicyState { * set the label policy active after creating/updating */ setActive?: pulumi.Input; + /** + * theme mode, supported values: THEME*MODE*UNSPECIFIED, THEME*MODE*AUTO, THEME*MODE*DARK, THEME*MODE*LIGHT + */ + themeMode?: pulumi.Input; /** * hex value for warn color */ @@ -335,6 +345,10 @@ export interface LabelPolicyArgs { * set the label policy active after creating/updating */ setActive?: pulumi.Input; + /** + * theme mode, supported values: THEME*MODE*UNSPECIFIED, THEME*MODE*AUTO, THEME*MODE*DARK, THEME*MODE*LIGHT + */ + themeMode?: pulumi.Input; /** * hex value for warn color */ diff --git a/sdk/nodejs/lockoutPolicy.ts b/sdk/nodejs/lockoutPolicy.ts index 6f53f70..47de709 100644 --- a/sdk/nodejs/lockoutPolicy.ts +++ b/sdk/nodejs/lockoutPolicy.ts @@ -21,7 +21,7 @@ import * as utilities from "./utilities"; * * ## Import * - * terraform The resource can be imported using the ID format `<[org_id]>`, e.g. + * bash The resource can be imported using the ID format `<[org_id]>`, e.g. * * ```sh * $ pulumi import zitadel:index/lockoutPolicy:LockoutPolicy imported '123456789012345678' diff --git a/sdk/nodejs/loginPolicy.ts b/sdk/nodejs/loginPolicy.ts index 599073b..7819a58 100644 --- a/sdk/nodejs/loginPolicy.ts +++ b/sdk/nodejs/loginPolicy.ts @@ -46,7 +46,7 @@ import * as utilities from "./utilities"; * * ## Import * - * terraform The resource can be imported using the ID format `<[org_id]>`, e.g. + * bash The resource can be imported using the ID format `<[org_id]>`, e.g. * * ```sh * $ pulumi import zitadel:index/loginPolicy:LoginPolicy imported '123456789012345678' diff --git a/sdk/nodejs/machineKey.ts b/sdk/nodejs/machineKey.ts index ab5c474..2b0f7ee 100644 --- a/sdk/nodejs/machineKey.ts +++ b/sdk/nodejs/machineKey.ts @@ -23,7 +23,7 @@ import * as utilities from "./utilities"; * * ## Import * - * terraform The resource can be imported using the ID format ``, e.g. + * bash The resource can be imported using the ID format ``, e.g. * * ```sh * $ pulumi import zitadel:index/machineKey:MachineKey imported '123456789012345678:123456789012345678:123456789012345678:{"type":"serviceaccount","keyId":"123456789012345678","key":"-----BEGIN RSA PRIVATE KEY-----\nMIIEpQ...-----END RSA PRIVATE KEY-----\n","userId":"123456789012345678"}' diff --git a/sdk/nodejs/machineUser.ts b/sdk/nodejs/machineUser.ts index 34e1078..57027fd 100644 --- a/sdk/nodejs/machineUser.ts +++ b/sdk/nodejs/machineUser.ts @@ -23,7 +23,7 @@ import * as utilities from "./utilities"; * * ## Import * - * terraform The resource can be imported using the ID format ``, e.g. + * bash The resource can be imported using the ID format ``, e.g. * * ```sh * $ pulumi import zitadel:index/machineUser:MachineUser imported '123456789012345678:123456789012345678:true:my-machine-user:j76mh34CHVrGGoXPQOg80lch67FIxwc2qIXjBkZoB6oMbf31eGMkB6bvRyaPjR2t' diff --git a/sdk/nodejs/notificationPolicy.ts b/sdk/nodejs/notificationPolicy.ts index 6d3ef17..5f9f8dd 100644 --- a/sdk/nodejs/notificationPolicy.ts +++ b/sdk/nodejs/notificationPolicy.ts @@ -21,7 +21,7 @@ import * as utilities from "./utilities"; * * ## Import * - * terraform The resource can be imported using the ID format `<[org_id]>`, e.g. + * bash The resource can be imported using the ID format `<[org_id]>`, e.g. * * ```sh * $ pulumi import zitadel:index/notificationPolicy:NotificationPolicy imported '123456789012345678' diff --git a/sdk/nodejs/org.ts b/sdk/nodejs/org.ts index ada7f39..fb0fc55 100644 --- a/sdk/nodejs/org.ts +++ b/sdk/nodejs/org.ts @@ -18,7 +18,7 @@ import * as utilities from "./utilities"; * * ## Import * - * terraform The resource can be imported using the ID format ``, e.g. + * bash The resource can be imported using the ID format ``, e.g. * * ```sh * $ pulumi import zitadel:index/org:Org imported '123456789012345678' diff --git a/sdk/nodejs/orgIdpAzureAd.ts b/sdk/nodejs/orgIdpAzureAd.ts index c577a3d..4b97042 100644 --- a/sdk/nodejs/orgIdpAzureAd.ts +++ b/sdk/nodejs/orgIdpAzureAd.ts @@ -34,7 +34,7 @@ import * as utilities from "./utilities"; * * ## Import * - * terraform The resource can be imported using the ID format ``, e.g. + * bash The resource can be imported using the ID format ``, e.g. * * ```sh * $ pulumi import zitadel:index/orgIdpAzureAd:OrgIdpAzureAd imported '123456789012345678:123456789012345678:12345678-1234-1234-1234-123456789012' diff --git a/sdk/nodejs/orgIdpGithub.ts b/sdk/nodejs/orgIdpGithub.ts index 7435374..8e7ec60 100644 --- a/sdk/nodejs/orgIdpGithub.ts +++ b/sdk/nodejs/orgIdpGithub.ts @@ -31,7 +31,7 @@ import * as utilities from "./utilities"; * * ## Import * - * terraform The resource can be imported using the ID format ``, e.g. + * bash The resource can be imported using the ID format ``, e.g. * * ```sh * $ pulumi import zitadel:index/orgIdpGithub:OrgIdpGithub imported '123456789012345678:123456789012345678:1234567890123456781234567890123456787890' diff --git a/sdk/nodejs/orgIdpGithubEs.ts b/sdk/nodejs/orgIdpGithubEs.ts index b829623..576941b 100644 --- a/sdk/nodejs/orgIdpGithubEs.ts +++ b/sdk/nodejs/orgIdpGithubEs.ts @@ -34,7 +34,7 @@ import * as utilities from "./utilities"; * * ## Import * - * terraform The resource can be imported using the ID format ``, e.g. + * bash The resource can be imported using the ID format ``, e.g. * * ```sh * $ pulumi import zitadel:index/orgIdpGithubEs:OrgIdpGithubEs imported '123456789012345678:123456789012345678:123456789012345678:123456789012345678' diff --git a/sdk/nodejs/orgIdpGitlab.ts b/sdk/nodejs/orgIdpGitlab.ts index b7808b8..f4aa3a3 100644 --- a/sdk/nodejs/orgIdpGitlab.ts +++ b/sdk/nodejs/orgIdpGitlab.ts @@ -31,7 +31,7 @@ import * as utilities from "./utilities"; * * ## Import * - * terraform The resource can be imported using the ID format ``, e.g. + * bash The resource can be imported using the ID format ``, e.g. * * ```sh * $ pulumi import zitadel:index/orgIdpGitlab:OrgIdpGitlab imported '123456789012345678:123456789012345678:1234567890abcdef' diff --git a/sdk/nodejs/orgIdpGitlabSelfHosted.ts b/sdk/nodejs/orgIdpGitlabSelfHosted.ts index 2e5ffba..a111e5c 100644 --- a/sdk/nodejs/orgIdpGitlabSelfHosted.ts +++ b/sdk/nodejs/orgIdpGitlabSelfHosted.ts @@ -32,7 +32,7 @@ import * as utilities from "./utilities"; * * ## Import * - * terraform The resource can be imported using the ID format ``, e.g. + * bash The resource can be imported using the ID format ``, e.g. * * ```sh * $ pulumi import zitadel:index/orgIdpGitlabSelfHosted:OrgIdpGitlabSelfHosted imported '123456789012345678:123456789012345678:1234567890abcdef' diff --git a/sdk/nodejs/orgIdpGoogle.ts b/sdk/nodejs/orgIdpGoogle.ts index 79d8202..785d765 100644 --- a/sdk/nodejs/orgIdpGoogle.ts +++ b/sdk/nodejs/orgIdpGoogle.ts @@ -31,7 +31,7 @@ import * as utilities from "./utilities"; * * ## Import * - * terraform The resource can be imported using the ID format ``, e.g. + * bash The resource can be imported using the ID format ``, e.g. * * ```sh * $ pulumi import zitadel:index/orgIdpGoogle:OrgIdpGoogle imported '123456789012345678:123456789012345678:G1234567890123' diff --git a/sdk/nodejs/orgIdpJwt.ts b/sdk/nodejs/orgIdpJwt.ts index 43725ea..51e83c7 100644 --- a/sdk/nodejs/orgIdpJwt.ts +++ b/sdk/nodejs/orgIdpJwt.ts @@ -26,7 +26,7 @@ import * as utilities from "./utilities"; * * ## Import * - * terraform The resource can be imported using the ID format ``, e.g. + * bash The resource can be imported using the ID format ``, e.g. * * ```sh * $ pulumi import zitadel:index/orgIdpJwt:OrgIdpJwt imported '123456789012345678:123456789012345678' diff --git a/sdk/nodejs/orgIdpLdap.ts b/sdk/nodejs/orgIdpLdap.ts index 8fc1c2f..f0093d3 100644 --- a/sdk/nodejs/orgIdpLdap.ts +++ b/sdk/nodejs/orgIdpLdap.ts @@ -42,7 +42,7 @@ import * as utilities from "./utilities"; * * ## Import * - * terraform The resource can be imported using the ID format ``, e.g. + * bash The resource can be imported using the ID format ``, e.g. * * ```sh * $ pulumi import zitadel:index/orgIdpLdap:OrgIdpLdap imported '123456789012345678:123456789012345678:b1nd_p4ssw0rd' diff --git a/sdk/nodejs/orgIdpOauth.ts b/sdk/nodejs/orgIdpOauth.ts new file mode 100644 index 0000000..d82032c --- /dev/null +++ b/sdk/nodejs/orgIdpOauth.ts @@ -0,0 +1,318 @@ +// *** 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"; + +/** + * Resource representing a generic OAuth2 IDP on the organization. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as zitadel from "@pulumiverse/zitadel"; + * + * const _default = new zitadel.OrgIdpOauth("default", { + * orgId: data.zitadel_org["default"].id, + * clientId: "15765e...", + * clientSecret: "*****abcxyz", + * authorizationEndpoint: "https://accounts.google.com/o/oauth2/v2/auth", + * tokenEndpoint: "https://oauth2.googleapis.com/token", + * userEndpoint: "https://openidconnect.googleapis.com/v1/userinfo", + * idAttribute: "user_id", + * scopes: [ + * "openid", + * "profile", + * "email", + * ], + * isLinkingAllowed: false, + * isCreationAllowed: true, + * isAutoCreation: false, + * isAutoUpdate: true, + * }); + * ``` + * + * ## Import + * + * bash The resource can be imported using the ID format ``, e.g. + * + * ```sh + * $ pulumi import zitadel:index/orgIdpOauth:OrgIdpOauth imported '123456789012345678:123456789012345678:1234567890abcdef' + * ``` + */ +export class OrgIdpOauth extends pulumi.CustomResource { + /** + * Get an existing OrgIdpOauth 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?: OrgIdpOauthState, opts?: pulumi.CustomResourceOptions): OrgIdpOauth { + return new OrgIdpOauth(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'zitadel:index/orgIdpOauth:OrgIdpOauth'; + + /** + * Returns true if the given object is an instance of OrgIdpOauth. 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 OrgIdpOauth { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === OrgIdpOauth.__pulumiType; + } + + /** + * The authorization endpoint + */ + public readonly authorizationEndpoint!: pulumi.Output; + /** + * client id generated by the identity provider + */ + public readonly clientId!: pulumi.Output; + /** + * client secret generated by the identity provider + */ + public readonly clientSecret!: pulumi.Output; + /** + * The id attribute + */ + public readonly idAttribute!: pulumi.Output; + /** + * enable if a new account in ZITADEL should be created automatically on login with an external account + */ + public readonly isAutoCreation!: pulumi.Output; + /** + * enable if a the ZITADEL account fields should be updated automatically on each login + */ + public readonly isAutoUpdate!: pulumi.Output; + /** + * enable if users should be able to create a new account in ZITADEL when using an external account + */ + public readonly isCreationAllowed!: pulumi.Output; + /** + * enable if users should be able to link an existing ZITADEL user with an external account + */ + public readonly isLinkingAllowed!: pulumi.Output; + /** + * Name of the IDP + */ + public readonly name!: pulumi.Output; + /** + * ID of the organization + */ + public readonly orgId!: pulumi.Output; + /** + * the scopes requested by ZITADEL during the request on the identity provider + */ + public readonly scopes!: pulumi.Output; + /** + * The token endpoint + */ + public readonly tokenEndpoint!: pulumi.Output; + /** + * The user endpoint + */ + public readonly userEndpoint!: pulumi.Output; + + /** + * Create a OrgIdpOauth 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: OrgIdpOauthArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: OrgIdpOauthArgs | OrgIdpOauthState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as OrgIdpOauthState | undefined; + resourceInputs["authorizationEndpoint"] = state ? state.authorizationEndpoint : undefined; + resourceInputs["clientId"] = state ? state.clientId : undefined; + resourceInputs["clientSecret"] = state ? state.clientSecret : undefined; + resourceInputs["idAttribute"] = state ? state.idAttribute : undefined; + resourceInputs["isAutoCreation"] = state ? state.isAutoCreation : undefined; + resourceInputs["isAutoUpdate"] = state ? state.isAutoUpdate : undefined; + resourceInputs["isCreationAllowed"] = state ? state.isCreationAllowed : undefined; + resourceInputs["isLinkingAllowed"] = state ? state.isLinkingAllowed : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["orgId"] = state ? state.orgId : undefined; + resourceInputs["scopes"] = state ? state.scopes : undefined; + resourceInputs["tokenEndpoint"] = state ? state.tokenEndpoint : undefined; + resourceInputs["userEndpoint"] = state ? state.userEndpoint : undefined; + } else { + const args = argsOrState as OrgIdpOauthArgs | undefined; + if ((!args || args.authorizationEndpoint === undefined) && !opts.urn) { + throw new Error("Missing required property 'authorizationEndpoint'"); + } + if ((!args || args.clientId === undefined) && !opts.urn) { + throw new Error("Missing required property 'clientId'"); + } + if ((!args || args.clientSecret === undefined) && !opts.urn) { + throw new Error("Missing required property 'clientSecret'"); + } + if ((!args || args.idAttribute === undefined) && !opts.urn) { + throw new Error("Missing required property 'idAttribute'"); + } + if ((!args || args.isAutoCreation === undefined) && !opts.urn) { + throw new Error("Missing required property 'isAutoCreation'"); + } + if ((!args || args.isAutoUpdate === undefined) && !opts.urn) { + throw new Error("Missing required property 'isAutoUpdate'"); + } + if ((!args || args.isCreationAllowed === undefined) && !opts.urn) { + throw new Error("Missing required property 'isCreationAllowed'"); + } + if ((!args || args.isLinkingAllowed === undefined) && !opts.urn) { + throw new Error("Missing required property 'isLinkingAllowed'"); + } + if ((!args || args.tokenEndpoint === undefined) && !opts.urn) { + throw new Error("Missing required property 'tokenEndpoint'"); + } + if ((!args || args.userEndpoint === undefined) && !opts.urn) { + throw new Error("Missing required property 'userEndpoint'"); + } + resourceInputs["authorizationEndpoint"] = args ? args.authorizationEndpoint : undefined; + resourceInputs["clientId"] = args ? args.clientId : undefined; + resourceInputs["clientSecret"] = args?.clientSecret ? pulumi.secret(args.clientSecret) : undefined; + resourceInputs["idAttribute"] = args ? args.idAttribute : undefined; + resourceInputs["isAutoCreation"] = args ? args.isAutoCreation : undefined; + resourceInputs["isAutoUpdate"] = args ? args.isAutoUpdate : undefined; + resourceInputs["isCreationAllowed"] = args ? args.isCreationAllowed : undefined; + resourceInputs["isLinkingAllowed"] = args ? args.isLinkingAllowed : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["orgId"] = args ? args.orgId : undefined; + resourceInputs["scopes"] = args ? args.scopes : undefined; + resourceInputs["tokenEndpoint"] = args ? args.tokenEndpoint : undefined; + resourceInputs["userEndpoint"] = args ? args.userEndpoint : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const secretOpts = { additionalSecretOutputs: ["clientSecret"] }; + opts = pulumi.mergeOptions(opts, secretOpts); + super(OrgIdpOauth.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering OrgIdpOauth resources. + */ +export interface OrgIdpOauthState { + /** + * The authorization endpoint + */ + authorizationEndpoint?: pulumi.Input; + /** + * client id generated by the identity provider + */ + clientId?: pulumi.Input; + /** + * client secret generated by the identity provider + */ + clientSecret?: pulumi.Input; + /** + * The id attribute + */ + idAttribute?: pulumi.Input; + /** + * enable if a new account in ZITADEL should be created automatically on login with an external account + */ + isAutoCreation?: pulumi.Input; + /** + * enable if a the ZITADEL account fields should be updated automatically on each login + */ + isAutoUpdate?: pulumi.Input; + /** + * enable if users should be able to create a new account in ZITADEL when using an external account + */ + isCreationAllowed?: pulumi.Input; + /** + * enable if users should be able to link an existing ZITADEL user with an external account + */ + isLinkingAllowed?: pulumi.Input; + /** + * Name of the IDP + */ + name?: pulumi.Input; + /** + * ID of the organization + */ + orgId?: pulumi.Input; + /** + * the scopes requested by ZITADEL during the request on the identity provider + */ + scopes?: pulumi.Input[]>; + /** + * The token endpoint + */ + tokenEndpoint?: pulumi.Input; + /** + * The user endpoint + */ + userEndpoint?: pulumi.Input; +} + +/** + * The set of arguments for constructing a OrgIdpOauth resource. + */ +export interface OrgIdpOauthArgs { + /** + * The authorization endpoint + */ + authorizationEndpoint: pulumi.Input; + /** + * client id generated by the identity provider + */ + clientId: pulumi.Input; + /** + * client secret generated by the identity provider + */ + clientSecret: pulumi.Input; + /** + * The id attribute + */ + idAttribute: pulumi.Input; + /** + * enable if a new account in ZITADEL should be created automatically on login with an external account + */ + isAutoCreation: pulumi.Input; + /** + * enable if a the ZITADEL account fields should be updated automatically on each login + */ + isAutoUpdate: pulumi.Input; + /** + * enable if users should be able to create a new account in ZITADEL when using an external account + */ + isCreationAllowed: pulumi.Input; + /** + * enable if users should be able to link an existing ZITADEL user with an external account + */ + isLinkingAllowed: pulumi.Input; + /** + * Name of the IDP + */ + name?: pulumi.Input; + /** + * ID of the organization + */ + orgId?: pulumi.Input; + /** + * the scopes requested by ZITADEL during the request on the identity provider + */ + scopes?: pulumi.Input[]>; + /** + * The token endpoint + */ + tokenEndpoint: pulumi.Input; + /** + * The user endpoint + */ + userEndpoint: pulumi.Input; +} diff --git a/sdk/nodejs/orgIdpOidc.ts b/sdk/nodejs/orgIdpOidc.ts index f4ca12f..f46e377 100644 --- a/sdk/nodejs/orgIdpOidc.ts +++ b/sdk/nodejs/orgIdpOidc.ts @@ -33,7 +33,7 @@ import * as utilities from "./utilities"; * * ## Import * - * terraform The resource can be imported using the ID format ``, e.g. + * bash The resource can be imported using the ID format ``, e.g. * * ```sh * $ pulumi import zitadel:index/orgIdpOidc:OrgIdpOidc imported '123456789012345678:123456789012345678:1234567890abcdef' diff --git a/sdk/nodejs/orgIdpSaml.ts b/sdk/nodejs/orgIdpSaml.ts new file mode 100644 index 0000000..ea7c17c --- /dev/null +++ b/sdk/nodejs/orgIdpSaml.ts @@ -0,0 +1,274 @@ +// *** 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"; + +/** + * Resource representing a SAML IdP on the organization. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as zitadel from "@pulumiverse/zitadel"; + * + * const _default = new zitadel.OrgIdpSaml("default", { + * orgId: data.zitadel_org["default"].id, + * binding: "SAML_BINDING_POST", + * withSignedRequest: true, + * isLinkingAllowed: false, + * isCreationAllowed: true, + * isAutoCreation: false, + * isAutoUpdate: true, + * metadataXml: ` + * + * + * + * + * + * MIIC4jCCAcoCCQC33wnybT5QZDANBgkqhkiG9w0BAQsFADAyMQswCQYDVQQGEwJV + * SzEPMA0GA1UECgwGQm94eUhRMRIwEAYDVQQDDAlNb2NrIFNBTUwwIBcNMjIwMjI4 + * MjE0NjM4WhgPMzAyMTA3MDEyMTQ2MzhaMDIxCzAJBgNVBAYTAlVLMQ8wDQYDVQQK + * DAZCb3h5SFExEjAQBgNVBAMMCU1vY2sgU0FNTDCCASIwDQYJKoZIhvcNAQEBBQAD + * ggEPADCCAQoCggEBALGfYettMsct1T6tVUwTudNJH5Pnb9GGnkXi9Zw/e6x45DD0 + * RuRONbFlJ2T4RjAE/uG+AjXxXQ8o2SZfb9+GgmCHuTJFNgHoZ1nFVXCmb/Hg8Hpd + * 4vOAGXndixaReOiq3EH5XvpMjMkJ3+8+9VYMzMZOjkgQtAqO36eAFFfNKX7dTj3V + * pwLkvz6/KFCq8OAwY+AUi4eZm5J57D31GzjHwfjH9WTeX0MyndmnNB1qV75qQR3b + * 2/W5sGHRv+9AarggJkF+ptUkXoLtVA51wcfYm6hILptpde5FQC8RWY1YrswBWAEZ + * NfyrR4JeSweElNHg4NVOs4TwGjOPwWGqzTfgTlECAwEAATANBgkqhkiG9w0BAQsF + * AAOCAQEAAYRlYflSXAWoZpFfwNiCQVE5d9zZ0DPzNdWhAybXcTyMf0z5mDf6FWBW + * 5Gyoi9u3EMEDnzLcJNkwJAAc39Apa4I2/tml+Jy29dk8bTyX6m93ngmCgdLh5Za4 + * khuU3AM3L63g7VexCuO7kwkjh/+LqdcIXsVGO6XDfu2QOs1Xpe9zIzLpwm/RNYeX + * UjbSj5ce/jekpAw7qyVVL4xOyh8AtUW1ek3wIw1MJvEgEPt0d16oshWJpoS1OT8L + * r/22SvYEo3EmSGdTVGgk3x3s+A0qWAqTcyjr7Q4s/GKYRFfomGwz0TZ4Iw1ZN99M + * m0eo2USlSRTVl7QHRTuiuSThHpLKQQ== + * + * + * + * urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress + * + * + * + * + * `, + * }); + * ``` + * ## Loading the XML Metadata + * + * If you don't want to pass the XML metadata inline, you have plenty of options. For example: + * - localFile Data Source + * - http Data Source + * - terracurlRequest Data Source + * - ... + * + * ## Import + * + * bash The resource can be imported using the ID format ``, e.g. + * + * ```sh + * $ pulumi import zitadel:index/orgIdpSaml:OrgIdpSaml imported '123456789012345678:123456789012345678' + * ``` + */ +export class OrgIdpSaml extends pulumi.CustomResource { + /** + * Get an existing OrgIdpSaml 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?: OrgIdpSamlState, opts?: pulumi.CustomResourceOptions): OrgIdpSaml { + return new OrgIdpSaml(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'zitadel:index/orgIdpSaml:OrgIdpSaml'; + + /** + * Returns true if the given object is an instance of OrgIdpSaml. 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 OrgIdpSaml { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === OrgIdpSaml.__pulumiType; + } + + /** + * The binding, supported values: SAML*BINDING*UNSPECIFIED, SAML*BINDING*POST, SAML*BINDING*REDIRECT, SAML*BINDING*ARTIFACT + */ + public readonly binding!: pulumi.Output; + /** + * enable if a new account in ZITADEL should be created automatically on login with an external account + */ + public readonly isAutoCreation!: pulumi.Output; + /** + * enable if a the ZITADEL account fields should be updated automatically on each login + */ + public readonly isAutoUpdate!: pulumi.Output; + /** + * enable if users should be able to create a new account in ZITADEL when using an external account + */ + public readonly isCreationAllowed!: pulumi.Output; + /** + * enable if users should be able to link an existing ZITADEL user with an external account + */ + public readonly isLinkingAllowed!: pulumi.Output; + /** + * The metadata XML as plain string + */ + public readonly metadataXml!: pulumi.Output; + /** + * Name of the IDP + */ + public readonly name!: pulumi.Output; + /** + * ID of the organization + */ + public readonly orgId!: pulumi.Output; + /** + * Whether the SAML IDP requires signed requests + */ + public readonly withSignedRequest!: pulumi.Output; + + /** + * Create a OrgIdpSaml 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: OrgIdpSamlArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: OrgIdpSamlArgs | OrgIdpSamlState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as OrgIdpSamlState | undefined; + resourceInputs["binding"] = state ? state.binding : undefined; + resourceInputs["isAutoCreation"] = state ? state.isAutoCreation : undefined; + resourceInputs["isAutoUpdate"] = state ? state.isAutoUpdate : undefined; + resourceInputs["isCreationAllowed"] = state ? state.isCreationAllowed : undefined; + resourceInputs["isLinkingAllowed"] = state ? state.isLinkingAllowed : undefined; + resourceInputs["metadataXml"] = state ? state.metadataXml : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["orgId"] = state ? state.orgId : undefined; + resourceInputs["withSignedRequest"] = state ? state.withSignedRequest : undefined; + } else { + const args = argsOrState as OrgIdpSamlArgs | undefined; + if ((!args || args.isAutoCreation === undefined) && !opts.urn) { + throw new Error("Missing required property 'isAutoCreation'"); + } + if ((!args || args.isAutoUpdate === undefined) && !opts.urn) { + throw new Error("Missing required property 'isAutoUpdate'"); + } + if ((!args || args.isCreationAllowed === undefined) && !opts.urn) { + throw new Error("Missing required property 'isCreationAllowed'"); + } + if ((!args || args.isLinkingAllowed === undefined) && !opts.urn) { + throw new Error("Missing required property 'isLinkingAllowed'"); + } + if ((!args || args.metadataXml === undefined) && !opts.urn) { + throw new Error("Missing required property 'metadataXml'"); + } + resourceInputs["binding"] = args ? args.binding : undefined; + resourceInputs["isAutoCreation"] = args ? args.isAutoCreation : undefined; + resourceInputs["isAutoUpdate"] = args ? args.isAutoUpdate : undefined; + resourceInputs["isCreationAllowed"] = args ? args.isCreationAllowed : undefined; + resourceInputs["isLinkingAllowed"] = args ? args.isLinkingAllowed : undefined; + resourceInputs["metadataXml"] = args ? args.metadataXml : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["orgId"] = args ? args.orgId : undefined; + resourceInputs["withSignedRequest"] = args ? args.withSignedRequest : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(OrgIdpSaml.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering OrgIdpSaml resources. + */ +export interface OrgIdpSamlState { + /** + * The binding, supported values: SAML*BINDING*UNSPECIFIED, SAML*BINDING*POST, SAML*BINDING*REDIRECT, SAML*BINDING*ARTIFACT + */ + binding?: pulumi.Input; + /** + * enable if a new account in ZITADEL should be created automatically on login with an external account + */ + isAutoCreation?: pulumi.Input; + /** + * enable if a the ZITADEL account fields should be updated automatically on each login + */ + isAutoUpdate?: pulumi.Input; + /** + * enable if users should be able to create a new account in ZITADEL when using an external account + */ + isCreationAllowed?: pulumi.Input; + /** + * enable if users should be able to link an existing ZITADEL user with an external account + */ + isLinkingAllowed?: pulumi.Input; + /** + * The metadata XML as plain string + */ + metadataXml?: pulumi.Input; + /** + * Name of the IDP + */ + name?: pulumi.Input; + /** + * ID of the organization + */ + orgId?: pulumi.Input; + /** + * Whether the SAML IDP requires signed requests + */ + withSignedRequest?: pulumi.Input; +} + +/** + * The set of arguments for constructing a OrgIdpSaml resource. + */ +export interface OrgIdpSamlArgs { + /** + * The binding, supported values: SAML*BINDING*UNSPECIFIED, SAML*BINDING*POST, SAML*BINDING*REDIRECT, SAML*BINDING*ARTIFACT + */ + binding?: pulumi.Input; + /** + * enable if a new account in ZITADEL should be created automatically on login with an external account + */ + isAutoCreation: pulumi.Input; + /** + * enable if a the ZITADEL account fields should be updated automatically on each login + */ + isAutoUpdate: pulumi.Input; + /** + * enable if users should be able to create a new account in ZITADEL when using an external account + */ + isCreationAllowed: pulumi.Input; + /** + * enable if users should be able to link an existing ZITADEL user with an external account + */ + isLinkingAllowed: pulumi.Input; + /** + * The metadata XML as plain string + */ + metadataXml: pulumi.Input; + /** + * Name of the IDP + */ + name?: pulumi.Input; + /** + * ID of the organization + */ + orgId?: pulumi.Input; + /** + * Whether the SAML IDP requires signed requests + */ + withSignedRequest?: pulumi.Input; +} diff --git a/sdk/nodejs/orgMember.ts b/sdk/nodejs/orgMember.ts index e230dfd..92471a5 100644 --- a/sdk/nodejs/orgMember.ts +++ b/sdk/nodejs/orgMember.ts @@ -22,7 +22,7 @@ import * as utilities from "./utilities"; * * ## Import * - * terraform The resource can be imported using the ID format ``, e.g. + * bash The resource can be imported using the ID format ``, e.g. * * ```sh * $ pulumi import zitadel:index/orgMember:OrgMember imported '123456789012345678:123456789012345678' diff --git a/sdk/nodejs/orgMetadata.ts b/sdk/nodejs/orgMetadata.ts new file mode 100644 index 0000000..08a6fd3 --- /dev/null +++ b/sdk/nodejs/orgMetadata.ts @@ -0,0 +1,137 @@ +// *** 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"; + +/** + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as zitadel from "@pulumiverse/zitadel"; + * + * const _default = new zitadel.OrgMetadata("default", { + * orgId: data.zitadel_org["default"].id, + * key: "a_key", + * value: "a_value", + * }); + * ``` + * + * ## Import + * + * bash The resource can be imported using the ID format ``, e.g. + * + * ```sh + * $ pulumi import zitadel:index/orgMetadata:OrgMetadata imported 'a_key:123456789012345678' + * ``` + */ +export class OrgMetadata extends pulumi.CustomResource { + /** + * Get an existing OrgMetadata 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?: OrgMetadataState, opts?: pulumi.CustomResourceOptions): OrgMetadata { + return new OrgMetadata(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'zitadel:index/orgMetadata:OrgMetadata'; + + /** + * Returns true if the given object is an instance of OrgMetadata. 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 OrgMetadata { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === OrgMetadata.__pulumiType; + } + + /** + * The key of a metadata entry + */ + public readonly key!: pulumi.Output; + /** + * ID of the organization + */ + public readonly orgId!: pulumi.Output; + /** + * The string representation of a metadata entry value. For binary data, use the base64encode function. + */ + public readonly value!: pulumi.Output; + + /** + * Create a OrgMetadata 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: OrgMetadataArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: OrgMetadataArgs | OrgMetadataState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as OrgMetadataState | undefined; + resourceInputs["key"] = state ? state.key : undefined; + resourceInputs["orgId"] = state ? state.orgId : undefined; + resourceInputs["value"] = state ? state.value : undefined; + } else { + const args = argsOrState as OrgMetadataArgs | undefined; + if ((!args || args.key === undefined) && !opts.urn) { + throw new Error("Missing required property 'key'"); + } + if ((!args || args.value === undefined) && !opts.urn) { + throw new Error("Missing required property 'value'"); + } + resourceInputs["key"] = args ? args.key : undefined; + resourceInputs["orgId"] = args ? args.orgId : undefined; + resourceInputs["value"] = args ? args.value : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(OrgMetadata.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering OrgMetadata resources. + */ +export interface OrgMetadataState { + /** + * The key of a metadata entry + */ + key?: pulumi.Input; + /** + * ID of the organization + */ + orgId?: pulumi.Input; + /** + * The string representation of a metadata entry value. For binary data, use the base64encode function. + */ + value?: pulumi.Input; +} + +/** + * The set of arguments for constructing a OrgMetadata resource. + */ +export interface OrgMetadataArgs { + /** + * The key of a metadata entry + */ + key: pulumi.Input; + /** + * ID of the organization + */ + orgId?: pulumi.Input; + /** + * The string representation of a metadata entry value. For binary data, use the base64encode function. + */ + value: pulumi.Input; +} diff --git a/sdk/nodejs/personalAccessToken.ts b/sdk/nodejs/personalAccessToken.ts index 529dbdf..92f3998 100644 --- a/sdk/nodejs/personalAccessToken.ts +++ b/sdk/nodejs/personalAccessToken.ts @@ -22,7 +22,7 @@ import * as utilities from "./utilities"; * * ## Import * - * terraform The resource can be imported using the ID format ``, e.g. + * bash The resource can be imported using the ID format ``, e.g. * * ```sh * $ pulumi import zitadel:index/personalAccessToken:PersonalAccessToken imported '123456789012345678:123456789012345678:123456789012345678:LHt79...' diff --git a/sdk/nodejs/privacyPolicy.ts b/sdk/nodejs/privacyPolicy.ts index e3e1aae..0c4762f 100644 --- a/sdk/nodejs/privacyPolicy.ts +++ b/sdk/nodejs/privacyPolicy.ts @@ -24,7 +24,7 @@ import * as utilities from "./utilities"; * * ## Import * - * terraform The resource can be imported using the ID format `<[org_id]>`, e.g. + * bash The resource can be imported using the ID format `<[org_id]>`, e.g. * * ```sh * $ pulumi import zitadel:index/privacyPolicy:PrivacyPolicy imported '123456789012345678' diff --git a/sdk/nodejs/project.ts b/sdk/nodejs/project.ts index 4aeebba..2382d40 100644 --- a/sdk/nodejs/project.ts +++ b/sdk/nodejs/project.ts @@ -24,7 +24,7 @@ import * as utilities from "./utilities"; * * ## Import * - * terraform The resource can be imported using the ID format ``, e.g. + * bash The resource can be imported using the ID format ``, e.g. * * ```sh * $ pulumi import zitadel:index/project:Project imported '123456789012345678:123456789012345678' diff --git a/sdk/nodejs/projectGrant.ts b/sdk/nodejs/projectGrant.ts index 9cc3e88..6d120d3 100644 --- a/sdk/nodejs/projectGrant.ts +++ b/sdk/nodejs/projectGrant.ts @@ -23,7 +23,7 @@ import * as utilities from "./utilities"; * * ## Import * - * terraform The resource can be imported using the ID format ``, e.g. + * bash The resource can be imported using the ID format ``, e.g. * * ```sh * $ pulumi import zitadel:index/projectGrant:ProjectGrant imported '123456789012345678:123456789012345678:123456789012345678' diff --git a/sdk/nodejs/projectGrantMember.ts b/sdk/nodejs/projectGrantMember.ts index 72750b3..fef76b2 100644 --- a/sdk/nodejs/projectGrantMember.ts +++ b/sdk/nodejs/projectGrantMember.ts @@ -24,7 +24,7 @@ import * as utilities from "./utilities"; * * ## Import * - * terraform The resource can be imported using the ID format ``, e.g. + * bash The resource can be imported using the ID format ``, e.g. * * ```sh * $ pulumi import zitadel:index/projectGrantMember:ProjectGrantMember imported '123456789012345678:123456789012345678:123456789012345678:123456789012345678' diff --git a/sdk/nodejs/projectMember.ts b/sdk/nodejs/projectMember.ts index a1785a6..a076aeb 100644 --- a/sdk/nodejs/projectMember.ts +++ b/sdk/nodejs/projectMember.ts @@ -23,7 +23,7 @@ import * as utilities from "./utilities"; * * ## Import * - * terraform The resource can be imported using the ID format ``, e.g. + * bash The resource can be imported using the ID format ``, e.g. * * ```sh * $ pulumi import zitadel:index/projectMember:ProjectMember imported '123456789012345678:123456789012345678:123456789012345678' diff --git a/sdk/nodejs/projectRole.ts b/sdk/nodejs/projectRole.ts index 09499f5..7cd6c9d 100644 --- a/sdk/nodejs/projectRole.ts +++ b/sdk/nodejs/projectRole.ts @@ -24,7 +24,7 @@ import * as utilities from "./utilities"; * * ## Import * - * terraform The resource can be imported using the ID format ``, e.g. + * bash The resource can be imported using the ID format ``, e.g. * * ```sh * $ pulumi import zitadel:index/projectRole:ProjectRole imported '123456789012345678:my-role-key:123456789012345678' diff --git a/sdk/nodejs/smsProviderTwilio.ts b/sdk/nodejs/smsProviderTwilio.ts index b1e7522..2443733 100644 --- a/sdk/nodejs/smsProviderTwilio.ts +++ b/sdk/nodejs/smsProviderTwilio.ts @@ -22,7 +22,7 @@ import * as utilities from "./utilities"; * * ## Import * - * terraform The resource can be imported using the ID format ``, e.g. + * bash The resource can be imported using the ID format ``, e.g. * * ```sh * $ pulumi import zitadel:index/smsProviderTwilio:SmsProviderTwilio imported '123456789012345678:12345678901234567890123456abcdef' diff --git a/sdk/nodejs/smtpConfig.ts b/sdk/nodejs/smtpConfig.ts index 5f2af73..9d615c3 100644 --- a/sdk/nodejs/smtpConfig.ts +++ b/sdk/nodejs/smtpConfig.ts @@ -26,7 +26,7 @@ import * as utilities from "./utilities"; * * ## Import * - * terraform The resource can be imported using the ID format `<[password]>`, e.g. + * bash The resource can be imported using the ID format `<[password]>`, e.g. * * ```sh * $ pulumi import zitadel:index/smtpConfig:SmtpConfig imported 'p4ssw0rd' diff --git a/sdk/nodejs/triggerActions.ts b/sdk/nodejs/triggerActions.ts index 9e8116e..ffe3433 100644 --- a/sdk/nodejs/triggerActions.ts +++ b/sdk/nodejs/triggerActions.ts @@ -23,7 +23,7 @@ import * as utilities from "./utilities"; * * ## Import * - * terraform The resource can be imported using the ID format ``, e.g. + * bash The resource can be imported using the ID format ``, e.g. * * ```sh * $ pulumi import zitadel:index/triggerActions:TriggerActions imported 'FLOW_TYPE_EXTERNAL_AUTHENTICATION:TRIGGER_TYPE_POST_CREATION:123456789012345678' diff --git a/sdk/nodejs/tsconfig.json b/sdk/nodejs/tsconfig.json index 69a86cc..1c0b7b9 100644 --- a/sdk/nodejs/tsconfig.json +++ b/sdk/nodejs/tsconfig.json @@ -46,6 +46,8 @@ "getIdpGitlabSelfHosted.ts", "getIdpGoogle.ts", "getIdpLdap.ts", + "getIdpOauth.ts", + "getIdpSaml.ts", "getMachineUser.ts", "getMachineUsers.ts", "getOrg.ts", @@ -56,6 +58,8 @@ "getOrgIdpGitlabSelfHosted.ts", "getOrgIdpGoogle.ts", "getOrgIdpLdap.ts", + "getOrgIdpOauth.ts", + "getOrgIdpSaml.ts", "getOrgJwtIdp.ts", "getOrgOidcIdp.ts", "getOrgs.ts", @@ -71,6 +75,8 @@ "idpGitlabSelfHosted.ts", "idpGoogle.ts", "idpLdap.ts", + "idpOauth.ts", + "idpSaml.ts", "index.ts", "instanceMember.ts", "labelPolicy.ts", @@ -88,8 +94,11 @@ "orgIdpGoogle.ts", "orgIdpJwt.ts", "orgIdpLdap.ts", + "orgIdpOauth.ts", "orgIdpOidc.ts", + "orgIdpSaml.ts", "orgMember.ts", + "orgMetadata.ts", "passwordComplexityPolicy.ts", "personalAccessToken.ts", "privacyPolicy.ts", @@ -103,6 +112,7 @@ "smtpConfig.ts", "triggerActions.ts", "userGrant.ts", + "userMetadata.ts", "utilities.ts" ] } diff --git a/sdk/nodejs/userGrant.ts b/sdk/nodejs/userGrant.ts index 6883c6d..309ccaf 100644 --- a/sdk/nodejs/userGrant.ts +++ b/sdk/nodejs/userGrant.ts @@ -23,7 +23,7 @@ import * as utilities from "./utilities"; * * ## Import * - * terraform The resource can be imported using the ID format ``, e.g. + * bash The resource can be imported using the ID format ``, e.g. * * ```sh * $ pulumi import zitadel:index/userGrant:UserGrant imported '123456789012345678:123456789012345678:123456789012345678' diff --git a/sdk/nodejs/userMetadata.ts b/sdk/nodejs/userMetadata.ts new file mode 100644 index 0000000..54d40fb --- /dev/null +++ b/sdk/nodejs/userMetadata.ts @@ -0,0 +1,155 @@ +// *** 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"; + +/** + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as zitadel from "@pulumiverse/zitadel"; + * + * const _default = new zitadel.UserMetadata("default", { + * orgId: data.zitadel_org["default"].id, + * userId: data.zitadel_human_user["default"].id, + * key: "a_key", + * value: "a_value", + * }); + * ``` + * + * ## Import + * + * bash The resource can be imported using the ID format ``, e.g. + * + * ```sh + * $ pulumi import zitadel:index/userMetadata:UserMetadata imported '123456789012345678:a_key:123456789012345678' + * ``` + */ +export class UserMetadata extends pulumi.CustomResource { + /** + * Get an existing UserMetadata 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?: UserMetadataState, opts?: pulumi.CustomResourceOptions): UserMetadata { + return new UserMetadata(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'zitadel:index/userMetadata:UserMetadata'; + + /** + * Returns true if the given object is an instance of UserMetadata. 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 UserMetadata { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === UserMetadata.__pulumiType; + } + + /** + * The key of a metadata entry + */ + public readonly key!: pulumi.Output; + /** + * ID of the organization + */ + public readonly orgId!: pulumi.Output; + /** + * ID of the user + */ + public readonly userId!: pulumi.Output; + /** + * The string representation of a metadata entry value. For binary data, use the base64encode function. + */ + public readonly value!: pulumi.Output; + + /** + * Create a UserMetadata 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: UserMetadataArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: UserMetadataArgs | UserMetadataState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as UserMetadataState | undefined; + resourceInputs["key"] = state ? state.key : undefined; + resourceInputs["orgId"] = state ? state.orgId : undefined; + resourceInputs["userId"] = state ? state.userId : undefined; + resourceInputs["value"] = state ? state.value : undefined; + } else { + const args = argsOrState as UserMetadataArgs | undefined; + if ((!args || args.key === undefined) && !opts.urn) { + throw new Error("Missing required property 'key'"); + } + if ((!args || args.userId === undefined) && !opts.urn) { + throw new Error("Missing required property 'userId'"); + } + if ((!args || args.value === undefined) && !opts.urn) { + throw new Error("Missing required property 'value'"); + } + resourceInputs["key"] = args ? args.key : undefined; + resourceInputs["orgId"] = args ? args.orgId : undefined; + resourceInputs["userId"] = args ? args.userId : undefined; + resourceInputs["value"] = args ? args.value : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(UserMetadata.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering UserMetadata resources. + */ +export interface UserMetadataState { + /** + * The key of a metadata entry + */ + key?: pulumi.Input; + /** + * ID of the organization + */ + orgId?: pulumi.Input; + /** + * ID of the user + */ + userId?: pulumi.Input; + /** + * The string representation of a metadata entry value. For binary data, use the base64encode function. + */ + value?: pulumi.Input; +} + +/** + * The set of arguments for constructing a UserMetadata resource. + */ +export interface UserMetadataArgs { + /** + * The key of a metadata entry + */ + key: pulumi.Input; + /** + * ID of the organization + */ + orgId?: pulumi.Input; + /** + * ID of the user + */ + userId: pulumi.Input; + /** + * The string representation of a metadata entry value. For binary data, use the base64encode function. + */ + value: pulumi.Input; +} diff --git a/sdk/python/pulumiverse_zitadel/__init__.py b/sdk/python/pulumiverse_zitadel/__init__.py index 4b8e832..09f916d 100644 --- a/sdk/python/pulumiverse_zitadel/__init__.py +++ b/sdk/python/pulumiverse_zitadel/__init__.py @@ -36,6 +36,8 @@ from .get_idp_gitlab_self_hosted import * from .get_idp_google import * from .get_idp_ldap import * +from .get_idp_oauth import * +from .get_idp_saml import * from .get_machine_user import * from .get_machine_users import * from .get_org import * @@ -46,6 +48,8 @@ from .get_org_idp_gitlab_self_hosted import * from .get_org_idp_google import * from .get_org_idp_ldap import * +from .get_org_idp_oauth import * +from .get_org_idp_saml import * from .get_org_jwt_idp import * from .get_org_oidc_idp import * from .get_orgs import * @@ -61,6 +65,8 @@ from .idp_gitlab_self_hosted import * from .idp_google import * from .idp_ldap import * +from .idp_oauth import * +from .idp_saml import * from .instance_member import * from .label_policy import * from .lockout_policy import * @@ -77,8 +83,11 @@ from .org_idp_google import * from .org_idp_jwt import * from .org_idp_ldap import * +from .org_idp_oauth import * from .org_idp_oidc import * +from .org_idp_saml import * from .org_member import * +from .org_metadata import * from .password_complexity_policy import * from .personal_access_token import * from .privacy_policy import * @@ -92,6 +101,7 @@ from .smtp_config import * from .trigger_actions import * from .user_grant import * +from .user_metadata import * # Make subpackages available: if typing.TYPE_CHECKING: @@ -287,6 +297,22 @@ "zitadel:index/idpLdap:IdpLdap": "IdpLdap" } }, + { + "pkg": "zitadel", + "mod": "index/idpOauth", + "fqn": "pulumiverse_zitadel", + "classes": { + "zitadel:index/idpOauth:IdpOauth": "IdpOauth" + } + }, + { + "pkg": "zitadel", + "mod": "index/idpSaml", + "fqn": "pulumiverse_zitadel", + "classes": { + "zitadel:index/idpSaml:IdpSaml": "IdpSaml" + } + }, { "pkg": "zitadel", "mod": "index/instanceMember", @@ -415,6 +441,14 @@ "zitadel:index/orgIdpLdap:OrgIdpLdap": "OrgIdpLdap" } }, + { + "pkg": "zitadel", + "mod": "index/orgIdpOauth", + "fqn": "pulumiverse_zitadel", + "classes": { + "zitadel:index/orgIdpOauth:OrgIdpOauth": "OrgIdpOauth" + } + }, { "pkg": "zitadel", "mod": "index/orgIdpOidc", @@ -423,6 +457,14 @@ "zitadel:index/orgIdpOidc:OrgIdpOidc": "OrgIdpOidc" } }, + { + "pkg": "zitadel", + "mod": "index/orgIdpSaml", + "fqn": "pulumiverse_zitadel", + "classes": { + "zitadel:index/orgIdpSaml:OrgIdpSaml": "OrgIdpSaml" + } + }, { "pkg": "zitadel", "mod": "index/orgMember", @@ -431,6 +473,14 @@ "zitadel:index/orgMember:OrgMember": "OrgMember" } }, + { + "pkg": "zitadel", + "mod": "index/orgMetadata", + "fqn": "pulumiverse_zitadel", + "classes": { + "zitadel:index/orgMetadata:OrgMetadata": "OrgMetadata" + } + }, { "pkg": "zitadel", "mod": "index/passwordComplexityPolicy", @@ -526,6 +576,14 @@ "classes": { "zitadel:index/userGrant:UserGrant": "UserGrant" } + }, + { + "pkg": "zitadel", + "mod": "index/userMetadata", + "fqn": "pulumiverse_zitadel", + "classes": { + "zitadel:index/userMetadata:UserMetadata": "UserMetadata" + } } ] """, diff --git a/sdk/python/pulumiverse_zitadel/action.py b/sdk/python/pulumiverse_zitadel/action.py index bd1f87d..eb8bede 100644 --- a/sdk/python/pulumiverse_zitadel/action.py +++ b/sdk/python/pulumiverse_zitadel/action.py @@ -261,7 +261,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format ``, e.g. + bash The resource can be imported using the ID format ``, e.g. ```sh $ pulumi import zitadel:index/action:Action imported '123456789012345678:123456789012345678' @@ -297,7 +297,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format ``, e.g. + bash The resource can be imported using the ID format ``, e.g. ```sh $ pulumi import zitadel:index/action:Action imported '123456789012345678:123456789012345678' diff --git a/sdk/python/pulumiverse_zitadel/application_api.py b/sdk/python/pulumiverse_zitadel/application_api.py index 4e90ed1..f16e11c 100644 --- a/sdk/python/pulumiverse_zitadel/application_api.py +++ b/sdk/python/pulumiverse_zitadel/application_api.py @@ -267,7 +267,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format ``, e.g. + bash The resource can be imported using the ID format ``, e.g. ```sh $ pulumi import zitadel:index/applicationApi:ApplicationApi imported '123456789012345678:123456789012345678:123456789012345678:123456789012345678@zitadel:JuaDFFeOak5DGE655KCYPSAclSkbMVEJXXuX1lEMBT14eLMSs0A0qhafKX5SA2Df' @@ -303,7 +303,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format ``, e.g. + bash The resource can be imported using the ID format ``, e.g. ```sh $ pulumi import zitadel:index/applicationApi:ApplicationApi imported '123456789012345678:123456789012345678:123456789012345678:123456789012345678@zitadel:JuaDFFeOak5DGE655KCYPSAclSkbMVEJXXuX1lEMBT14eLMSs0A0qhafKX5SA2Df' diff --git a/sdk/python/pulumiverse_zitadel/application_key.py b/sdk/python/pulumiverse_zitadel/application_key.py index a69fbfe..fda84e6 100644 --- a/sdk/python/pulumiverse_zitadel/application_key.py +++ b/sdk/python/pulumiverse_zitadel/application_key.py @@ -291,7 +291,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format ``. You can use __SEMICOLON__ to escape :, e.g. + bash The resource can be imported using the ID format ``. You can use __SEMICOLON__ to escape :, e.g. ```sh $ pulumi import zitadel:index/applicationKey:ApplicationKey imported "123456789012345678:123456789012345678:123456789012345678:123456789012345678:$(cat ~/Downloads/123456789012345678.json | sed -e 's/:/__SEMICOLON__/g')" @@ -330,7 +330,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format ``. You can use __SEMICOLON__ to escape :, e.g. + bash The resource can be imported using the ID format ``. You can use __SEMICOLON__ to escape :, e.g. ```sh $ pulumi import zitadel:index/applicationKey:ApplicationKey imported "123456789012345678:123456789012345678:123456789012345678:123456789012345678:$(cat ~/Downloads/123456789012345678.json | sed -e 's/:/__SEMICOLON__/g')" diff --git a/sdk/python/pulumiverse_zitadel/application_oidc.py b/sdk/python/pulumiverse_zitadel/application_oidc.py index 92371ed..9ebd061 100644 --- a/sdk/python/pulumiverse_zitadel/application_oidc.py +++ b/sdk/python/pulumiverse_zitadel/application_oidc.py @@ -806,7 +806,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format ``, e.g. + bash The resource can be imported using the ID format ``, e.g. ```sh $ pulumi import zitadel:index/applicationOidc:ApplicationOidc imported '123456789012345678:123456789012345678:123456789012345678:123456789012345678@zitadel:JuaDFFeOak5DGE655KCYPSAclSkbMVEJXXuX1lEMBT14eLMSs0A0qhafKX5SA2Df' @@ -868,7 +868,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format ``, e.g. + bash The resource can be imported using the ID format ``, e.g. ```sh $ pulumi import zitadel:index/applicationOidc:ApplicationOidc imported '123456789012345678:123456789012345678:123456789012345678:123456789012345678@zitadel:JuaDFFeOak5DGE655KCYPSAclSkbMVEJXXuX1lEMBT14eLMSs0A0qhafKX5SA2Df' diff --git a/sdk/python/pulumiverse_zitadel/application_saml.py b/sdk/python/pulumiverse_zitadel/application_saml.py index 13edbf1..5aba8e7 100644 --- a/sdk/python/pulumiverse_zitadel/application_saml.py +++ b/sdk/python/pulumiverse_zitadel/application_saml.py @@ -238,7 +238,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format ``, e.g. + bash The resource can be imported using the ID format ``, e.g. ```sh $ pulumi import zitadel:index/applicationSaml:ApplicationSaml imported '123456789012345678:123456789012345678:123456789012345678' @@ -286,7 +286,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format ``, e.g. + bash The resource can be imported using the ID format ``, e.g. ```sh $ pulumi import zitadel:index/applicationSaml:ApplicationSaml imported '123456789012345678:123456789012345678:123456789012345678' diff --git a/sdk/python/pulumiverse_zitadel/default_domain_policy.py b/sdk/python/pulumiverse_zitadel/default_domain_policy.py index 52ae98f..80749b9 100644 --- a/sdk/python/pulumiverse_zitadel/default_domain_policy.py +++ b/sdk/python/pulumiverse_zitadel/default_domain_policy.py @@ -180,7 +180,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format `<>`, e.g. + bash The resource can be imported using the ID format `<>`, e.g. ```sh $ pulumi import zitadel:index/defaultDomainPolicy:DefaultDomainPolicy imported '' @@ -214,7 +214,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format `<>`, e.g. + bash The resource can be imported using the ID format `<>`, e.g. ```sh $ pulumi import zitadel:index/defaultDomainPolicy:DefaultDomainPolicy imported '' diff --git a/sdk/python/pulumiverse_zitadel/default_label_policy.py b/sdk/python/pulumiverse_zitadel/default_label_policy.py index f410bc8..e2a3b7e 100644 --- a/sdk/python/pulumiverse_zitadel/default_label_policy.py +++ b/sdk/python/pulumiverse_zitadel/default_label_policy.py @@ -34,7 +34,8 @@ def __init__(__self__, *, logo_dark_path: Optional[pulumi.Input[str]] = None, logo_hash: Optional[pulumi.Input[str]] = None, logo_path: Optional[pulumi.Input[str]] = None, - set_active: Optional[pulumi.Input[bool]] = None): + set_active: Optional[pulumi.Input[bool]] = None, + theme_mode: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a DefaultLabelPolicy resource. :param pulumi.Input[str] background_color: hex value for background color @@ -48,6 +49,7 @@ def __init__(__self__, *, :param pulumi.Input[str] warn_color: hex value for warn color :param pulumi.Input[str] warn_color_dark: hex value for warn color dark theme :param pulumi.Input[bool] set_active: set the label policy active after creating/updating + :param pulumi.Input[str] theme_mode: theme mode, supported values: THEME*MODE*UNSPECIFIED, THEME*MODE*AUTO, THEME*MODE*DARK, THEME*MODE*LIGHT """ DefaultLabelPolicyArgs._configure( lambda key, value: pulumi.set(__self__, key, value), @@ -72,6 +74,7 @@ def __init__(__self__, *, logo_hash=logo_hash, logo_path=logo_path, set_active=set_active, + theme_mode=theme_mode, ) @staticmethod def _configure( @@ -97,6 +100,7 @@ def _configure( logo_hash: Optional[pulumi.Input[str]] = None, logo_path: Optional[pulumi.Input[str]] = None, set_active: Optional[pulumi.Input[bool]] = None, + theme_mode: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.ResourceOptions]=None, **kwargs): if 'backgroundColor' in kwargs: @@ -141,6 +145,8 @@ def _configure( logo_path = kwargs['logoPath'] if 'setActive' in kwargs: set_active = kwargs['setActive'] + if 'themeMode' in kwargs: + theme_mode = kwargs['themeMode'] _setter("background_color", background_color) _setter("background_color_dark", background_color_dark) @@ -174,6 +180,8 @@ def _configure( _setter("logo_path", logo_path) if set_active is not None: _setter("set_active", set_active) + if theme_mode is not None: + _setter("theme_mode", theme_mode) @property @pulumi.getter(name="backgroundColor") @@ -397,6 +405,18 @@ def set_active(self) -> Optional[pulumi.Input[bool]]: def set_active(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "set_active", value) + @property + @pulumi.getter(name="themeMode") + def theme_mode(self) -> Optional[pulumi.Input[str]]: + """ + theme mode, supported values: THEME*MODE*UNSPECIFIED, THEME*MODE*AUTO, THEME*MODE*DARK, THEME*MODE*LIGHT + """ + return pulumi.get(self, "theme_mode") + + @theme_mode.setter + def theme_mode(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "theme_mode", value) + @pulumi.input_type class _DefaultLabelPolicyState: @@ -425,6 +445,7 @@ def __init__(__self__, *, primary_color: Optional[pulumi.Input[str]] = None, primary_color_dark: Optional[pulumi.Input[str]] = None, set_active: Optional[pulumi.Input[bool]] = None, + theme_mode: Optional[pulumi.Input[str]] = None, warn_color: Optional[pulumi.Input[str]] = None, warn_color_dark: Optional[pulumi.Input[str]] = None): """ @@ -438,6 +459,7 @@ def __init__(__self__, *, :param pulumi.Input[str] primary_color: hex value for primary color :param pulumi.Input[str] primary_color_dark: hex value for primary color dark theme :param pulumi.Input[bool] set_active: set the label policy active after creating/updating + :param pulumi.Input[str] theme_mode: theme mode, supported values: THEME*MODE*UNSPECIFIED, THEME*MODE*AUTO, THEME*MODE*DARK, THEME*MODE*LIGHT :param pulumi.Input[str] warn_color: hex value for warn color :param pulumi.Input[str] warn_color_dark: hex value for warn color dark theme """ @@ -467,6 +489,7 @@ def __init__(__self__, *, primary_color=primary_color, primary_color_dark=primary_color_dark, set_active=set_active, + theme_mode=theme_mode, warn_color=warn_color, warn_color_dark=warn_color_dark, ) @@ -497,6 +520,7 @@ def _configure( primary_color: Optional[pulumi.Input[str]] = None, primary_color_dark: Optional[pulumi.Input[str]] = None, set_active: Optional[pulumi.Input[bool]] = None, + theme_mode: Optional[pulumi.Input[str]] = None, warn_color: Optional[pulumi.Input[str]] = None, warn_color_dark: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.ResourceOptions]=None, @@ -549,6 +573,8 @@ def _configure( primary_color_dark = kwargs['primaryColorDark'] if 'setActive' in kwargs: set_active = kwargs['setActive'] + if 'themeMode' in kwargs: + theme_mode = kwargs['themeMode'] if 'warnColor' in kwargs: warn_color = kwargs['warnColor'] if 'warnColorDark' in kwargs: @@ -602,6 +628,8 @@ def _configure( _setter("primary_color_dark", primary_color_dark) if set_active is not None: _setter("set_active", set_active) + if theme_mode is not None: + _setter("theme_mode", theme_mode) if warn_color is not None: _setter("warn_color", warn_color) if warn_color_dark is not None: @@ -850,6 +878,18 @@ def set_active(self) -> Optional[pulumi.Input[bool]]: def set_active(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "set_active", value) + @property + @pulumi.getter(name="themeMode") + def theme_mode(self) -> Optional[pulumi.Input[str]]: + """ + theme mode, supported values: THEME*MODE*UNSPECIFIED, THEME*MODE*AUTO, THEME*MODE*DARK, THEME*MODE*LIGHT + """ + return pulumi.get(self, "theme_mode") + + @theme_mode.setter + def theme_mode(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "theme_mode", value) + @property @pulumi.getter(name="warnColor") def warn_color(self) -> Optional[pulumi.Input[str]]: @@ -899,6 +939,7 @@ def __init__(__self__, primary_color: Optional[pulumi.Input[str]] = None, primary_color_dark: Optional[pulumi.Input[str]] = None, set_active: Optional[pulumi.Input[bool]] = None, + theme_mode: Optional[pulumi.Input[str]] = None, warn_color: Optional[pulumi.Input[str]] = None, warn_color_dark: Optional[pulumi.Input[str]] = None, __props__=None): @@ -907,7 +948,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format `<>`, e.g. + bash The resource can be imported using the ID format `<>`, e.g. ```sh $ pulumi import zitadel:index/defaultLabelPolicy:DefaultLabelPolicy imported '' @@ -924,6 +965,7 @@ def __init__(__self__, :param pulumi.Input[str] primary_color: hex value for primary color :param pulumi.Input[str] primary_color_dark: hex value for primary color dark theme :param pulumi.Input[bool] set_active: set the label policy active after creating/updating + :param pulumi.Input[str] theme_mode: theme mode, supported values: THEME*MODE*UNSPECIFIED, THEME*MODE*AUTO, THEME*MODE*DARK, THEME*MODE*LIGHT :param pulumi.Input[str] warn_color: hex value for warn color :param pulumi.Input[str] warn_color_dark: hex value for warn color dark theme """ @@ -938,7 +980,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format `<>`, e.g. + bash The resource can be imported using the ID format `<>`, e.g. ```sh $ pulumi import zitadel:index/defaultLabelPolicy:DefaultLabelPolicy imported '' @@ -982,6 +1024,7 @@ def _internal_init(__self__, primary_color: Optional[pulumi.Input[str]] = None, primary_color_dark: Optional[pulumi.Input[str]] = None, set_active: Optional[pulumi.Input[bool]] = None, + theme_mode: Optional[pulumi.Input[str]] = None, warn_color: Optional[pulumi.Input[str]] = None, warn_color_dark: Optional[pulumi.Input[str]] = None, __props__=None): @@ -1028,6 +1071,7 @@ def _internal_init(__self__, raise TypeError("Missing required property 'primary_color_dark'") __props__.__dict__["primary_color_dark"] = primary_color_dark __props__.__dict__["set_active"] = set_active + __props__.__dict__["theme_mode"] = theme_mode if warn_color is None and not opts.urn: raise TypeError("Missing required property 'warn_color'") __props__.__dict__["warn_color"] = warn_color @@ -1073,6 +1117,7 @@ def get(resource_name: str, primary_color: Optional[pulumi.Input[str]] = None, primary_color_dark: Optional[pulumi.Input[str]] = None, set_active: Optional[pulumi.Input[bool]] = None, + theme_mode: Optional[pulumi.Input[str]] = None, warn_color: Optional[pulumi.Input[str]] = None, warn_color_dark: Optional[pulumi.Input[str]] = None) -> 'DefaultLabelPolicy': """ @@ -1091,6 +1136,7 @@ def get(resource_name: str, :param pulumi.Input[str] primary_color: hex value for primary color :param pulumi.Input[str] primary_color_dark: hex value for primary color dark theme :param pulumi.Input[bool] set_active: set the label policy active after creating/updating + :param pulumi.Input[str] theme_mode: theme mode, supported values: THEME*MODE*UNSPECIFIED, THEME*MODE*AUTO, THEME*MODE*DARK, THEME*MODE*LIGHT :param pulumi.Input[str] warn_color: hex value for warn color :param pulumi.Input[str] warn_color_dark: hex value for warn color dark theme """ @@ -1122,6 +1168,7 @@ def get(resource_name: str, __props__.__dict__["primary_color"] = primary_color __props__.__dict__["primary_color_dark"] = primary_color_dark __props__.__dict__["set_active"] = set_active + __props__.__dict__["theme_mode"] = theme_mode __props__.__dict__["warn_color"] = warn_color __props__.__dict__["warn_color_dark"] = warn_color_dark return DefaultLabelPolicy(resource_name, opts=opts, __props__=__props__) @@ -1273,6 +1320,14 @@ def set_active(self) -> pulumi.Output[Optional[bool]]: """ return pulumi.get(self, "set_active") + @property + @pulumi.getter(name="themeMode") + def theme_mode(self) -> pulumi.Output[Optional[str]]: + """ + theme mode, supported values: THEME*MODE*UNSPECIFIED, THEME*MODE*AUTO, THEME*MODE*DARK, THEME*MODE*LIGHT + """ + return pulumi.get(self, "theme_mode") + @property @pulumi.getter(name="warnColor") def warn_color(self) -> pulumi.Output[str]: diff --git a/sdk/python/pulumiverse_zitadel/default_lockout_policy.py b/sdk/python/pulumiverse_zitadel/default_lockout_policy.py index 115713a..22ec75b 100644 --- a/sdk/python/pulumiverse_zitadel/default_lockout_policy.py +++ b/sdk/python/pulumiverse_zitadel/default_lockout_policy.py @@ -105,7 +105,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format `<>`, e.g. + bash The resource can be imported using the ID format `<>`, e.g. ```sh $ pulumi import zitadel:index/defaultLockoutPolicy:DefaultLockoutPolicy imported '' @@ -135,7 +135,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format `<>`, e.g. + bash The resource can be imported using the ID format `<>`, e.g. ```sh $ pulumi import zitadel:index/defaultLockoutPolicy:DefaultLockoutPolicy imported '' diff --git a/sdk/python/pulumiverse_zitadel/default_login_policy.py b/sdk/python/pulumiverse_zitadel/default_login_policy.py index b2309d1..6223cc8 100644 --- a/sdk/python/pulumiverse_zitadel/default_login_policy.py +++ b/sdk/python/pulumiverse_zitadel/default_login_policy.py @@ -853,7 +853,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format `<>`, e.g. + bash The resource can be imported using the ID format `<>`, e.g. ```sh $ pulumi import zitadel:index/defaultLoginPolicy:DefaultLoginPolicy imported '' @@ -923,7 +923,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format `<>`, e.g. + bash The resource can be imported using the ID format `<>`, e.g. ```sh $ pulumi import zitadel:index/defaultLoginPolicy:DefaultLoginPolicy imported '' diff --git a/sdk/python/pulumiverse_zitadel/default_notification_policy.py b/sdk/python/pulumiverse_zitadel/default_notification_policy.py index 5142880..8e03b2a 100644 --- a/sdk/python/pulumiverse_zitadel/default_notification_policy.py +++ b/sdk/python/pulumiverse_zitadel/default_notification_policy.py @@ -105,7 +105,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format `<>`, e.g. + bash The resource can be imported using the ID format `<>`, e.g. ```sh $ pulumi import zitadel:index/defaultNotificationPolicy:DefaultNotificationPolicy imported '' @@ -135,7 +135,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format `<>`, e.g. + bash The resource can be imported using the ID format `<>`, e.g. ```sh $ pulumi import zitadel:index/defaultNotificationPolicy:DefaultNotificationPolicy imported '' diff --git a/sdk/python/pulumiverse_zitadel/default_password_complexity_policy.py b/sdk/python/pulumiverse_zitadel/default_password_complexity_policy.py index 1954328..95e4da0 100644 --- a/sdk/python/pulumiverse_zitadel/default_password_complexity_policy.py +++ b/sdk/python/pulumiverse_zitadel/default_password_complexity_policy.py @@ -270,7 +270,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format `<>`, e.g. + bash The resource can be imported using the ID format `<>`, e.g. ```sh $ pulumi import zitadel:index/defaultPasswordComplexityPolicy:DefaultPasswordComplexityPolicy imported '' @@ -309,7 +309,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format `<>`, e.g. + bash The resource can be imported using the ID format `<>`, e.g. ```sh $ pulumi import zitadel:index/defaultPasswordComplexityPolicy:DefaultPasswordComplexityPolicy imported '' diff --git a/sdk/python/pulumiverse_zitadel/default_privacy_policy.py b/sdk/python/pulumiverse_zitadel/default_privacy_policy.py index 3bf8a02..080710b 100644 --- a/sdk/python/pulumiverse_zitadel/default_privacy_policy.py +++ b/sdk/python/pulumiverse_zitadel/default_privacy_policy.py @@ -201,7 +201,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format `<>`, e.g. + bash The resource can be imported using the ID format `<>`, e.g. ```sh $ pulumi import zitadel:index/defaultPrivacyPolicy:DefaultPrivacyPolicy imported '' @@ -234,7 +234,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format `<>`, e.g. + bash The resource can be imported using the ID format `<>`, e.g. ```sh $ pulumi import zitadel:index/defaultPrivacyPolicy:DefaultPrivacyPolicy imported '' diff --git a/sdk/python/pulumiverse_zitadel/domain.py b/sdk/python/pulumiverse_zitadel/domain.py index cf737dd..4d3e6e6 100644 --- a/sdk/python/pulumiverse_zitadel/domain.py +++ b/sdk/python/pulumiverse_zitadel/domain.py @@ -226,7 +226,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format `name[:org_id]`, e.g. + bash The resource can be imported using the ID format `name[:org_id]`, e.g. ```sh $ pulumi import zitadel:index/domain:Domain imported 'example.com:123456789012345678' @@ -260,7 +260,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format `name[:org_id]`, e.g. + bash The resource can be imported using the ID format `name[:org_id]`, e.g. ```sh $ pulumi import zitadel:index/domain:Domain imported 'example.com:123456789012345678' diff --git a/sdk/python/pulumiverse_zitadel/domain_policy.py b/sdk/python/pulumiverse_zitadel/domain_policy.py index 41ef492..e2ff440 100644 --- a/sdk/python/pulumiverse_zitadel/domain_policy.py +++ b/sdk/python/pulumiverse_zitadel/domain_policy.py @@ -222,7 +222,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format `<[org_id]>`, e.g. + bash The resource can be imported using the ID format `<[org_id]>`, e.g. ```sh $ pulumi import zitadel:index/domainPolicy:DomainPolicy imported '123456789012345678' @@ -258,7 +258,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format `<[org_id]>`, e.g. + bash The resource can be imported using the ID format `<[org_id]>`, e.g. ```sh $ pulumi import zitadel:index/domainPolicy:DomainPolicy imported '123456789012345678' diff --git a/sdk/python/pulumiverse_zitadel/get_application_api.py b/sdk/python/pulumiverse_zitadel/get_application_api.py index 5e61e18..c52d982 100644 --- a/sdk/python/pulumiverse_zitadel/get_application_api.py +++ b/sdk/python/pulumiverse_zitadel/get_application_api.py @@ -21,13 +21,16 @@ class GetApplicationApiResult: """ A collection of values returned by getApplicationApi. """ - def __init__(__self__, app_id=None, auth_method_type=None, id=None, name=None, org_id=None, project_id=None): + def __init__(__self__, app_id=None, auth_method_type=None, client_id=None, id=None, name=None, org_id=None, project_id=None): if app_id and not isinstance(app_id, str): raise TypeError("Expected argument 'app_id' to be a str") pulumi.set(__self__, "app_id", app_id) if auth_method_type and not isinstance(auth_method_type, str): raise TypeError("Expected argument 'auth_method_type' to be a str") pulumi.set(__self__, "auth_method_type", auth_method_type) + if client_id and not isinstance(client_id, str): + raise TypeError("Expected argument 'client_id' to be a str") + pulumi.set(__self__, "client_id", client_id) if id and not isinstance(id, str): raise TypeError("Expected argument 'id' to be a str") pulumi.set(__self__, "id", id) @@ -57,6 +60,11 @@ def auth_method_type(self) -> str: """ return pulumi.get(self, "auth_method_type") + @property + @pulumi.getter(name="clientId") + def client_id(self) -> str: + return pulumi.get(self, "client_id") + @property @pulumi.getter def id(self) -> str: @@ -98,6 +106,7 @@ def __await__(self): return GetApplicationApiResult( app_id=self.app_id, auth_method_type=self.auth_method_type, + client_id=self.client_id, id=self.id, name=self.name, org_id=self.org_id, @@ -137,6 +146,7 @@ def get_application_api(app_id: Optional[str] = None, return AwaitableGetApplicationApiResult( app_id=pulumi.get(__ret__, 'app_id'), auth_method_type=pulumi.get(__ret__, 'auth_method_type'), + client_id=pulumi.get(__ret__, 'client_id'), id=pulumi.get(__ret__, 'id'), name=pulumi.get(__ret__, 'name'), org_id=pulumi.get(__ret__, 'org_id'), diff --git a/sdk/python/pulumiverse_zitadel/get_application_oidc.py b/sdk/python/pulumiverse_zitadel/get_application_oidc.py index e720258..8dfe05a 100644 --- a/sdk/python/pulumiverse_zitadel/get_application_oidc.py +++ b/sdk/python/pulumiverse_zitadel/get_application_oidc.py @@ -21,7 +21,7 @@ class GetApplicationOidcResult: """ A collection of values returned by getApplicationOidc. """ - def __init__(__self__, access_token_role_assertion=None, access_token_type=None, additional_origins=None, app_id=None, app_type=None, auth_method_type=None, clock_skew=None, dev_mode=None, grant_types=None, id=None, id_token_role_assertion=None, id_token_userinfo_assertion=None, name=None, org_id=None, post_logout_redirect_uris=None, project_id=None, redirect_uris=None, response_types=None, version=None): + def __init__(__self__, access_token_role_assertion=None, access_token_type=None, additional_origins=None, app_id=None, app_type=None, auth_method_type=None, client_id=None, clock_skew=None, dev_mode=None, grant_types=None, id=None, id_token_role_assertion=None, id_token_userinfo_assertion=None, name=None, org_id=None, post_logout_redirect_uris=None, project_id=None, redirect_uris=None, response_types=None, version=None): if access_token_role_assertion and not isinstance(access_token_role_assertion, bool): raise TypeError("Expected argument 'access_token_role_assertion' to be a bool") pulumi.set(__self__, "access_token_role_assertion", access_token_role_assertion) @@ -40,6 +40,9 @@ def __init__(__self__, access_token_role_assertion=None, access_token_type=None, if auth_method_type and not isinstance(auth_method_type, str): raise TypeError("Expected argument 'auth_method_type' to be a str") pulumi.set(__self__, "auth_method_type", auth_method_type) + if client_id and not isinstance(client_id, str): + raise TypeError("Expected argument 'client_id' to be a str") + pulumi.set(__self__, "client_id", client_id) if clock_skew and not isinstance(clock_skew, str): raise TypeError("Expected argument 'clock_skew' to be a str") pulumi.set(__self__, "clock_skew", clock_skew) @@ -128,6 +131,11 @@ def auth_method_type(self) -> str: """ return pulumi.get(self, "auth_method_type") + @property + @pulumi.getter(name="clientId") + def client_id(self) -> str: + return pulumi.get(self, "client_id") + @property @pulumi.getter(name="clockSkew") def clock_skew(self) -> str: @@ -245,6 +253,7 @@ def __await__(self): app_id=self.app_id, app_type=self.app_type, auth_method_type=self.auth_method_type, + client_id=self.client_id, clock_skew=self.clock_skew, dev_mode=self.dev_mode, grant_types=self.grant_types, @@ -297,6 +306,7 @@ def get_application_oidc(app_id: Optional[str] = None, app_id=pulumi.get(__ret__, 'app_id'), app_type=pulumi.get(__ret__, 'app_type'), auth_method_type=pulumi.get(__ret__, 'auth_method_type'), + client_id=pulumi.get(__ret__, 'client_id'), clock_skew=pulumi.get(__ret__, 'clock_skew'), dev_mode=pulumi.get(__ret__, 'dev_mode'), grant_types=pulumi.get(__ret__, 'grant_types'), diff --git a/sdk/python/pulumiverse_zitadel/get_idp_oauth.py b/sdk/python/pulumiverse_zitadel/get_idp_oauth.py new file mode 100644 index 0000000..7e7d51b --- /dev/null +++ b/sdk/python/pulumiverse_zitadel/get_idp_oauth.py @@ -0,0 +1,247 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = [ + 'GetIdpOauthResult', + 'AwaitableGetIdpOauthResult', + 'get_idp_oauth', + 'get_idp_oauth_output', +] + +@pulumi.output_type +class GetIdpOauthResult: + """ + A collection of values returned by getIdpOauth. + """ + def __init__(__self__, authorization_endpoint=None, client_id=None, client_secret=None, id=None, id_attribute=None, is_auto_creation=None, is_auto_update=None, is_creation_allowed=None, is_linking_allowed=None, name=None, scopes=None, token_endpoint=None, user_endpoint=None): + if authorization_endpoint and not isinstance(authorization_endpoint, str): + raise TypeError("Expected argument 'authorization_endpoint' to be a str") + pulumi.set(__self__, "authorization_endpoint", authorization_endpoint) + if client_id and not isinstance(client_id, str): + raise TypeError("Expected argument 'client_id' to be a str") + pulumi.set(__self__, "client_id", client_id) + if client_secret and not isinstance(client_secret, str): + raise TypeError("Expected argument 'client_secret' to be a str") + pulumi.set(__self__, "client_secret", client_secret) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if id_attribute and not isinstance(id_attribute, str): + raise TypeError("Expected argument 'id_attribute' to be a str") + pulumi.set(__self__, "id_attribute", id_attribute) + if is_auto_creation and not isinstance(is_auto_creation, bool): + raise TypeError("Expected argument 'is_auto_creation' to be a bool") + pulumi.set(__self__, "is_auto_creation", is_auto_creation) + if is_auto_update and not isinstance(is_auto_update, bool): + raise TypeError("Expected argument 'is_auto_update' to be a bool") + pulumi.set(__self__, "is_auto_update", is_auto_update) + if is_creation_allowed and not isinstance(is_creation_allowed, bool): + raise TypeError("Expected argument 'is_creation_allowed' to be a bool") + pulumi.set(__self__, "is_creation_allowed", is_creation_allowed) + if is_linking_allowed and not isinstance(is_linking_allowed, bool): + raise TypeError("Expected argument 'is_linking_allowed' to be a bool") + pulumi.set(__self__, "is_linking_allowed", is_linking_allowed) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if scopes and not isinstance(scopes, list): + raise TypeError("Expected argument 'scopes' to be a list") + pulumi.set(__self__, "scopes", scopes) + if token_endpoint and not isinstance(token_endpoint, str): + raise TypeError("Expected argument 'token_endpoint' to be a str") + pulumi.set(__self__, "token_endpoint", token_endpoint) + if user_endpoint and not isinstance(user_endpoint, str): + raise TypeError("Expected argument 'user_endpoint' to be a str") + pulumi.set(__self__, "user_endpoint", user_endpoint) + + @property + @pulumi.getter(name="authorizationEndpoint") + def authorization_endpoint(self) -> str: + """ + The authorization endpoint + """ + return pulumi.get(self, "authorization_endpoint") + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> str: + """ + client id generated by the identity provider + """ + return pulumi.get(self, "client_id") + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> str: + """ + client secret generated by the identity provider + """ + return pulumi.get(self, "client_secret") + + @property + @pulumi.getter + def id(self) -> str: + """ + The ID of this resource. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="idAttribute") + def id_attribute(self) -> str: + """ + The id attribute + """ + return pulumi.get(self, "id_attribute") + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> bool: + """ + enabled if a new account in ZITADEL are created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> bool: + """ + enabled if a the ZITADEL account fields are updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> bool: + """ + enabled if users are able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> bool: + """ + enabled if users are able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @property + @pulumi.getter + def name(self) -> str: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def scopes(self) -> Sequence[str]: + """ + the scopes requested by ZITADEL during the request on the identity provider + """ + return pulumi.get(self, "scopes") + + @property + @pulumi.getter(name="tokenEndpoint") + def token_endpoint(self) -> str: + """ + The token endpoint + """ + return pulumi.get(self, "token_endpoint") + + @property + @pulumi.getter(name="userEndpoint") + def user_endpoint(self) -> str: + """ + The user endpoint + """ + return pulumi.get(self, "user_endpoint") + + +class AwaitableGetIdpOauthResult(GetIdpOauthResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetIdpOauthResult( + authorization_endpoint=self.authorization_endpoint, + client_id=self.client_id, + client_secret=self.client_secret, + id=self.id, + id_attribute=self.id_attribute, + is_auto_creation=self.is_auto_creation, + is_auto_update=self.is_auto_update, + is_creation_allowed=self.is_creation_allowed, + is_linking_allowed=self.is_linking_allowed, + name=self.name, + scopes=self.scopes, + token_endpoint=self.token_endpoint, + user_endpoint=self.user_endpoint) + + +def get_idp_oauth(id: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetIdpOauthResult: + """ + Datasource representing a generic OAuth2 IDP on the instance. + + ## Example Usage + + ```python + import pulumi + import pulumi_zitadel as zitadel + + default = zitadel.get_idp_oauth(id="123456789012345678") + ``` + + + :param str id: The ID of this resource. + """ + __args__ = dict() + __args__['id'] = id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('zitadel:index/getIdpOauth:getIdpOauth', __args__, opts=opts, typ=GetIdpOauthResult).value + + return AwaitableGetIdpOauthResult( + authorization_endpoint=pulumi.get(__ret__, 'authorization_endpoint'), + client_id=pulumi.get(__ret__, 'client_id'), + client_secret=pulumi.get(__ret__, 'client_secret'), + id=pulumi.get(__ret__, 'id'), + id_attribute=pulumi.get(__ret__, 'id_attribute'), + is_auto_creation=pulumi.get(__ret__, 'is_auto_creation'), + is_auto_update=pulumi.get(__ret__, 'is_auto_update'), + is_creation_allowed=pulumi.get(__ret__, 'is_creation_allowed'), + is_linking_allowed=pulumi.get(__ret__, 'is_linking_allowed'), + name=pulumi.get(__ret__, 'name'), + scopes=pulumi.get(__ret__, 'scopes'), + token_endpoint=pulumi.get(__ret__, 'token_endpoint'), + user_endpoint=pulumi.get(__ret__, 'user_endpoint')) + + +@_utilities.lift_output_func(get_idp_oauth) +def get_idp_oauth_output(id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetIdpOauthResult]: + """ + Datasource representing a generic OAuth2 IDP on the instance. + + ## Example Usage + + ```python + import pulumi + import pulumi_zitadel as zitadel + + default = zitadel.get_idp_oauth(id="123456789012345678") + ``` + + + :param str id: The ID of this resource. + """ + ... diff --git a/sdk/python/pulumiverse_zitadel/get_idp_saml.py b/sdk/python/pulumiverse_zitadel/get_idp_saml.py new file mode 100644 index 0000000..118bab9 --- /dev/null +++ b/sdk/python/pulumiverse_zitadel/get_idp_saml.py @@ -0,0 +1,195 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = [ + 'GetIdpSamlResult', + 'AwaitableGetIdpSamlResult', + 'get_idp_saml', + 'get_idp_saml_output', +] + +@pulumi.output_type +class GetIdpSamlResult: + """ + A collection of values returned by getIdpSaml. + """ + def __init__(__self__, binding=None, id=None, is_auto_creation=None, is_auto_update=None, is_creation_allowed=None, is_linking_allowed=None, metadata_xml=None, name=None, with_signed_request=None): + if binding and not isinstance(binding, str): + raise TypeError("Expected argument 'binding' to be a str") + pulumi.set(__self__, "binding", binding) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if is_auto_creation and not isinstance(is_auto_creation, bool): + raise TypeError("Expected argument 'is_auto_creation' to be a bool") + pulumi.set(__self__, "is_auto_creation", is_auto_creation) + if is_auto_update and not isinstance(is_auto_update, bool): + raise TypeError("Expected argument 'is_auto_update' to be a bool") + pulumi.set(__self__, "is_auto_update", is_auto_update) + if is_creation_allowed and not isinstance(is_creation_allowed, bool): + raise TypeError("Expected argument 'is_creation_allowed' to be a bool") + pulumi.set(__self__, "is_creation_allowed", is_creation_allowed) + if is_linking_allowed and not isinstance(is_linking_allowed, bool): + raise TypeError("Expected argument 'is_linking_allowed' to be a bool") + pulumi.set(__self__, "is_linking_allowed", is_linking_allowed) + if metadata_xml and not isinstance(metadata_xml, str): + raise TypeError("Expected argument 'metadata_xml' to be a str") + pulumi.set(__self__, "metadata_xml", metadata_xml) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if with_signed_request and not isinstance(with_signed_request, str): + raise TypeError("Expected argument 'with_signed_request' to be a str") + pulumi.set(__self__, "with_signed_request", with_signed_request) + + @property + @pulumi.getter + def binding(self) -> str: + """ + The binding + """ + return pulumi.get(self, "binding") + + @property + @pulumi.getter + def id(self) -> str: + """ + The ID of this resource. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> bool: + """ + enabled if a new account in ZITADEL are created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> bool: + """ + enabled if a the ZITADEL account fields are updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> bool: + """ + enabled if users are able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> bool: + """ + enabled if users are able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @property + @pulumi.getter(name="metadataXml") + def metadata_xml(self) -> str: + """ + The metadata XML as plain string + """ + return pulumi.get(self, "metadata_xml") + + @property + @pulumi.getter + def name(self) -> str: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="withSignedRequest") + def with_signed_request(self) -> str: + """ + Whether the SAML IDP requires signed requests + """ + return pulumi.get(self, "with_signed_request") + + +class AwaitableGetIdpSamlResult(GetIdpSamlResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetIdpSamlResult( + binding=self.binding, + id=self.id, + is_auto_creation=self.is_auto_creation, + is_auto_update=self.is_auto_update, + is_creation_allowed=self.is_creation_allowed, + is_linking_allowed=self.is_linking_allowed, + metadata_xml=self.metadata_xml, + name=self.name, + with_signed_request=self.with_signed_request) + + +def get_idp_saml(id: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetIdpSamlResult: + """ + Datasource representing a SAML IDP on the instance. + + ## Example Usage + + ```python + import pulumi + import pulumi_zitadel as zitadel + + default = zitadel.get_idp_saml(id="123456789012345678") + ``` + + + :param str id: The ID of this resource. + """ + __args__ = dict() + __args__['id'] = id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('zitadel:index/getIdpSaml:getIdpSaml', __args__, opts=opts, typ=GetIdpSamlResult).value + + return AwaitableGetIdpSamlResult( + binding=pulumi.get(__ret__, 'binding'), + id=pulumi.get(__ret__, 'id'), + is_auto_creation=pulumi.get(__ret__, 'is_auto_creation'), + is_auto_update=pulumi.get(__ret__, 'is_auto_update'), + is_creation_allowed=pulumi.get(__ret__, 'is_creation_allowed'), + is_linking_allowed=pulumi.get(__ret__, 'is_linking_allowed'), + metadata_xml=pulumi.get(__ret__, 'metadata_xml'), + name=pulumi.get(__ret__, 'name'), + with_signed_request=pulumi.get(__ret__, 'with_signed_request')) + + +@_utilities.lift_output_func(get_idp_saml) +def get_idp_saml_output(id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetIdpSamlResult]: + """ + Datasource representing a SAML IDP on the instance. + + ## Example Usage + + ```python + import pulumi + import pulumi_zitadel as zitadel + + default = zitadel.get_idp_saml(id="123456789012345678") + ``` + + + :param str id: The ID of this resource. + """ + ... diff --git a/sdk/python/pulumiverse_zitadel/get_org_idp_oauth.py b/sdk/python/pulumiverse_zitadel/get_org_idp_oauth.py new file mode 100644 index 0000000..6adfb6a --- /dev/null +++ b/sdk/python/pulumiverse_zitadel/get_org_idp_oauth.py @@ -0,0 +1,267 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = [ + 'GetOrgIdpOauthResult', + 'AwaitableGetOrgIdpOauthResult', + 'get_org_idp_oauth', + 'get_org_idp_oauth_output', +] + +@pulumi.output_type +class GetOrgIdpOauthResult: + """ + A collection of values returned by getOrgIdpOauth. + """ + def __init__(__self__, authorization_endpoint=None, client_id=None, client_secret=None, id=None, id_attribute=None, is_auto_creation=None, is_auto_update=None, is_creation_allowed=None, is_linking_allowed=None, name=None, org_id=None, scopes=None, token_endpoint=None, user_endpoint=None): + if authorization_endpoint and not isinstance(authorization_endpoint, str): + raise TypeError("Expected argument 'authorization_endpoint' to be a str") + pulumi.set(__self__, "authorization_endpoint", authorization_endpoint) + if client_id and not isinstance(client_id, str): + raise TypeError("Expected argument 'client_id' to be a str") + pulumi.set(__self__, "client_id", client_id) + if client_secret and not isinstance(client_secret, str): + raise TypeError("Expected argument 'client_secret' to be a str") + pulumi.set(__self__, "client_secret", client_secret) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if id_attribute and not isinstance(id_attribute, str): + raise TypeError("Expected argument 'id_attribute' to be a str") + pulumi.set(__self__, "id_attribute", id_attribute) + if is_auto_creation and not isinstance(is_auto_creation, bool): + raise TypeError("Expected argument 'is_auto_creation' to be a bool") + pulumi.set(__self__, "is_auto_creation", is_auto_creation) + if is_auto_update and not isinstance(is_auto_update, bool): + raise TypeError("Expected argument 'is_auto_update' to be a bool") + pulumi.set(__self__, "is_auto_update", is_auto_update) + if is_creation_allowed and not isinstance(is_creation_allowed, bool): + raise TypeError("Expected argument 'is_creation_allowed' to be a bool") + pulumi.set(__self__, "is_creation_allowed", is_creation_allowed) + if is_linking_allowed and not isinstance(is_linking_allowed, bool): + raise TypeError("Expected argument 'is_linking_allowed' to be a bool") + pulumi.set(__self__, "is_linking_allowed", is_linking_allowed) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if org_id and not isinstance(org_id, str): + raise TypeError("Expected argument 'org_id' to be a str") + pulumi.set(__self__, "org_id", org_id) + if scopes and not isinstance(scopes, list): + raise TypeError("Expected argument 'scopes' to be a list") + pulumi.set(__self__, "scopes", scopes) + if token_endpoint and not isinstance(token_endpoint, str): + raise TypeError("Expected argument 'token_endpoint' to be a str") + pulumi.set(__self__, "token_endpoint", token_endpoint) + if user_endpoint and not isinstance(user_endpoint, str): + raise TypeError("Expected argument 'user_endpoint' to be a str") + pulumi.set(__self__, "user_endpoint", user_endpoint) + + @property + @pulumi.getter(name="authorizationEndpoint") + def authorization_endpoint(self) -> str: + """ + The authorization endpoint + """ + return pulumi.get(self, "authorization_endpoint") + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> str: + """ + client id generated by the identity provider + """ + return pulumi.get(self, "client_id") + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> str: + """ + client secret generated by the identity provider + """ + return pulumi.get(self, "client_secret") + + @property + @pulumi.getter + def id(self) -> str: + """ + The ID of this resource. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="idAttribute") + def id_attribute(self) -> str: + """ + The id attribute + """ + return pulumi.get(self, "id_attribute") + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> bool: + """ + enabled if a new account in ZITADEL are created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> bool: + """ + enabled if a the ZITADEL account fields are updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> bool: + """ + enabled if users are able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> bool: + """ + enabled if users are able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @property + @pulumi.getter + def name(self) -> str: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[str]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @property + @pulumi.getter + def scopes(self) -> Sequence[str]: + """ + the scopes requested by ZITADEL during the request on the identity provider + """ + return pulumi.get(self, "scopes") + + @property + @pulumi.getter(name="tokenEndpoint") + def token_endpoint(self) -> str: + """ + The token endpoint + """ + return pulumi.get(self, "token_endpoint") + + @property + @pulumi.getter(name="userEndpoint") + def user_endpoint(self) -> str: + """ + The user endpoint + """ + return pulumi.get(self, "user_endpoint") + + +class AwaitableGetOrgIdpOauthResult(GetOrgIdpOauthResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetOrgIdpOauthResult( + authorization_endpoint=self.authorization_endpoint, + client_id=self.client_id, + client_secret=self.client_secret, + id=self.id, + id_attribute=self.id_attribute, + is_auto_creation=self.is_auto_creation, + is_auto_update=self.is_auto_update, + is_creation_allowed=self.is_creation_allowed, + is_linking_allowed=self.is_linking_allowed, + name=self.name, + org_id=self.org_id, + scopes=self.scopes, + token_endpoint=self.token_endpoint, + user_endpoint=self.user_endpoint) + + +def get_org_idp_oauth(id: Optional[str] = None, + org_id: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetOrgIdpOauthResult: + """ + Datasource representing a generic OAuth2 IDP of the organization. + + ## Example Usage + + ```python + import pulumi + import pulumi_zitadel as zitadel + + default = zitadel.get_org_idp_oauth(org_id=data["zitadel_org"]["default"]["id"], + id="123456789012345678") + ``` + + + :param str id: The ID of this resource. + :param str org_id: ID of the organization + """ + __args__ = dict() + __args__['id'] = id + __args__['orgId'] = org_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('zitadel:index/getOrgIdpOauth:getOrgIdpOauth', __args__, opts=opts, typ=GetOrgIdpOauthResult).value + + return AwaitableGetOrgIdpOauthResult( + authorization_endpoint=pulumi.get(__ret__, 'authorization_endpoint'), + client_id=pulumi.get(__ret__, 'client_id'), + client_secret=pulumi.get(__ret__, 'client_secret'), + id=pulumi.get(__ret__, 'id'), + id_attribute=pulumi.get(__ret__, 'id_attribute'), + is_auto_creation=pulumi.get(__ret__, 'is_auto_creation'), + is_auto_update=pulumi.get(__ret__, 'is_auto_update'), + is_creation_allowed=pulumi.get(__ret__, 'is_creation_allowed'), + is_linking_allowed=pulumi.get(__ret__, 'is_linking_allowed'), + name=pulumi.get(__ret__, 'name'), + org_id=pulumi.get(__ret__, 'org_id'), + scopes=pulumi.get(__ret__, 'scopes'), + token_endpoint=pulumi.get(__ret__, 'token_endpoint'), + user_endpoint=pulumi.get(__ret__, 'user_endpoint')) + + +@_utilities.lift_output_func(get_org_idp_oauth) +def get_org_idp_oauth_output(id: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[Optional[str]]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetOrgIdpOauthResult]: + """ + Datasource representing a generic OAuth2 IDP of the organization. + + ## Example Usage + + ```python + import pulumi + import pulumi_zitadel as zitadel + + default = zitadel.get_org_idp_oauth(org_id=data["zitadel_org"]["default"]["id"], + id="123456789012345678") + ``` + + + :param str id: The ID of this resource. + :param str org_id: ID of the organization + """ + ... diff --git a/sdk/python/pulumiverse_zitadel/get_org_idp_saml.py b/sdk/python/pulumiverse_zitadel/get_org_idp_saml.py new file mode 100644 index 0000000..ec3a5ee --- /dev/null +++ b/sdk/python/pulumiverse_zitadel/get_org_idp_saml.py @@ -0,0 +1,215 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = [ + 'GetOrgIdpSamlResult', + 'AwaitableGetOrgIdpSamlResult', + 'get_org_idp_saml', + 'get_org_idp_saml_output', +] + +@pulumi.output_type +class GetOrgIdpSamlResult: + """ + A collection of values returned by getOrgIdpSaml. + """ + def __init__(__self__, binding=None, id=None, is_auto_creation=None, is_auto_update=None, is_creation_allowed=None, is_linking_allowed=None, metadata_xml=None, name=None, org_id=None, with_signed_request=None): + if binding and not isinstance(binding, str): + raise TypeError("Expected argument 'binding' to be a str") + pulumi.set(__self__, "binding", binding) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if is_auto_creation and not isinstance(is_auto_creation, bool): + raise TypeError("Expected argument 'is_auto_creation' to be a bool") + pulumi.set(__self__, "is_auto_creation", is_auto_creation) + if is_auto_update and not isinstance(is_auto_update, bool): + raise TypeError("Expected argument 'is_auto_update' to be a bool") + pulumi.set(__self__, "is_auto_update", is_auto_update) + if is_creation_allowed and not isinstance(is_creation_allowed, bool): + raise TypeError("Expected argument 'is_creation_allowed' to be a bool") + pulumi.set(__self__, "is_creation_allowed", is_creation_allowed) + if is_linking_allowed and not isinstance(is_linking_allowed, bool): + raise TypeError("Expected argument 'is_linking_allowed' to be a bool") + pulumi.set(__self__, "is_linking_allowed", is_linking_allowed) + if metadata_xml and not isinstance(metadata_xml, str): + raise TypeError("Expected argument 'metadata_xml' to be a str") + pulumi.set(__self__, "metadata_xml", metadata_xml) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if org_id and not isinstance(org_id, str): + raise TypeError("Expected argument 'org_id' to be a str") + pulumi.set(__self__, "org_id", org_id) + if with_signed_request and not isinstance(with_signed_request, str): + raise TypeError("Expected argument 'with_signed_request' to be a str") + pulumi.set(__self__, "with_signed_request", with_signed_request) + + @property + @pulumi.getter + def binding(self) -> str: + """ + The binding + """ + return pulumi.get(self, "binding") + + @property + @pulumi.getter + def id(self) -> str: + """ + The ID of this resource. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> bool: + """ + enabled if a new account in ZITADEL are created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> bool: + """ + enabled if a the ZITADEL account fields are updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> bool: + """ + enabled if users are able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> bool: + """ + enabled if users are able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @property + @pulumi.getter(name="metadataXml") + def metadata_xml(self) -> str: + """ + The metadata XML as plain string + """ + return pulumi.get(self, "metadata_xml") + + @property + @pulumi.getter + def name(self) -> str: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[str]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @property + @pulumi.getter(name="withSignedRequest") + def with_signed_request(self) -> str: + """ + Whether the SAML IDP requires signed requests + """ + return pulumi.get(self, "with_signed_request") + + +class AwaitableGetOrgIdpSamlResult(GetOrgIdpSamlResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetOrgIdpSamlResult( + binding=self.binding, + id=self.id, + is_auto_creation=self.is_auto_creation, + is_auto_update=self.is_auto_update, + is_creation_allowed=self.is_creation_allowed, + is_linking_allowed=self.is_linking_allowed, + metadata_xml=self.metadata_xml, + name=self.name, + org_id=self.org_id, + with_signed_request=self.with_signed_request) + + +def get_org_idp_saml(id: Optional[str] = None, + org_id: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetOrgIdpSamlResult: + """ + Datasource representing a SAML IdP of the organization. + + ## Example Usage + + ```python + import pulumi + import pulumi_zitadel as zitadel + + default = zitadel.get_org_idp_saml(org_id=data["zitadel_org"]["default"]["id"], + id="123456789012345678") + ``` + + + :param str id: The ID of this resource. + :param str org_id: ID of the organization + """ + __args__ = dict() + __args__['id'] = id + __args__['orgId'] = org_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('zitadel:index/getOrgIdpSaml:getOrgIdpSaml', __args__, opts=opts, typ=GetOrgIdpSamlResult).value + + return AwaitableGetOrgIdpSamlResult( + binding=pulumi.get(__ret__, 'binding'), + id=pulumi.get(__ret__, 'id'), + is_auto_creation=pulumi.get(__ret__, 'is_auto_creation'), + is_auto_update=pulumi.get(__ret__, 'is_auto_update'), + is_creation_allowed=pulumi.get(__ret__, 'is_creation_allowed'), + is_linking_allowed=pulumi.get(__ret__, 'is_linking_allowed'), + metadata_xml=pulumi.get(__ret__, 'metadata_xml'), + name=pulumi.get(__ret__, 'name'), + org_id=pulumi.get(__ret__, 'org_id'), + with_signed_request=pulumi.get(__ret__, 'with_signed_request')) + + +@_utilities.lift_output_func(get_org_idp_saml) +def get_org_idp_saml_output(id: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[Optional[str]]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetOrgIdpSamlResult]: + """ + Datasource representing a SAML IdP of the organization. + + ## Example Usage + + ```python + import pulumi + import pulumi_zitadel as zitadel + + default = zitadel.get_org_idp_saml(org_id=data["zitadel_org"]["default"]["id"], + id="123456789012345678") + ``` + + + :param str id: The ID of this resource. + :param str org_id: ID of the organization + """ + ... diff --git a/sdk/python/pulumiverse_zitadel/human_user.py b/sdk/python/pulumiverse_zitadel/human_user.py index 4524583..5e36392 100644 --- a/sdk/python/pulumiverse_zitadel/human_user.py +++ b/sdk/python/pulumiverse_zitadel/human_user.py @@ -655,7 +655,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format `id[:org_id][:initial_password]>`, e.g. + bash The resource can be imported using the ID format `id[:org_id][:initial_password]>`, e.g. ```sh $ pulumi import zitadel:index/humanUser:HumanUser imported '123456789012345678:123456789012345678:Password1!' @@ -712,7 +712,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format `id[:org_id][:initial_password]>`, e.g. + bash The resource can be imported using the ID format `id[:org_id][:initial_password]>`, e.g. ```sh $ pulumi import zitadel:index/humanUser:HumanUser imported '123456789012345678:123456789012345678:Password1!' diff --git a/sdk/python/pulumiverse_zitadel/idp_azure_ad.py b/sdk/python/pulumiverse_zitadel/idp_azure_ad.py index 4c1585e..fe9294a 100644 --- a/sdk/python/pulumiverse_zitadel/idp_azure_ad.py +++ b/sdk/python/pulumiverse_zitadel/idp_azure_ad.py @@ -515,7 +515,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format ``, e.g. + bash The resource can be imported using the ID format ``, e.g. ```sh $ pulumi import zitadel:index/idpAzureAd:IdpAzureAd imported '123456789012345678:12345678-1234-1234-1234-123456789012' @@ -569,7 +569,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format ``, e.g. + bash The resource can be imported using the ID format ``, e.g. ```sh $ pulumi import zitadel:index/idpAzureAd:IdpAzureAd imported '123456789012345678:12345678-1234-1234-1234-123456789012' diff --git a/sdk/python/pulumiverse_zitadel/idp_github.py b/sdk/python/pulumiverse_zitadel/idp_github.py index 9955db4..9b776dc 100644 --- a/sdk/python/pulumiverse_zitadel/idp_github.py +++ b/sdk/python/pulumiverse_zitadel/idp_github.py @@ -390,7 +390,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format ``, e.g. + bash The resource can be imported using the ID format ``, e.g. ```sh $ pulumi import zitadel:index/idpGithub:IdpGithub imported '123456789012345678:1234567890123456781234567890123456787890' @@ -438,7 +438,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format ``, e.g. + bash The resource can be imported using the ID format ``, e.g. ```sh $ pulumi import zitadel:index/idpGithub:IdpGithub imported '123456789012345678:1234567890123456781234567890123456787890' diff --git a/sdk/python/pulumiverse_zitadel/idp_github_es.py b/sdk/python/pulumiverse_zitadel/idp_github_es.py index 56e13ad..71aa785 100644 --- a/sdk/python/pulumiverse_zitadel/idp_github_es.py +++ b/sdk/python/pulumiverse_zitadel/idp_github_es.py @@ -513,7 +513,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format ``, e.g. + bash The resource can be imported using the ID format ``, e.g. ```sh $ pulumi import zitadel:index/idpGithubEs:IdpGithubEs imported '123456789012345678:1234567890123456781234567890123456787890' @@ -567,7 +567,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format ``, e.g. + bash The resource can be imported using the ID format ``, e.g. ```sh $ pulumi import zitadel:index/idpGithubEs:IdpGithubEs imported '123456789012345678:1234567890123456781234567890123456787890' diff --git a/sdk/python/pulumiverse_zitadel/idp_gitlab.py b/sdk/python/pulumiverse_zitadel/idp_gitlab.py index 6ea4f12..b1ce3ca 100644 --- a/sdk/python/pulumiverse_zitadel/idp_gitlab.py +++ b/sdk/python/pulumiverse_zitadel/idp_gitlab.py @@ -390,7 +390,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format ``, e.g. + bash The resource can be imported using the ID format ``, e.g. ```sh $ pulumi import zitadel:index/idpGitlab:IdpGitlab imported '123456789012345678:1234567890abcdef' @@ -438,7 +438,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format ``, e.g. + bash The resource can be imported using the ID format ``, e.g. ```sh $ pulumi import zitadel:index/idpGitlab:IdpGitlab imported '123456789012345678:1234567890abcdef' diff --git a/sdk/python/pulumiverse_zitadel/idp_gitlab_self_hosted.py b/sdk/python/pulumiverse_zitadel/idp_gitlab_self_hosted.py index fc9f67a..cb56594 100644 --- a/sdk/python/pulumiverse_zitadel/idp_gitlab_self_hosted.py +++ b/sdk/python/pulumiverse_zitadel/idp_gitlab_self_hosted.py @@ -427,7 +427,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format ``, e.g. + bash The resource can be imported using the ID format ``, e.g. ```sh $ pulumi import zitadel:index/idpGitlabSelfHosted:IdpGitlabSelfHosted imported '123456789012345678:1234567890abcdef' @@ -477,7 +477,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format ``, e.g. + bash The resource can be imported using the ID format ``, e.g. ```sh $ pulumi import zitadel:index/idpGitlabSelfHosted:IdpGitlabSelfHosted imported '123456789012345678:1234567890abcdef' diff --git a/sdk/python/pulumiverse_zitadel/idp_google.py b/sdk/python/pulumiverse_zitadel/idp_google.py index 7478254..fdad3d1 100644 --- a/sdk/python/pulumiverse_zitadel/idp_google.py +++ b/sdk/python/pulumiverse_zitadel/idp_google.py @@ -390,7 +390,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format ``, e.g. + bash The resource can be imported using the ID format ``, e.g. ```sh $ pulumi import zitadel:index/idpGoogle:IdpGoogle imported '123456789012345678:G1234567890123' @@ -438,7 +438,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format ``, e.g. + bash The resource can be imported using the ID format ``, e.g. ```sh $ pulumi import zitadel:index/idpGoogle:IdpGoogle imported '123456789012345678:G1234567890123' diff --git a/sdk/python/pulumiverse_zitadel/idp_ldap.py b/sdk/python/pulumiverse_zitadel/idp_ldap.py index e4c2e7b..f5fdffc 100644 --- a/sdk/python/pulumiverse_zitadel/idp_ldap.py +++ b/sdk/python/pulumiverse_zitadel/idp_ldap.py @@ -1169,7 +1169,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format ``, e.g. + bash The resource can be imported using the ID format ``, e.g. ```sh $ pulumi import zitadel:index/idpLdap:IdpLdap imported '123456789012345678:b1nd_p4ssw0rd' @@ -1247,7 +1247,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format ``, e.g. + bash The resource can be imported using the ID format ``, e.g. ```sh $ pulumi import zitadel:index/idpLdap:IdpLdap imported '123456789012345678:b1nd_p4ssw0rd' diff --git a/sdk/python/pulumiverse_zitadel/idp_oauth.py b/sdk/python/pulumiverse_zitadel/idp_oauth.py new file mode 100644 index 0000000..d8c59b7 --- /dev/null +++ b/sdk/python/pulumiverse_zitadel/idp_oauth.py @@ -0,0 +1,848 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['IdpOauthArgs', 'IdpOauth'] + +@pulumi.input_type +class IdpOauthArgs: + def __init__(__self__, *, + authorization_endpoint: pulumi.Input[str], + client_id: pulumi.Input[str], + client_secret: pulumi.Input[str], + id_attribute: pulumi.Input[str], + is_auto_creation: pulumi.Input[bool], + is_auto_update: pulumi.Input[bool], + is_creation_allowed: pulumi.Input[bool], + is_linking_allowed: pulumi.Input[bool], + token_endpoint: pulumi.Input[str], + user_endpoint: pulumi.Input[str], + name: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a IdpOauth resource. + :param pulumi.Input[str] authorization_endpoint: The authorization endpoint + :param pulumi.Input[str] client_id: client id generated by the identity provider + :param pulumi.Input[str] client_secret: client secret generated by the identity provider + :param pulumi.Input[str] id_attribute: The id attribute + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] token_endpoint: The token endpoint + :param pulumi.Input[str] user_endpoint: The user endpoint + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[Sequence[pulumi.Input[str]]] scopes: the scopes requested by ZITADEL during the request on the identity provider + """ + IdpOauthArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + authorization_endpoint=authorization_endpoint, + client_id=client_id, + client_secret=client_secret, + id_attribute=id_attribute, + is_auto_creation=is_auto_creation, + is_auto_update=is_auto_update, + is_creation_allowed=is_creation_allowed, + is_linking_allowed=is_linking_allowed, + token_endpoint=token_endpoint, + user_endpoint=user_endpoint, + name=name, + scopes=scopes, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + authorization_endpoint: pulumi.Input[str], + client_id: pulumi.Input[str], + client_secret: pulumi.Input[str], + id_attribute: pulumi.Input[str], + is_auto_creation: pulumi.Input[bool], + is_auto_update: pulumi.Input[bool], + is_creation_allowed: pulumi.Input[bool], + is_linking_allowed: pulumi.Input[bool], + token_endpoint: pulumi.Input[str], + user_endpoint: pulumi.Input[str], + name: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'authorizationEndpoint' in kwargs: + authorization_endpoint = kwargs['authorizationEndpoint'] + if 'clientId' in kwargs: + client_id = kwargs['clientId'] + if 'clientSecret' in kwargs: + client_secret = kwargs['clientSecret'] + if 'idAttribute' in kwargs: + id_attribute = kwargs['idAttribute'] + if 'isAutoCreation' in kwargs: + is_auto_creation = kwargs['isAutoCreation'] + if 'isAutoUpdate' in kwargs: + is_auto_update = kwargs['isAutoUpdate'] + if 'isCreationAllowed' in kwargs: + is_creation_allowed = kwargs['isCreationAllowed'] + if 'isLinkingAllowed' in kwargs: + is_linking_allowed = kwargs['isLinkingAllowed'] + if 'tokenEndpoint' in kwargs: + token_endpoint = kwargs['tokenEndpoint'] + if 'userEndpoint' in kwargs: + user_endpoint = kwargs['userEndpoint'] + + _setter("authorization_endpoint", authorization_endpoint) + _setter("client_id", client_id) + _setter("client_secret", client_secret) + _setter("id_attribute", id_attribute) + _setter("is_auto_creation", is_auto_creation) + _setter("is_auto_update", is_auto_update) + _setter("is_creation_allowed", is_creation_allowed) + _setter("is_linking_allowed", is_linking_allowed) + _setter("token_endpoint", token_endpoint) + _setter("user_endpoint", user_endpoint) + if name is not None: + _setter("name", name) + if scopes is not None: + _setter("scopes", scopes) + + @property + @pulumi.getter(name="authorizationEndpoint") + def authorization_endpoint(self) -> pulumi.Input[str]: + """ + The authorization endpoint + """ + return pulumi.get(self, "authorization_endpoint") + + @authorization_endpoint.setter + def authorization_endpoint(self, value: pulumi.Input[str]): + pulumi.set(self, "authorization_endpoint", value) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> pulumi.Input[str]: + """ + client id generated by the identity provider + """ + return pulumi.get(self, "client_id") + + @client_id.setter + def client_id(self, value: pulumi.Input[str]): + pulumi.set(self, "client_id", value) + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> pulumi.Input[str]: + """ + client secret generated by the identity provider + """ + return pulumi.get(self, "client_secret") + + @client_secret.setter + def client_secret(self, value: pulumi.Input[str]): + pulumi.set(self, "client_secret", value) + + @property + @pulumi.getter(name="idAttribute") + def id_attribute(self) -> pulumi.Input[str]: + """ + The id attribute + """ + return pulumi.get(self, "id_attribute") + + @id_attribute.setter + def id_attribute(self, value: pulumi.Input[str]): + pulumi.set(self, "id_attribute", value) + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> pulumi.Input[bool]: + """ + enable if a new account in ZITADEL should be created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @is_auto_creation.setter + def is_auto_creation(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_auto_creation", value) + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> pulumi.Input[bool]: + """ + enable if a the ZITADEL account fields should be updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @is_auto_update.setter + def is_auto_update(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_auto_update", value) + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> pulumi.Input[bool]: + """ + enable if users should be able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @is_creation_allowed.setter + def is_creation_allowed(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_creation_allowed", value) + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> pulumi.Input[bool]: + """ + enable if users should be able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @is_linking_allowed.setter + def is_linking_allowed(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_linking_allowed", value) + + @property + @pulumi.getter(name="tokenEndpoint") + def token_endpoint(self) -> pulumi.Input[str]: + """ + The token endpoint + """ + return pulumi.get(self, "token_endpoint") + + @token_endpoint.setter + def token_endpoint(self, value: pulumi.Input[str]): + pulumi.set(self, "token_endpoint", value) + + @property + @pulumi.getter(name="userEndpoint") + def user_endpoint(self) -> pulumi.Input[str]: + """ + The user endpoint + """ + return pulumi.get(self, "user_endpoint") + + @user_endpoint.setter + def user_endpoint(self, value: pulumi.Input[str]): + pulumi.set(self, "user_endpoint", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def scopes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + the scopes requested by ZITADEL during the request on the identity provider + """ + return pulumi.get(self, "scopes") + + @scopes.setter + def scopes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "scopes", value) + + +@pulumi.input_type +class _IdpOauthState: + def __init__(__self__, *, + authorization_endpoint: Optional[pulumi.Input[str]] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + id_attribute: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + token_endpoint: Optional[pulumi.Input[str]] = None, + user_endpoint: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering IdpOauth resources. + :param pulumi.Input[str] authorization_endpoint: The authorization endpoint + :param pulumi.Input[str] client_id: client id generated by the identity provider + :param pulumi.Input[str] client_secret: client secret generated by the identity provider + :param pulumi.Input[str] id_attribute: The id attribute + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[Sequence[pulumi.Input[str]]] scopes: the scopes requested by ZITADEL during the request on the identity provider + :param pulumi.Input[str] token_endpoint: The token endpoint + :param pulumi.Input[str] user_endpoint: The user endpoint + """ + _IdpOauthState._configure( + lambda key, value: pulumi.set(__self__, key, value), + authorization_endpoint=authorization_endpoint, + client_id=client_id, + client_secret=client_secret, + id_attribute=id_attribute, + is_auto_creation=is_auto_creation, + is_auto_update=is_auto_update, + is_creation_allowed=is_creation_allowed, + is_linking_allowed=is_linking_allowed, + name=name, + scopes=scopes, + token_endpoint=token_endpoint, + user_endpoint=user_endpoint, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + authorization_endpoint: Optional[pulumi.Input[str]] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + id_attribute: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + token_endpoint: Optional[pulumi.Input[str]] = None, + user_endpoint: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'authorizationEndpoint' in kwargs: + authorization_endpoint = kwargs['authorizationEndpoint'] + if 'clientId' in kwargs: + client_id = kwargs['clientId'] + if 'clientSecret' in kwargs: + client_secret = kwargs['clientSecret'] + if 'idAttribute' in kwargs: + id_attribute = kwargs['idAttribute'] + if 'isAutoCreation' in kwargs: + is_auto_creation = kwargs['isAutoCreation'] + if 'isAutoUpdate' in kwargs: + is_auto_update = kwargs['isAutoUpdate'] + if 'isCreationAllowed' in kwargs: + is_creation_allowed = kwargs['isCreationAllowed'] + if 'isLinkingAllowed' in kwargs: + is_linking_allowed = kwargs['isLinkingAllowed'] + if 'tokenEndpoint' in kwargs: + token_endpoint = kwargs['tokenEndpoint'] + if 'userEndpoint' in kwargs: + user_endpoint = kwargs['userEndpoint'] + + if authorization_endpoint is not None: + _setter("authorization_endpoint", authorization_endpoint) + if client_id is not None: + _setter("client_id", client_id) + if client_secret is not None: + _setter("client_secret", client_secret) + if id_attribute is not None: + _setter("id_attribute", id_attribute) + if is_auto_creation is not None: + _setter("is_auto_creation", is_auto_creation) + if is_auto_update is not None: + _setter("is_auto_update", is_auto_update) + if is_creation_allowed is not None: + _setter("is_creation_allowed", is_creation_allowed) + if is_linking_allowed is not None: + _setter("is_linking_allowed", is_linking_allowed) + if name is not None: + _setter("name", name) + if scopes is not None: + _setter("scopes", scopes) + if token_endpoint is not None: + _setter("token_endpoint", token_endpoint) + if user_endpoint is not None: + _setter("user_endpoint", user_endpoint) + + @property + @pulumi.getter(name="authorizationEndpoint") + def authorization_endpoint(self) -> Optional[pulumi.Input[str]]: + """ + The authorization endpoint + """ + return pulumi.get(self, "authorization_endpoint") + + @authorization_endpoint.setter + def authorization_endpoint(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "authorization_endpoint", value) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> Optional[pulumi.Input[str]]: + """ + client id generated by the identity provider + """ + return pulumi.get(self, "client_id") + + @client_id.setter + def client_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "client_id", value) + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> Optional[pulumi.Input[str]]: + """ + client secret generated by the identity provider + """ + return pulumi.get(self, "client_secret") + + @client_secret.setter + def client_secret(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "client_secret", value) + + @property + @pulumi.getter(name="idAttribute") + def id_attribute(self) -> Optional[pulumi.Input[str]]: + """ + The id attribute + """ + return pulumi.get(self, "id_attribute") + + @id_attribute.setter + def id_attribute(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "id_attribute", value) + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> Optional[pulumi.Input[bool]]: + """ + enable if a new account in ZITADEL should be created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @is_auto_creation.setter + def is_auto_creation(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_auto_creation", value) + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> Optional[pulumi.Input[bool]]: + """ + enable if a the ZITADEL account fields should be updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @is_auto_update.setter + def is_auto_update(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_auto_update", value) + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> Optional[pulumi.Input[bool]]: + """ + enable if users should be able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @is_creation_allowed.setter + def is_creation_allowed(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_creation_allowed", value) + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> Optional[pulumi.Input[bool]]: + """ + enable if users should be able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @is_linking_allowed.setter + def is_linking_allowed(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_linking_allowed", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def scopes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + the scopes requested by ZITADEL during the request on the identity provider + """ + return pulumi.get(self, "scopes") + + @scopes.setter + def scopes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "scopes", value) + + @property + @pulumi.getter(name="tokenEndpoint") + def token_endpoint(self) -> Optional[pulumi.Input[str]]: + """ + The token endpoint + """ + return pulumi.get(self, "token_endpoint") + + @token_endpoint.setter + def token_endpoint(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "token_endpoint", value) + + @property + @pulumi.getter(name="userEndpoint") + def user_endpoint(self) -> Optional[pulumi.Input[str]]: + """ + The user endpoint + """ + return pulumi.get(self, "user_endpoint") + + @user_endpoint.setter + def user_endpoint(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "user_endpoint", value) + + +class IdpOauth(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + authorization_endpoint: Optional[pulumi.Input[str]] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + id_attribute: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + token_endpoint: Optional[pulumi.Input[str]] = None, + user_endpoint: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Resource representing a generic OAuth2 IDP on the instance. + + ## Example Usage + + ```python + import pulumi + import pulumiverse_zitadel as zitadel + + default = zitadel.IdpOauth("default", + authorization_endpoint="https://accounts.google.com/o/oauth2/v2/auth", + client_id="15765e...", + client_secret="*****abcxyz", + id_attribute="user_id", + is_auto_creation=False, + is_auto_update=True, + is_creation_allowed=True, + is_linking_allowed=False, + scopes=[ + "openid", + "profile", + "email", + ], + token_endpoint="https://oauth2.googleapis.com/token", + user_endpoint="https://openidconnect.googleapis.com/v1/userinfo") + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/idpOauth:IdpOauth imported '123456789012345678:1234567890abcdef' + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] authorization_endpoint: The authorization endpoint + :param pulumi.Input[str] client_id: client id generated by the identity provider + :param pulumi.Input[str] client_secret: client secret generated by the identity provider + :param pulumi.Input[str] id_attribute: The id attribute + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[Sequence[pulumi.Input[str]]] scopes: the scopes requested by ZITADEL during the request on the identity provider + :param pulumi.Input[str] token_endpoint: The token endpoint + :param pulumi.Input[str] user_endpoint: The user endpoint + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: IdpOauthArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource representing a generic OAuth2 IDP on the instance. + + ## Example Usage + + ```python + import pulumi + import pulumiverse_zitadel as zitadel + + default = zitadel.IdpOauth("default", + authorization_endpoint="https://accounts.google.com/o/oauth2/v2/auth", + client_id="15765e...", + client_secret="*****abcxyz", + id_attribute="user_id", + is_auto_creation=False, + is_auto_update=True, + is_creation_allowed=True, + is_linking_allowed=False, + scopes=[ + "openid", + "profile", + "email", + ], + token_endpoint="https://oauth2.googleapis.com/token", + user_endpoint="https://openidconnect.googleapis.com/v1/userinfo") + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/idpOauth:IdpOauth imported '123456789012345678:1234567890abcdef' + ``` + + :param str resource_name: The name of the resource. + :param IdpOauthArgs 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(IdpOauthArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + IdpOauthArgs._configure(_setter, **kwargs) + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + authorization_endpoint: Optional[pulumi.Input[str]] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + id_attribute: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + token_endpoint: Optional[pulumi.Input[str]] = None, + user_endpoint: 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__ = IdpOauthArgs.__new__(IdpOauthArgs) + + if authorization_endpoint is None and not opts.urn: + raise TypeError("Missing required property 'authorization_endpoint'") + __props__.__dict__["authorization_endpoint"] = authorization_endpoint + if client_id is None and not opts.urn: + raise TypeError("Missing required property 'client_id'") + __props__.__dict__["client_id"] = client_id + if client_secret is None and not opts.urn: + raise TypeError("Missing required property 'client_secret'") + __props__.__dict__["client_secret"] = None if client_secret is None else pulumi.Output.secret(client_secret) + if id_attribute is None and not opts.urn: + raise TypeError("Missing required property 'id_attribute'") + __props__.__dict__["id_attribute"] = id_attribute + if is_auto_creation is None and not opts.urn: + raise TypeError("Missing required property 'is_auto_creation'") + __props__.__dict__["is_auto_creation"] = is_auto_creation + if is_auto_update is None and not opts.urn: + raise TypeError("Missing required property 'is_auto_update'") + __props__.__dict__["is_auto_update"] = is_auto_update + if is_creation_allowed is None and not opts.urn: + raise TypeError("Missing required property 'is_creation_allowed'") + __props__.__dict__["is_creation_allowed"] = is_creation_allowed + if is_linking_allowed is None and not opts.urn: + raise TypeError("Missing required property 'is_linking_allowed'") + __props__.__dict__["is_linking_allowed"] = is_linking_allowed + __props__.__dict__["name"] = name + __props__.__dict__["scopes"] = scopes + if token_endpoint is None and not opts.urn: + raise TypeError("Missing required property 'token_endpoint'") + __props__.__dict__["token_endpoint"] = token_endpoint + if user_endpoint is None and not opts.urn: + raise TypeError("Missing required property 'user_endpoint'") + __props__.__dict__["user_endpoint"] = user_endpoint + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["clientSecret"]) + opts = pulumi.ResourceOptions.merge(opts, secret_opts) + super(IdpOauth, __self__).__init__( + 'zitadel:index/idpOauth:IdpOauth', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + authorization_endpoint: Optional[pulumi.Input[str]] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + id_attribute: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + token_endpoint: Optional[pulumi.Input[str]] = None, + user_endpoint: Optional[pulumi.Input[str]] = None) -> 'IdpOauth': + """ + Get an existing IdpOauth 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[str] authorization_endpoint: The authorization endpoint + :param pulumi.Input[str] client_id: client id generated by the identity provider + :param pulumi.Input[str] client_secret: client secret generated by the identity provider + :param pulumi.Input[str] id_attribute: The id attribute + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[Sequence[pulumi.Input[str]]] scopes: the scopes requested by ZITADEL during the request on the identity provider + :param pulumi.Input[str] token_endpoint: The token endpoint + :param pulumi.Input[str] user_endpoint: The user endpoint + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _IdpOauthState.__new__(_IdpOauthState) + + __props__.__dict__["authorization_endpoint"] = authorization_endpoint + __props__.__dict__["client_id"] = client_id + __props__.__dict__["client_secret"] = client_secret + __props__.__dict__["id_attribute"] = id_attribute + __props__.__dict__["is_auto_creation"] = is_auto_creation + __props__.__dict__["is_auto_update"] = is_auto_update + __props__.__dict__["is_creation_allowed"] = is_creation_allowed + __props__.__dict__["is_linking_allowed"] = is_linking_allowed + __props__.__dict__["name"] = name + __props__.__dict__["scopes"] = scopes + __props__.__dict__["token_endpoint"] = token_endpoint + __props__.__dict__["user_endpoint"] = user_endpoint + return IdpOauth(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="authorizationEndpoint") + def authorization_endpoint(self) -> pulumi.Output[str]: + """ + The authorization endpoint + """ + return pulumi.get(self, "authorization_endpoint") + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> pulumi.Output[str]: + """ + client id generated by the identity provider + """ + return pulumi.get(self, "client_id") + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> pulumi.Output[str]: + """ + client secret generated by the identity provider + """ + return pulumi.get(self, "client_secret") + + @property + @pulumi.getter(name="idAttribute") + def id_attribute(self) -> pulumi.Output[str]: + """ + The id attribute + """ + return pulumi.get(self, "id_attribute") + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> pulumi.Output[bool]: + """ + enable if a new account in ZITADEL should be created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> pulumi.Output[bool]: + """ + enable if a the ZITADEL account fields should be updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> pulumi.Output[bool]: + """ + enable if users should be able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> pulumi.Output[bool]: + """ + enable if users should be able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def scopes(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + the scopes requested by ZITADEL during the request on the identity provider + """ + return pulumi.get(self, "scopes") + + @property + @pulumi.getter(name="tokenEndpoint") + def token_endpoint(self) -> pulumi.Output[str]: + """ + The token endpoint + """ + return pulumi.get(self, "token_endpoint") + + @property + @pulumi.getter(name="userEndpoint") + def user_endpoint(self) -> pulumi.Output[str]: + """ + The user endpoint + """ + return pulumi.get(self, "user_endpoint") + diff --git a/sdk/python/pulumiverse_zitadel/idp_saml.py b/sdk/python/pulumiverse_zitadel/idp_saml.py new file mode 100644 index 0000000..cffd583 --- /dev/null +++ b/sdk/python/pulumiverse_zitadel/idp_saml.py @@ -0,0 +1,681 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['IdpSamlArgs', 'IdpSaml'] + +@pulumi.input_type +class IdpSamlArgs: + def __init__(__self__, *, + is_auto_creation: pulumi.Input[bool], + is_auto_update: pulumi.Input[bool], + is_creation_allowed: pulumi.Input[bool], + is_linking_allowed: pulumi.Input[bool], + metadata_xml: pulumi.Input[str], + binding: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + with_signed_request: Optional[pulumi.Input[bool]] = None): + """ + The set of arguments for constructing a IdpSaml resource. + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] metadata_xml: The metadata XML as plain string + :param pulumi.Input[str] binding: The binding, supported values: SAML*BINDING*UNSPECIFIED, SAML*BINDING*POST, SAML*BINDING*REDIRECT, SAML*BINDING*ARTIFACT + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[bool] with_signed_request: Whether the SAML IDP requires signed requests + """ + IdpSamlArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + is_auto_creation=is_auto_creation, + is_auto_update=is_auto_update, + is_creation_allowed=is_creation_allowed, + is_linking_allowed=is_linking_allowed, + metadata_xml=metadata_xml, + binding=binding, + name=name, + with_signed_request=with_signed_request, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + is_auto_creation: pulumi.Input[bool], + is_auto_update: pulumi.Input[bool], + is_creation_allowed: pulumi.Input[bool], + is_linking_allowed: pulumi.Input[bool], + metadata_xml: pulumi.Input[str], + binding: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + with_signed_request: Optional[pulumi.Input[bool]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'isAutoCreation' in kwargs: + is_auto_creation = kwargs['isAutoCreation'] + if 'isAutoUpdate' in kwargs: + is_auto_update = kwargs['isAutoUpdate'] + if 'isCreationAllowed' in kwargs: + is_creation_allowed = kwargs['isCreationAllowed'] + if 'isLinkingAllowed' in kwargs: + is_linking_allowed = kwargs['isLinkingAllowed'] + if 'metadataXml' in kwargs: + metadata_xml = kwargs['metadataXml'] + if 'withSignedRequest' in kwargs: + with_signed_request = kwargs['withSignedRequest'] + + _setter("is_auto_creation", is_auto_creation) + _setter("is_auto_update", is_auto_update) + _setter("is_creation_allowed", is_creation_allowed) + _setter("is_linking_allowed", is_linking_allowed) + _setter("metadata_xml", metadata_xml) + if binding is not None: + _setter("binding", binding) + if name is not None: + _setter("name", name) + if with_signed_request is not None: + _setter("with_signed_request", with_signed_request) + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> pulumi.Input[bool]: + """ + enable if a new account in ZITADEL should be created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @is_auto_creation.setter + def is_auto_creation(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_auto_creation", value) + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> pulumi.Input[bool]: + """ + enable if a the ZITADEL account fields should be updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @is_auto_update.setter + def is_auto_update(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_auto_update", value) + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> pulumi.Input[bool]: + """ + enable if users should be able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @is_creation_allowed.setter + def is_creation_allowed(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_creation_allowed", value) + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> pulumi.Input[bool]: + """ + enable if users should be able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @is_linking_allowed.setter + def is_linking_allowed(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_linking_allowed", value) + + @property + @pulumi.getter(name="metadataXml") + def metadata_xml(self) -> pulumi.Input[str]: + """ + The metadata XML as plain string + """ + return pulumi.get(self, "metadata_xml") + + @metadata_xml.setter + def metadata_xml(self, value: pulumi.Input[str]): + pulumi.set(self, "metadata_xml", value) + + @property + @pulumi.getter + def binding(self) -> Optional[pulumi.Input[str]]: + """ + The binding, supported values: SAML*BINDING*UNSPECIFIED, SAML*BINDING*POST, SAML*BINDING*REDIRECT, SAML*BINDING*ARTIFACT + """ + return pulumi.get(self, "binding") + + @binding.setter + def binding(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "binding", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="withSignedRequest") + def with_signed_request(self) -> Optional[pulumi.Input[bool]]: + """ + Whether the SAML IDP requires signed requests + """ + return pulumi.get(self, "with_signed_request") + + @with_signed_request.setter + def with_signed_request(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "with_signed_request", value) + + +@pulumi.input_type +class _IdpSamlState: + def __init__(__self__, *, + binding: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + metadata_xml: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + with_signed_request: Optional[pulumi.Input[bool]] = None): + """ + Input properties used for looking up and filtering IdpSaml resources. + :param pulumi.Input[str] binding: The binding, supported values: SAML*BINDING*UNSPECIFIED, SAML*BINDING*POST, SAML*BINDING*REDIRECT, SAML*BINDING*ARTIFACT + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] metadata_xml: The metadata XML as plain string + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[bool] with_signed_request: Whether the SAML IDP requires signed requests + """ + _IdpSamlState._configure( + lambda key, value: pulumi.set(__self__, key, value), + binding=binding, + is_auto_creation=is_auto_creation, + is_auto_update=is_auto_update, + is_creation_allowed=is_creation_allowed, + is_linking_allowed=is_linking_allowed, + metadata_xml=metadata_xml, + name=name, + with_signed_request=with_signed_request, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + binding: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + metadata_xml: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + with_signed_request: Optional[pulumi.Input[bool]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'isAutoCreation' in kwargs: + is_auto_creation = kwargs['isAutoCreation'] + if 'isAutoUpdate' in kwargs: + is_auto_update = kwargs['isAutoUpdate'] + if 'isCreationAllowed' in kwargs: + is_creation_allowed = kwargs['isCreationAllowed'] + if 'isLinkingAllowed' in kwargs: + is_linking_allowed = kwargs['isLinkingAllowed'] + if 'metadataXml' in kwargs: + metadata_xml = kwargs['metadataXml'] + if 'withSignedRequest' in kwargs: + with_signed_request = kwargs['withSignedRequest'] + + if binding is not None: + _setter("binding", binding) + if is_auto_creation is not None: + _setter("is_auto_creation", is_auto_creation) + if is_auto_update is not None: + _setter("is_auto_update", is_auto_update) + if is_creation_allowed is not None: + _setter("is_creation_allowed", is_creation_allowed) + if is_linking_allowed is not None: + _setter("is_linking_allowed", is_linking_allowed) + if metadata_xml is not None: + _setter("metadata_xml", metadata_xml) + if name is not None: + _setter("name", name) + if with_signed_request is not None: + _setter("with_signed_request", with_signed_request) + + @property + @pulumi.getter + def binding(self) -> Optional[pulumi.Input[str]]: + """ + The binding, supported values: SAML*BINDING*UNSPECIFIED, SAML*BINDING*POST, SAML*BINDING*REDIRECT, SAML*BINDING*ARTIFACT + """ + return pulumi.get(self, "binding") + + @binding.setter + def binding(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "binding", value) + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> Optional[pulumi.Input[bool]]: + """ + enable if a new account in ZITADEL should be created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @is_auto_creation.setter + def is_auto_creation(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_auto_creation", value) + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> Optional[pulumi.Input[bool]]: + """ + enable if a the ZITADEL account fields should be updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @is_auto_update.setter + def is_auto_update(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_auto_update", value) + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> Optional[pulumi.Input[bool]]: + """ + enable if users should be able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @is_creation_allowed.setter + def is_creation_allowed(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_creation_allowed", value) + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> Optional[pulumi.Input[bool]]: + """ + enable if users should be able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @is_linking_allowed.setter + def is_linking_allowed(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_linking_allowed", value) + + @property + @pulumi.getter(name="metadataXml") + def metadata_xml(self) -> Optional[pulumi.Input[str]]: + """ + The metadata XML as plain string + """ + return pulumi.get(self, "metadata_xml") + + @metadata_xml.setter + def metadata_xml(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "metadata_xml", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="withSignedRequest") + def with_signed_request(self) -> Optional[pulumi.Input[bool]]: + """ + Whether the SAML IDP requires signed requests + """ + return pulumi.get(self, "with_signed_request") + + @with_signed_request.setter + def with_signed_request(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "with_signed_request", value) + + +class IdpSaml(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + binding: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + metadata_xml: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + with_signed_request: Optional[pulumi.Input[bool]] = None, + __props__=None): + """ + Resource representing a SAML IDP on the instance. + + ## Example Usage + + ```python + import pulumi + import pulumiverse_zitadel as zitadel + + default = zitadel.IdpSaml("default", + binding="SAML_BINDING_POST", + is_auto_creation=False, + is_auto_update=True, + is_creation_allowed=True, + is_linking_allowed=False, + metadata_xml=\"\"\" + + + + + + MIIC4jCCAcoCCQC33wnybT5QZDANBgkqhkiG9w0BAQsFADAyMQswCQYDVQQGEwJV + SzEPMA0GA1UECgwGQm94eUhRMRIwEAYDVQQDDAlNb2NrIFNBTUwwIBcNMjIwMjI4 + MjE0NjM4WhgPMzAyMTA3MDEyMTQ2MzhaMDIxCzAJBgNVBAYTAlVLMQ8wDQYDVQQK + DAZCb3h5SFExEjAQBgNVBAMMCU1vY2sgU0FNTDCCASIwDQYJKoZIhvcNAQEBBQAD + ggEPADCCAQoCggEBALGfYettMsct1T6tVUwTudNJH5Pnb9GGnkXi9Zw/e6x45DD0 + RuRONbFlJ2T4RjAE/uG+AjXxXQ8o2SZfb9+GgmCHuTJFNgHoZ1nFVXCmb/Hg8Hpd + 4vOAGXndixaReOiq3EH5XvpMjMkJ3+8+9VYMzMZOjkgQtAqO36eAFFfNKX7dTj3V + pwLkvz6/KFCq8OAwY+AUi4eZm5J57D31GzjHwfjH9WTeX0MyndmnNB1qV75qQR3b + 2/W5sGHRv+9AarggJkF+ptUkXoLtVA51wcfYm6hILptpde5FQC8RWY1YrswBWAEZ + NfyrR4JeSweElNHg4NVOs4TwGjOPwWGqzTfgTlECAwEAATANBgkqhkiG9w0BAQsF + AAOCAQEAAYRlYflSXAWoZpFfwNiCQVE5d9zZ0DPzNdWhAybXcTyMf0z5mDf6FWBW + 5Gyoi9u3EMEDnzLcJNkwJAAc39Apa4I2/tml+Jy29dk8bTyX6m93ngmCgdLh5Za4 + khuU3AM3L63g7VexCuO7kwkjh/+LqdcIXsVGO6XDfu2QOs1Xpe9zIzLpwm/RNYeX + UjbSj5ce/jekpAw7qyVVL4xOyh8AtUW1ek3wIw1MJvEgEPt0d16oshWJpoS1OT8L + r/22SvYEo3EmSGdTVGgk3x3s+A0qWAqTcyjr7Q4s/GKYRFfomGwz0TZ4Iw1ZN99M + m0eo2USlSRTVl7QHRTuiuSThHpLKQQ== + + + + urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress + + + + + + \"\"\", + with_signed_request=True) + ``` + ## Loading the XML Metadata + + If you don't want to pass the XML metadata inline, you have plenty of options. For example: + - local_file Data Source + - http Data Source + - terracurl_request Data Source + - ... + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/idpSaml:IdpSaml imported '123456789012345678' + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] binding: The binding, supported values: SAML*BINDING*UNSPECIFIED, SAML*BINDING*POST, SAML*BINDING*REDIRECT, SAML*BINDING*ARTIFACT + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] metadata_xml: The metadata XML as plain string + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[bool] with_signed_request: Whether the SAML IDP requires signed requests + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: IdpSamlArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource representing a SAML IDP on the instance. + + ## Example Usage + + ```python + import pulumi + import pulumiverse_zitadel as zitadel + + default = zitadel.IdpSaml("default", + binding="SAML_BINDING_POST", + is_auto_creation=False, + is_auto_update=True, + is_creation_allowed=True, + is_linking_allowed=False, + metadata_xml=\"\"\" + + + + + + MIIC4jCCAcoCCQC33wnybT5QZDANBgkqhkiG9w0BAQsFADAyMQswCQYDVQQGEwJV + SzEPMA0GA1UECgwGQm94eUhRMRIwEAYDVQQDDAlNb2NrIFNBTUwwIBcNMjIwMjI4 + MjE0NjM4WhgPMzAyMTA3MDEyMTQ2MzhaMDIxCzAJBgNVBAYTAlVLMQ8wDQYDVQQK + DAZCb3h5SFExEjAQBgNVBAMMCU1vY2sgU0FNTDCCASIwDQYJKoZIhvcNAQEBBQAD + ggEPADCCAQoCggEBALGfYettMsct1T6tVUwTudNJH5Pnb9GGnkXi9Zw/e6x45DD0 + RuRONbFlJ2T4RjAE/uG+AjXxXQ8o2SZfb9+GgmCHuTJFNgHoZ1nFVXCmb/Hg8Hpd + 4vOAGXndixaReOiq3EH5XvpMjMkJ3+8+9VYMzMZOjkgQtAqO36eAFFfNKX7dTj3V + pwLkvz6/KFCq8OAwY+AUi4eZm5J57D31GzjHwfjH9WTeX0MyndmnNB1qV75qQR3b + 2/W5sGHRv+9AarggJkF+ptUkXoLtVA51wcfYm6hILptpde5FQC8RWY1YrswBWAEZ + NfyrR4JeSweElNHg4NVOs4TwGjOPwWGqzTfgTlECAwEAATANBgkqhkiG9w0BAQsF + AAOCAQEAAYRlYflSXAWoZpFfwNiCQVE5d9zZ0DPzNdWhAybXcTyMf0z5mDf6FWBW + 5Gyoi9u3EMEDnzLcJNkwJAAc39Apa4I2/tml+Jy29dk8bTyX6m93ngmCgdLh5Za4 + khuU3AM3L63g7VexCuO7kwkjh/+LqdcIXsVGO6XDfu2QOs1Xpe9zIzLpwm/RNYeX + UjbSj5ce/jekpAw7qyVVL4xOyh8AtUW1ek3wIw1MJvEgEPt0d16oshWJpoS1OT8L + r/22SvYEo3EmSGdTVGgk3x3s+A0qWAqTcyjr7Q4s/GKYRFfomGwz0TZ4Iw1ZN99M + m0eo2USlSRTVl7QHRTuiuSThHpLKQQ== + + + + urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress + + + + + + \"\"\", + with_signed_request=True) + ``` + ## Loading the XML Metadata + + If you don't want to pass the XML metadata inline, you have plenty of options. For example: + - local_file Data Source + - http Data Source + - terracurl_request Data Source + - ... + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/idpSaml:IdpSaml imported '123456789012345678' + ``` + + :param str resource_name: The name of the resource. + :param IdpSamlArgs 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(IdpSamlArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + IdpSamlArgs._configure(_setter, **kwargs) + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + binding: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + metadata_xml: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + with_signed_request: Optional[pulumi.Input[bool]] = 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__ = IdpSamlArgs.__new__(IdpSamlArgs) + + __props__.__dict__["binding"] = binding + if is_auto_creation is None and not opts.urn: + raise TypeError("Missing required property 'is_auto_creation'") + __props__.__dict__["is_auto_creation"] = is_auto_creation + if is_auto_update is None and not opts.urn: + raise TypeError("Missing required property 'is_auto_update'") + __props__.__dict__["is_auto_update"] = is_auto_update + if is_creation_allowed is None and not opts.urn: + raise TypeError("Missing required property 'is_creation_allowed'") + __props__.__dict__["is_creation_allowed"] = is_creation_allowed + if is_linking_allowed is None and not opts.urn: + raise TypeError("Missing required property 'is_linking_allowed'") + __props__.__dict__["is_linking_allowed"] = is_linking_allowed + if metadata_xml is None and not opts.urn: + raise TypeError("Missing required property 'metadata_xml'") + __props__.__dict__["metadata_xml"] = metadata_xml + __props__.__dict__["name"] = name + __props__.__dict__["with_signed_request"] = with_signed_request + super(IdpSaml, __self__).__init__( + 'zitadel:index/idpSaml:IdpSaml', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + binding: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + metadata_xml: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + with_signed_request: Optional[pulumi.Input[bool]] = None) -> 'IdpSaml': + """ + Get an existing IdpSaml 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[str] binding: The binding, supported values: SAML*BINDING*UNSPECIFIED, SAML*BINDING*POST, SAML*BINDING*REDIRECT, SAML*BINDING*ARTIFACT + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] metadata_xml: The metadata XML as plain string + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[bool] with_signed_request: Whether the SAML IDP requires signed requests + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _IdpSamlState.__new__(_IdpSamlState) + + __props__.__dict__["binding"] = binding + __props__.__dict__["is_auto_creation"] = is_auto_creation + __props__.__dict__["is_auto_update"] = is_auto_update + __props__.__dict__["is_creation_allowed"] = is_creation_allowed + __props__.__dict__["is_linking_allowed"] = is_linking_allowed + __props__.__dict__["metadata_xml"] = metadata_xml + __props__.__dict__["name"] = name + __props__.__dict__["with_signed_request"] = with_signed_request + return IdpSaml(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def binding(self) -> pulumi.Output[Optional[str]]: + """ + The binding, supported values: SAML*BINDING*UNSPECIFIED, SAML*BINDING*POST, SAML*BINDING*REDIRECT, SAML*BINDING*ARTIFACT + """ + return pulumi.get(self, "binding") + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> pulumi.Output[bool]: + """ + enable if a new account in ZITADEL should be created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> pulumi.Output[bool]: + """ + enable if a the ZITADEL account fields should be updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> pulumi.Output[bool]: + """ + enable if users should be able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> pulumi.Output[bool]: + """ + enable if users should be able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @property + @pulumi.getter(name="metadataXml") + def metadata_xml(self) -> pulumi.Output[str]: + """ + The metadata XML as plain string + """ + return pulumi.get(self, "metadata_xml") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="withSignedRequest") + def with_signed_request(self) -> pulumi.Output[Optional[bool]]: + """ + Whether the SAML IDP requires signed requests + """ + return pulumi.get(self, "with_signed_request") + diff --git a/sdk/python/pulumiverse_zitadel/instance_member.py b/sdk/python/pulumiverse_zitadel/instance_member.py index 1ecc1e1..816bfcf 100644 --- a/sdk/python/pulumiverse_zitadel/instance_member.py +++ b/sdk/python/pulumiverse_zitadel/instance_member.py @@ -143,7 +143,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format ``, e.g. + bash The resource can be imported using the ID format ``, e.g. ```sh $ pulumi import zitadel:index/instanceMember:InstanceMember imported '123456789012345678' @@ -176,7 +176,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format ``, e.g. + bash The resource can be imported using the ID format ``, e.g. ```sh $ pulumi import zitadel:index/instanceMember:InstanceMember imported '123456789012345678' diff --git a/sdk/python/pulumiverse_zitadel/label_policy.py b/sdk/python/pulumiverse_zitadel/label_policy.py index 9db8083..66fbd7d 100644 --- a/sdk/python/pulumiverse_zitadel/label_policy.py +++ b/sdk/python/pulumiverse_zitadel/label_policy.py @@ -35,7 +35,8 @@ def __init__(__self__, *, logo_hash: Optional[pulumi.Input[str]] = None, logo_path: Optional[pulumi.Input[str]] = None, org_id: Optional[pulumi.Input[str]] = None, - set_active: Optional[pulumi.Input[bool]] = None): + set_active: Optional[pulumi.Input[bool]] = None, + theme_mode: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a LabelPolicy resource. :param pulumi.Input[str] background_color: hex value for background color @@ -50,6 +51,7 @@ def __init__(__self__, *, :param pulumi.Input[str] warn_color_dark: hex value for warn color dark theme :param pulumi.Input[str] org_id: ID of the organization :param pulumi.Input[bool] set_active: set the label policy active after creating/updating + :param pulumi.Input[str] theme_mode: theme mode, supported values: THEME*MODE*UNSPECIFIED, THEME*MODE*AUTO, THEME*MODE*DARK, THEME*MODE*LIGHT """ LabelPolicyArgs._configure( lambda key, value: pulumi.set(__self__, key, value), @@ -75,6 +77,7 @@ def __init__(__self__, *, logo_path=logo_path, org_id=org_id, set_active=set_active, + theme_mode=theme_mode, ) @staticmethod def _configure( @@ -101,6 +104,7 @@ def _configure( logo_path: Optional[pulumi.Input[str]] = None, org_id: Optional[pulumi.Input[str]] = None, set_active: Optional[pulumi.Input[bool]] = None, + theme_mode: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.ResourceOptions]=None, **kwargs): if 'backgroundColor' in kwargs: @@ -147,6 +151,8 @@ def _configure( org_id = kwargs['orgId'] if 'setActive' in kwargs: set_active = kwargs['setActive'] + if 'themeMode' in kwargs: + theme_mode = kwargs['themeMode'] _setter("background_color", background_color) _setter("background_color_dark", background_color_dark) @@ -182,6 +188,8 @@ def _configure( _setter("org_id", org_id) if set_active is not None: _setter("set_active", set_active) + if theme_mode is not None: + _setter("theme_mode", theme_mode) @property @pulumi.getter(name="backgroundColor") @@ -417,6 +425,18 @@ def set_active(self) -> Optional[pulumi.Input[bool]]: def set_active(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "set_active", value) + @property + @pulumi.getter(name="themeMode") + def theme_mode(self) -> Optional[pulumi.Input[str]]: + """ + theme mode, supported values: THEME*MODE*UNSPECIFIED, THEME*MODE*AUTO, THEME*MODE*DARK, THEME*MODE*LIGHT + """ + return pulumi.get(self, "theme_mode") + + @theme_mode.setter + def theme_mode(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "theme_mode", value) + @pulumi.input_type class _LabelPolicyState: @@ -446,6 +466,7 @@ def __init__(__self__, *, primary_color: Optional[pulumi.Input[str]] = None, primary_color_dark: Optional[pulumi.Input[str]] = None, set_active: Optional[pulumi.Input[bool]] = None, + theme_mode: Optional[pulumi.Input[str]] = None, warn_color: Optional[pulumi.Input[str]] = None, warn_color_dark: Optional[pulumi.Input[str]] = None): """ @@ -460,6 +481,7 @@ def __init__(__self__, *, :param pulumi.Input[str] primary_color: hex value for primary color :param pulumi.Input[str] primary_color_dark: hex value for primary color dark theme :param pulumi.Input[bool] set_active: set the label policy active after creating/updating + :param pulumi.Input[str] theme_mode: theme mode, supported values: THEME*MODE*UNSPECIFIED, THEME*MODE*AUTO, THEME*MODE*DARK, THEME*MODE*LIGHT :param pulumi.Input[str] warn_color: hex value for warn color :param pulumi.Input[str] warn_color_dark: hex value for warn color dark theme """ @@ -490,6 +512,7 @@ def __init__(__self__, *, primary_color=primary_color, primary_color_dark=primary_color_dark, set_active=set_active, + theme_mode=theme_mode, warn_color=warn_color, warn_color_dark=warn_color_dark, ) @@ -521,6 +544,7 @@ def _configure( primary_color: Optional[pulumi.Input[str]] = None, primary_color_dark: Optional[pulumi.Input[str]] = None, set_active: Optional[pulumi.Input[bool]] = None, + theme_mode: Optional[pulumi.Input[str]] = None, warn_color: Optional[pulumi.Input[str]] = None, warn_color_dark: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.ResourceOptions]=None, @@ -575,6 +599,8 @@ def _configure( primary_color_dark = kwargs['primaryColorDark'] if 'setActive' in kwargs: set_active = kwargs['setActive'] + if 'themeMode' in kwargs: + theme_mode = kwargs['themeMode'] if 'warnColor' in kwargs: warn_color = kwargs['warnColor'] if 'warnColorDark' in kwargs: @@ -630,6 +656,8 @@ def _configure( _setter("primary_color_dark", primary_color_dark) if set_active is not None: _setter("set_active", set_active) + if theme_mode is not None: + _setter("theme_mode", theme_mode) if warn_color is not None: _setter("warn_color", warn_color) if warn_color_dark is not None: @@ -890,6 +918,18 @@ def set_active(self) -> Optional[pulumi.Input[bool]]: def set_active(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "set_active", value) + @property + @pulumi.getter(name="themeMode") + def theme_mode(self) -> Optional[pulumi.Input[str]]: + """ + theme mode, supported values: THEME*MODE*UNSPECIFIED, THEME*MODE*AUTO, THEME*MODE*DARK, THEME*MODE*LIGHT + """ + return pulumi.get(self, "theme_mode") + + @theme_mode.setter + def theme_mode(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "theme_mode", value) + @property @pulumi.getter(name="warnColor") def warn_color(self) -> Optional[pulumi.Input[str]]: @@ -940,6 +980,7 @@ def __init__(__self__, primary_color: Optional[pulumi.Input[str]] = None, primary_color_dark: Optional[pulumi.Input[str]] = None, set_active: Optional[pulumi.Input[bool]] = None, + theme_mode: Optional[pulumi.Input[str]] = None, warn_color: Optional[pulumi.Input[str]] = None, warn_color_dark: Optional[pulumi.Input[str]] = None, __props__=None): @@ -948,7 +989,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format `<[org_id]>`, e.g. + bash The resource can be imported using the ID format `<[org_id]>`, e.g. ```sh $ pulumi import zitadel:index/labelPolicy:LabelPolicy imported '123456789012345678' @@ -966,6 +1007,7 @@ def __init__(__self__, :param pulumi.Input[str] primary_color: hex value for primary color :param pulumi.Input[str] primary_color_dark: hex value for primary color dark theme :param pulumi.Input[bool] set_active: set the label policy active after creating/updating + :param pulumi.Input[str] theme_mode: theme mode, supported values: THEME*MODE*UNSPECIFIED, THEME*MODE*AUTO, THEME*MODE*DARK, THEME*MODE*LIGHT :param pulumi.Input[str] warn_color: hex value for warn color :param pulumi.Input[str] warn_color_dark: hex value for warn color dark theme """ @@ -980,7 +1022,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format `<[org_id]>`, e.g. + bash The resource can be imported using the ID format `<[org_id]>`, e.g. ```sh $ pulumi import zitadel:index/labelPolicy:LabelPolicy imported '123456789012345678' @@ -1025,6 +1067,7 @@ def _internal_init(__self__, primary_color: Optional[pulumi.Input[str]] = None, primary_color_dark: Optional[pulumi.Input[str]] = None, set_active: Optional[pulumi.Input[bool]] = None, + theme_mode: Optional[pulumi.Input[str]] = None, warn_color: Optional[pulumi.Input[str]] = None, warn_color_dark: Optional[pulumi.Input[str]] = None, __props__=None): @@ -1072,6 +1115,7 @@ def _internal_init(__self__, raise TypeError("Missing required property 'primary_color_dark'") __props__.__dict__["primary_color_dark"] = primary_color_dark __props__.__dict__["set_active"] = set_active + __props__.__dict__["theme_mode"] = theme_mode if warn_color is None and not opts.urn: raise TypeError("Missing required property 'warn_color'") __props__.__dict__["warn_color"] = warn_color @@ -1118,6 +1162,7 @@ def get(resource_name: str, primary_color: Optional[pulumi.Input[str]] = None, primary_color_dark: Optional[pulumi.Input[str]] = None, set_active: Optional[pulumi.Input[bool]] = None, + theme_mode: Optional[pulumi.Input[str]] = None, warn_color: Optional[pulumi.Input[str]] = None, warn_color_dark: Optional[pulumi.Input[str]] = None) -> 'LabelPolicy': """ @@ -1137,6 +1182,7 @@ def get(resource_name: str, :param pulumi.Input[str] primary_color: hex value for primary color :param pulumi.Input[str] primary_color_dark: hex value for primary color dark theme :param pulumi.Input[bool] set_active: set the label policy active after creating/updating + :param pulumi.Input[str] theme_mode: theme mode, supported values: THEME*MODE*UNSPECIFIED, THEME*MODE*AUTO, THEME*MODE*DARK, THEME*MODE*LIGHT :param pulumi.Input[str] warn_color: hex value for warn color :param pulumi.Input[str] warn_color_dark: hex value for warn color dark theme """ @@ -1169,6 +1215,7 @@ def get(resource_name: str, __props__.__dict__["primary_color"] = primary_color __props__.__dict__["primary_color_dark"] = primary_color_dark __props__.__dict__["set_active"] = set_active + __props__.__dict__["theme_mode"] = theme_mode __props__.__dict__["warn_color"] = warn_color __props__.__dict__["warn_color_dark"] = warn_color_dark return LabelPolicy(resource_name, opts=opts, __props__=__props__) @@ -1328,6 +1375,14 @@ def set_active(self) -> pulumi.Output[Optional[bool]]: """ return pulumi.get(self, "set_active") + @property + @pulumi.getter(name="themeMode") + def theme_mode(self) -> pulumi.Output[Optional[str]]: + """ + theme mode, supported values: THEME*MODE*UNSPECIFIED, THEME*MODE*AUTO, THEME*MODE*DARK, THEME*MODE*LIGHT + """ + return pulumi.get(self, "theme_mode") + @property @pulumi.getter(name="warnColor") def warn_color(self) -> pulumi.Output[str]: diff --git a/sdk/python/pulumiverse_zitadel/lockout_policy.py b/sdk/python/pulumiverse_zitadel/lockout_policy.py index 6becde4..571d161 100644 --- a/sdk/python/pulumiverse_zitadel/lockout_policy.py +++ b/sdk/python/pulumiverse_zitadel/lockout_policy.py @@ -148,7 +148,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format `<[org_id]>`, e.g. + bash The resource can be imported using the ID format `<[org_id]>`, e.g. ```sh $ pulumi import zitadel:index/lockoutPolicy:LockoutPolicy imported '123456789012345678' @@ -181,7 +181,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format `<[org_id]>`, e.g. + bash The resource can be imported using the ID format `<[org_id]>`, e.g. ```sh $ pulumi import zitadel:index/lockoutPolicy:LockoutPolicy imported '123456789012345678' diff --git a/sdk/python/pulumiverse_zitadel/login_policy.py b/sdk/python/pulumiverse_zitadel/login_policy.py index a00701c..1b51306 100644 --- a/sdk/python/pulumiverse_zitadel/login_policy.py +++ b/sdk/python/pulumiverse_zitadel/login_policy.py @@ -895,7 +895,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format `<[org_id]>`, e.g. + bash The resource can be imported using the ID format `<[org_id]>`, e.g. ```sh $ pulumi import zitadel:index/loginPolicy:LoginPolicy imported '123456789012345678' @@ -967,7 +967,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format `<[org_id]>`, e.g. + bash The resource can be imported using the ID format `<[org_id]>`, e.g. ```sh $ pulumi import zitadel:index/loginPolicy:LoginPolicy imported '123456789012345678' diff --git a/sdk/python/pulumiverse_zitadel/machine_key.py b/sdk/python/pulumiverse_zitadel/machine_key.py index d4eb736..be68975 100644 --- a/sdk/python/pulumiverse_zitadel/machine_key.py +++ b/sdk/python/pulumiverse_zitadel/machine_key.py @@ -251,7 +251,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format ``, e.g. + bash The resource can be imported using the ID format ``, e.g. ```sh $ pulumi import zitadel:index/machineKey:MachineKey imported '123456789012345678:123456789012345678:123456789012345678:{"type":"serviceaccount","keyId":"123456789012345678","key":"-----BEGIN RSA PRIVATE KEY-----\\nMIIEpQ...-----END RSA PRIVATE KEY-----\\n","userId":"123456789012345678"}' @@ -288,7 +288,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format ``, e.g. + bash The resource can be imported using the ID format ``, e.g. ```sh $ pulumi import zitadel:index/machineKey:MachineKey imported '123456789012345678:123456789012345678:123456789012345678:{"type":"serviceaccount","keyId":"123456789012345678","key":"-----BEGIN RSA PRIVATE KEY-----\\nMIIEpQ...-----END RSA PRIVATE KEY-----\\n","userId":"123456789012345678"}' diff --git a/sdk/python/pulumiverse_zitadel/machine_user.py b/sdk/python/pulumiverse_zitadel/machine_user.py index 314dc7b..e5ed3c2 100644 --- a/sdk/python/pulumiverse_zitadel/machine_user.py +++ b/sdk/python/pulumiverse_zitadel/machine_user.py @@ -404,7 +404,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format ``, e.g. + bash The resource can be imported using the ID format ``, e.g. ```sh $ pulumi import zitadel:index/machineUser:MachineUser imported '123456789012345678:123456789012345678:true:my-machine-user:j76mh34CHVrGGoXPQOg80lch67FIxwc2qIXjBkZoB6oMbf31eGMkB6bvRyaPjR2t' @@ -443,7 +443,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format ``, e.g. + bash The resource can be imported using the ID format ``, e.g. ```sh $ pulumi import zitadel:index/machineUser:MachineUser imported '123456789012345678:123456789012345678:true:my-machine-user:j76mh34CHVrGGoXPQOg80lch67FIxwc2qIXjBkZoB6oMbf31eGMkB6bvRyaPjR2t' diff --git a/sdk/python/pulumiverse_zitadel/notification_policy.py b/sdk/python/pulumiverse_zitadel/notification_policy.py index 1635722..bea7676 100644 --- a/sdk/python/pulumiverse_zitadel/notification_policy.py +++ b/sdk/python/pulumiverse_zitadel/notification_policy.py @@ -148,7 +148,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format `<[org_id]>`, e.g. + bash The resource can be imported using the ID format `<[org_id]>`, e.g. ```sh $ pulumi import zitadel:index/notificationPolicy:NotificationPolicy imported '123456789012345678' @@ -181,7 +181,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format `<[org_id]>`, e.g. + bash The resource can be imported using the ID format `<[org_id]>`, e.g. ```sh $ pulumi import zitadel:index/notificationPolicy:NotificationPolicy imported '123456789012345678' diff --git a/sdk/python/pulumiverse_zitadel/org.py b/sdk/python/pulumiverse_zitadel/org.py index 6144b4a..1bf5c6d 100644 --- a/sdk/python/pulumiverse_zitadel/org.py +++ b/sdk/python/pulumiverse_zitadel/org.py @@ -181,7 +181,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format ``, e.g. + bash The resource can be imported using the ID format ``, e.g. ```sh $ pulumi import zitadel:index/org:Org imported '123456789012345678' @@ -212,7 +212,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format ``, e.g. + bash The resource can be imported using the ID format ``, e.g. ```sh $ pulumi import zitadel:index/org:Org imported '123456789012345678' diff --git a/sdk/python/pulumiverse_zitadel/org_idp_azure_ad.py b/sdk/python/pulumiverse_zitadel/org_idp_azure_ad.py index 77c5dc9..b8f085e 100644 --- a/sdk/python/pulumiverse_zitadel/org_idp_azure_ad.py +++ b/sdk/python/pulumiverse_zitadel/org_idp_azure_ad.py @@ -557,7 +557,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format ``, e.g. + bash The resource can be imported using the ID format ``, e.g. ```sh $ pulumi import zitadel:index/orgIdpAzureAd:OrgIdpAzureAd imported '123456789012345678:123456789012345678:12345678-1234-1234-1234-123456789012' @@ -613,7 +613,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format ``, e.g. + bash The resource can be imported using the ID format ``, e.g. ```sh $ pulumi import zitadel:index/orgIdpAzureAd:OrgIdpAzureAd imported '123456789012345678:123456789012345678:12345678-1234-1234-1234-123456789012' diff --git a/sdk/python/pulumiverse_zitadel/org_idp_github.py b/sdk/python/pulumiverse_zitadel/org_idp_github.py index 61ae840..2af3786 100644 --- a/sdk/python/pulumiverse_zitadel/org_idp_github.py +++ b/sdk/python/pulumiverse_zitadel/org_idp_github.py @@ -432,7 +432,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format ``, e.g. + bash The resource can be imported using the ID format ``, e.g. ```sh $ pulumi import zitadel:index/orgIdpGithub:OrgIdpGithub imported '123456789012345678:123456789012345678:1234567890123456781234567890123456787890' @@ -482,7 +482,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format ``, e.g. + bash The resource can be imported using the ID format ``, e.g. ```sh $ pulumi import zitadel:index/orgIdpGithub:OrgIdpGithub imported '123456789012345678:123456789012345678:1234567890123456781234567890123456787890' diff --git a/sdk/python/pulumiverse_zitadel/org_idp_github_es.py b/sdk/python/pulumiverse_zitadel/org_idp_github_es.py index f3dddbe..58a9196 100644 --- a/sdk/python/pulumiverse_zitadel/org_idp_github_es.py +++ b/sdk/python/pulumiverse_zitadel/org_idp_github_es.py @@ -555,7 +555,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format ``, e.g. + bash The resource can be imported using the ID format ``, e.g. ```sh $ pulumi import zitadel:index/orgIdpGithubEs:OrgIdpGithubEs imported '123456789012345678:123456789012345678:123456789012345678:123456789012345678' @@ -611,7 +611,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format ``, e.g. + bash The resource can be imported using the ID format ``, e.g. ```sh $ pulumi import zitadel:index/orgIdpGithubEs:OrgIdpGithubEs imported '123456789012345678:123456789012345678:123456789012345678:123456789012345678' diff --git a/sdk/python/pulumiverse_zitadel/org_idp_gitlab.py b/sdk/python/pulumiverse_zitadel/org_idp_gitlab.py index d608d55..5c0b189 100644 --- a/sdk/python/pulumiverse_zitadel/org_idp_gitlab.py +++ b/sdk/python/pulumiverse_zitadel/org_idp_gitlab.py @@ -432,7 +432,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format ``, e.g. + bash The resource can be imported using the ID format ``, e.g. ```sh $ pulumi import zitadel:index/orgIdpGitlab:OrgIdpGitlab imported '123456789012345678:123456789012345678:1234567890abcdef' @@ -482,7 +482,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format ``, e.g. + bash The resource can be imported using the ID format ``, e.g. ```sh $ pulumi import zitadel:index/orgIdpGitlab:OrgIdpGitlab imported '123456789012345678:123456789012345678:1234567890abcdef' diff --git a/sdk/python/pulumiverse_zitadel/org_idp_gitlab_self_hosted.py b/sdk/python/pulumiverse_zitadel/org_idp_gitlab_self_hosted.py index 7e00862..16d7029 100644 --- a/sdk/python/pulumiverse_zitadel/org_idp_gitlab_self_hosted.py +++ b/sdk/python/pulumiverse_zitadel/org_idp_gitlab_self_hosted.py @@ -469,7 +469,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format ``, e.g. + bash The resource can be imported using the ID format ``, e.g. ```sh $ pulumi import zitadel:index/orgIdpGitlabSelfHosted:OrgIdpGitlabSelfHosted imported '123456789012345678:123456789012345678:1234567890abcdef' @@ -521,7 +521,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format ``, e.g. + bash The resource can be imported using the ID format ``, e.g. ```sh $ pulumi import zitadel:index/orgIdpGitlabSelfHosted:OrgIdpGitlabSelfHosted imported '123456789012345678:123456789012345678:1234567890abcdef' diff --git a/sdk/python/pulumiverse_zitadel/org_idp_google.py b/sdk/python/pulumiverse_zitadel/org_idp_google.py index b563ffc..c4bf923 100644 --- a/sdk/python/pulumiverse_zitadel/org_idp_google.py +++ b/sdk/python/pulumiverse_zitadel/org_idp_google.py @@ -432,7 +432,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format ``, e.g. + bash The resource can be imported using the ID format ``, e.g. ```sh $ pulumi import zitadel:index/orgIdpGoogle:OrgIdpGoogle imported '123456789012345678:123456789012345678:G1234567890123' @@ -482,7 +482,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format ``, e.g. + bash The resource can be imported using the ID format ``, e.g. ```sh $ pulumi import zitadel:index/orgIdpGoogle:OrgIdpGoogle imported '123456789012345678:123456789012345678:G1234567890123' diff --git a/sdk/python/pulumiverse_zitadel/org_idp_jwt.py b/sdk/python/pulumiverse_zitadel/org_idp_jwt.py index 1266896..0d1dc31 100644 --- a/sdk/python/pulumiverse_zitadel/org_idp_jwt.py +++ b/sdk/python/pulumiverse_zitadel/org_idp_jwt.py @@ -386,7 +386,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format ``, e.g. + bash The resource can be imported using the ID format ``, e.g. ```sh $ pulumi import zitadel:index/orgIdpJwt:OrgIdpJwt imported '123456789012345678:123456789012345678' @@ -430,7 +430,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format ``, e.g. + bash The resource can be imported using the ID format ``, e.g. ```sh $ pulumi import zitadel:index/orgIdpJwt:OrgIdpJwt imported '123456789012345678:123456789012345678' diff --git a/sdk/python/pulumiverse_zitadel/org_idp_ldap.py b/sdk/python/pulumiverse_zitadel/org_idp_ldap.py index d9d476b..812e5de 100644 --- a/sdk/python/pulumiverse_zitadel/org_idp_ldap.py +++ b/sdk/python/pulumiverse_zitadel/org_idp_ldap.py @@ -1211,7 +1211,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format ``, e.g. + bash The resource can be imported using the ID format ``, e.g. ```sh $ pulumi import zitadel:index/orgIdpLdap:OrgIdpLdap imported '123456789012345678:123456789012345678:b1nd_p4ssw0rd' @@ -1291,7 +1291,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format ``, e.g. + bash The resource can be imported using the ID format ``, e.g. ```sh $ pulumi import zitadel:index/orgIdpLdap:OrgIdpLdap imported '123456789012345678:123456789012345678:b1nd_p4ssw0rd' diff --git a/sdk/python/pulumiverse_zitadel/org_idp_oauth.py b/sdk/python/pulumiverse_zitadel/org_idp_oauth.py new file mode 100644 index 0000000..4a77db2 --- /dev/null +++ b/sdk/python/pulumiverse_zitadel/org_idp_oauth.py @@ -0,0 +1,905 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['OrgIdpOauthArgs', 'OrgIdpOauth'] + +@pulumi.input_type +class OrgIdpOauthArgs: + def __init__(__self__, *, + authorization_endpoint: pulumi.Input[str], + client_id: pulumi.Input[str], + client_secret: pulumi.Input[str], + id_attribute: pulumi.Input[str], + is_auto_creation: pulumi.Input[bool], + is_auto_update: pulumi.Input[bool], + is_creation_allowed: pulumi.Input[bool], + is_linking_allowed: pulumi.Input[bool], + token_endpoint: pulumi.Input[str], + user_endpoint: pulumi.Input[str], + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a OrgIdpOauth resource. + :param pulumi.Input[str] authorization_endpoint: The authorization endpoint + :param pulumi.Input[str] client_id: client id generated by the identity provider + :param pulumi.Input[str] client_secret: client secret generated by the identity provider + :param pulumi.Input[str] id_attribute: The id attribute + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] token_endpoint: The token endpoint + :param pulumi.Input[str] user_endpoint: The user endpoint + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[Sequence[pulumi.Input[str]]] scopes: the scopes requested by ZITADEL during the request on the identity provider + """ + OrgIdpOauthArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + authorization_endpoint=authorization_endpoint, + client_id=client_id, + client_secret=client_secret, + id_attribute=id_attribute, + is_auto_creation=is_auto_creation, + is_auto_update=is_auto_update, + is_creation_allowed=is_creation_allowed, + is_linking_allowed=is_linking_allowed, + token_endpoint=token_endpoint, + user_endpoint=user_endpoint, + name=name, + org_id=org_id, + scopes=scopes, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + authorization_endpoint: pulumi.Input[str], + client_id: pulumi.Input[str], + client_secret: pulumi.Input[str], + id_attribute: pulumi.Input[str], + is_auto_creation: pulumi.Input[bool], + is_auto_update: pulumi.Input[bool], + is_creation_allowed: pulumi.Input[bool], + is_linking_allowed: pulumi.Input[bool], + token_endpoint: pulumi.Input[str], + user_endpoint: pulumi.Input[str], + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'authorizationEndpoint' in kwargs: + authorization_endpoint = kwargs['authorizationEndpoint'] + if 'clientId' in kwargs: + client_id = kwargs['clientId'] + if 'clientSecret' in kwargs: + client_secret = kwargs['clientSecret'] + if 'idAttribute' in kwargs: + id_attribute = kwargs['idAttribute'] + if 'isAutoCreation' in kwargs: + is_auto_creation = kwargs['isAutoCreation'] + if 'isAutoUpdate' in kwargs: + is_auto_update = kwargs['isAutoUpdate'] + if 'isCreationAllowed' in kwargs: + is_creation_allowed = kwargs['isCreationAllowed'] + if 'isLinkingAllowed' in kwargs: + is_linking_allowed = kwargs['isLinkingAllowed'] + if 'tokenEndpoint' in kwargs: + token_endpoint = kwargs['tokenEndpoint'] + if 'userEndpoint' in kwargs: + user_endpoint = kwargs['userEndpoint'] + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + + _setter("authorization_endpoint", authorization_endpoint) + _setter("client_id", client_id) + _setter("client_secret", client_secret) + _setter("id_attribute", id_attribute) + _setter("is_auto_creation", is_auto_creation) + _setter("is_auto_update", is_auto_update) + _setter("is_creation_allowed", is_creation_allowed) + _setter("is_linking_allowed", is_linking_allowed) + _setter("token_endpoint", token_endpoint) + _setter("user_endpoint", user_endpoint) + if name is not None: + _setter("name", name) + if org_id is not None: + _setter("org_id", org_id) + if scopes is not None: + _setter("scopes", scopes) + + @property + @pulumi.getter(name="authorizationEndpoint") + def authorization_endpoint(self) -> pulumi.Input[str]: + """ + The authorization endpoint + """ + return pulumi.get(self, "authorization_endpoint") + + @authorization_endpoint.setter + def authorization_endpoint(self, value: pulumi.Input[str]): + pulumi.set(self, "authorization_endpoint", value) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> pulumi.Input[str]: + """ + client id generated by the identity provider + """ + return pulumi.get(self, "client_id") + + @client_id.setter + def client_id(self, value: pulumi.Input[str]): + pulumi.set(self, "client_id", value) + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> pulumi.Input[str]: + """ + client secret generated by the identity provider + """ + return pulumi.get(self, "client_secret") + + @client_secret.setter + def client_secret(self, value: pulumi.Input[str]): + pulumi.set(self, "client_secret", value) + + @property + @pulumi.getter(name="idAttribute") + def id_attribute(self) -> pulumi.Input[str]: + """ + The id attribute + """ + return pulumi.get(self, "id_attribute") + + @id_attribute.setter + def id_attribute(self, value: pulumi.Input[str]): + pulumi.set(self, "id_attribute", value) + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> pulumi.Input[bool]: + """ + enable if a new account in ZITADEL should be created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @is_auto_creation.setter + def is_auto_creation(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_auto_creation", value) + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> pulumi.Input[bool]: + """ + enable if a the ZITADEL account fields should be updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @is_auto_update.setter + def is_auto_update(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_auto_update", value) + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> pulumi.Input[bool]: + """ + enable if users should be able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @is_creation_allowed.setter + def is_creation_allowed(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_creation_allowed", value) + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> pulumi.Input[bool]: + """ + enable if users should be able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @is_linking_allowed.setter + def is_linking_allowed(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_linking_allowed", value) + + @property + @pulumi.getter(name="tokenEndpoint") + def token_endpoint(self) -> pulumi.Input[str]: + """ + The token endpoint + """ + return pulumi.get(self, "token_endpoint") + + @token_endpoint.setter + def token_endpoint(self, value: pulumi.Input[str]): + pulumi.set(self, "token_endpoint", value) + + @property + @pulumi.getter(name="userEndpoint") + def user_endpoint(self) -> pulumi.Input[str]: + """ + The user endpoint + """ + return pulumi.get(self, "user_endpoint") + + @user_endpoint.setter + def user_endpoint(self, value: pulumi.Input[str]): + pulumi.set(self, "user_endpoint", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + @property + @pulumi.getter + def scopes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + the scopes requested by ZITADEL during the request on the identity provider + """ + return pulumi.get(self, "scopes") + + @scopes.setter + def scopes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "scopes", value) + + +@pulumi.input_type +class _OrgIdpOauthState: + def __init__(__self__, *, + authorization_endpoint: Optional[pulumi.Input[str]] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + id_attribute: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + token_endpoint: Optional[pulumi.Input[str]] = None, + user_endpoint: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering OrgIdpOauth resources. + :param pulumi.Input[str] authorization_endpoint: The authorization endpoint + :param pulumi.Input[str] client_id: client id generated by the identity provider + :param pulumi.Input[str] client_secret: client secret generated by the identity provider + :param pulumi.Input[str] id_attribute: The id attribute + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[Sequence[pulumi.Input[str]]] scopes: the scopes requested by ZITADEL during the request on the identity provider + :param pulumi.Input[str] token_endpoint: The token endpoint + :param pulumi.Input[str] user_endpoint: The user endpoint + """ + _OrgIdpOauthState._configure( + lambda key, value: pulumi.set(__self__, key, value), + authorization_endpoint=authorization_endpoint, + client_id=client_id, + client_secret=client_secret, + id_attribute=id_attribute, + is_auto_creation=is_auto_creation, + is_auto_update=is_auto_update, + is_creation_allowed=is_creation_allowed, + is_linking_allowed=is_linking_allowed, + name=name, + org_id=org_id, + scopes=scopes, + token_endpoint=token_endpoint, + user_endpoint=user_endpoint, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + authorization_endpoint: Optional[pulumi.Input[str]] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + id_attribute: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + token_endpoint: Optional[pulumi.Input[str]] = None, + user_endpoint: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'authorizationEndpoint' in kwargs: + authorization_endpoint = kwargs['authorizationEndpoint'] + if 'clientId' in kwargs: + client_id = kwargs['clientId'] + if 'clientSecret' in kwargs: + client_secret = kwargs['clientSecret'] + if 'idAttribute' in kwargs: + id_attribute = kwargs['idAttribute'] + if 'isAutoCreation' in kwargs: + is_auto_creation = kwargs['isAutoCreation'] + if 'isAutoUpdate' in kwargs: + is_auto_update = kwargs['isAutoUpdate'] + if 'isCreationAllowed' in kwargs: + is_creation_allowed = kwargs['isCreationAllowed'] + if 'isLinkingAllowed' in kwargs: + is_linking_allowed = kwargs['isLinkingAllowed'] + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + if 'tokenEndpoint' in kwargs: + token_endpoint = kwargs['tokenEndpoint'] + if 'userEndpoint' in kwargs: + user_endpoint = kwargs['userEndpoint'] + + if authorization_endpoint is not None: + _setter("authorization_endpoint", authorization_endpoint) + if client_id is not None: + _setter("client_id", client_id) + if client_secret is not None: + _setter("client_secret", client_secret) + if id_attribute is not None: + _setter("id_attribute", id_attribute) + if is_auto_creation is not None: + _setter("is_auto_creation", is_auto_creation) + if is_auto_update is not None: + _setter("is_auto_update", is_auto_update) + if is_creation_allowed is not None: + _setter("is_creation_allowed", is_creation_allowed) + if is_linking_allowed is not None: + _setter("is_linking_allowed", is_linking_allowed) + if name is not None: + _setter("name", name) + if org_id is not None: + _setter("org_id", org_id) + if scopes is not None: + _setter("scopes", scopes) + if token_endpoint is not None: + _setter("token_endpoint", token_endpoint) + if user_endpoint is not None: + _setter("user_endpoint", user_endpoint) + + @property + @pulumi.getter(name="authorizationEndpoint") + def authorization_endpoint(self) -> Optional[pulumi.Input[str]]: + """ + The authorization endpoint + """ + return pulumi.get(self, "authorization_endpoint") + + @authorization_endpoint.setter + def authorization_endpoint(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "authorization_endpoint", value) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> Optional[pulumi.Input[str]]: + """ + client id generated by the identity provider + """ + return pulumi.get(self, "client_id") + + @client_id.setter + def client_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "client_id", value) + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> Optional[pulumi.Input[str]]: + """ + client secret generated by the identity provider + """ + return pulumi.get(self, "client_secret") + + @client_secret.setter + def client_secret(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "client_secret", value) + + @property + @pulumi.getter(name="idAttribute") + def id_attribute(self) -> Optional[pulumi.Input[str]]: + """ + The id attribute + """ + return pulumi.get(self, "id_attribute") + + @id_attribute.setter + def id_attribute(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "id_attribute", value) + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> Optional[pulumi.Input[bool]]: + """ + enable if a new account in ZITADEL should be created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @is_auto_creation.setter + def is_auto_creation(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_auto_creation", value) + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> Optional[pulumi.Input[bool]]: + """ + enable if a the ZITADEL account fields should be updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @is_auto_update.setter + def is_auto_update(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_auto_update", value) + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> Optional[pulumi.Input[bool]]: + """ + enable if users should be able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @is_creation_allowed.setter + def is_creation_allowed(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_creation_allowed", value) + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> Optional[pulumi.Input[bool]]: + """ + enable if users should be able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @is_linking_allowed.setter + def is_linking_allowed(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_linking_allowed", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + @property + @pulumi.getter + def scopes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + the scopes requested by ZITADEL during the request on the identity provider + """ + return pulumi.get(self, "scopes") + + @scopes.setter + def scopes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "scopes", value) + + @property + @pulumi.getter(name="tokenEndpoint") + def token_endpoint(self) -> Optional[pulumi.Input[str]]: + """ + The token endpoint + """ + return pulumi.get(self, "token_endpoint") + + @token_endpoint.setter + def token_endpoint(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "token_endpoint", value) + + @property + @pulumi.getter(name="userEndpoint") + def user_endpoint(self) -> Optional[pulumi.Input[str]]: + """ + The user endpoint + """ + return pulumi.get(self, "user_endpoint") + + @user_endpoint.setter + def user_endpoint(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "user_endpoint", value) + + +class OrgIdpOauth(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + authorization_endpoint: Optional[pulumi.Input[str]] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + id_attribute: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + token_endpoint: Optional[pulumi.Input[str]] = None, + user_endpoint: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Resource representing a generic OAuth2 IDP on the organization. + + ## Example Usage + + ```python + import pulumi + import pulumiverse_zitadel as zitadel + + default = zitadel.OrgIdpOauth("default", + org_id=data["zitadel_org"]["default"]["id"], + client_id="15765e...", + client_secret="*****abcxyz", + authorization_endpoint="https://accounts.google.com/o/oauth2/v2/auth", + token_endpoint="https://oauth2.googleapis.com/token", + user_endpoint="https://openidconnect.googleapis.com/v1/userinfo", + id_attribute="user_id", + scopes=[ + "openid", + "profile", + "email", + ], + is_linking_allowed=False, + is_creation_allowed=True, + is_auto_creation=False, + is_auto_update=True) + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/orgIdpOauth:OrgIdpOauth imported '123456789012345678:123456789012345678:1234567890abcdef' + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] authorization_endpoint: The authorization endpoint + :param pulumi.Input[str] client_id: client id generated by the identity provider + :param pulumi.Input[str] client_secret: client secret generated by the identity provider + :param pulumi.Input[str] id_attribute: The id attribute + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[Sequence[pulumi.Input[str]]] scopes: the scopes requested by ZITADEL during the request on the identity provider + :param pulumi.Input[str] token_endpoint: The token endpoint + :param pulumi.Input[str] user_endpoint: The user endpoint + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: OrgIdpOauthArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource representing a generic OAuth2 IDP on the organization. + + ## Example Usage + + ```python + import pulumi + import pulumiverse_zitadel as zitadel + + default = zitadel.OrgIdpOauth("default", + org_id=data["zitadel_org"]["default"]["id"], + client_id="15765e...", + client_secret="*****abcxyz", + authorization_endpoint="https://accounts.google.com/o/oauth2/v2/auth", + token_endpoint="https://oauth2.googleapis.com/token", + user_endpoint="https://openidconnect.googleapis.com/v1/userinfo", + id_attribute="user_id", + scopes=[ + "openid", + "profile", + "email", + ], + is_linking_allowed=False, + is_creation_allowed=True, + is_auto_creation=False, + is_auto_update=True) + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/orgIdpOauth:OrgIdpOauth imported '123456789012345678:123456789012345678:1234567890abcdef' + ``` + + :param str resource_name: The name of the resource. + :param OrgIdpOauthArgs 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(OrgIdpOauthArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + OrgIdpOauthArgs._configure(_setter, **kwargs) + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + authorization_endpoint: Optional[pulumi.Input[str]] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + id_attribute: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + token_endpoint: Optional[pulumi.Input[str]] = None, + user_endpoint: 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__ = OrgIdpOauthArgs.__new__(OrgIdpOauthArgs) + + if authorization_endpoint is None and not opts.urn: + raise TypeError("Missing required property 'authorization_endpoint'") + __props__.__dict__["authorization_endpoint"] = authorization_endpoint + if client_id is None and not opts.urn: + raise TypeError("Missing required property 'client_id'") + __props__.__dict__["client_id"] = client_id + if client_secret is None and not opts.urn: + raise TypeError("Missing required property 'client_secret'") + __props__.__dict__["client_secret"] = None if client_secret is None else pulumi.Output.secret(client_secret) + if id_attribute is None and not opts.urn: + raise TypeError("Missing required property 'id_attribute'") + __props__.__dict__["id_attribute"] = id_attribute + if is_auto_creation is None and not opts.urn: + raise TypeError("Missing required property 'is_auto_creation'") + __props__.__dict__["is_auto_creation"] = is_auto_creation + if is_auto_update is None and not opts.urn: + raise TypeError("Missing required property 'is_auto_update'") + __props__.__dict__["is_auto_update"] = is_auto_update + if is_creation_allowed is None and not opts.urn: + raise TypeError("Missing required property 'is_creation_allowed'") + __props__.__dict__["is_creation_allowed"] = is_creation_allowed + if is_linking_allowed is None and not opts.urn: + raise TypeError("Missing required property 'is_linking_allowed'") + __props__.__dict__["is_linking_allowed"] = is_linking_allowed + __props__.__dict__["name"] = name + __props__.__dict__["org_id"] = org_id + __props__.__dict__["scopes"] = scopes + if token_endpoint is None and not opts.urn: + raise TypeError("Missing required property 'token_endpoint'") + __props__.__dict__["token_endpoint"] = token_endpoint + if user_endpoint is None and not opts.urn: + raise TypeError("Missing required property 'user_endpoint'") + __props__.__dict__["user_endpoint"] = user_endpoint + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["clientSecret"]) + opts = pulumi.ResourceOptions.merge(opts, secret_opts) + super(OrgIdpOauth, __self__).__init__( + 'zitadel:index/orgIdpOauth:OrgIdpOauth', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + authorization_endpoint: Optional[pulumi.Input[str]] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + id_attribute: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + token_endpoint: Optional[pulumi.Input[str]] = None, + user_endpoint: Optional[pulumi.Input[str]] = None) -> 'OrgIdpOauth': + """ + Get an existing OrgIdpOauth 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[str] authorization_endpoint: The authorization endpoint + :param pulumi.Input[str] client_id: client id generated by the identity provider + :param pulumi.Input[str] client_secret: client secret generated by the identity provider + :param pulumi.Input[str] id_attribute: The id attribute + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[Sequence[pulumi.Input[str]]] scopes: the scopes requested by ZITADEL during the request on the identity provider + :param pulumi.Input[str] token_endpoint: The token endpoint + :param pulumi.Input[str] user_endpoint: The user endpoint + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _OrgIdpOauthState.__new__(_OrgIdpOauthState) + + __props__.__dict__["authorization_endpoint"] = authorization_endpoint + __props__.__dict__["client_id"] = client_id + __props__.__dict__["client_secret"] = client_secret + __props__.__dict__["id_attribute"] = id_attribute + __props__.__dict__["is_auto_creation"] = is_auto_creation + __props__.__dict__["is_auto_update"] = is_auto_update + __props__.__dict__["is_creation_allowed"] = is_creation_allowed + __props__.__dict__["is_linking_allowed"] = is_linking_allowed + __props__.__dict__["name"] = name + __props__.__dict__["org_id"] = org_id + __props__.__dict__["scopes"] = scopes + __props__.__dict__["token_endpoint"] = token_endpoint + __props__.__dict__["user_endpoint"] = user_endpoint + return OrgIdpOauth(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="authorizationEndpoint") + def authorization_endpoint(self) -> pulumi.Output[str]: + """ + The authorization endpoint + """ + return pulumi.get(self, "authorization_endpoint") + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> pulumi.Output[str]: + """ + client id generated by the identity provider + """ + return pulumi.get(self, "client_id") + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> pulumi.Output[str]: + """ + client secret generated by the identity provider + """ + return pulumi.get(self, "client_secret") + + @property + @pulumi.getter(name="idAttribute") + def id_attribute(self) -> pulumi.Output[str]: + """ + The id attribute + """ + return pulumi.get(self, "id_attribute") + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> pulumi.Output[bool]: + """ + enable if a new account in ZITADEL should be created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> pulumi.Output[bool]: + """ + enable if a the ZITADEL account fields should be updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> pulumi.Output[bool]: + """ + enable if users should be able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> pulumi.Output[bool]: + """ + enable if users should be able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> pulumi.Output[Optional[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @property + @pulumi.getter + def scopes(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + the scopes requested by ZITADEL during the request on the identity provider + """ + return pulumi.get(self, "scopes") + + @property + @pulumi.getter(name="tokenEndpoint") + def token_endpoint(self) -> pulumi.Output[str]: + """ + The token endpoint + """ + return pulumi.get(self, "token_endpoint") + + @property + @pulumi.getter(name="userEndpoint") + def user_endpoint(self) -> pulumi.Output[str]: + """ + The user endpoint + """ + return pulumi.get(self, "user_endpoint") + diff --git a/sdk/python/pulumiverse_zitadel/org_idp_oidc.py b/sdk/python/pulumiverse_zitadel/org_idp_oidc.py index 255b5c0..267f2f2 100644 --- a/sdk/python/pulumiverse_zitadel/org_idp_oidc.py +++ b/sdk/python/pulumiverse_zitadel/org_idp_oidc.py @@ -510,7 +510,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format ``, e.g. + bash The resource can be imported using the ID format ``, e.g. ```sh $ pulumi import zitadel:index/orgIdpOidc:OrgIdpOidc imported '123456789012345678:123456789012345678:1234567890abcdef' @@ -564,7 +564,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format ``, e.g. + bash The resource can be imported using the ID format ``, e.g. ```sh $ pulumi import zitadel:index/orgIdpOidc:OrgIdpOidc imported '123456789012345678:123456789012345678:1234567890abcdef' diff --git a/sdk/python/pulumiverse_zitadel/org_idp_saml.py b/sdk/python/pulumiverse_zitadel/org_idp_saml.py new file mode 100644 index 0000000..a32eaa3 --- /dev/null +++ b/sdk/python/pulumiverse_zitadel/org_idp_saml.py @@ -0,0 +1,736 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['OrgIdpSamlArgs', 'OrgIdpSaml'] + +@pulumi.input_type +class OrgIdpSamlArgs: + def __init__(__self__, *, + is_auto_creation: pulumi.Input[bool], + is_auto_update: pulumi.Input[bool], + is_creation_allowed: pulumi.Input[bool], + is_linking_allowed: pulumi.Input[bool], + metadata_xml: pulumi.Input[str], + binding: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + with_signed_request: Optional[pulumi.Input[bool]] = None): + """ + The set of arguments for constructing a OrgIdpSaml resource. + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] metadata_xml: The metadata XML as plain string + :param pulumi.Input[str] binding: The binding, supported values: SAML*BINDING*UNSPECIFIED, SAML*BINDING*POST, SAML*BINDING*REDIRECT, SAML*BINDING*ARTIFACT + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[bool] with_signed_request: Whether the SAML IDP requires signed requests + """ + OrgIdpSamlArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + is_auto_creation=is_auto_creation, + is_auto_update=is_auto_update, + is_creation_allowed=is_creation_allowed, + is_linking_allowed=is_linking_allowed, + metadata_xml=metadata_xml, + binding=binding, + name=name, + org_id=org_id, + with_signed_request=with_signed_request, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + is_auto_creation: pulumi.Input[bool], + is_auto_update: pulumi.Input[bool], + is_creation_allowed: pulumi.Input[bool], + is_linking_allowed: pulumi.Input[bool], + metadata_xml: pulumi.Input[str], + binding: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + with_signed_request: Optional[pulumi.Input[bool]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'isAutoCreation' in kwargs: + is_auto_creation = kwargs['isAutoCreation'] + if 'isAutoUpdate' in kwargs: + is_auto_update = kwargs['isAutoUpdate'] + if 'isCreationAllowed' in kwargs: + is_creation_allowed = kwargs['isCreationAllowed'] + if 'isLinkingAllowed' in kwargs: + is_linking_allowed = kwargs['isLinkingAllowed'] + if 'metadataXml' in kwargs: + metadata_xml = kwargs['metadataXml'] + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + if 'withSignedRequest' in kwargs: + with_signed_request = kwargs['withSignedRequest'] + + _setter("is_auto_creation", is_auto_creation) + _setter("is_auto_update", is_auto_update) + _setter("is_creation_allowed", is_creation_allowed) + _setter("is_linking_allowed", is_linking_allowed) + _setter("metadata_xml", metadata_xml) + if binding is not None: + _setter("binding", binding) + if name is not None: + _setter("name", name) + if org_id is not None: + _setter("org_id", org_id) + if with_signed_request is not None: + _setter("with_signed_request", with_signed_request) + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> pulumi.Input[bool]: + """ + enable if a new account in ZITADEL should be created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @is_auto_creation.setter + def is_auto_creation(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_auto_creation", value) + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> pulumi.Input[bool]: + """ + enable if a the ZITADEL account fields should be updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @is_auto_update.setter + def is_auto_update(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_auto_update", value) + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> pulumi.Input[bool]: + """ + enable if users should be able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @is_creation_allowed.setter + def is_creation_allowed(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_creation_allowed", value) + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> pulumi.Input[bool]: + """ + enable if users should be able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @is_linking_allowed.setter + def is_linking_allowed(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_linking_allowed", value) + + @property + @pulumi.getter(name="metadataXml") + def metadata_xml(self) -> pulumi.Input[str]: + """ + The metadata XML as plain string + """ + return pulumi.get(self, "metadata_xml") + + @metadata_xml.setter + def metadata_xml(self, value: pulumi.Input[str]): + pulumi.set(self, "metadata_xml", value) + + @property + @pulumi.getter + def binding(self) -> Optional[pulumi.Input[str]]: + """ + The binding, supported values: SAML*BINDING*UNSPECIFIED, SAML*BINDING*POST, SAML*BINDING*REDIRECT, SAML*BINDING*ARTIFACT + """ + return pulumi.get(self, "binding") + + @binding.setter + def binding(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "binding", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + @property + @pulumi.getter(name="withSignedRequest") + def with_signed_request(self) -> Optional[pulumi.Input[bool]]: + """ + Whether the SAML IDP requires signed requests + """ + return pulumi.get(self, "with_signed_request") + + @with_signed_request.setter + def with_signed_request(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "with_signed_request", value) + + +@pulumi.input_type +class _OrgIdpSamlState: + def __init__(__self__, *, + binding: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + metadata_xml: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + with_signed_request: Optional[pulumi.Input[bool]] = None): + """ + Input properties used for looking up and filtering OrgIdpSaml resources. + :param pulumi.Input[str] binding: The binding, supported values: SAML*BINDING*UNSPECIFIED, SAML*BINDING*POST, SAML*BINDING*REDIRECT, SAML*BINDING*ARTIFACT + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] metadata_xml: The metadata XML as plain string + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[bool] with_signed_request: Whether the SAML IDP requires signed requests + """ + _OrgIdpSamlState._configure( + lambda key, value: pulumi.set(__self__, key, value), + binding=binding, + is_auto_creation=is_auto_creation, + is_auto_update=is_auto_update, + is_creation_allowed=is_creation_allowed, + is_linking_allowed=is_linking_allowed, + metadata_xml=metadata_xml, + name=name, + org_id=org_id, + with_signed_request=with_signed_request, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + binding: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + metadata_xml: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + with_signed_request: Optional[pulumi.Input[bool]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'isAutoCreation' in kwargs: + is_auto_creation = kwargs['isAutoCreation'] + if 'isAutoUpdate' in kwargs: + is_auto_update = kwargs['isAutoUpdate'] + if 'isCreationAllowed' in kwargs: + is_creation_allowed = kwargs['isCreationAllowed'] + if 'isLinkingAllowed' in kwargs: + is_linking_allowed = kwargs['isLinkingAllowed'] + if 'metadataXml' in kwargs: + metadata_xml = kwargs['metadataXml'] + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + if 'withSignedRequest' in kwargs: + with_signed_request = kwargs['withSignedRequest'] + + if binding is not None: + _setter("binding", binding) + if is_auto_creation is not None: + _setter("is_auto_creation", is_auto_creation) + if is_auto_update is not None: + _setter("is_auto_update", is_auto_update) + if is_creation_allowed is not None: + _setter("is_creation_allowed", is_creation_allowed) + if is_linking_allowed is not None: + _setter("is_linking_allowed", is_linking_allowed) + if metadata_xml is not None: + _setter("metadata_xml", metadata_xml) + if name is not None: + _setter("name", name) + if org_id is not None: + _setter("org_id", org_id) + if with_signed_request is not None: + _setter("with_signed_request", with_signed_request) + + @property + @pulumi.getter + def binding(self) -> Optional[pulumi.Input[str]]: + """ + The binding, supported values: SAML*BINDING*UNSPECIFIED, SAML*BINDING*POST, SAML*BINDING*REDIRECT, SAML*BINDING*ARTIFACT + """ + return pulumi.get(self, "binding") + + @binding.setter + def binding(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "binding", value) + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> Optional[pulumi.Input[bool]]: + """ + enable if a new account in ZITADEL should be created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @is_auto_creation.setter + def is_auto_creation(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_auto_creation", value) + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> Optional[pulumi.Input[bool]]: + """ + enable if a the ZITADEL account fields should be updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @is_auto_update.setter + def is_auto_update(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_auto_update", value) + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> Optional[pulumi.Input[bool]]: + """ + enable if users should be able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @is_creation_allowed.setter + def is_creation_allowed(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_creation_allowed", value) + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> Optional[pulumi.Input[bool]]: + """ + enable if users should be able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @is_linking_allowed.setter + def is_linking_allowed(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_linking_allowed", value) + + @property + @pulumi.getter(name="metadataXml") + def metadata_xml(self) -> Optional[pulumi.Input[str]]: + """ + The metadata XML as plain string + """ + return pulumi.get(self, "metadata_xml") + + @metadata_xml.setter + def metadata_xml(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "metadata_xml", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + @property + @pulumi.getter(name="withSignedRequest") + def with_signed_request(self) -> Optional[pulumi.Input[bool]]: + """ + Whether the SAML IDP requires signed requests + """ + return pulumi.get(self, "with_signed_request") + + @with_signed_request.setter + def with_signed_request(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "with_signed_request", value) + + +class OrgIdpSaml(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + binding: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + metadata_xml: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + with_signed_request: Optional[pulumi.Input[bool]] = None, + __props__=None): + """ + Resource representing a SAML IdP on the organization. + + ## Example Usage + + ```python + import pulumi + import pulumiverse_zitadel as zitadel + + default = zitadel.OrgIdpSaml("default", + org_id=data["zitadel_org"]["default"]["id"], + binding="SAML_BINDING_POST", + with_signed_request=True, + is_linking_allowed=False, + is_creation_allowed=True, + is_auto_creation=False, + is_auto_update=True, + metadata_xml=\"\"\" + + + + + + MIIC4jCCAcoCCQC33wnybT5QZDANBgkqhkiG9w0BAQsFADAyMQswCQYDVQQGEwJV + SzEPMA0GA1UECgwGQm94eUhRMRIwEAYDVQQDDAlNb2NrIFNBTUwwIBcNMjIwMjI4 + MjE0NjM4WhgPMzAyMTA3MDEyMTQ2MzhaMDIxCzAJBgNVBAYTAlVLMQ8wDQYDVQQK + DAZCb3h5SFExEjAQBgNVBAMMCU1vY2sgU0FNTDCCASIwDQYJKoZIhvcNAQEBBQAD + ggEPADCCAQoCggEBALGfYettMsct1T6tVUwTudNJH5Pnb9GGnkXi9Zw/e6x45DD0 + RuRONbFlJ2T4RjAE/uG+AjXxXQ8o2SZfb9+GgmCHuTJFNgHoZ1nFVXCmb/Hg8Hpd + 4vOAGXndixaReOiq3EH5XvpMjMkJ3+8+9VYMzMZOjkgQtAqO36eAFFfNKX7dTj3V + pwLkvz6/KFCq8OAwY+AUi4eZm5J57D31GzjHwfjH9WTeX0MyndmnNB1qV75qQR3b + 2/W5sGHRv+9AarggJkF+ptUkXoLtVA51wcfYm6hILptpde5FQC8RWY1YrswBWAEZ + NfyrR4JeSweElNHg4NVOs4TwGjOPwWGqzTfgTlECAwEAATANBgkqhkiG9w0BAQsF + AAOCAQEAAYRlYflSXAWoZpFfwNiCQVE5d9zZ0DPzNdWhAybXcTyMf0z5mDf6FWBW + 5Gyoi9u3EMEDnzLcJNkwJAAc39Apa4I2/tml+Jy29dk8bTyX6m93ngmCgdLh5Za4 + khuU3AM3L63g7VexCuO7kwkjh/+LqdcIXsVGO6XDfu2QOs1Xpe9zIzLpwm/RNYeX + UjbSj5ce/jekpAw7qyVVL4xOyh8AtUW1ek3wIw1MJvEgEPt0d16oshWJpoS1OT8L + r/22SvYEo3EmSGdTVGgk3x3s+A0qWAqTcyjr7Q4s/GKYRFfomGwz0TZ4Iw1ZN99M + m0eo2USlSRTVl7QHRTuiuSThHpLKQQ== + + + + urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress + + + + + \"\"\") + ``` + ## Loading the XML Metadata + + If you don't want to pass the XML metadata inline, you have plenty of options. For example: + - local_file Data Source + - http Data Source + - terracurl_request Data Source + - ... + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/orgIdpSaml:OrgIdpSaml imported '123456789012345678:123456789012345678' + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] binding: The binding, supported values: SAML*BINDING*UNSPECIFIED, SAML*BINDING*POST, SAML*BINDING*REDIRECT, SAML*BINDING*ARTIFACT + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] metadata_xml: The metadata XML as plain string + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[bool] with_signed_request: Whether the SAML IDP requires signed requests + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: OrgIdpSamlArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource representing a SAML IdP on the organization. + + ## Example Usage + + ```python + import pulumi + import pulumiverse_zitadel as zitadel + + default = zitadel.OrgIdpSaml("default", + org_id=data["zitadel_org"]["default"]["id"], + binding="SAML_BINDING_POST", + with_signed_request=True, + is_linking_allowed=False, + is_creation_allowed=True, + is_auto_creation=False, + is_auto_update=True, + metadata_xml=\"\"\" + + + + + + MIIC4jCCAcoCCQC33wnybT5QZDANBgkqhkiG9w0BAQsFADAyMQswCQYDVQQGEwJV + SzEPMA0GA1UECgwGQm94eUhRMRIwEAYDVQQDDAlNb2NrIFNBTUwwIBcNMjIwMjI4 + MjE0NjM4WhgPMzAyMTA3MDEyMTQ2MzhaMDIxCzAJBgNVBAYTAlVLMQ8wDQYDVQQK + DAZCb3h5SFExEjAQBgNVBAMMCU1vY2sgU0FNTDCCASIwDQYJKoZIhvcNAQEBBQAD + ggEPADCCAQoCggEBALGfYettMsct1T6tVUwTudNJH5Pnb9GGnkXi9Zw/e6x45DD0 + RuRONbFlJ2T4RjAE/uG+AjXxXQ8o2SZfb9+GgmCHuTJFNgHoZ1nFVXCmb/Hg8Hpd + 4vOAGXndixaReOiq3EH5XvpMjMkJ3+8+9VYMzMZOjkgQtAqO36eAFFfNKX7dTj3V + pwLkvz6/KFCq8OAwY+AUi4eZm5J57D31GzjHwfjH9WTeX0MyndmnNB1qV75qQR3b + 2/W5sGHRv+9AarggJkF+ptUkXoLtVA51wcfYm6hILptpde5FQC8RWY1YrswBWAEZ + NfyrR4JeSweElNHg4NVOs4TwGjOPwWGqzTfgTlECAwEAATANBgkqhkiG9w0BAQsF + AAOCAQEAAYRlYflSXAWoZpFfwNiCQVE5d9zZ0DPzNdWhAybXcTyMf0z5mDf6FWBW + 5Gyoi9u3EMEDnzLcJNkwJAAc39Apa4I2/tml+Jy29dk8bTyX6m93ngmCgdLh5Za4 + khuU3AM3L63g7VexCuO7kwkjh/+LqdcIXsVGO6XDfu2QOs1Xpe9zIzLpwm/RNYeX + UjbSj5ce/jekpAw7qyVVL4xOyh8AtUW1ek3wIw1MJvEgEPt0d16oshWJpoS1OT8L + r/22SvYEo3EmSGdTVGgk3x3s+A0qWAqTcyjr7Q4s/GKYRFfomGwz0TZ4Iw1ZN99M + m0eo2USlSRTVl7QHRTuiuSThHpLKQQ== + + + + urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress + + + + + \"\"\") + ``` + ## Loading the XML Metadata + + If you don't want to pass the XML metadata inline, you have plenty of options. For example: + - local_file Data Source + - http Data Source + - terracurl_request Data Source + - ... + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/orgIdpSaml:OrgIdpSaml imported '123456789012345678:123456789012345678' + ``` + + :param str resource_name: The name of the resource. + :param OrgIdpSamlArgs 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(OrgIdpSamlArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + OrgIdpSamlArgs._configure(_setter, **kwargs) + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + binding: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + metadata_xml: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + with_signed_request: Optional[pulumi.Input[bool]] = 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__ = OrgIdpSamlArgs.__new__(OrgIdpSamlArgs) + + __props__.__dict__["binding"] = binding + if is_auto_creation is None and not opts.urn: + raise TypeError("Missing required property 'is_auto_creation'") + __props__.__dict__["is_auto_creation"] = is_auto_creation + if is_auto_update is None and not opts.urn: + raise TypeError("Missing required property 'is_auto_update'") + __props__.__dict__["is_auto_update"] = is_auto_update + if is_creation_allowed is None and not opts.urn: + raise TypeError("Missing required property 'is_creation_allowed'") + __props__.__dict__["is_creation_allowed"] = is_creation_allowed + if is_linking_allowed is None and not opts.urn: + raise TypeError("Missing required property 'is_linking_allowed'") + __props__.__dict__["is_linking_allowed"] = is_linking_allowed + if metadata_xml is None and not opts.urn: + raise TypeError("Missing required property 'metadata_xml'") + __props__.__dict__["metadata_xml"] = metadata_xml + __props__.__dict__["name"] = name + __props__.__dict__["org_id"] = org_id + __props__.__dict__["with_signed_request"] = with_signed_request + super(OrgIdpSaml, __self__).__init__( + 'zitadel:index/orgIdpSaml:OrgIdpSaml', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + binding: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + metadata_xml: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + with_signed_request: Optional[pulumi.Input[bool]] = None) -> 'OrgIdpSaml': + """ + Get an existing OrgIdpSaml 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[str] binding: The binding, supported values: SAML*BINDING*UNSPECIFIED, SAML*BINDING*POST, SAML*BINDING*REDIRECT, SAML*BINDING*ARTIFACT + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] metadata_xml: The metadata XML as plain string + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[bool] with_signed_request: Whether the SAML IDP requires signed requests + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _OrgIdpSamlState.__new__(_OrgIdpSamlState) + + __props__.__dict__["binding"] = binding + __props__.__dict__["is_auto_creation"] = is_auto_creation + __props__.__dict__["is_auto_update"] = is_auto_update + __props__.__dict__["is_creation_allowed"] = is_creation_allowed + __props__.__dict__["is_linking_allowed"] = is_linking_allowed + __props__.__dict__["metadata_xml"] = metadata_xml + __props__.__dict__["name"] = name + __props__.__dict__["org_id"] = org_id + __props__.__dict__["with_signed_request"] = with_signed_request + return OrgIdpSaml(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def binding(self) -> pulumi.Output[Optional[str]]: + """ + The binding, supported values: SAML*BINDING*UNSPECIFIED, SAML*BINDING*POST, SAML*BINDING*REDIRECT, SAML*BINDING*ARTIFACT + """ + return pulumi.get(self, "binding") + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> pulumi.Output[bool]: + """ + enable if a new account in ZITADEL should be created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> pulumi.Output[bool]: + """ + enable if a the ZITADEL account fields should be updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> pulumi.Output[bool]: + """ + enable if users should be able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> pulumi.Output[bool]: + """ + enable if users should be able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @property + @pulumi.getter(name="metadataXml") + def metadata_xml(self) -> pulumi.Output[str]: + """ + The metadata XML as plain string + """ + return pulumi.get(self, "metadata_xml") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> pulumi.Output[Optional[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @property + @pulumi.getter(name="withSignedRequest") + def with_signed_request(self) -> pulumi.Output[Optional[bool]]: + """ + Whether the SAML IDP requires signed requests + """ + return pulumi.get(self, "with_signed_request") + diff --git a/sdk/python/pulumiverse_zitadel/org_member.py b/sdk/python/pulumiverse_zitadel/org_member.py index 518784b..6c21590 100644 --- a/sdk/python/pulumiverse_zitadel/org_member.py +++ b/sdk/python/pulumiverse_zitadel/org_member.py @@ -185,7 +185,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format ``, e.g. + bash The resource can be imported using the ID format ``, e.g. ```sh $ pulumi import zitadel:index/orgMember:OrgMember imported '123456789012345678:123456789012345678' @@ -220,7 +220,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format ``, e.g. + bash The resource can be imported using the ID format ``, e.g. ```sh $ pulumi import zitadel:index/orgMember:OrgMember imported '123456789012345678:123456789012345678' diff --git a/sdk/python/pulumiverse_zitadel/org_metadata.py b/sdk/python/pulumiverse_zitadel/org_metadata.py new file mode 100644 index 0000000..f9ca4e0 --- /dev/null +++ b/sdk/python/pulumiverse_zitadel/org_metadata.py @@ -0,0 +1,315 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['OrgMetadataArgs', 'OrgMetadata'] + +@pulumi.input_type +class OrgMetadataArgs: + def __init__(__self__, *, + key: pulumi.Input[str], + value: pulumi.Input[str], + org_id: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a OrgMetadata resource. + :param pulumi.Input[str] key: The key of a metadata entry + :param pulumi.Input[str] value: The string representation of a metadata entry value. For binary data, use the base64encode function. + :param pulumi.Input[str] org_id: ID of the organization + """ + OrgMetadataArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + key=key, + value=value, + org_id=org_id, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + key: pulumi.Input[str], + value: pulumi.Input[str], + org_id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + + _setter("key", key) + _setter("value", value) + if org_id is not None: + _setter("org_id", org_id) + + @property + @pulumi.getter + def key(self) -> pulumi.Input[str]: + """ + The key of a metadata entry + """ + return pulumi.get(self, "key") + + @key.setter + def key(self, value: pulumi.Input[str]): + pulumi.set(self, "key", value) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[str]: + """ + The string representation of a metadata entry value. For binary data, use the base64encode function. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[str]): + pulumi.set(self, "value", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + +@pulumi.input_type +class _OrgMetadataState: + def __init__(__self__, *, + key: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + value: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering OrgMetadata resources. + :param pulumi.Input[str] key: The key of a metadata entry + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[str] value: The string representation of a metadata entry value. For binary data, use the base64encode function. + """ + _OrgMetadataState._configure( + lambda key, value: pulumi.set(__self__, key, value), + key=key, + org_id=org_id, + value=value, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + key: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + value: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + + if key is not None: + _setter("key", key) + if org_id is not None: + _setter("org_id", org_id) + if value is not None: + _setter("value", value) + + @property + @pulumi.getter + def key(self) -> Optional[pulumi.Input[str]]: + """ + The key of a metadata entry + """ + return pulumi.get(self, "key") + + @key.setter + def key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "key", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + @property + @pulumi.getter + def value(self) -> Optional[pulumi.Input[str]]: + """ + The string representation of a metadata entry value. For binary data, use the base64encode function. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "value", value) + + +class OrgMetadata(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + key: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + value: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + ## Example Usage + + ```python + import pulumi + import pulumiverse_zitadel as zitadel + + default = zitadel.OrgMetadata("default", + org_id=data["zitadel_org"]["default"]["id"], + key="a_key", + value="a_value") + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/orgMetadata:OrgMetadata imported 'a_key:123456789012345678' + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] key: The key of a metadata entry + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[str] value: The string representation of a metadata entry value. For binary data, use the base64encode function. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: OrgMetadataArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + ## Example Usage + + ```python + import pulumi + import pulumiverse_zitadel as zitadel + + default = zitadel.OrgMetadata("default", + org_id=data["zitadel_org"]["default"]["id"], + key="a_key", + value="a_value") + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/orgMetadata:OrgMetadata imported 'a_key:123456789012345678' + ``` + + :param str resource_name: The name of the resource. + :param OrgMetadataArgs 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(OrgMetadataArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + OrgMetadataArgs._configure(_setter, **kwargs) + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + key: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + value: 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__ = OrgMetadataArgs.__new__(OrgMetadataArgs) + + if key is None and not opts.urn: + raise TypeError("Missing required property 'key'") + __props__.__dict__["key"] = key + __props__.__dict__["org_id"] = org_id + if value is None and not opts.urn: + raise TypeError("Missing required property 'value'") + __props__.__dict__["value"] = value + super(OrgMetadata, __self__).__init__( + 'zitadel:index/orgMetadata:OrgMetadata', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + key: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + value: Optional[pulumi.Input[str]] = None) -> 'OrgMetadata': + """ + Get an existing OrgMetadata 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[str] key: The key of a metadata entry + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[str] value: The string representation of a metadata entry value. For binary data, use the base64encode function. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _OrgMetadataState.__new__(_OrgMetadataState) + + __props__.__dict__["key"] = key + __props__.__dict__["org_id"] = org_id + __props__.__dict__["value"] = value + return OrgMetadata(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def key(self) -> pulumi.Output[str]: + """ + The key of a metadata entry + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> pulumi.Output[Optional[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @property + @pulumi.getter + def value(self) -> pulumi.Output[str]: + """ + The string representation of a metadata entry value. For binary data, use the base64encode function. + """ + return pulumi.get(self, "value") + diff --git a/sdk/python/pulumiverse_zitadel/personal_access_token.py b/sdk/python/pulumiverse_zitadel/personal_access_token.py index 077aad7..76e9ff5 100644 --- a/sdk/python/pulumiverse_zitadel/personal_access_token.py +++ b/sdk/python/pulumiverse_zitadel/personal_access_token.py @@ -208,7 +208,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format ``, e.g. + bash The resource can be imported using the ID format ``, e.g. ```sh $ pulumi import zitadel:index/personalAccessToken:PersonalAccessToken imported '123456789012345678:123456789012345678:123456789012345678:LHt79...' @@ -243,7 +243,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format ``, e.g. + bash The resource can be imported using the ID format ``, e.g. ```sh $ pulumi import zitadel:index/personalAccessToken:PersonalAccessToken imported '123456789012345678:123456789012345678:123456789012345678:LHt79...' diff --git a/sdk/python/pulumiverse_zitadel/privacy_policy.py b/sdk/python/pulumiverse_zitadel/privacy_policy.py index 5eb4e86..c52a39e 100644 --- a/sdk/python/pulumiverse_zitadel/privacy_policy.py +++ b/sdk/python/pulumiverse_zitadel/privacy_policy.py @@ -243,7 +243,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format `<[org_id]>`, e.g. + bash The resource can be imported using the ID format `<[org_id]>`, e.g. ```sh $ pulumi import zitadel:index/privacyPolicy:PrivacyPolicy imported '123456789012345678' @@ -278,7 +278,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format `<[org_id]>`, e.g. + bash The resource can be imported using the ID format `<[org_id]>`, e.g. ```sh $ pulumi import zitadel:index/privacyPolicy:PrivacyPolicy imported '123456789012345678' diff --git a/sdk/python/pulumiverse_zitadel/project.py b/sdk/python/pulumiverse_zitadel/project.py index 70eb02d..3b9eb5e 100644 --- a/sdk/python/pulumiverse_zitadel/project.py +++ b/sdk/python/pulumiverse_zitadel/project.py @@ -330,7 +330,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format ``, e.g. + bash The resource can be imported using the ID format ``, e.g. ```sh $ pulumi import zitadel:index/project:Project imported '123456789012345678:123456789012345678' @@ -370,7 +370,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format ``, e.g. + bash The resource can be imported using the ID format ``, e.g. ```sh $ pulumi import zitadel:index/project:Project imported '123456789012345678:123456789012345678' diff --git a/sdk/python/pulumiverse_zitadel/project_grant.py b/sdk/python/pulumiverse_zitadel/project_grant.py index 219e70f..1327f71 100644 --- a/sdk/python/pulumiverse_zitadel/project_grant.py +++ b/sdk/python/pulumiverse_zitadel/project_grant.py @@ -231,7 +231,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format ``, e.g. + bash The resource can be imported using the ID format ``, e.g. ```sh $ pulumi import zitadel:index/projectGrant:ProjectGrant imported '123456789012345678:123456789012345678:123456789012345678' @@ -268,7 +268,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format ``, e.g. + bash The resource can be imported using the ID format ``, e.g. ```sh $ pulumi import zitadel:index/projectGrant:ProjectGrant imported '123456789012345678:123456789012345678:123456789012345678' diff --git a/sdk/python/pulumiverse_zitadel/project_grant_member.py b/sdk/python/pulumiverse_zitadel/project_grant_member.py index 8c14706..6c4bb1f 100644 --- a/sdk/python/pulumiverse_zitadel/project_grant_member.py +++ b/sdk/python/pulumiverse_zitadel/project_grant_member.py @@ -267,7 +267,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format ``, e.g. + bash The resource can be imported using the ID format ``, e.g. ```sh $ pulumi import zitadel:index/projectGrantMember:ProjectGrantMember imported '123456789012345678:123456789012345678:123456789012345678:123456789012345678' @@ -306,7 +306,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format ``, e.g. + bash The resource can be imported using the ID format ``, e.g. ```sh $ pulumi import zitadel:index/projectGrantMember:ProjectGrantMember imported '123456789012345678:123456789012345678:123456789012345678:123456789012345678' diff --git a/sdk/python/pulumiverse_zitadel/project_member.py b/sdk/python/pulumiverse_zitadel/project_member.py index ac88849..c55c772 100644 --- a/sdk/python/pulumiverse_zitadel/project_member.py +++ b/sdk/python/pulumiverse_zitadel/project_member.py @@ -226,7 +226,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format ``, e.g. + bash The resource can be imported using the ID format ``, e.g. ```sh $ pulumi import zitadel:index/projectMember:ProjectMember imported '123456789012345678:123456789012345678:123456789012345678' @@ -263,7 +263,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format ``, e.g. + bash The resource can be imported using the ID format ``, e.g. ```sh $ pulumi import zitadel:index/projectMember:ProjectMember imported '123456789012345678:123456789012345678:123456789012345678' diff --git a/sdk/python/pulumiverse_zitadel/project_role.py b/sdk/python/pulumiverse_zitadel/project_role.py index 18a1310..e2a651f 100644 --- a/sdk/python/pulumiverse_zitadel/project_role.py +++ b/sdk/python/pulumiverse_zitadel/project_role.py @@ -268,7 +268,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format ``, e.g. + bash The resource can be imported using the ID format ``, e.g. ```sh $ pulumi import zitadel:index/projectRole:ProjectRole imported '123456789012345678:my-role-key:123456789012345678' @@ -307,7 +307,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format ``, e.g. + bash The resource can be imported using the ID format ``, e.g. ```sh $ pulumi import zitadel:index/projectRole:ProjectRole imported '123456789012345678:my-role-key:123456789012345678' diff --git a/sdk/python/pulumiverse_zitadel/sms_provider_twilio.py b/sdk/python/pulumiverse_zitadel/sms_provider_twilio.py index e6d4582..766906a 100644 --- a/sdk/python/pulumiverse_zitadel/sms_provider_twilio.py +++ b/sdk/python/pulumiverse_zitadel/sms_provider_twilio.py @@ -180,7 +180,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format ``, e.g. + bash The resource can be imported using the ID format ``, e.g. ```sh $ pulumi import zitadel:index/smsProviderTwilio:SmsProviderTwilio imported '123456789012345678:12345678901234567890123456abcdef' @@ -215,7 +215,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format ``, e.g. + bash The resource can be imported using the ID format ``, e.g. ```sh $ pulumi import zitadel:index/smsProviderTwilio:SmsProviderTwilio imported '123456789012345678:12345678901234567890123456abcdef' diff --git a/sdk/python/pulumiverse_zitadel/smtp_config.py b/sdk/python/pulumiverse_zitadel/smtp_config.py index c41d7d3..de0e295 100644 --- a/sdk/python/pulumiverse_zitadel/smtp_config.py +++ b/sdk/python/pulumiverse_zitadel/smtp_config.py @@ -340,7 +340,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format `<[password]>`, e.g. + bash The resource can be imported using the ID format `<[password]>`, e.g. ```sh $ pulumi import zitadel:index/smtpConfig:SmtpConfig imported 'p4ssw0rd' @@ -383,7 +383,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format `<[password]>`, e.g. + bash The resource can be imported using the ID format `<[password]>`, e.g. ```sh $ pulumi import zitadel:index/smtpConfig:SmtpConfig imported 'p4ssw0rd' diff --git a/sdk/python/pulumiverse_zitadel/trigger_actions.py b/sdk/python/pulumiverse_zitadel/trigger_actions.py index 1f37209..b8bfd03 100644 --- a/sdk/python/pulumiverse_zitadel/trigger_actions.py +++ b/sdk/python/pulumiverse_zitadel/trigger_actions.py @@ -230,7 +230,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format ``, e.g. + bash The resource can be imported using the ID format ``, e.g. ```sh $ pulumi import zitadel:index/triggerActions:TriggerActions imported 'FLOW_TYPE_EXTERNAL_AUTHENTICATION:TRIGGER_TYPE_POST_CREATION:123456789012345678' @@ -267,7 +267,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format ``, e.g. + bash The resource can be imported using the ID format ``, e.g. ```sh $ pulumi import zitadel:index/triggerActions:TriggerActions imported 'FLOW_TYPE_EXTERNAL_AUTHENTICATION:TRIGGER_TYPE_POST_CREATION:123456789012345678' diff --git a/sdk/python/pulumiverse_zitadel/user_grant.py b/sdk/python/pulumiverse_zitadel/user_grant.py index 81979b6..cab201e 100644 --- a/sdk/python/pulumiverse_zitadel/user_grant.py +++ b/sdk/python/pulumiverse_zitadel/user_grant.py @@ -273,7 +273,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format ``, e.g. + bash The resource can be imported using the ID format ``, e.g. ```sh $ pulumi import zitadel:index/userGrant:UserGrant imported '123456789012345678:123456789012345678:123456789012345678' @@ -311,7 +311,7 @@ def __init__(__self__, ## Import - terraform The resource can be imported using the ID format ``, e.g. + bash The resource can be imported using the ID format ``, e.g. ```sh $ pulumi import zitadel:index/userGrant:UserGrant imported '123456789012345678:123456789012345678:123456789012345678' diff --git a/sdk/python/pulumiverse_zitadel/user_metadata.py b/sdk/python/pulumiverse_zitadel/user_metadata.py new file mode 100644 index 0000000..6028aef --- /dev/null +++ b/sdk/python/pulumiverse_zitadel/user_metadata.py @@ -0,0 +1,373 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['UserMetadataArgs', 'UserMetadata'] + +@pulumi.input_type +class UserMetadataArgs: + def __init__(__self__, *, + key: pulumi.Input[str], + user_id: pulumi.Input[str], + value: pulumi.Input[str], + org_id: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a UserMetadata resource. + :param pulumi.Input[str] key: The key of a metadata entry + :param pulumi.Input[str] user_id: ID of the user + :param pulumi.Input[str] value: The string representation of a metadata entry value. For binary data, use the base64encode function. + :param pulumi.Input[str] org_id: ID of the organization + """ + UserMetadataArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + key=key, + user_id=user_id, + value=value, + org_id=org_id, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + key: pulumi.Input[str], + user_id: pulumi.Input[str], + value: pulumi.Input[str], + org_id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'userId' in kwargs: + user_id = kwargs['userId'] + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + + _setter("key", key) + _setter("user_id", user_id) + _setter("value", value) + if org_id is not None: + _setter("org_id", org_id) + + @property + @pulumi.getter + def key(self) -> pulumi.Input[str]: + """ + The key of a metadata entry + """ + return pulumi.get(self, "key") + + @key.setter + def key(self, value: pulumi.Input[str]): + pulumi.set(self, "key", value) + + @property + @pulumi.getter(name="userId") + def user_id(self) -> pulumi.Input[str]: + """ + ID of the user + """ + return pulumi.get(self, "user_id") + + @user_id.setter + def user_id(self, value: pulumi.Input[str]): + pulumi.set(self, "user_id", value) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[str]: + """ + The string representation of a metadata entry value. For binary data, use the base64encode function. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[str]): + pulumi.set(self, "value", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + +@pulumi.input_type +class _UserMetadataState: + def __init__(__self__, *, + key: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + user_id: Optional[pulumi.Input[str]] = None, + value: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering UserMetadata resources. + :param pulumi.Input[str] key: The key of a metadata entry + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[str] user_id: ID of the user + :param pulumi.Input[str] value: The string representation of a metadata entry value. For binary data, use the base64encode function. + """ + _UserMetadataState._configure( + lambda key, value: pulumi.set(__self__, key, value), + key=key, + org_id=org_id, + user_id=user_id, + value=value, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + key: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + user_id: Optional[pulumi.Input[str]] = None, + value: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + if 'userId' in kwargs: + user_id = kwargs['userId'] + + if key is not None: + _setter("key", key) + if org_id is not None: + _setter("org_id", org_id) + if user_id is not None: + _setter("user_id", user_id) + if value is not None: + _setter("value", value) + + @property + @pulumi.getter + def key(self) -> Optional[pulumi.Input[str]]: + """ + The key of a metadata entry + """ + return pulumi.get(self, "key") + + @key.setter + def key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "key", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + @property + @pulumi.getter(name="userId") + def user_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the user + """ + return pulumi.get(self, "user_id") + + @user_id.setter + def user_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "user_id", value) + + @property + @pulumi.getter + def value(self) -> Optional[pulumi.Input[str]]: + """ + The string representation of a metadata entry value. For binary data, use the base64encode function. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "value", value) + + +class UserMetadata(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + key: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + user_id: Optional[pulumi.Input[str]] = None, + value: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + ## Example Usage + + ```python + import pulumi + import pulumiverse_zitadel as zitadel + + default = zitadel.UserMetadata("default", + org_id=data["zitadel_org"]["default"]["id"], + user_id=data["zitadel_human_user"]["default"]["id"], + key="a_key", + value="a_value") + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/userMetadata:UserMetadata imported '123456789012345678:a_key:123456789012345678' + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] key: The key of a metadata entry + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[str] user_id: ID of the user + :param pulumi.Input[str] value: The string representation of a metadata entry value. For binary data, use the base64encode function. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: UserMetadataArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + ## Example Usage + + ```python + import pulumi + import pulumiverse_zitadel as zitadel + + default = zitadel.UserMetadata("default", + org_id=data["zitadel_org"]["default"]["id"], + user_id=data["zitadel_human_user"]["default"]["id"], + key="a_key", + value="a_value") + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/userMetadata:UserMetadata imported '123456789012345678:a_key:123456789012345678' + ``` + + :param str resource_name: The name of the resource. + :param UserMetadataArgs 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(UserMetadataArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + UserMetadataArgs._configure(_setter, **kwargs) + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + key: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + user_id: Optional[pulumi.Input[str]] = None, + value: 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__ = UserMetadataArgs.__new__(UserMetadataArgs) + + if key is None and not opts.urn: + raise TypeError("Missing required property 'key'") + __props__.__dict__["key"] = key + __props__.__dict__["org_id"] = org_id + if user_id is None and not opts.urn: + raise TypeError("Missing required property 'user_id'") + __props__.__dict__["user_id"] = user_id + if value is None and not opts.urn: + raise TypeError("Missing required property 'value'") + __props__.__dict__["value"] = value + super(UserMetadata, __self__).__init__( + 'zitadel:index/userMetadata:UserMetadata', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + key: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + user_id: Optional[pulumi.Input[str]] = None, + value: Optional[pulumi.Input[str]] = None) -> 'UserMetadata': + """ + Get an existing UserMetadata 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[str] key: The key of a metadata entry + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[str] user_id: ID of the user + :param pulumi.Input[str] value: The string representation of a metadata entry value. For binary data, use the base64encode function. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _UserMetadataState.__new__(_UserMetadataState) + + __props__.__dict__["key"] = key + __props__.__dict__["org_id"] = org_id + __props__.__dict__["user_id"] = user_id + __props__.__dict__["value"] = value + return UserMetadata(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def key(self) -> pulumi.Output[str]: + """ + The key of a metadata entry + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> pulumi.Output[Optional[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @property + @pulumi.getter(name="userId") + def user_id(self) -> pulumi.Output[str]: + """ + ID of the user + """ + return pulumi.get(self, "user_id") + + @property + @pulumi.getter + def value(self) -> pulumi.Output[str]: + """ + The string representation of a metadata entry value. For binary data, use the base64encode function. + """ + return pulumi.get(self, "value") + From bc2bb1d4f31cd71389271ebfafec956a1830c843 Mon Sep 17 00:00:00 2001 From: arttii Date: Fri, 5 Jul 2024 12:04:36 +0200 Subject: [PATCH 02/14] removed stray lock file --- .gitignore | 1 + pnpm-lock.yaml | 7 ------- 2 files changed, 1 insertion(+), 7 deletions(-) delete mode 100644 pnpm-lock.yaml diff --git a/.gitignore b/.gitignore index 5ad2e40..b02820e 100644 --- a/.gitignore +++ b/.gitignore @@ -21,3 +21,4 @@ provider/**/schema-embed.json **/version.txt **/nuget **/dist +pnpm-lock.yaml \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml deleted file mode 100644 index ac531b7..0000000 --- a/pnpm-lock.yaml +++ /dev/null @@ -1,7 +0,0 @@ -lockfileVersion: 5.4 - -specifiers: - scoretech-infra-zitadel: link:/home/arti/workdir/scoretech/infra/zitadel - -dependencies: - scoretech-infra-zitadel: link:../scoretech/infra/zitadel From 6bda729187b32df23cbd7055385442ac53fd438f Mon Sep 17 00:00:00 2001 From: arttii Date: Fri, 5 Jul 2024 12:07:27 +0200 Subject: [PATCH 03/14] removed stray package.json --- package.json | 5 ----- 1 file changed, 5 deletions(-) delete mode 100644 package.json diff --git a/package.json b/package.json deleted file mode 100644 index 9a085f9..0000000 --- a/package.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "dependencies": { - "scoretech-infra-zitadel": "link:/home/arti/workdir/scoretech/infra/zitadel" - } -} From e0d30b71546a85b47f2eedf4b278e5217886e4d1 Mon Sep 17 00:00:00 2001 From: arttii Date: Fri, 5 Jul 2024 12:13:12 +0200 Subject: [PATCH 04/14] make goreleaser run --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index ee9a754..29b1ff7 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -59,7 +59,7 @@ jobs: - name: Run GoReleaser uses: goreleaser/goreleaser-action@v4 with: - args: -p 3 release --rm-dist + args: -p 3 release --clean version: latest strategy: fail-fast: true From 4f96c4726a07478ebdee09c1bc8d6298fbc19246 Mon Sep 17 00:00:00 2001 From: arttii Date: Fri, 5 Jul 2024 12:18:51 +0200 Subject: [PATCH 05/14] make goreleaser run --- .goreleaser.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.goreleaser.yml b/.goreleaser.yml index c8fbc35..7ed0bf5 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -1,3 +1,4 @@ +version: 2 archives: - id: archive name_template: '{{ .Binary }}-{{ .Tag }}-{{ .Os }}-{{ .Arch }}' @@ -20,7 +21,7 @@ builds: - -X github.com/pulumiverse/pulumi-zitadel/provider/pkg/version.Version={{.Tag }} main: ./cmd/pulumi-resource-zitadel/ changelog: - skip: true + disable: true release: disable: false prerelease: auto From 4239e896a3fd0f6e244a2c2d34ce8dea4a43dd14 Mon Sep 17 00:00:00 2001 From: arttii Date: Wed, 12 Feb 2025 11:39:06 +0100 Subject: [PATCH 06/14] Switch to pnpm --- Makefile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index d4ae11b..34bc51d 100644 --- a/Makefile +++ b/Makefile @@ -61,9 +61,9 @@ build_nodejs:: VERSION := $(shell pulumictl get version --language javascript) build_nodejs:: install_plugins tfgen # build the node sdk $(WORKING_DIR)/bin/$(TFGEN) nodejs --overlays provider/overlays/nodejs --out sdk/nodejs/ cd sdk/nodejs/ && \ - yarn install && \ - yarn run tsc && \ - cp ../../README.md ../../LICENSE package.json yarn.lock ./bin/ && \ + pnpm install && \ + pnpm run build && \ + cp ../../README.md ../../LICENSE package.json pnpm-lock.yaml ./bin/ && \ sed -i.bak -e "s/\$${VERSION}/$(VERSION)/g" ./bin/package.json build_python:: PYPI_VERSION := $(shell pulumictl get version --language python) @@ -116,7 +116,7 @@ install_python_sdk:: install_go_sdk:: install_nodejs_sdk:: - yarn link --cwd $(WORKING_DIR)/sdk/nodejs/bin + pnpm link --cwd $(WORKING_DIR)/sdk/nodejs/bin install_sdks:: install_dotnet_sdk install_python_sdk install_nodejs_sdk From fadfeb5a3705380de11e82c2ec34eb09909ecb4d Mon Sep 17 00:00:00 2001 From: arttii Date: Wed, 12 Feb 2025 11:43:59 +0100 Subject: [PATCH 07/14] Fix builds --- .github/workflows/main.yml | 4 ++-- .github/workflows/release.yml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index cb7d9f3..cb9c8ab 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -8,13 +8,13 @@ jobs: prerequisites: permissions: pull-requests: write - uses: pulumiverse/infra/.github/workflows/provider-prerequisites.yaml@actions-workflows-v0.0.4 + uses: pulumiverse/infra/.github/workflows/provider-prerequisites.yaml with: provider: zitadel goversion: 1.21.x build: needs: prerequisites - uses: pulumiverse/infra/.github/workflows/provider-build-sdk.yaml@actions-workflows-v0.0.4 + uses: pulumiverse/infra/.github/workflows/provider-build-sdk.yaml with: provider: zitadel goversion: 1.21.x diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 29b1ff7..2de71a4 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -138,8 +138,8 @@ jobs: - 1.21.x language: - nodejs - - python - - dotnet + # - python + # - dotnet - go nodeversion: - 20.x From 4e07cb79b491e2287c966c7e6e1eafb35a3cd0bd Mon Sep 17 00:00:00 2001 From: arttii Date: Wed, 12 Feb 2025 11:44:57 +0100 Subject: [PATCH 08/14] Fix builds --- .github/workflows/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index cb9c8ab..277caa2 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -8,13 +8,13 @@ jobs: prerequisites: permissions: pull-requests: write - uses: pulumiverse/infra/.github/workflows/provider-prerequisites.yaml + uses: pulumiverse/infra/.github/workflows/provider-prerequisites.yaml@latest with: provider: zitadel goversion: 1.21.x build: needs: prerequisites - uses: pulumiverse/infra/.github/workflows/provider-build-sdk.yaml + uses: pulumiverse/infra/.github/workflows/provider-build-sdk.yaml@latest with: provider: zitadel goversion: 1.21.x From fb945c70cc54c71ad283230a272fb5f6ce271862 Mon Sep 17 00:00:00 2001 From: arttii Date: Wed, 12 Feb 2025 11:52:48 +0100 Subject: [PATCH 09/14] Fix builds --- .github/workflows/main.yml | 4 ++-- .github/workflows/release.yml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 277caa2..cb7d9f3 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -8,13 +8,13 @@ jobs: prerequisites: permissions: pull-requests: write - uses: pulumiverse/infra/.github/workflows/provider-prerequisites.yaml@latest + uses: pulumiverse/infra/.github/workflows/provider-prerequisites.yaml@actions-workflows-v0.0.4 with: provider: zitadel goversion: 1.21.x build: needs: prerequisites - uses: pulumiverse/infra/.github/workflows/provider-build-sdk.yaml@latest + uses: pulumiverse/infra/.github/workflows/provider-build-sdk.yaml@actions-workflows-v0.0.4 with: provider: zitadel goversion: 1.21.x diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 2de71a4..46824cd 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -17,7 +17,7 @@ env: # NPM REGISTRY THEN ENSURE THE NPM_REGISTRY_URL IS CHANGED NUGET_PUBLISH_KEY: ${{ secrets.NUGET_PUBLISH_KEY }} NUGET_FEED_URL: https://api.nuget.org/v3/index.json - PUBLISH_NUGET: true + PUBLISH_NUGET: false # IF YOU NEED TO PUBLISH A PYPI PACKAGE THEN ENSURE AN PYPI_PASSWORD # SECRET IS SET AND PUBLISH_PYPI: TRUE. IF YOU WANT TO PUBLISH TO AN ALTERNATIVE # PYPI REGISTRY THEN ENSURE THE PYPI_REPOSITORY_URL IS SET. IF YOU ARE USING AN API_TOKEN THEN @@ -26,7 +26,7 @@ env: PYPI_PASSWORD: ${{ secrets.PYPI_PASSWORD }} PYPI_USERNAME: "__token__" PYPI_REPOSITORY_URL: "" - PUBLISH_PYPI: true + PUBLISH_PYPI: false jobs: publish_binary: name: publish From b82595287a8d2fa904bc94b3ff1894ddb4db2e71 Mon Sep 17 00:00:00 2001 From: arttii Date: Wed, 12 Feb 2025 11:55:08 +0100 Subject: [PATCH 10/14] Fix builds --- .github/workflows/release.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 46824cd..7ab59d6 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -92,6 +92,10 @@ jobs: with: node-version: ${{matrix.nodeversion}} registry-url: ${{env.NPM_REGISTRY_URL}} + - uses: pnpm/action-setup@v4 + name: Install pnpm + with: + run_install: false - name: Setup DotNet uses: actions/setup-dotnet@v1 with: From 1570b48621b268f3ed102ba014452b534ac160c9 Mon Sep 17 00:00:00 2001 From: arttii Date: Wed, 12 Feb 2025 12:04:26 +0100 Subject: [PATCH 11/14] Fix builds --- .github/workflows/release.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 7ab59d6..830ca90 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -96,6 +96,7 @@ jobs: name: Install pnpm with: run_install: false + vversion: latest - name: Setup DotNet uses: actions/setup-dotnet@v1 with: From 11e86e4b6c3ebb0c84d077902d055b567548e4d5 Mon Sep 17 00:00:00 2001 From: arttii Date: Wed, 12 Feb 2025 12:04:37 +0100 Subject: [PATCH 12/14] Fix builds --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 830ca90..6fa3bef 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -96,7 +96,7 @@ jobs: name: Install pnpm with: run_install: false - vversion: latest + version: latest - name: Setup DotNet uses: actions/setup-dotnet@v1 with: From f1f3c4fb9f08c4a4e93a3709ea852a9d8c085be1 Mon Sep 17 00:00:00 2001 From: arttii Date: Wed, 12 Feb 2025 12:21:17 +0100 Subject: [PATCH 13/14] Fix build --- sdk/nodejs/package.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sdk/nodejs/package.json b/sdk/nodejs/package.json index d0ab876..ddbd0a8 100644 --- a/sdk/nodejs/package.json +++ b/sdk/nodejs/package.json @@ -1,5 +1,5 @@ { - "name": "@pulumiverse/zitadel", + "name": "@scoretechnologies/zitadel", "version": "${VERSION}", "description": "A Pulumi package for creating and managing zitadel cloud resources.", "keywords": [ @@ -8,7 +8,7 @@ "category/cloud" ], "homepage": "https://www.pulumi.com", - "repository": "https://github.com/pulumiverse/pulumi-zitadel", + "repository": "https://github.com/scoretechnologies/pulumi-zitadel", "license": "Apache-2.0", "scripts": { "build": "tsc" @@ -24,6 +24,6 @@ "pulumi": { "resource": true, "name": "zitadel", - "server": "github://api.github.com/pulumiverse" + "server": "github://api.github.com/scoretechnologies" } } From 58be727f577b3f9c398e5b589d3fc7d99169a0e4 Mon Sep 17 00:00:00 2001 From: arttii Date: Wed, 12 Feb 2025 12:53:39 +0100 Subject: [PATCH 14/14] Fix builds --- .github/workflows/main.yml | 4 +- .github/workflows/upgrade-provider.yml | 2 +- .goreleaser.yml | 2 +- Makefile | 4 +- README.md | 8 +- docs/_index.md | 8 +- docs/installation-configuration.md | 8 +- examples/go.mod | 2 +- provider/cmd/pulumi-resource-zitadel/main.go | 4 +- .../cmd/pulumi-resource-zitadel/schema.json | 192 +- provider/cmd/pulumi-tfgen-zitadel/main.go | 4 +- provider/go.mod | 2 +- provider/resources.go | 16 +- sdk/dotnet/Action.cs | 6 +- sdk/dotnet/ApplicationApi.cs | 6 +- sdk/dotnet/ApplicationKey.cs | 6 +- sdk/dotnet/ApplicationOidc.cs | 6 +- sdk/dotnet/ApplicationSaml.cs | 6 +- sdk/dotnet/Config/Config.cs | 2 +- sdk/dotnet/DefaultDomainPolicy.cs | 6 +- sdk/dotnet/DefaultLabelPolicy.cs | 4 +- sdk/dotnet/DefaultLockoutPolicy.cs | 6 +- sdk/dotnet/DefaultLoginPolicy.cs | 6 +- sdk/dotnet/DefaultNotificationPolicy.cs | 6 +- sdk/dotnet/DefaultOidcSettings.cs | 6 +- sdk/dotnet/DefaultPasswordComplexityPolicy.cs | 6 +- sdk/dotnet/DefaultPrivacyPolicy.cs | 6 +- sdk/dotnet/Domain.cs | 6 +- sdk/dotnet/DomainPolicy.cs | 6 +- sdk/dotnet/GetAction.cs | 2 +- sdk/dotnet/GetApplicationApi.cs | 2 +- sdk/dotnet/GetApplicationApis.cs | 2 +- sdk/dotnet/GetApplicationOidc.cs | 2 +- sdk/dotnet/GetApplicationOidcs.cs | 2 +- sdk/dotnet/GetApplicationSaml.cs | 2 +- sdk/dotnet/GetApplicationSamls.cs | 2 +- sdk/dotnet/GetDefaultOidcSettings.cs | 2 +- sdk/dotnet/GetHumanUser.cs | 2 +- sdk/dotnet/GetIdpAzureAd.cs | 2 +- sdk/dotnet/GetIdpGithub.cs | 2 +- sdk/dotnet/GetIdpGithubEs.cs | 2 +- sdk/dotnet/GetIdpGitlab.cs | 2 +- sdk/dotnet/GetIdpGitlabSelfHosted.cs | 2 +- sdk/dotnet/GetIdpGoogle.cs | 2 +- sdk/dotnet/GetIdpLdap.cs | 2 +- sdk/dotnet/GetIdpOauth.cs | 2 +- sdk/dotnet/GetIdpSaml.cs | 2 +- sdk/dotnet/GetMachineUser.cs | 2 +- sdk/dotnet/GetMachineUsers.cs | 2 +- sdk/dotnet/GetOrg.cs | 2 +- sdk/dotnet/GetOrgIdpAzureAd.cs | 2 +- sdk/dotnet/GetOrgIdpGithub.cs | 2 +- sdk/dotnet/GetOrgIdpGithubEs.cs | 2 +- sdk/dotnet/GetOrgIdpGitlab.cs | 2 +- sdk/dotnet/GetOrgIdpGitlabSelfHosted.cs | 2 +- sdk/dotnet/GetOrgIdpGoogle.cs | 2 +- sdk/dotnet/GetOrgIdpLdap.cs | 2 +- sdk/dotnet/GetOrgIdpOauth.cs | 2 +- sdk/dotnet/GetOrgIdpSaml.cs | 2 +- sdk/dotnet/GetOrgJwtIdp.cs | 2 +- sdk/dotnet/GetOrgOidcIdp.cs | 2 +- sdk/dotnet/GetOrgs.cs | 2 +- sdk/dotnet/GetProject.cs | 2 +- sdk/dotnet/GetProjectRole.cs | 2 +- sdk/dotnet/GetProjects.cs | 2 +- sdk/dotnet/GetTriggerActions.cs | 2 +- sdk/dotnet/HumanUser.cs | 6 +- sdk/dotnet/IdpAzureAd.cs | 6 +- sdk/dotnet/IdpGithub.cs | 6 +- sdk/dotnet/IdpGithubEs.cs | 6 +- sdk/dotnet/IdpGitlab.cs | 6 +- sdk/dotnet/IdpGitlabSelfHosted.cs | 6 +- sdk/dotnet/IdpGoogle.cs | 6 +- sdk/dotnet/IdpLdap.cs | 6 +- sdk/dotnet/IdpOauth.cs | 6 +- sdk/dotnet/IdpSaml.cs | 6 +- sdk/dotnet/InstanceMember.cs | 6 +- sdk/dotnet/LabelPolicy.cs | 4 +- sdk/dotnet/LockoutPolicy.cs | 6 +- sdk/dotnet/LoginPolicy.cs | 6 +- sdk/dotnet/MachineKey.cs | 6 +- sdk/dotnet/MachineUser.cs | 6 +- sdk/dotnet/NotificationPolicy.cs | 6 +- sdk/dotnet/Org.cs | 6 +- sdk/dotnet/OrgIdpAzureAd.cs | 6 +- sdk/dotnet/OrgIdpGithub.cs | 6 +- sdk/dotnet/OrgIdpGithubEs.cs | 6 +- sdk/dotnet/OrgIdpGitlab.cs | 6 +- sdk/dotnet/OrgIdpGitlabSelfHosted.cs | 6 +- sdk/dotnet/OrgIdpGoogle.cs | 6 +- sdk/dotnet/OrgIdpJwt.cs | 6 +- sdk/dotnet/OrgIdpLdap.cs | 6 +- sdk/dotnet/OrgIdpOauth.cs | 6 +- sdk/dotnet/OrgIdpOidc.cs | 6 +- sdk/dotnet/OrgIdpSaml.cs | 6 +- sdk/dotnet/OrgMember.cs | 6 +- sdk/dotnet/OrgMetadata.cs | 6 +- sdk/dotnet/PasswordComplexityPolicy.cs | 6 +- sdk/dotnet/PersonalAccessToken.cs | 6 +- sdk/dotnet/PrivacyPolicy.cs | 6 +- sdk/dotnet/Project.cs | 6 +- sdk/dotnet/ProjectGrant.cs | 6 +- sdk/dotnet/ProjectGrantMember.cs | 6 +- sdk/dotnet/ProjectMember.cs | 6 +- sdk/dotnet/ProjectRole.cs | 6 +- sdk/dotnet/Provider.cs | 4 +- sdk/dotnet/SmsProviderTwilio.cs | 6 +- sdk/dotnet/SmtpConfig.cs | 6 +- sdk/dotnet/TriggerActions.cs | 6 +- sdk/dotnet/UserGrant.cs | 6 +- sdk/dotnet/UserMetadata.cs | 6 +- sdk/dotnet/Utilities.cs | 6 +- sdk/dotnet/pulumi-plugin.json | 2 +- ...sproj => scoretechnologies.Zitadel.csproj} | 6 +- sdk/go.mod | 2 +- sdk/go/zitadel/action.go | 4 +- sdk/go/zitadel/applicationApi.go | 4 +- sdk/go/zitadel/applicationKey.go | 4 +- sdk/go/zitadel/applicationOidc.go | 4 +- sdk/go/zitadel/applicationSaml.go | 4 +- sdk/go/zitadel/config/config.go | 2 +- sdk/go/zitadel/defaultDomainPolicy.go | 4 +- sdk/go/zitadel/defaultLabelPolicy.go | 2 +- sdk/go/zitadel/defaultLockoutPolicy.go | 4 +- sdk/go/zitadel/defaultLoginPolicy.go | 4 +- sdk/go/zitadel/defaultNotificationPolicy.go | 4 +- sdk/go/zitadel/defaultOidcSettings.go | 4 +- .../defaultPasswordComplexityPolicy.go | 4 +- sdk/go/zitadel/defaultPrivacyPolicy.go | 4 +- sdk/go/zitadel/domain.go | 4 +- sdk/go/zitadel/domainPolicy.go | 4 +- sdk/go/zitadel/getAction.go | 4 +- sdk/go/zitadel/getApplicationApi.go | 4 +- sdk/go/zitadel/getApplicationApis.go | 2 +- sdk/go/zitadel/getApplicationOidc.go | 4 +- sdk/go/zitadel/getApplicationOidcs.go | 2 +- sdk/go/zitadel/getApplicationSaml.go | 4 +- sdk/go/zitadel/getApplicationSamls.go | 2 +- sdk/go/zitadel/getDefaultOidcSettings.go | 4 +- sdk/go/zitadel/getHumanUser.go | 4 +- sdk/go/zitadel/getIdpAzureAd.go | 4 +- sdk/go/zitadel/getIdpGithub.go | 4 +- sdk/go/zitadel/getIdpGithubEs.go | 4 +- sdk/go/zitadel/getIdpGitlab.go | 4 +- sdk/go/zitadel/getIdpGitlabSelfHosted.go | 4 +- sdk/go/zitadel/getIdpGoogle.go | 4 +- sdk/go/zitadel/getIdpLdap.go | 4 +- sdk/go/zitadel/getIdpOauth.go | 4 +- sdk/go/zitadel/getIdpSaml.go | 4 +- sdk/go/zitadel/getMachineUser.go | 4 +- sdk/go/zitadel/getMachineUsers.go | 2 +- sdk/go/zitadel/getOrg.go | 4 +- sdk/go/zitadel/getOrgIdpAzureAd.go | 4 +- sdk/go/zitadel/getOrgIdpGithub.go | 4 +- sdk/go/zitadel/getOrgIdpGithubEs.go | 4 +- sdk/go/zitadel/getOrgIdpGitlab.go | 4 +- sdk/go/zitadel/getOrgIdpGitlabSelfHosted.go | 4 +- sdk/go/zitadel/getOrgIdpGoogle.go | 4 +- sdk/go/zitadel/getOrgIdpLdap.go | 4 +- sdk/go/zitadel/getOrgIdpOauth.go | 4 +- sdk/go/zitadel/getOrgIdpSaml.go | 4 +- sdk/go/zitadel/getOrgJwtIdp.go | 2 +- sdk/go/zitadel/getOrgOidcIdp.go | 4 +- sdk/go/zitadel/getOrgs.go | 2 +- sdk/go/zitadel/getProject.go | 4 +- sdk/go/zitadel/getProjectRole.go | 4 +- sdk/go/zitadel/getProjects.go | 2 +- sdk/go/zitadel/getTriggerActions.go | 4 +- sdk/go/zitadel/humanUser.go | 4 +- sdk/go/zitadel/idpAzureAd.go | 4 +- sdk/go/zitadel/idpGithub.go | 4 +- sdk/go/zitadel/idpGithubEs.go | 4 +- sdk/go/zitadel/idpGitlab.go | 4 +- sdk/go/zitadel/idpGitlabSelfHosted.go | 4 +- sdk/go/zitadel/idpGoogle.go | 4 +- sdk/go/zitadel/idpLdap.go | 4 +- sdk/go/zitadel/idpOauth.go | 4 +- sdk/go/zitadel/idpSaml.go | 4 +- sdk/go/zitadel/init.go | 2 +- sdk/go/zitadel/instanceMember.go | 4 +- sdk/go/zitadel/internal/pulumiUtilities.go | 4 +- sdk/go/zitadel/labelPolicy.go | 2 +- sdk/go/zitadel/lockoutPolicy.go | 4 +- sdk/go/zitadel/loginPolicy.go | 4 +- sdk/go/zitadel/machineKey.go | 4 +- sdk/go/zitadel/machineUser.go | 4 +- sdk/go/zitadel/notificationPolicy.go | 4 +- sdk/go/zitadel/org.go | 4 +- sdk/go/zitadel/orgIdpAzureAd.go | 4 +- sdk/go/zitadel/orgIdpGithub.go | 4 +- sdk/go/zitadel/orgIdpGithubEs.go | 4 +- sdk/go/zitadel/orgIdpGitlab.go | 4 +- sdk/go/zitadel/orgIdpGitlabSelfHosted.go | 4 +- sdk/go/zitadel/orgIdpGoogle.go | 4 +- sdk/go/zitadel/orgIdpJwt.go | 4 +- sdk/go/zitadel/orgIdpLdap.go | 4 +- sdk/go/zitadel/orgIdpOauth.go | 4 +- sdk/go/zitadel/orgIdpOidc.go | 4 +- sdk/go/zitadel/orgIdpSaml.go | 4 +- sdk/go/zitadel/orgMember.go | 4 +- sdk/go/zitadel/orgMetadata.go | 4 +- sdk/go/zitadel/passwordComplexityPolicy.go | 4 +- sdk/go/zitadel/personalAccessToken.go | 4 +- sdk/go/zitadel/privacyPolicy.go | 4 +- sdk/go/zitadel/project.go | 4 +- sdk/go/zitadel/projectGrant.go | 4 +- sdk/go/zitadel/projectGrantMember.go | 4 +- sdk/go/zitadel/projectMember.go | 4 +- sdk/go/zitadel/projectRole.go | 4 +- sdk/go/zitadel/provider.go | 2 +- sdk/go/zitadel/pulumi-plugin.json | 2 +- sdk/go/zitadel/smsProviderTwilio.go | 4 +- sdk/go/zitadel/smtpConfig.go | 4 +- sdk/go/zitadel/triggerActions.go | 4 +- sdk/go/zitadel/userGrant.go | 4 +- sdk/go/zitadel/userMetadata.go | 4 +- sdk/nodejs/README.md | 2 +- sdk/nodejs/action.ts | 2 +- sdk/nodejs/applicationApi.ts | 2 +- sdk/nodejs/applicationKey.ts | 2 +- sdk/nodejs/applicationOidc.ts | 2 +- sdk/nodejs/applicationSaml.ts | 2 +- sdk/nodejs/defaultDomainPolicy.ts | 2 +- sdk/nodejs/defaultLockoutPolicy.ts | 2 +- sdk/nodejs/defaultLoginPolicy.ts | 2 +- sdk/nodejs/defaultNotificationPolicy.ts | 2 +- sdk/nodejs/defaultOidcSettings.ts | 2 +- sdk/nodejs/defaultPasswordComplexityPolicy.ts | 2 +- sdk/nodejs/defaultPrivacyPolicy.ts | 2 +- sdk/nodejs/domain.ts | 2 +- sdk/nodejs/domainPolicy.ts | 2 +- sdk/nodejs/humanUser.ts | 2 +- sdk/nodejs/idpAzureAd.ts | 2 +- sdk/nodejs/idpGithub.ts | 2 +- sdk/nodejs/idpGithubEs.ts | 2 +- sdk/nodejs/idpGitlab.ts | 2 +- sdk/nodejs/idpGitlabSelfHosted.ts | 2 +- sdk/nodejs/idpGoogle.ts | 2 +- sdk/nodejs/idpLdap.ts | 2 +- sdk/nodejs/idpOauth.ts | 2 +- sdk/nodejs/idpSaml.ts | 2 +- sdk/nodejs/instanceMember.ts | 2 +- sdk/nodejs/lockoutPolicy.ts | 2 +- sdk/nodejs/loginPolicy.ts | 2 +- sdk/nodejs/machineKey.ts | 2 +- sdk/nodejs/machineUser.ts | 2 +- sdk/nodejs/notificationPolicy.ts | 2 +- sdk/nodejs/org.ts | 2 +- sdk/nodejs/orgIdpAzureAd.ts | 2 +- sdk/nodejs/orgIdpGithub.ts | 2 +- sdk/nodejs/orgIdpGithubEs.ts | 2 +- sdk/nodejs/orgIdpGitlab.ts | 2 +- sdk/nodejs/orgIdpGitlabSelfHosted.ts | 2 +- sdk/nodejs/orgIdpGoogle.ts | 2 +- sdk/nodejs/orgIdpJwt.ts | 2 +- sdk/nodejs/orgIdpLdap.ts | 2 +- sdk/nodejs/orgIdpOauth.ts | 2 +- sdk/nodejs/orgIdpOidc.ts | 2 +- sdk/nodejs/orgIdpSaml.ts | 2 +- sdk/nodejs/orgMember.ts | 2 +- sdk/nodejs/orgMetadata.ts | 2 +- sdk/nodejs/passwordComplexityPolicy.ts | 2 +- sdk/nodejs/personalAccessToken.ts | 2 +- sdk/nodejs/privacyPolicy.ts | 2 +- sdk/nodejs/project.ts | 2 +- sdk/nodejs/projectGrant.ts | 2 +- sdk/nodejs/projectGrantMember.ts | 2 +- sdk/nodejs/projectMember.ts | 2 +- sdk/nodejs/projectRole.ts | 2 +- sdk/nodejs/smsProviderTwilio.ts | 2 +- sdk/nodejs/smtpConfig.ts | 2 +- sdk/nodejs/triggerActions.ts | 2 +- sdk/nodejs/userGrant.ts | 2 +- sdk/nodejs/userMetadata.ts | 2 +- sdk/nodejs/utilities.ts | 2 +- sdk/python/README.md | 8 +- sdk/python/pulumiverse_zitadel/README.md | 2 +- sdk/python/pulumiverse_zitadel/__init__.py | 124 +- sdk/python/pulumiverse_zitadel/_utilities.py | 2 +- sdk/python/pulumiverse_zitadel/action.py | 4 +- .../pulumiverse_zitadel/application_api.py | 4 +- .../pulumiverse_zitadel/application_key.py | 4 +- .../pulumiverse_zitadel/application_oidc.py | 4 +- .../pulumiverse_zitadel/application_saml.py | 4 +- .../default_domain_policy.py | 4 +- .../default_lockout_policy.py | 4 +- .../default_login_policy.py | 4 +- .../default_notification_policy.py | 4 +- .../default_oidc_settings.py | 4 +- .../default_password_complexity_policy.py | 4 +- .../default_privacy_policy.py | 4 +- sdk/python/pulumiverse_zitadel/domain.py | 4 +- .../pulumiverse_zitadel/domain_policy.py | 4 +- sdk/python/pulumiverse_zitadel/human_user.py | 4 +- .../pulumiverse_zitadel/idp_azure_ad.py | 4 +- sdk/python/pulumiverse_zitadel/idp_github.py | 4 +- .../pulumiverse_zitadel/idp_github_es.py | 4 +- sdk/python/pulumiverse_zitadel/idp_gitlab.py | 4 +- .../idp_gitlab_self_hosted.py | 4 +- sdk/python/pulumiverse_zitadel/idp_google.py | 4 +- sdk/python/pulumiverse_zitadel/idp_ldap.py | 4 +- sdk/python/pulumiverse_zitadel/idp_oauth.py | 4 +- sdk/python/pulumiverse_zitadel/idp_saml.py | 4 +- .../pulumiverse_zitadel/instance_member.py | 4 +- .../pulumiverse_zitadel/lockout_policy.py | 4 +- .../pulumiverse_zitadel/login_policy.py | 4 +- sdk/python/pulumiverse_zitadel/machine_key.py | 4 +- .../pulumiverse_zitadel/machine_user.py | 4 +- .../notification_policy.py | 4 +- sdk/python/pulumiverse_zitadel/org.py | 4 +- .../pulumiverse_zitadel/org_idp_azure_ad.py | 4 +- .../pulumiverse_zitadel/org_idp_github.py | 4 +- .../pulumiverse_zitadel/org_idp_github_es.py | 4 +- .../pulumiverse_zitadel/org_idp_gitlab.py | 4 +- .../org_idp_gitlab_self_hosted.py | 4 +- .../pulumiverse_zitadel/org_idp_google.py | 4 +- sdk/python/pulumiverse_zitadel/org_idp_jwt.py | 4 +- .../pulumiverse_zitadel/org_idp_ldap.py | 4 +- .../pulumiverse_zitadel/org_idp_oauth.py | 4 +- .../pulumiverse_zitadel/org_idp_oidc.py | 4 +- .../pulumiverse_zitadel/org_idp_saml.py | 4 +- sdk/python/pulumiverse_zitadel/org_member.py | 4 +- .../pulumiverse_zitadel/org_metadata.py | 4 +- .../password_complexity_policy.py | 4 +- .../personal_access_token.py | 4 +- .../pulumiverse_zitadel/privacy_policy.py | 4 +- sdk/python/pulumiverse_zitadel/project.py | 4 +- .../pulumiverse_zitadel/project_grant.py | 4 +- .../project_grant_member.py | 4 +- .../pulumiverse_zitadel/project_member.py | 4 +- .../pulumiverse_zitadel/project_role.py | 4 +- .../pulumiverse_zitadel/pulumi-plugin.json | 2 +- .../sms_provider_twilio.py | 4 +- sdk/python/pulumiverse_zitadel/smtp_config.py | 4 +- .../pulumiverse_zitadel/trigger_actions.py | 4 +- sdk/python/pulumiverse_zitadel/user_grant.py | 4 +- .../pulumiverse_zitadel/user_metadata.py | 4 +- .../scoretechnologies_zitadel/README.md | 4 + .../scoretechnologies_zitadel/__init__.py | 600 ++++++ .../scoretechnologies_zitadel/_utilities.py | 250 +++ .../scoretechnologies_zitadel/action.py | 432 ++++ .../application_api.py | 443 +++++ .../application_key.py | 477 +++++ .../application_oidc.py | 1183 +++++++++++ .../application_saml.py | 404 ++++ .../config/__init__.py | 8 + .../config/__init__.pyi | 42 + .../scoretechnologies_zitadel/config/vars.py | 60 + .../default_domain_policy.py | 315 +++ .../default_label_policy.py | 1346 +++++++++++++ .../default_lockout_policy.py | 210 ++ .../default_login_policy.py | 1251 ++++++++++++ .../default_notification_policy.py | 210 ++ .../default_oidc_settings.py | 370 ++++ .../default_password_complexity_policy.py | 444 +++++ .../default_privacy_policy.py | 330 ++++ .../scoretechnologies_zitadel/domain.py | 383 ++++ .../domain_policy.py | 372 ++++ .../scoretechnologies_zitadel/get_action.py | 185 ++ .../get_application_api.py | 180 ++ .../get_application_apis.py | 153 ++ .../get_application_oidc.py | 349 ++++ .../get_application_oidcs.py | 153 ++ .../get_application_saml.py | 170 ++ .../get_application_samls.py | 153 ++ .../get_default_oidc_settings.py | 136 ++ .../get_human_user.py | 308 +++ .../get_idp_azure_ad.py | 234 +++ .../get_idp_github.py | 195 ++ .../get_idp_github_es.py | 234 +++ .../get_idp_gitlab.py | 195 ++ .../get_idp_gitlab_self_hosted.py | 208 ++ .../get_idp_google.py | 195 ++ .../scoretechnologies_zitadel/get_idp_ldap.py | 442 +++++ .../get_idp_oauth.py | 247 +++ .../scoretechnologies_zitadel/get_idp_saml.py | 195 ++ .../get_machine_user.py | 215 ++ .../get_machine_users.py | 135 ++ .../scoretechnologies_zitadel/get_org.py | 145 ++ .../get_org_idp_azure_ad.py | 254 +++ .../get_org_idp_github.py | 215 ++ .../get_org_idp_github_es.py | 254 +++ .../get_org_idp_gitlab.py | 215 ++ .../get_org_idp_gitlab_self_hosted.py | 228 +++ .../get_org_idp_google.py | 215 ++ .../get_org_idp_ldap.py | 462 +++++ .../get_org_idp_oauth.py | 267 +++ .../get_org_idp_saml.py | 215 ++ .../get_org_jwt_idp.py | 195 ++ .../get_org_oidc_idp.py | 243 +++ .../scoretechnologies_zitadel/get_orgs.py | 184 ++ .../scoretechnologies_zitadel/get_project.py | 202 ++ .../get_project_role.py | 172 ++ .../scoretechnologies_zitadel/get_projects.py | 135 ++ .../get_trigger_actions.py | 159 ++ .../scoretechnologies_zitadel/human_user.py | 987 ++++++++++ .../scoretechnologies_zitadel/idp_azure_ad.py | 788 ++++++++ .../scoretechnologies_zitadel/idp_github.py | 616 ++++++ .../idp_github_es.py | 790 ++++++++ .../scoretechnologies_zitadel/idp_gitlab.py | 616 ++++++ .../idp_gitlab_self_hosted.py | 670 +++++++ .../scoretechnologies_zitadel/idp_google.py | 616 ++++++ .../scoretechnologies_zitadel/idp_ldap.py | 1686 ++++++++++++++++ .../scoretechnologies_zitadel/idp_oauth.py | 848 ++++++++ .../scoretechnologies_zitadel/idp_saml.py | 681 +++++++ .../instance_member.py | 266 +++ .../scoretechnologies_zitadel/label_policy.py | 1401 +++++++++++++ .../lockout_policy.py | 269 +++ .../scoretechnologies_zitadel/login_policy.py | 1308 +++++++++++++ .../scoretechnologies_zitadel/machine_key.py | 418 ++++ .../scoretechnologies_zitadel/machine_user.py | 645 ++++++ .../notification_policy.py | 269 +++ sdk/python/scoretechnologies_zitadel/org.py | 322 +++ .../org_idp_azure_ad.py | 845 ++++++++ .../org_idp_github.py | 673 +++++++ .../org_idp_github_es.py | 847 ++++++++ .../org_idp_gitlab.py | 673 +++++++ .../org_idp_gitlab_self_hosted.py | 727 +++++++ .../org_idp_google.py | 673 +++++++ .../scoretechnologies_zitadel/org_idp_jwt.py | 606 ++++++ .../scoretechnologies_zitadel/org_idp_ldap.py | 1743 +++++++++++++++++ .../org_idp_oauth.py | 905 +++++++++ .../scoretechnologies_zitadel/org_idp_oidc.py | 785 ++++++++ .../scoretechnologies_zitadel/org_idp_saml.py | 736 +++++++ .../scoretechnologies_zitadel/org_member.py | 323 +++ .../scoretechnologies_zitadel/org_metadata.py | 315 +++ .../password_complexity_policy.py | 485 +++++ .../personal_access_token.py | 358 ++++ .../privacy_policy.py | 387 ++++ .../scoretechnologies_zitadel/project.py | 520 +++++ .../project_grant.py | 384 ++++ .../project_grant_member.py | 439 +++++ .../project_member.py | 381 ++++ .../scoretechnologies_zitadel/project_role.py | 438 +++++ .../scoretechnologies_zitadel/provider.py | 272 +++ .../pulumi-plugin.json | 5 + sdk/python/scoretechnologies_zitadel/py.typed | 0 .../sms_provider_twilio.py | 322 +++ .../scoretechnologies_zitadel/smtp_config.py | 542 +++++ .../trigger_actions.py | 385 ++++ .../scoretechnologies_zitadel/user_grant.py | 438 +++++ .../user_metadata.py | 373 ++++ sdk/python/setup.py | 6 +- 443 files changed, 46737 insertions(+), 785 deletions(-) rename sdk/dotnet/{Pulumiverse.Zitadel.csproj => scoretechnologies.Zitadel.csproj} (91%) create mode 100644 sdk/python/scoretechnologies_zitadel/README.md create mode 100644 sdk/python/scoretechnologies_zitadel/__init__.py create mode 100644 sdk/python/scoretechnologies_zitadel/_utilities.py create mode 100644 sdk/python/scoretechnologies_zitadel/action.py create mode 100644 sdk/python/scoretechnologies_zitadel/application_api.py create mode 100644 sdk/python/scoretechnologies_zitadel/application_key.py create mode 100644 sdk/python/scoretechnologies_zitadel/application_oidc.py create mode 100644 sdk/python/scoretechnologies_zitadel/application_saml.py create mode 100644 sdk/python/scoretechnologies_zitadel/config/__init__.py create mode 100644 sdk/python/scoretechnologies_zitadel/config/__init__.pyi create mode 100644 sdk/python/scoretechnologies_zitadel/config/vars.py create mode 100644 sdk/python/scoretechnologies_zitadel/default_domain_policy.py create mode 100644 sdk/python/scoretechnologies_zitadel/default_label_policy.py create mode 100644 sdk/python/scoretechnologies_zitadel/default_lockout_policy.py create mode 100644 sdk/python/scoretechnologies_zitadel/default_login_policy.py create mode 100644 sdk/python/scoretechnologies_zitadel/default_notification_policy.py create mode 100644 sdk/python/scoretechnologies_zitadel/default_oidc_settings.py create mode 100644 sdk/python/scoretechnologies_zitadel/default_password_complexity_policy.py create mode 100644 sdk/python/scoretechnologies_zitadel/default_privacy_policy.py create mode 100644 sdk/python/scoretechnologies_zitadel/domain.py create mode 100644 sdk/python/scoretechnologies_zitadel/domain_policy.py create mode 100644 sdk/python/scoretechnologies_zitadel/get_action.py create mode 100644 sdk/python/scoretechnologies_zitadel/get_application_api.py create mode 100644 sdk/python/scoretechnologies_zitadel/get_application_apis.py create mode 100644 sdk/python/scoretechnologies_zitadel/get_application_oidc.py create mode 100644 sdk/python/scoretechnologies_zitadel/get_application_oidcs.py create mode 100644 sdk/python/scoretechnologies_zitadel/get_application_saml.py create mode 100644 sdk/python/scoretechnologies_zitadel/get_application_samls.py create mode 100644 sdk/python/scoretechnologies_zitadel/get_default_oidc_settings.py create mode 100644 sdk/python/scoretechnologies_zitadel/get_human_user.py create mode 100644 sdk/python/scoretechnologies_zitadel/get_idp_azure_ad.py create mode 100644 sdk/python/scoretechnologies_zitadel/get_idp_github.py create mode 100644 sdk/python/scoretechnologies_zitadel/get_idp_github_es.py create mode 100644 sdk/python/scoretechnologies_zitadel/get_idp_gitlab.py create mode 100644 sdk/python/scoretechnologies_zitadel/get_idp_gitlab_self_hosted.py create mode 100644 sdk/python/scoretechnologies_zitadel/get_idp_google.py create mode 100644 sdk/python/scoretechnologies_zitadel/get_idp_ldap.py create mode 100644 sdk/python/scoretechnologies_zitadel/get_idp_oauth.py create mode 100644 sdk/python/scoretechnologies_zitadel/get_idp_saml.py create mode 100644 sdk/python/scoretechnologies_zitadel/get_machine_user.py create mode 100644 sdk/python/scoretechnologies_zitadel/get_machine_users.py create mode 100644 sdk/python/scoretechnologies_zitadel/get_org.py create mode 100644 sdk/python/scoretechnologies_zitadel/get_org_idp_azure_ad.py create mode 100644 sdk/python/scoretechnologies_zitadel/get_org_idp_github.py create mode 100644 sdk/python/scoretechnologies_zitadel/get_org_idp_github_es.py create mode 100644 sdk/python/scoretechnologies_zitadel/get_org_idp_gitlab.py create mode 100644 sdk/python/scoretechnologies_zitadel/get_org_idp_gitlab_self_hosted.py create mode 100644 sdk/python/scoretechnologies_zitadel/get_org_idp_google.py create mode 100644 sdk/python/scoretechnologies_zitadel/get_org_idp_ldap.py create mode 100644 sdk/python/scoretechnologies_zitadel/get_org_idp_oauth.py create mode 100644 sdk/python/scoretechnologies_zitadel/get_org_idp_saml.py create mode 100644 sdk/python/scoretechnologies_zitadel/get_org_jwt_idp.py create mode 100644 sdk/python/scoretechnologies_zitadel/get_org_oidc_idp.py create mode 100644 sdk/python/scoretechnologies_zitadel/get_orgs.py create mode 100644 sdk/python/scoretechnologies_zitadel/get_project.py create mode 100644 sdk/python/scoretechnologies_zitadel/get_project_role.py create mode 100644 sdk/python/scoretechnologies_zitadel/get_projects.py create mode 100644 sdk/python/scoretechnologies_zitadel/get_trigger_actions.py create mode 100644 sdk/python/scoretechnologies_zitadel/human_user.py create mode 100644 sdk/python/scoretechnologies_zitadel/idp_azure_ad.py create mode 100644 sdk/python/scoretechnologies_zitadel/idp_github.py create mode 100644 sdk/python/scoretechnologies_zitadel/idp_github_es.py create mode 100644 sdk/python/scoretechnologies_zitadel/idp_gitlab.py create mode 100644 sdk/python/scoretechnologies_zitadel/idp_gitlab_self_hosted.py create mode 100644 sdk/python/scoretechnologies_zitadel/idp_google.py create mode 100644 sdk/python/scoretechnologies_zitadel/idp_ldap.py create mode 100644 sdk/python/scoretechnologies_zitadel/idp_oauth.py create mode 100644 sdk/python/scoretechnologies_zitadel/idp_saml.py create mode 100644 sdk/python/scoretechnologies_zitadel/instance_member.py create mode 100644 sdk/python/scoretechnologies_zitadel/label_policy.py create mode 100644 sdk/python/scoretechnologies_zitadel/lockout_policy.py create mode 100644 sdk/python/scoretechnologies_zitadel/login_policy.py create mode 100644 sdk/python/scoretechnologies_zitadel/machine_key.py create mode 100644 sdk/python/scoretechnologies_zitadel/machine_user.py create mode 100644 sdk/python/scoretechnologies_zitadel/notification_policy.py create mode 100644 sdk/python/scoretechnologies_zitadel/org.py create mode 100644 sdk/python/scoretechnologies_zitadel/org_idp_azure_ad.py create mode 100644 sdk/python/scoretechnologies_zitadel/org_idp_github.py create mode 100644 sdk/python/scoretechnologies_zitadel/org_idp_github_es.py create mode 100644 sdk/python/scoretechnologies_zitadel/org_idp_gitlab.py create mode 100644 sdk/python/scoretechnologies_zitadel/org_idp_gitlab_self_hosted.py create mode 100644 sdk/python/scoretechnologies_zitadel/org_idp_google.py create mode 100644 sdk/python/scoretechnologies_zitadel/org_idp_jwt.py create mode 100644 sdk/python/scoretechnologies_zitadel/org_idp_ldap.py create mode 100644 sdk/python/scoretechnologies_zitadel/org_idp_oauth.py create mode 100644 sdk/python/scoretechnologies_zitadel/org_idp_oidc.py create mode 100644 sdk/python/scoretechnologies_zitadel/org_idp_saml.py create mode 100644 sdk/python/scoretechnologies_zitadel/org_member.py create mode 100644 sdk/python/scoretechnologies_zitadel/org_metadata.py create mode 100644 sdk/python/scoretechnologies_zitadel/password_complexity_policy.py create mode 100644 sdk/python/scoretechnologies_zitadel/personal_access_token.py create mode 100644 sdk/python/scoretechnologies_zitadel/privacy_policy.py create mode 100644 sdk/python/scoretechnologies_zitadel/project.py create mode 100644 sdk/python/scoretechnologies_zitadel/project_grant.py create mode 100644 sdk/python/scoretechnologies_zitadel/project_grant_member.py create mode 100644 sdk/python/scoretechnologies_zitadel/project_member.py create mode 100644 sdk/python/scoretechnologies_zitadel/project_role.py create mode 100644 sdk/python/scoretechnologies_zitadel/provider.py create mode 100644 sdk/python/scoretechnologies_zitadel/pulumi-plugin.json create mode 100644 sdk/python/scoretechnologies_zitadel/py.typed create mode 100644 sdk/python/scoretechnologies_zitadel/sms_provider_twilio.py create mode 100644 sdk/python/scoretechnologies_zitadel/smtp_config.py create mode 100644 sdk/python/scoretechnologies_zitadel/trigger_actions.py create mode 100644 sdk/python/scoretechnologies_zitadel/user_grant.py create mode 100644 sdk/python/scoretechnologies_zitadel/user_metadata.py diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index cb7d9f3..2bee95d 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -8,13 +8,13 @@ jobs: prerequisites: permissions: pull-requests: write - uses: pulumiverse/infra/.github/workflows/provider-prerequisites.yaml@actions-workflows-v0.0.4 + uses: scoretechnologies/infra/.github/workflows/provider-prerequisites.yaml@actions-workflows-v0.0.4 with: provider: zitadel goversion: 1.21.x build: needs: prerequisites - uses: pulumiverse/infra/.github/workflows/provider-build-sdk.yaml@actions-workflows-v0.0.4 + uses: scoretechnologies/infra/.github/workflows/provider-build-sdk.yaml@actions-workflows-v0.0.4 with: provider: zitadel goversion: 1.21.x diff --git a/.github/workflows/upgrade-provider.yml b/.github/workflows/upgrade-provider.yml index aecec2a..848b817 100644 --- a/.github/workflows/upgrade-provider.yml +++ b/.github/workflows/upgrade-provider.yml @@ -9,7 +9,7 @@ env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} jobs: # TODO: Switch to shared CI like here - # https://github.com/pulumiverse/pulumi-vercel/blob/main/.github/workflows/upgrade-provider.yml + # https://github.com/scoretechnologies/pulumi-vercel/blob/main/.github/workflows/upgrade-provider.yml # after this issue is fixed # https://github.com/pulumi/upgrade-provider/issues/179 # or when have time to fix failing go mod tidy in "all" mode. diff --git a/.goreleaser.yml b/.goreleaser.yml index 7ed0bf5..1c13fd1 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -18,7 +18,7 @@ builds: - windows - linux ldflags: - - -X github.com/pulumiverse/pulumi-zitadel/provider/pkg/version.Version={{.Tag }} + - -X github.com/scoretechnologies/pulumi-zitadel/provider/pkg/version.Version={{.Tag }} main: ./cmd/pulumi-resource-zitadel/ changelog: disable: true diff --git a/Makefile b/Makefile index 34bc51d..dc96a21 100644 --- a/Makefile +++ b/Makefile @@ -2,7 +2,7 @@ PROJECT_NAME := zitadel Package SHELL := /bin/bash PACK := zitadel -ORG := pulumiverse +ORG := scoretechnologies PROJECT := github.com/${ORG}/pulumi-${PACK} NODE_MODULE_NAME := @pulumi/${PACK} TF_NAME := ${PACK} @@ -116,7 +116,7 @@ install_python_sdk:: install_go_sdk:: install_nodejs_sdk:: - pnpm link --cwd $(WORKING_DIR)/sdk/nodejs/bin + pnpm link --dir $(WORKING_DIR)/sdk/nodejs/bin install_sdks:: install_dotnet_sdk install_python_sdk install_nodejs_sdk diff --git a/README.md b/README.md index 2f550cc..e08f714 100644 --- a/README.md +++ b/README.md @@ -11,13 +11,13 @@ This package is available for several languages/platforms: To use from JavaScript or TypeScript in Node.js, install using either `npm`: ```bash -npm install @pulumiverse/zitadel +npm install @scoretechnologies/zitadel ``` or `yarn`: ```bash -yarn add @pulumiverse/zitadel +yarn add @scoretechnologies/zitadel ``` ### Python @@ -33,7 +33,7 @@ pip install pulumi_zitadel To use from Go, use `go get` to grab the latest version of the library: ```bash -go get github.com/pulumiverse/pulumi-zitadel/sdk/go/... +go get github.com/scoretechnologies/pulumi-zitadel/sdk/go/... ``` ### .NET @@ -41,7 +41,7 @@ go get github.com/pulumiverse/pulumi-zitadel/sdk/go/... To use from .NET, install using `dotnet add package`: ```bash -dotnet add package Pulumiverse.Zitadel +dotnet add package scoretechnologies.Zitadel ``` ## Configuration diff --git a/docs/_index.md b/docs/_index.md index 7eb422d..9447bb3 100644 --- a/docs/_index.md +++ b/docs/_index.md @@ -13,7 +13,7 @@ The Zitadel provider must be configured with credentials to deploy and update re {{% choosable language typescript %}} ```typescript -import * as zitadel from "@pulumiverse/zitadel"; +import * as zitadel from "@scoretechnologies/zitadel"; const db = new zitadel.Org("example", { name: "example", }); @@ -23,7 +23,7 @@ const db = new zitadel.Org("example", { {{% choosable language python %}} ```python -import pulumiverse_zitadel as zitadel +import scoretechnologies_zitadel as zitadel db = zitadel.Database("example", name="example" @@ -36,7 +36,7 @@ db = zitadel.Database("example", ```go import ( "fmt" - zitadel "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" + zitadel "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -62,7 +62,7 @@ func main() { ```csharp using Pulumi; -using Pulumiverse.Zitadel; +using scoretechnologies.Zitadel; class Zitadel : Stack { diff --git a/docs/installation-configuration.md b/docs/installation-configuration.md index 393a78f..c8dc2e8 100644 --- a/docs/installation-configuration.md +++ b/docs/installation-configuration.md @@ -8,10 +8,10 @@ layout: installation The Pulumi Zitadel provider is available as a package in all Pulumi languages: -* JavaScript/TypeScript: [`@pulumiserve/zitadel`](https://www.npmjs.com/package/@pulumiverse/zitadel) -* Python: [`pulumiverse_zitadel`](https://pypi.org/project/pulumiverse-zitadel/) -* Go: [`github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel`](https://pkg.go.dev/github.com/pulumiverse/pulumi-zitadel/sdk) -* .NET: [`Pulumiverse.Zitadel`](https://www.nuget.org/packages/Pulumiverse.Zitadel) +* JavaScript/TypeScript: [`@pulumiserve/zitadel`](https://www.npmjs.com/package/@scoretechnologies/zitadel) +* Python: [`scoretechnologies_zitadel`](https://pypi.org/project/scoretechnologies-zitadel/) +* Go: [`github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel`](https://pkg.go.dev/github.com/scoretechnologies/pulumi-zitadel/sdk) +* .NET: [`scoretechnologies.Zitadel`](https://www.nuget.org/packages/scoretechnologies.Zitadel) ## Setup diff --git a/examples/go.mod b/examples/go.mod index 1d66d3e..b3b24c8 100644 --- a/examples/go.mod +++ b/examples/go.mod @@ -1,4 +1,4 @@ -module github.com/pulumiverse/pulumi-zitadel/examples +module github.com/scoretechnologies/pulumi-zitadel/examples go 1.21 diff --git a/provider/cmd/pulumi-resource-zitadel/main.go b/provider/cmd/pulumi-resource-zitadel/main.go index 1ee5b8c..1c39229 100644 --- a/provider/cmd/pulumi-resource-zitadel/main.go +++ b/provider/cmd/pulumi-resource-zitadel/main.go @@ -20,8 +20,8 @@ import ( _ "embed" "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfbridge" - zitadel "github.com/pulumiverse/pulumi-zitadel/provider" - "github.com/pulumiverse/pulumi-zitadel/provider/pkg/version" + zitadel "github.com/scoretechnologies/pulumi-zitadel/provider" + "github.com/scoretechnologies/pulumi-zitadel/provider/pkg/version" ) //go:embed schema-embed.json diff --git a/provider/cmd/pulumi-resource-zitadel/schema.json b/provider/cmd/pulumi-resource-zitadel/schema.json index 3f27de4..d3d98a9 100644 --- a/provider/cmd/pulumi-resource-zitadel/schema.json +++ b/provider/cmd/pulumi-resource-zitadel/schema.json @@ -9,9 +9,9 @@ "homepage": "https://www.pulumi.com", "license": "Apache-2.0", "attribution": "This Pulumi package is based on the [`zitadel` Terraform Provider](https://github.com/zitadel/terraform-provider-zitadel).", - "repository": "https://github.com/pulumiverse/pulumi-zitadel", - "pluginDownloadURL": "github://api.github.com/pulumiverse", - "publisher": "pulumiverse", + "repository": "https://github.com/scoretechnologies/pulumi-zitadel", + "pluginDownloadURL": "github://api.github.com/scoretechnologies", + "publisher": "scoretechnologies", "meta": { "moduleFormat": "(.*)(?:/[^/]*)" }, @@ -21,17 +21,17 @@ "Pulumi": "3.*" }, "compatibility": "tfbridge20", - "rootNamespace": "Pulumiverse" + "rootNamespace": "scoretechnologies" }, "go": { - "importBasePath": "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel", + "importBasePath": "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel", "generateResourceContainerTypes": true, "generateExtraInputTypes": true }, "nodejs": { - "packageName": "@pulumiverse/zitadel", + "packageName": "@scoretechnologies/zitadel", "packageDescription": "A Pulumi package for creating and managing zitadel cloud resources.", - "readme": "\u003e This provider is a derived work of the [Terraform Provider](https://github.com/zitadel/terraform-provider-zitadel)\n\u003e distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n\u003e first check the [`pulumi-zitadel` repo](https://github.com/pulumiverse/pulumi-zitadel/issues); however, if that doesn't turn up anything,\n\u003e please consult the source [`terraform-provider-zitadel` repo](https://github.com/zitadel/terraform-provider-zitadel/issues).", + "readme": "\u003e This provider is a derived work of the [Terraform Provider](https://github.com/zitadel/terraform-provider-zitadel)\n\u003e distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n\u003e first check the [`pulumi-zitadel` repo](https://github.com/scoretechnologies/pulumi-zitadel/issues); however, if that doesn't turn up anything,\n\u003e please consult the source [`terraform-provider-zitadel` repo](https://github.com/zitadel/terraform-provider-zitadel/issues).", "dependencies": { "@pulumi/pulumi": "^3.0.0" }, @@ -43,11 +43,11 @@ "disableUnionOutputTypes": true }, "python": { - "packageName": "pulumiverse_zitadel", + "packageName": "scoretechnologies_zitadel", "requires": { "pulumi": "\u003e=3.0.0,\u003c4.0.0" }, - "readme": "\u003e This provider is a derived work of the [Terraform Provider](https://github.com/zitadel/terraform-provider-zitadel)\n\u003e distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n\u003e first check the [`pulumi-zitadel` repo](https://github.com/pulumiverse/pulumi-zitadel/issues); however, if that doesn't turn up anything,\n\u003e please consult the source [`terraform-provider-zitadel` repo](https://github.com/zitadel/terraform-provider-zitadel/issues).", + "readme": "\u003e This provider is a derived work of the [Terraform Provider](https://github.com/zitadel/terraform-provider-zitadel)\n\u003e distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n\u003e first check the [`pulumi-zitadel` repo](https://github.com/scoretechnologies/pulumi-zitadel/issues); however, if that doesn't turn up anything,\n\u003e please consult the source [`terraform-provider-zitadel` repo](https://github.com/zitadel/terraform-provider-zitadel/issues).", "compatibility": "tfbridge20", "pyproject": {} } @@ -146,7 +146,7 @@ }, "resources": { "zitadel:index/action:Action": { - "description": "Resource representing an action belonging to an organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.Action(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n script: \"testscript\",\n timeout: \"10s\",\n allowedToFail: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.Action(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n script=\"testscript\",\n timeout=\"10s\",\n allowed_to_fail=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.Action(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n Script = \"testscript\",\n Timeout = \"10s\",\n AllowedToFail = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewAction(ctx, \"default\", \u0026zitadel.ActionArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tScript: pulumi.String(\"testscript\"),\n\t\t\tTimeout: pulumi.String(\"10s\"),\n\t\t\tAllowedToFail: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.Action;\nimport com.pulumi.zitadel.ActionArgs;\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 default_ = new Action(\"default\", ActionArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .script(\"testscript\")\n .timeout(\"10s\")\n .allowedToFail(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:Action\n properties:\n orgId: ${data.zitadel_org.default.id}\n script: testscript\n timeout: 10s\n allowedToFail: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid[:org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/action:Action imported '123456789012345678:123456789012345678'\n```\n\n ", + "description": "Resource representing an action belonging to an organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@scoretechnologies/zitadel\";\n\nconst _default = new zitadel.Action(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n script: \"testscript\",\n timeout: \"10s\",\n allowedToFail: true,\n});\n```\n```python\nimport pulumi\nimport scoretechnologies_zitadel as zitadel\n\ndefault = zitadel.Action(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n script=\"testscript\",\n timeout=\"10s\",\n allowed_to_fail=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = scoretechnologies.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.Action(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n Script = \"testscript\",\n Timeout = \"10s\",\n AllowedToFail = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewAction(ctx, \"default\", \u0026zitadel.ActionArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tScript: pulumi.String(\"testscript\"),\n\t\t\tTimeout: pulumi.String(\"10s\"),\n\t\t\tAllowedToFail: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.Action;\nimport com.pulumi.zitadel.ActionArgs;\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 default_ = new Action(\"default\", ActionArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .script(\"testscript\")\n .timeout(\"10s\")\n .allowedToFail(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:Action\n properties:\n orgId: ${data.zitadel_org.default.id}\n script: testscript\n timeout: 10s\n allowedToFail: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid[:org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/action:Action imported '123456789012345678:123456789012345678'\n```\n\n ", "properties": { "allowedToFail": { "type": "boolean", @@ -235,7 +235,7 @@ } }, "zitadel:index/applicationApi:ApplicationApi": { - "description": "Resource representing an API application belonging to a project, with all configuration possibilities.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.ApplicationApi(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n projectId: data.zitadel_project[\"default\"].id,\n authMethodType: \"API_AUTH_METHOD_TYPE_BASIC\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.ApplicationApi(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n project_id=data[\"zitadel_project\"][\"default\"][\"id\"],\n auth_method_type=\"API_AUTH_METHOD_TYPE_BASIC\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.ApplicationApi(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ProjectId = data.Zitadel_project.Default.Id,\n AuthMethodType = \"API_AUTH_METHOD_TYPE_BASIC\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewApplicationApi(ctx, \"default\", \u0026zitadel.ApplicationApiArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tProjectId: pulumi.Any(data.Zitadel_project.Default.Id),\n\t\t\tAuthMethodType: pulumi.String(\"API_AUTH_METHOD_TYPE_BASIC\"),\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.zitadel.ApplicationApi;\nimport com.pulumi.zitadel.ApplicationApiArgs;\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 default_ = new ApplicationApi(\"default\", ApplicationApiArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .projectId(data.zitadel_project().default().id())\n .authMethodType(\"API_AUTH_METHOD_TYPE_BASIC\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:ApplicationApi\n properties:\n orgId: ${data.zitadel_org.default.id}\n projectId: ${data.zitadel_project.default.id}\n authMethodType: API_AUTH_METHOD_TYPE_BASIC\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid:project_id[:org_id][:client_id][:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/applicationApi:ApplicationApi imported '123456789012345678:123456789012345678:123456789012345678:123456789012345678@zitadel:JuaDFFeOak5DGE655KCYPSAclSkbMVEJXXuX1lEMBT14eLMSs0A0qhafKX5SA2Df'\n```\n\n ", + "description": "Resource representing an API application belonging to a project, with all configuration possibilities.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@scoretechnologies/zitadel\";\n\nconst _default = new zitadel.ApplicationApi(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n projectId: data.zitadel_project[\"default\"].id,\n authMethodType: \"API_AUTH_METHOD_TYPE_BASIC\",\n});\n```\n```python\nimport pulumi\nimport scoretechnologies_zitadel as zitadel\n\ndefault = zitadel.ApplicationApi(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n project_id=data[\"zitadel_project\"][\"default\"][\"id\"],\n auth_method_type=\"API_AUTH_METHOD_TYPE_BASIC\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = scoretechnologies.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.ApplicationApi(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ProjectId = data.Zitadel_project.Default.Id,\n AuthMethodType = \"API_AUTH_METHOD_TYPE_BASIC\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewApplicationApi(ctx, \"default\", \u0026zitadel.ApplicationApiArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tProjectId: pulumi.Any(data.Zitadel_project.Default.Id),\n\t\t\tAuthMethodType: pulumi.String(\"API_AUTH_METHOD_TYPE_BASIC\"),\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.zitadel.ApplicationApi;\nimport com.pulumi.zitadel.ApplicationApiArgs;\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 default_ = new ApplicationApi(\"default\", ApplicationApiArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .projectId(data.zitadel_project().default().id())\n .authMethodType(\"API_AUTH_METHOD_TYPE_BASIC\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:ApplicationApi\n properties:\n orgId: ${data.zitadel_org.default.id}\n projectId: ${data.zitadel_project.default.id}\n authMethodType: API_AUTH_METHOD_TYPE_BASIC\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid:project_id[:org_id][:client_id][:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/applicationApi:ApplicationApi imported '123456789012345678:123456789012345678:123456789012345678:123456789012345678@zitadel:JuaDFFeOak5DGE655KCYPSAclSkbMVEJXXuX1lEMBT14eLMSs0A0qhafKX5SA2Df'\n```\n\n ", "properties": { "authMethodType": { "type": "string", @@ -329,7 +329,7 @@ } }, "zitadel:index/applicationKey:ApplicationKey": { - "description": "Resource representing a app key\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.ApplicationKey(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n projectId: data.zitadel_project[\"default\"].id,\n appId: data.zitadel_application_api[\"default\"].id,\n keyType: \"KEY_TYPE_JSON\",\n expirationDate: \"2519-04-01T08:45:00Z\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.ApplicationKey(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n project_id=data[\"zitadel_project\"][\"default\"][\"id\"],\n app_id=data[\"zitadel_application_api\"][\"default\"][\"id\"],\n key_type=\"KEY_TYPE_JSON\",\n expiration_date=\"2519-04-01T08:45:00Z\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.ApplicationKey(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ProjectId = data.Zitadel_project.Default.Id,\n AppId = data.Zitadel_application_api.Default.Id,\n KeyType = \"KEY_TYPE_JSON\",\n ExpirationDate = \"2519-04-01T08:45:00Z\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewApplicationKey(ctx, \"default\", \u0026zitadel.ApplicationKeyArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tProjectId: pulumi.Any(data.Zitadel_project.Default.Id),\n\t\t\tAppId: pulumi.Any(data.Zitadel_application_api.Default.Id),\n\t\t\tKeyType: pulumi.String(\"KEY_TYPE_JSON\"),\n\t\t\tExpirationDate: pulumi.String(\"2519-04-01T08:45:00Z\"),\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.zitadel.ApplicationKey;\nimport com.pulumi.zitadel.ApplicationKeyArgs;\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 default_ = new ApplicationKey(\"default\", ApplicationKeyArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .projectId(data.zitadel_project().default().id())\n .appId(data.zitadel_application_api().default().id())\n .keyType(\"KEY_TYPE_JSON\")\n .expirationDate(\"2519-04-01T08:45:00Z\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:ApplicationKey\n properties:\n orgId: ${data.zitadel_org.default.id}\n projectId: ${data.zitadel_project.default.id}\n appId: ${data.zitadel_application_api.default.id}\n keyType: KEY_TYPE_JSON\n expirationDate: 2519-04-01T08:45:00Z\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid:project_id:app_id[:org_id][:key_details]\u003e`. You can use __SEMICOLON__ to escape :, e.g.\n\n```sh\n $ pulumi import zitadel:index/applicationKey:ApplicationKey imported \"123456789012345678:123456789012345678:123456789012345678:123456789012345678:$(cat ~/Downloads/123456789012345678.json | sed -e 's/:/__SEMICOLON__/g')\"\n```\n\n ", + "description": "Resource representing a app key\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@scoretechnologies/zitadel\";\n\nconst _default = new zitadel.ApplicationKey(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n projectId: data.zitadel_project[\"default\"].id,\n appId: data.zitadel_application_api[\"default\"].id,\n keyType: \"KEY_TYPE_JSON\",\n expirationDate: \"2519-04-01T08:45:00Z\",\n});\n```\n```python\nimport pulumi\nimport scoretechnologies_zitadel as zitadel\n\ndefault = zitadel.ApplicationKey(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n project_id=data[\"zitadel_project\"][\"default\"][\"id\"],\n app_id=data[\"zitadel_application_api\"][\"default\"][\"id\"],\n key_type=\"KEY_TYPE_JSON\",\n expiration_date=\"2519-04-01T08:45:00Z\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = scoretechnologies.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.ApplicationKey(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ProjectId = data.Zitadel_project.Default.Id,\n AppId = data.Zitadel_application_api.Default.Id,\n KeyType = \"KEY_TYPE_JSON\",\n ExpirationDate = \"2519-04-01T08:45:00Z\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewApplicationKey(ctx, \"default\", \u0026zitadel.ApplicationKeyArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tProjectId: pulumi.Any(data.Zitadel_project.Default.Id),\n\t\t\tAppId: pulumi.Any(data.Zitadel_application_api.Default.Id),\n\t\t\tKeyType: pulumi.String(\"KEY_TYPE_JSON\"),\n\t\t\tExpirationDate: pulumi.String(\"2519-04-01T08:45:00Z\"),\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.zitadel.ApplicationKey;\nimport com.pulumi.zitadel.ApplicationKeyArgs;\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 default_ = new ApplicationKey(\"default\", ApplicationKeyArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .projectId(data.zitadel_project().default().id())\n .appId(data.zitadel_application_api().default().id())\n .keyType(\"KEY_TYPE_JSON\")\n .expirationDate(\"2519-04-01T08:45:00Z\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:ApplicationKey\n properties:\n orgId: ${data.zitadel_org.default.id}\n projectId: ${data.zitadel_project.default.id}\n appId: ${data.zitadel_application_api.default.id}\n keyType: KEY_TYPE_JSON\n expirationDate: 2519-04-01T08:45:00Z\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid:project_id:app_id[:org_id][:key_details]\u003e`. You can use __SEMICOLON__ to escape :, e.g.\n\n```sh\n $ pulumi import zitadel:index/applicationKey:ApplicationKey imported \"123456789012345678:123456789012345678:123456789012345678:123456789012345678:$(cat ~/Downloads/123456789012345678.json | sed -e 's/:/__SEMICOLON__/g')\"\n```\n\n ", "properties": { "appId": { "type": "string", @@ -435,7 +435,7 @@ } }, "zitadel:index/applicationOidc:ApplicationOidc": { - "description": "Resource representing an OIDC application belonging to a project, with all configuration possibilities.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.ApplicationOidc(\"default\", {\n projectId: data.zitadel_project[\"default\"].id,\n orgId: data.zitadel_org[\"default\"].id,\n redirectUris: [\"https://localhost.com\"],\n responseTypes: [\"OIDC_RESPONSE_TYPE_CODE\"],\n grantTypes: [\"OIDC_GRANT_TYPE_AUTHORIZATION_CODE\"],\n postLogoutRedirectUris: [\"https://localhost.com\"],\n appType: \"OIDC_APP_TYPE_WEB\",\n authMethodType: \"OIDC_AUTH_METHOD_TYPE_BASIC\",\n version: \"OIDC_VERSION_1_0\",\n clockSkew: \"0s\",\n devMode: true,\n accessTokenType: \"OIDC_TOKEN_TYPE_BEARER\",\n accessTokenRoleAssertion: false,\n idTokenRoleAssertion: false,\n idTokenUserinfoAssertion: false,\n additionalOrigins: [],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.ApplicationOidc(\"default\",\n project_id=data[\"zitadel_project\"][\"default\"][\"id\"],\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n redirect_uris=[\"https://localhost.com\"],\n response_types=[\"OIDC_RESPONSE_TYPE_CODE\"],\n grant_types=[\"OIDC_GRANT_TYPE_AUTHORIZATION_CODE\"],\n post_logout_redirect_uris=[\"https://localhost.com\"],\n app_type=\"OIDC_APP_TYPE_WEB\",\n auth_method_type=\"OIDC_AUTH_METHOD_TYPE_BASIC\",\n version=\"OIDC_VERSION_1_0\",\n clock_skew=\"0s\",\n dev_mode=True,\n access_token_type=\"OIDC_TOKEN_TYPE_BEARER\",\n access_token_role_assertion=False,\n id_token_role_assertion=False,\n id_token_userinfo_assertion=False,\n additional_origins=[])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.ApplicationOidc(\"default\", new()\n {\n ProjectId = data.Zitadel_project.Default.Id,\n OrgId = data.Zitadel_org.Default.Id,\n RedirectUris = new[]\n {\n \"https://localhost.com\",\n },\n ResponseTypes = new[]\n {\n \"OIDC_RESPONSE_TYPE_CODE\",\n },\n GrantTypes = new[]\n {\n \"OIDC_GRANT_TYPE_AUTHORIZATION_CODE\",\n },\n PostLogoutRedirectUris = new[]\n {\n \"https://localhost.com\",\n },\n AppType = \"OIDC_APP_TYPE_WEB\",\n AuthMethodType = \"OIDC_AUTH_METHOD_TYPE_BASIC\",\n Version = \"OIDC_VERSION_1_0\",\n ClockSkew = \"0s\",\n DevMode = true,\n AccessTokenType = \"OIDC_TOKEN_TYPE_BEARER\",\n AccessTokenRoleAssertion = false,\n IdTokenRoleAssertion = false,\n IdTokenUserinfoAssertion = false,\n AdditionalOrigins = new[] {},\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewApplicationOidc(ctx, \"default\", \u0026zitadel.ApplicationOidcArgs{\n\t\t\tProjectId: pulumi.Any(data.Zitadel_project.Default.Id),\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tRedirectUris: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"https://localhost.com\"),\n\t\t\t},\n\t\t\tResponseTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"OIDC_RESPONSE_TYPE_CODE\"),\n\t\t\t},\n\t\t\tGrantTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"OIDC_GRANT_TYPE_AUTHORIZATION_CODE\"),\n\t\t\t},\n\t\t\tPostLogoutRedirectUris: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"https://localhost.com\"),\n\t\t\t},\n\t\t\tAppType: pulumi.String(\"OIDC_APP_TYPE_WEB\"),\n\t\t\tAuthMethodType: pulumi.String(\"OIDC_AUTH_METHOD_TYPE_BASIC\"),\n\t\t\tVersion: pulumi.String(\"OIDC_VERSION_1_0\"),\n\t\t\tClockSkew: pulumi.String(\"0s\"),\n\t\t\tDevMode: pulumi.Bool(true),\n\t\t\tAccessTokenType: pulumi.String(\"OIDC_TOKEN_TYPE_BEARER\"),\n\t\t\tAccessTokenRoleAssertion: pulumi.Bool(false),\n\t\t\tIdTokenRoleAssertion: pulumi.Bool(false),\n\t\t\tIdTokenUserinfoAssertion: pulumi.Bool(false),\n\t\t\tAdditionalOrigins: pulumi.StringArray{},\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.zitadel.ApplicationOidc;\nimport com.pulumi.zitadel.ApplicationOidcArgs;\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 default_ = new ApplicationOidc(\"default\", ApplicationOidcArgs.builder() \n .projectId(data.zitadel_project().default().id())\n .orgId(data.zitadel_org().default().id())\n .redirectUris(\"https://localhost.com\")\n .responseTypes(\"OIDC_RESPONSE_TYPE_CODE\")\n .grantTypes(\"OIDC_GRANT_TYPE_AUTHORIZATION_CODE\")\n .postLogoutRedirectUris(\"https://localhost.com\")\n .appType(\"OIDC_APP_TYPE_WEB\")\n .authMethodType(\"OIDC_AUTH_METHOD_TYPE_BASIC\")\n .version(\"OIDC_VERSION_1_0\")\n .clockSkew(\"0s\")\n .devMode(true)\n .accessTokenType(\"OIDC_TOKEN_TYPE_BEARER\")\n .accessTokenRoleAssertion(false)\n .idTokenRoleAssertion(false)\n .idTokenUserinfoAssertion(false)\n .additionalOrigins()\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:ApplicationOidc\n properties:\n projectId: ${data.zitadel_project.default.id}\n orgId: ${data.zitadel_org.default.id}\n redirectUris:\n - https://localhost.com\n responseTypes:\n - OIDC_RESPONSE_TYPE_CODE\n grantTypes:\n - OIDC_GRANT_TYPE_AUTHORIZATION_CODE\n postLogoutRedirectUris:\n - https://localhost.com\n appType: OIDC_APP_TYPE_WEB\n authMethodType: OIDC_AUTH_METHOD_TYPE_BASIC\n version: OIDC_VERSION_1_0\n clockSkew: 0s\n devMode: true\n accessTokenType: OIDC_TOKEN_TYPE_BEARER\n accessTokenRoleAssertion: false\n idTokenRoleAssertion: false\n idTokenUserinfoAssertion: false\n additionalOrigins: []\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid:project_id[:org_id][:client_id][:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/applicationOidc:ApplicationOidc imported '123456789012345678:123456789012345678:123456789012345678:123456789012345678@zitadel:JuaDFFeOak5DGE655KCYPSAclSkbMVEJXXuX1lEMBT14eLMSs0A0qhafKX5SA2Df'\n```\n\n ", + "description": "Resource representing an OIDC application belonging to a project, with all configuration possibilities.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@scoretechnologies/zitadel\";\n\nconst _default = new zitadel.ApplicationOidc(\"default\", {\n projectId: data.zitadel_project[\"default\"].id,\n orgId: data.zitadel_org[\"default\"].id,\n redirectUris: [\"https://localhost.com\"],\n responseTypes: [\"OIDC_RESPONSE_TYPE_CODE\"],\n grantTypes: [\"OIDC_GRANT_TYPE_AUTHORIZATION_CODE\"],\n postLogoutRedirectUris: [\"https://localhost.com\"],\n appType: \"OIDC_APP_TYPE_WEB\",\n authMethodType: \"OIDC_AUTH_METHOD_TYPE_BASIC\",\n version: \"OIDC_VERSION_1_0\",\n clockSkew: \"0s\",\n devMode: true,\n accessTokenType: \"OIDC_TOKEN_TYPE_BEARER\",\n accessTokenRoleAssertion: false,\n idTokenRoleAssertion: false,\n idTokenUserinfoAssertion: false,\n additionalOrigins: [],\n});\n```\n```python\nimport pulumi\nimport scoretechnologies_zitadel as zitadel\n\ndefault = zitadel.ApplicationOidc(\"default\",\n project_id=data[\"zitadel_project\"][\"default\"][\"id\"],\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n redirect_uris=[\"https://localhost.com\"],\n response_types=[\"OIDC_RESPONSE_TYPE_CODE\"],\n grant_types=[\"OIDC_GRANT_TYPE_AUTHORIZATION_CODE\"],\n post_logout_redirect_uris=[\"https://localhost.com\"],\n app_type=\"OIDC_APP_TYPE_WEB\",\n auth_method_type=\"OIDC_AUTH_METHOD_TYPE_BASIC\",\n version=\"OIDC_VERSION_1_0\",\n clock_skew=\"0s\",\n dev_mode=True,\n access_token_type=\"OIDC_TOKEN_TYPE_BEARER\",\n access_token_role_assertion=False,\n id_token_role_assertion=False,\n id_token_userinfo_assertion=False,\n additional_origins=[])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = scoretechnologies.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.ApplicationOidc(\"default\", new()\n {\n ProjectId = data.Zitadel_project.Default.Id,\n OrgId = data.Zitadel_org.Default.Id,\n RedirectUris = new[]\n {\n \"https://localhost.com\",\n },\n ResponseTypes = new[]\n {\n \"OIDC_RESPONSE_TYPE_CODE\",\n },\n GrantTypes = new[]\n {\n \"OIDC_GRANT_TYPE_AUTHORIZATION_CODE\",\n },\n PostLogoutRedirectUris = new[]\n {\n \"https://localhost.com\",\n },\n AppType = \"OIDC_APP_TYPE_WEB\",\n AuthMethodType = \"OIDC_AUTH_METHOD_TYPE_BASIC\",\n Version = \"OIDC_VERSION_1_0\",\n ClockSkew = \"0s\",\n DevMode = true,\n AccessTokenType = \"OIDC_TOKEN_TYPE_BEARER\",\n AccessTokenRoleAssertion = false,\n IdTokenRoleAssertion = false,\n IdTokenUserinfoAssertion = false,\n AdditionalOrigins = new[] {},\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewApplicationOidc(ctx, \"default\", \u0026zitadel.ApplicationOidcArgs{\n\t\t\tProjectId: pulumi.Any(data.Zitadel_project.Default.Id),\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tRedirectUris: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"https://localhost.com\"),\n\t\t\t},\n\t\t\tResponseTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"OIDC_RESPONSE_TYPE_CODE\"),\n\t\t\t},\n\t\t\tGrantTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"OIDC_GRANT_TYPE_AUTHORIZATION_CODE\"),\n\t\t\t},\n\t\t\tPostLogoutRedirectUris: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"https://localhost.com\"),\n\t\t\t},\n\t\t\tAppType: pulumi.String(\"OIDC_APP_TYPE_WEB\"),\n\t\t\tAuthMethodType: pulumi.String(\"OIDC_AUTH_METHOD_TYPE_BASIC\"),\n\t\t\tVersion: pulumi.String(\"OIDC_VERSION_1_0\"),\n\t\t\tClockSkew: pulumi.String(\"0s\"),\n\t\t\tDevMode: pulumi.Bool(true),\n\t\t\tAccessTokenType: pulumi.String(\"OIDC_TOKEN_TYPE_BEARER\"),\n\t\t\tAccessTokenRoleAssertion: pulumi.Bool(false),\n\t\t\tIdTokenRoleAssertion: pulumi.Bool(false),\n\t\t\tIdTokenUserinfoAssertion: pulumi.Bool(false),\n\t\t\tAdditionalOrigins: pulumi.StringArray{},\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.zitadel.ApplicationOidc;\nimport com.pulumi.zitadel.ApplicationOidcArgs;\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 default_ = new ApplicationOidc(\"default\", ApplicationOidcArgs.builder() \n .projectId(data.zitadel_project().default().id())\n .orgId(data.zitadel_org().default().id())\n .redirectUris(\"https://localhost.com\")\n .responseTypes(\"OIDC_RESPONSE_TYPE_CODE\")\n .grantTypes(\"OIDC_GRANT_TYPE_AUTHORIZATION_CODE\")\n .postLogoutRedirectUris(\"https://localhost.com\")\n .appType(\"OIDC_APP_TYPE_WEB\")\n .authMethodType(\"OIDC_AUTH_METHOD_TYPE_BASIC\")\n .version(\"OIDC_VERSION_1_0\")\n .clockSkew(\"0s\")\n .devMode(true)\n .accessTokenType(\"OIDC_TOKEN_TYPE_BEARER\")\n .accessTokenRoleAssertion(false)\n .idTokenRoleAssertion(false)\n .idTokenUserinfoAssertion(false)\n .additionalOrigins()\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:ApplicationOidc\n properties:\n projectId: ${data.zitadel_project.default.id}\n orgId: ${data.zitadel_org.default.id}\n redirectUris:\n - https://localhost.com\n responseTypes:\n - OIDC_RESPONSE_TYPE_CODE\n grantTypes:\n - OIDC_GRANT_TYPE_AUTHORIZATION_CODE\n postLogoutRedirectUris:\n - https://localhost.com\n appType: OIDC_APP_TYPE_WEB\n authMethodType: OIDC_AUTH_METHOD_TYPE_BASIC\n version: OIDC_VERSION_1_0\n clockSkew: 0s\n devMode: true\n accessTokenType: OIDC_TOKEN_TYPE_BEARER\n accessTokenRoleAssertion: false\n idTokenRoleAssertion: false\n idTokenUserinfoAssertion: false\n additionalOrigins: []\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid:project_id[:org_id][:client_id][:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/applicationOidc:ApplicationOidc imported '123456789012345678:123456789012345678:123456789012345678:123456789012345678@zitadel:JuaDFFeOak5DGE655KCYPSAclSkbMVEJXXuX1lEMBT14eLMSs0A0qhafKX5SA2Df'\n```\n\n ", "properties": { "accessTokenRoleAssertion": { "type": "boolean", @@ -738,7 +738,7 @@ } }, "zitadel:index/applicationSaml:ApplicationSaml": { - "description": "Resource representing a SAML application belonging to a project, with all configuration possibilities.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.ApplicationSaml(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n projectId: data.zitadel_project[\"default\"].id,\n metadataXml: `\u003c?xml version=\"1.0\"?\u003e\n\u003cmd:EntityDescriptor xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\"\n validUntil=\"2024-01-26T17:48:38Z\"\n cacheDuration=\"PT604800S\"\n entityID=\"http://example.com/saml/metadata\"\u003e\n \u003cmd:SPSSODescriptor AuthnRequestsSigned=\"false\" WantAssertionsSigned=\"false\" protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\"\u003e\n \u003cmd:NameIDFormat\u003eurn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\u003c/md:NameIDFormat\u003e\n \u003cmd:AssertionConsumerService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\"\n Location=\"http://example.com/saml/cas\"\n index=\"1\" /\u003e\n \n \u003c/md:SPSSODescriptor\u003e\n\u003c/md:EntityDescriptor\u003e`,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.ApplicationSaml(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n project_id=data[\"zitadel_project\"][\"default\"][\"id\"],\n metadata_xml=\"\"\"\u003c?xml version=\"1.0\"?\u003e\n\u003cmd:EntityDescriptor xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\"\n validUntil=\"2024-01-26T17:48:38Z\"\n cacheDuration=\"PT604800S\"\n entityID=\"http://example.com/saml/metadata\"\u003e\n \u003cmd:SPSSODescriptor AuthnRequestsSigned=\"false\" WantAssertionsSigned=\"false\" protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\"\u003e\n \u003cmd:NameIDFormat\u003eurn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\u003c/md:NameIDFormat\u003e\n \u003cmd:AssertionConsumerService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\"\n Location=\"http://example.com/saml/cas\"\n index=\"1\" /\u003e\n \n \u003c/md:SPSSODescriptor\u003e\n\u003c/md:EntityDescriptor\u003e\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.ApplicationSaml(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ProjectId = data.Zitadel_project.Default.Id,\n MetadataXml = @\"\u003c?xml version=\"\"1.0\"\"?\u003e\n\u003cmd:EntityDescriptor xmlns:md=\"\"urn:oasis:names:tc:SAML:2.0:metadata\"\"\n validUntil=\"\"2024-01-26T17:48:38Z\"\"\n cacheDuration=\"\"PT604800S\"\"\n entityID=\"\"http://example.com/saml/metadata\"\"\u003e\n \u003cmd:SPSSODescriptor AuthnRequestsSigned=\"\"false\"\" WantAssertionsSigned=\"\"false\"\" protocolSupportEnumeration=\"\"urn:oasis:names:tc:SAML:2.0:protocol\"\"\u003e\n \u003cmd:NameIDFormat\u003eurn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\u003c/md:NameIDFormat\u003e\n \u003cmd:AssertionConsumerService Binding=\"\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\"\"\n Location=\"\"http://example.com/saml/cas\"\"\n index=\"\"1\"\" /\u003e\n \n \u003c/md:SPSSODescriptor\u003e\n\u003c/md:EntityDescriptor\u003e\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewApplicationSaml(ctx, \"default\", \u0026zitadel.ApplicationSamlArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tProjectId: pulumi.Any(data.Zitadel_project.Default.Id),\n\t\t\tMetadataXml: pulumi.String(`\u003c?xml version=\"1.0\"?\u003e\n\u003cmd:EntityDescriptor xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\"\n validUntil=\"2024-01-26T17:48:38Z\"\n cacheDuration=\"PT604800S\"\n entityID=\"http://example.com/saml/metadata\"\u003e\n \u003cmd:SPSSODescriptor AuthnRequestsSigned=\"false\" WantAssertionsSigned=\"false\" protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\"\u003e\n \u003cmd:NameIDFormat\u003eurn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\u003c/md:NameIDFormat\u003e\n \u003cmd:AssertionConsumerService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\"\n Location=\"http://example.com/saml/cas\"\n index=\"1\" /\u003e\n \n \u003c/md:SPSSODescriptor\u003e\n\u003c/md:EntityDescriptor\u003e`),\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.zitadel.ApplicationSaml;\nimport com.pulumi.zitadel.ApplicationSamlArgs;\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 default_ = new ApplicationSaml(\"default\", ApplicationSamlArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .projectId(data.zitadel_project().default().id())\n .metadataXml(\"\"\"\n\u003c?xml version=\"1.0\"?\u003e\n\u003cmd:EntityDescriptor xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\"\n validUntil=\"2024-01-26T17:48:38Z\"\n cacheDuration=\"PT604800S\"\n entityID=\"http://example.com/saml/metadata\"\u003e\n \u003cmd:SPSSODescriptor AuthnRequestsSigned=\"false\" WantAssertionsSigned=\"false\" protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\"\u003e\n \u003cmd:NameIDFormat\u003eurn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\u003c/md:NameIDFormat\u003e\n \u003cmd:AssertionConsumerService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\"\n Location=\"http://example.com/saml/cas\"\n index=\"1\" /\u003e\n \n \u003c/md:SPSSODescriptor\u003e\n\u003c/md:EntityDescriptor\u003e \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:ApplicationSaml\n properties:\n orgId: ${data.zitadel_org.default.id}\n projectId: ${data.zitadel_project.default.id}\n metadataXml: \"\u003c?xml version=\\\"1.0\\\"?\u003e\\n\u003cmd:EntityDescriptor xmlns:md=\\\"urn:oasis:names:tc:SAML:2.0:metadata\\\"\\n validUntil=\\\"2024-01-26T17:48:38Z\\\"\\n cacheDuration=\\\"PT604800S\\\"\\n entityID=\\\"http://example.com/saml/metadata\\\"\u003e\\n \u003cmd:SPSSODescriptor AuthnRequestsSigned=\\\"false\\\" WantAssertionsSigned=\\\"false\\\" protocolSupportEnumeration=\\\"urn:oasis:names:tc:SAML:2.0:protocol\\\"\u003e\\n \u003cmd:NameIDFormat\u003eurn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\u003c/md:NameIDFormat\u003e\\n \u003cmd:AssertionConsumerService Binding=\\\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\\\"\\n Location=\\\"http://example.com/saml/cas\\\"\\n index=\\\"1\\\" /\u003e\\n \\n \u003c/md:SPSSODescriptor\u003e\\n\u003c/md:EntityDescriptor\u003e\"\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid:project_id[:org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/applicationSaml:ApplicationSaml imported '123456789012345678:123456789012345678:123456789012345678'\n```\n\n ", + "description": "Resource representing a SAML application belonging to a project, with all configuration possibilities.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@scoretechnologies/zitadel\";\n\nconst _default = new zitadel.ApplicationSaml(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n projectId: data.zitadel_project[\"default\"].id,\n metadataXml: `\u003c?xml version=\"1.0\"?\u003e\n\u003cmd:EntityDescriptor xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\"\n validUntil=\"2024-01-26T17:48:38Z\"\n cacheDuration=\"PT604800S\"\n entityID=\"http://example.com/saml/metadata\"\u003e\n \u003cmd:SPSSODescriptor AuthnRequestsSigned=\"false\" WantAssertionsSigned=\"false\" protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\"\u003e\n \u003cmd:NameIDFormat\u003eurn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\u003c/md:NameIDFormat\u003e\n \u003cmd:AssertionConsumerService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\"\n Location=\"http://example.com/saml/cas\"\n index=\"1\" /\u003e\n \n \u003c/md:SPSSODescriptor\u003e\n\u003c/md:EntityDescriptor\u003e`,\n});\n```\n```python\nimport pulumi\nimport scoretechnologies_zitadel as zitadel\n\ndefault = zitadel.ApplicationSaml(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n project_id=data[\"zitadel_project\"][\"default\"][\"id\"],\n metadata_xml=\"\"\"\u003c?xml version=\"1.0\"?\u003e\n\u003cmd:EntityDescriptor xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\"\n validUntil=\"2024-01-26T17:48:38Z\"\n cacheDuration=\"PT604800S\"\n entityID=\"http://example.com/saml/metadata\"\u003e\n \u003cmd:SPSSODescriptor AuthnRequestsSigned=\"false\" WantAssertionsSigned=\"false\" protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\"\u003e\n \u003cmd:NameIDFormat\u003eurn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\u003c/md:NameIDFormat\u003e\n \u003cmd:AssertionConsumerService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\"\n Location=\"http://example.com/saml/cas\"\n index=\"1\" /\u003e\n \n \u003c/md:SPSSODescriptor\u003e\n\u003c/md:EntityDescriptor\u003e\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = scoretechnologies.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.ApplicationSaml(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ProjectId = data.Zitadel_project.Default.Id,\n MetadataXml = @\"\u003c?xml version=\"\"1.0\"\"?\u003e\n\u003cmd:EntityDescriptor xmlns:md=\"\"urn:oasis:names:tc:SAML:2.0:metadata\"\"\n validUntil=\"\"2024-01-26T17:48:38Z\"\"\n cacheDuration=\"\"PT604800S\"\"\n entityID=\"\"http://example.com/saml/metadata\"\"\u003e\n \u003cmd:SPSSODescriptor AuthnRequestsSigned=\"\"false\"\" WantAssertionsSigned=\"\"false\"\" protocolSupportEnumeration=\"\"urn:oasis:names:tc:SAML:2.0:protocol\"\"\u003e\n \u003cmd:NameIDFormat\u003eurn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\u003c/md:NameIDFormat\u003e\n \u003cmd:AssertionConsumerService Binding=\"\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\"\"\n Location=\"\"http://example.com/saml/cas\"\"\n index=\"\"1\"\" /\u003e\n \n \u003c/md:SPSSODescriptor\u003e\n\u003c/md:EntityDescriptor\u003e\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewApplicationSaml(ctx, \"default\", \u0026zitadel.ApplicationSamlArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tProjectId: pulumi.Any(data.Zitadel_project.Default.Id),\n\t\t\tMetadataXml: pulumi.String(`\u003c?xml version=\"1.0\"?\u003e\n\u003cmd:EntityDescriptor xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\"\n validUntil=\"2024-01-26T17:48:38Z\"\n cacheDuration=\"PT604800S\"\n entityID=\"http://example.com/saml/metadata\"\u003e\n \u003cmd:SPSSODescriptor AuthnRequestsSigned=\"false\" WantAssertionsSigned=\"false\" protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\"\u003e\n \u003cmd:NameIDFormat\u003eurn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\u003c/md:NameIDFormat\u003e\n \u003cmd:AssertionConsumerService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\"\n Location=\"http://example.com/saml/cas\"\n index=\"1\" /\u003e\n \n \u003c/md:SPSSODescriptor\u003e\n\u003c/md:EntityDescriptor\u003e`),\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.zitadel.ApplicationSaml;\nimport com.pulumi.zitadel.ApplicationSamlArgs;\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 default_ = new ApplicationSaml(\"default\", ApplicationSamlArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .projectId(data.zitadel_project().default().id())\n .metadataXml(\"\"\"\n\u003c?xml version=\"1.0\"?\u003e\n\u003cmd:EntityDescriptor xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\"\n validUntil=\"2024-01-26T17:48:38Z\"\n cacheDuration=\"PT604800S\"\n entityID=\"http://example.com/saml/metadata\"\u003e\n \u003cmd:SPSSODescriptor AuthnRequestsSigned=\"false\" WantAssertionsSigned=\"false\" protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\"\u003e\n \u003cmd:NameIDFormat\u003eurn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\u003c/md:NameIDFormat\u003e\n \u003cmd:AssertionConsumerService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\"\n Location=\"http://example.com/saml/cas\"\n index=\"1\" /\u003e\n \n \u003c/md:SPSSODescriptor\u003e\n\u003c/md:EntityDescriptor\u003e \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:ApplicationSaml\n properties:\n orgId: ${data.zitadel_org.default.id}\n projectId: ${data.zitadel_project.default.id}\n metadataXml: \"\u003c?xml version=\\\"1.0\\\"?\u003e\\n\u003cmd:EntityDescriptor xmlns:md=\\\"urn:oasis:names:tc:SAML:2.0:metadata\\\"\\n validUntil=\\\"2024-01-26T17:48:38Z\\\"\\n cacheDuration=\\\"PT604800S\\\"\\n entityID=\\\"http://example.com/saml/metadata\\\"\u003e\\n \u003cmd:SPSSODescriptor AuthnRequestsSigned=\\\"false\\\" WantAssertionsSigned=\\\"false\\\" protocolSupportEnumeration=\\\"urn:oasis:names:tc:SAML:2.0:protocol\\\"\u003e\\n \u003cmd:NameIDFormat\u003eurn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\u003c/md:NameIDFormat\u003e\\n \u003cmd:AssertionConsumerService Binding=\\\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\\\"\\n Location=\\\"http://example.com/saml/cas\\\"\\n index=\\\"1\\\" /\u003e\\n \\n \u003c/md:SPSSODescriptor\u003e\\n\u003c/md:EntityDescriptor\u003e\"\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid:project_id[:org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/applicationSaml:ApplicationSaml imported '123456789012345678:123456789012345678:123456789012345678'\n```\n\n ", "properties": { "metadataXml": { "type": "string", @@ -815,7 +815,7 @@ } }, "zitadel:index/defaultDomainPolicy:DefaultDomainPolicy": { - "description": "Resource representing the default domain policy.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.DefaultDomainPolicy(\"default\", {\n smtpSenderAddressMatchesInstanceDomain: true,\n userLoginMustBeDomain: false,\n validateOrgDomains: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.DefaultDomainPolicy(\"default\",\n smtp_sender_address_matches_instance_domain=True,\n user_login_must_be_domain=False,\n validate_org_domains=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.DefaultDomainPolicy(\"default\", new()\n {\n SmtpSenderAddressMatchesInstanceDomain = true,\n UserLoginMustBeDomain = false,\n ValidateOrgDomains = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewDefaultDomainPolicy(ctx, \"default\", \u0026zitadel.DefaultDomainPolicyArgs{\n\t\t\tSmtpSenderAddressMatchesInstanceDomain: pulumi.Bool(true),\n\t\t\tUserLoginMustBeDomain: pulumi.Bool(false),\n\t\t\tValidateOrgDomains: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.DefaultDomainPolicy;\nimport com.pulumi.zitadel.DefaultDomainPolicyArgs;\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 default_ = new DefaultDomainPolicy(\"default\", DefaultDomainPolicyArgs.builder() \n .smtpSenderAddressMatchesInstanceDomain(true)\n .userLoginMustBeDomain(false)\n .validateOrgDomains(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:DefaultDomainPolicy\n properties:\n smtpSenderAddressMatchesInstanceDomain: true\n userLoginMustBeDomain: false\n validateOrgDomains: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003c\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/defaultDomainPolicy:DefaultDomainPolicy imported ''\n```\n\n ", + "description": "Resource representing the default domain policy.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@scoretechnologies/zitadel\";\n\nconst _default = new zitadel.DefaultDomainPolicy(\"default\", {\n smtpSenderAddressMatchesInstanceDomain: true,\n userLoginMustBeDomain: false,\n validateOrgDomains: true,\n});\n```\n```python\nimport pulumi\nimport scoretechnologies_zitadel as zitadel\n\ndefault = zitadel.DefaultDomainPolicy(\"default\",\n smtp_sender_address_matches_instance_domain=True,\n user_login_must_be_domain=False,\n validate_org_domains=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = scoretechnologies.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.DefaultDomainPolicy(\"default\", new()\n {\n SmtpSenderAddressMatchesInstanceDomain = true,\n UserLoginMustBeDomain = false,\n ValidateOrgDomains = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewDefaultDomainPolicy(ctx, \"default\", \u0026zitadel.DefaultDomainPolicyArgs{\n\t\t\tSmtpSenderAddressMatchesInstanceDomain: pulumi.Bool(true),\n\t\t\tUserLoginMustBeDomain: pulumi.Bool(false),\n\t\t\tValidateOrgDomains: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.DefaultDomainPolicy;\nimport com.pulumi.zitadel.DefaultDomainPolicyArgs;\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 default_ = new DefaultDomainPolicy(\"default\", DefaultDomainPolicyArgs.builder() \n .smtpSenderAddressMatchesInstanceDomain(true)\n .userLoginMustBeDomain(false)\n .validateOrgDomains(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:DefaultDomainPolicy\n properties:\n smtpSenderAddressMatchesInstanceDomain: true\n userLoginMustBeDomain: false\n validateOrgDomains: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003c\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/defaultDomainPolicy:DefaultDomainPolicy imported ''\n```\n\n ", "properties": { "smtpSenderAddressMatchesInstanceDomain": { "type": "boolean" @@ -1177,7 +1177,7 @@ } }, "zitadel:index/defaultLockoutPolicy:DefaultLockoutPolicy": { - "description": "Resource representing the default lockout policy.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.DefaultLockoutPolicy(\"default\", {maxPasswordAttempts: 5});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.DefaultLockoutPolicy(\"default\", max_password_attempts=5)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.DefaultLockoutPolicy(\"default\", new()\n {\n MaxPasswordAttempts = 5,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewDefaultLockoutPolicy(ctx, \"default\", \u0026zitadel.DefaultLockoutPolicyArgs{\n\t\t\tMaxPasswordAttempts: pulumi.Int(5),\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.zitadel.DefaultLockoutPolicy;\nimport com.pulumi.zitadel.DefaultLockoutPolicyArgs;\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 default_ = new DefaultLockoutPolicy(\"default\", DefaultLockoutPolicyArgs.builder() \n .maxPasswordAttempts(\"5\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:DefaultLockoutPolicy\n properties:\n maxPasswordAttempts: '5'\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003c\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/defaultLockoutPolicy:DefaultLockoutPolicy imported ''\n```\n\n ", + "description": "Resource representing the default lockout policy.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@scoretechnologies/zitadel\";\n\nconst _default = new zitadel.DefaultLockoutPolicy(\"default\", {maxPasswordAttempts: 5});\n```\n```python\nimport pulumi\nimport scoretechnologies_zitadel as zitadel\n\ndefault = zitadel.DefaultLockoutPolicy(\"default\", max_password_attempts=5)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = scoretechnologies.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.DefaultLockoutPolicy(\"default\", new()\n {\n MaxPasswordAttempts = 5,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewDefaultLockoutPolicy(ctx, \"default\", \u0026zitadel.DefaultLockoutPolicyArgs{\n\t\t\tMaxPasswordAttempts: pulumi.Int(5),\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.zitadel.DefaultLockoutPolicy;\nimport com.pulumi.zitadel.DefaultLockoutPolicyArgs;\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 default_ = new DefaultLockoutPolicy(\"default\", DefaultLockoutPolicyArgs.builder() \n .maxPasswordAttempts(\"5\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:DefaultLockoutPolicy\n properties:\n maxPasswordAttempts: '5'\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003c\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/defaultLockoutPolicy:DefaultLockoutPolicy imported ''\n```\n\n ", "properties": { "maxPasswordAttempts": { "type": "integer", @@ -1208,7 +1208,7 @@ } }, "zitadel:index/defaultLoginPolicy:DefaultLoginPolicy": { - "description": "Resource representing the default login policy.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.DefaultLoginPolicy(\"default\", {\n userLogin: true,\n allowRegister: true,\n allowExternalIdp: true,\n forceMfa: false,\n forceMfaLocalOnly: false,\n passwordlessType: \"PASSWORDLESS_TYPE_ALLOWED\",\n hidePasswordReset: false,\n passwordCheckLifetime: \"240h0m0s\",\n externalLoginCheckLifetime: \"240h0m0s\",\n multiFactorCheckLifetime: \"24h0m0s\",\n mfaInitSkipLifetime: \"720h0m0s\",\n secondFactorCheckLifetime: \"24h0m0s\",\n ignoreUnknownUsernames: true,\n defaultRedirectUri: \"localhost:8080\",\n secondFactors: [\n \"SECOND_FACTOR_TYPE_OTP\",\n \"SECOND_FACTOR_TYPE_U2F\",\n ],\n multiFactors: [\"MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION\"],\n idps: [\n data.zitadel_idp_google[\"default\"].id,\n data.zitadel_idp_azure_ad[\"default\"].id,\n ],\n allowDomainDiscovery: true,\n disableLoginWithEmail: true,\n disableLoginWithPhone: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.DefaultLoginPolicy(\"default\",\n user_login=True,\n allow_register=True,\n allow_external_idp=True,\n force_mfa=False,\n force_mfa_local_only=False,\n passwordless_type=\"PASSWORDLESS_TYPE_ALLOWED\",\n hide_password_reset=False,\n password_check_lifetime=\"240h0m0s\",\n external_login_check_lifetime=\"240h0m0s\",\n multi_factor_check_lifetime=\"24h0m0s\",\n mfa_init_skip_lifetime=\"720h0m0s\",\n second_factor_check_lifetime=\"24h0m0s\",\n ignore_unknown_usernames=True,\n default_redirect_uri=\"localhost:8080\",\n second_factors=[\n \"SECOND_FACTOR_TYPE_OTP\",\n \"SECOND_FACTOR_TYPE_U2F\",\n ],\n multi_factors=[\"MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION\"],\n idps=[\n data[\"zitadel_idp_google\"][\"default\"][\"id\"],\n data[\"zitadel_idp_azure_ad\"][\"default\"][\"id\"],\n ],\n allow_domain_discovery=True,\n disable_login_with_email=True,\n disable_login_with_phone=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.DefaultLoginPolicy(\"default\", new()\n {\n UserLogin = true,\n AllowRegister = true,\n AllowExternalIdp = true,\n ForceMfa = false,\n ForceMfaLocalOnly = false,\n PasswordlessType = \"PASSWORDLESS_TYPE_ALLOWED\",\n HidePasswordReset = false,\n PasswordCheckLifetime = \"240h0m0s\",\n ExternalLoginCheckLifetime = \"240h0m0s\",\n MultiFactorCheckLifetime = \"24h0m0s\",\n MfaInitSkipLifetime = \"720h0m0s\",\n SecondFactorCheckLifetime = \"24h0m0s\",\n IgnoreUnknownUsernames = true,\n DefaultRedirectUri = \"localhost:8080\",\n SecondFactors = new[]\n {\n \"SECOND_FACTOR_TYPE_OTP\",\n \"SECOND_FACTOR_TYPE_U2F\",\n },\n MultiFactors = new[]\n {\n \"MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION\",\n },\n Idps = new[]\n {\n data.Zitadel_idp_google.Default.Id,\n data.Zitadel_idp_azure_ad.Default.Id,\n },\n AllowDomainDiscovery = true,\n DisableLoginWithEmail = true,\n DisableLoginWithPhone = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewDefaultLoginPolicy(ctx, \"default\", \u0026zitadel.DefaultLoginPolicyArgs{\n\t\t\tUserLogin: pulumi.Bool(true),\n\t\t\tAllowRegister: pulumi.Bool(true),\n\t\t\tAllowExternalIdp: pulumi.Bool(true),\n\t\t\tForceMfa: pulumi.Bool(false),\n\t\t\tForceMfaLocalOnly: pulumi.Bool(false),\n\t\t\tPasswordlessType: pulumi.String(\"PASSWORDLESS_TYPE_ALLOWED\"),\n\t\t\tHidePasswordReset: pulumi.Bool(false),\n\t\t\tPasswordCheckLifetime: pulumi.String(\"240h0m0s\"),\n\t\t\tExternalLoginCheckLifetime: pulumi.String(\"240h0m0s\"),\n\t\t\tMultiFactorCheckLifetime: pulumi.String(\"24h0m0s\"),\n\t\t\tMfaInitSkipLifetime: pulumi.String(\"720h0m0s\"),\n\t\t\tSecondFactorCheckLifetime: pulumi.String(\"24h0m0s\"),\n\t\t\tIgnoreUnknownUsernames: pulumi.Bool(true),\n\t\t\tDefaultRedirectUri: pulumi.String(\"localhost:8080\"),\n\t\t\tSecondFactors: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"SECOND_FACTOR_TYPE_OTP\"),\n\t\t\t\tpulumi.String(\"SECOND_FACTOR_TYPE_U2F\"),\n\t\t\t},\n\t\t\tMultiFactors: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION\"),\n\t\t\t},\n\t\t\tIdps: pulumi.StringArray{\n\t\t\t\tdata.Zitadel_idp_google.Default.Id,\n\t\t\t\tdata.Zitadel_idp_azure_ad.Default.Id,\n\t\t\t},\n\t\t\tAllowDomainDiscovery: pulumi.Bool(true),\n\t\t\tDisableLoginWithEmail: pulumi.Bool(true),\n\t\t\tDisableLoginWithPhone: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.DefaultLoginPolicy;\nimport com.pulumi.zitadel.DefaultLoginPolicyArgs;\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 default_ = new DefaultLoginPolicy(\"default\", DefaultLoginPolicyArgs.builder() \n .userLogin(true)\n .allowRegister(true)\n .allowExternalIdp(true)\n .forceMfa(false)\n .forceMfaLocalOnly(false)\n .passwordlessType(\"PASSWORDLESS_TYPE_ALLOWED\")\n .hidePasswordReset(\"false\")\n .passwordCheckLifetime(\"240h0m0s\")\n .externalLoginCheckLifetime(\"240h0m0s\")\n .multiFactorCheckLifetime(\"24h0m0s\")\n .mfaInitSkipLifetime(\"720h0m0s\")\n .secondFactorCheckLifetime(\"24h0m0s\")\n .ignoreUnknownUsernames(true)\n .defaultRedirectUri(\"localhost:8080\")\n .secondFactors( \n \"SECOND_FACTOR_TYPE_OTP\",\n \"SECOND_FACTOR_TYPE_U2F\")\n .multiFactors(\"MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION\")\n .idps( \n data.zitadel_idp_google().default().id(),\n data.zitadel_idp_azure_ad().default().id())\n .allowDomainDiscovery(true)\n .disableLoginWithEmail(true)\n .disableLoginWithPhone(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:DefaultLoginPolicy\n properties:\n userLogin: true\n allowRegister: true\n allowExternalIdp: true\n forceMfa: false\n forceMfaLocalOnly: false\n passwordlessType: PASSWORDLESS_TYPE_ALLOWED\n hidePasswordReset: 'false'\n passwordCheckLifetime: 240h0m0s\n externalLoginCheckLifetime: 240h0m0s\n multiFactorCheckLifetime: 24h0m0s\n mfaInitSkipLifetime: 720h0m0s\n secondFactorCheckLifetime: 24h0m0s\n ignoreUnknownUsernames: true\n defaultRedirectUri: localhost:8080\n secondFactors:\n - SECOND_FACTOR_TYPE_OTP\n - SECOND_FACTOR_TYPE_U2F\n multiFactors:\n - MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION\n idps:\n - ${data.zitadel_idp_google.default.id}\n - ${data.zitadel_idp_azure_ad.default.id}\n allowDomainDiscovery: true\n disableLoginWithEmail: true\n disableLoginWithPhone: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003c\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/defaultLoginPolicy:DefaultLoginPolicy imported ''\n```\n\n ", + "description": "Resource representing the default login policy.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@scoretechnologies/zitadel\";\n\nconst _default = new zitadel.DefaultLoginPolicy(\"default\", {\n userLogin: true,\n allowRegister: true,\n allowExternalIdp: true,\n forceMfa: false,\n forceMfaLocalOnly: false,\n passwordlessType: \"PASSWORDLESS_TYPE_ALLOWED\",\n hidePasswordReset: false,\n passwordCheckLifetime: \"240h0m0s\",\n externalLoginCheckLifetime: \"240h0m0s\",\n multiFactorCheckLifetime: \"24h0m0s\",\n mfaInitSkipLifetime: \"720h0m0s\",\n secondFactorCheckLifetime: \"24h0m0s\",\n ignoreUnknownUsernames: true,\n defaultRedirectUri: \"localhost:8080\",\n secondFactors: [\n \"SECOND_FACTOR_TYPE_OTP\",\n \"SECOND_FACTOR_TYPE_U2F\",\n ],\n multiFactors: [\"MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION\"],\n idps: [\n data.zitadel_idp_google[\"default\"].id,\n data.zitadel_idp_azure_ad[\"default\"].id,\n ],\n allowDomainDiscovery: true,\n disableLoginWithEmail: true,\n disableLoginWithPhone: true,\n});\n```\n```python\nimport pulumi\nimport scoretechnologies_zitadel as zitadel\n\ndefault = zitadel.DefaultLoginPolicy(\"default\",\n user_login=True,\n allow_register=True,\n allow_external_idp=True,\n force_mfa=False,\n force_mfa_local_only=False,\n passwordless_type=\"PASSWORDLESS_TYPE_ALLOWED\",\n hide_password_reset=False,\n password_check_lifetime=\"240h0m0s\",\n external_login_check_lifetime=\"240h0m0s\",\n multi_factor_check_lifetime=\"24h0m0s\",\n mfa_init_skip_lifetime=\"720h0m0s\",\n second_factor_check_lifetime=\"24h0m0s\",\n ignore_unknown_usernames=True,\n default_redirect_uri=\"localhost:8080\",\n second_factors=[\n \"SECOND_FACTOR_TYPE_OTP\",\n \"SECOND_FACTOR_TYPE_U2F\",\n ],\n multi_factors=[\"MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION\"],\n idps=[\n data[\"zitadel_idp_google\"][\"default\"][\"id\"],\n data[\"zitadel_idp_azure_ad\"][\"default\"][\"id\"],\n ],\n allow_domain_discovery=True,\n disable_login_with_email=True,\n disable_login_with_phone=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = scoretechnologies.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.DefaultLoginPolicy(\"default\", new()\n {\n UserLogin = true,\n AllowRegister = true,\n AllowExternalIdp = true,\n ForceMfa = false,\n ForceMfaLocalOnly = false,\n PasswordlessType = \"PASSWORDLESS_TYPE_ALLOWED\",\n HidePasswordReset = false,\n PasswordCheckLifetime = \"240h0m0s\",\n ExternalLoginCheckLifetime = \"240h0m0s\",\n MultiFactorCheckLifetime = \"24h0m0s\",\n MfaInitSkipLifetime = \"720h0m0s\",\n SecondFactorCheckLifetime = \"24h0m0s\",\n IgnoreUnknownUsernames = true,\n DefaultRedirectUri = \"localhost:8080\",\n SecondFactors = new[]\n {\n \"SECOND_FACTOR_TYPE_OTP\",\n \"SECOND_FACTOR_TYPE_U2F\",\n },\n MultiFactors = new[]\n {\n \"MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION\",\n },\n Idps = new[]\n {\n data.Zitadel_idp_google.Default.Id,\n data.Zitadel_idp_azure_ad.Default.Id,\n },\n AllowDomainDiscovery = true,\n DisableLoginWithEmail = true,\n DisableLoginWithPhone = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewDefaultLoginPolicy(ctx, \"default\", \u0026zitadel.DefaultLoginPolicyArgs{\n\t\t\tUserLogin: pulumi.Bool(true),\n\t\t\tAllowRegister: pulumi.Bool(true),\n\t\t\tAllowExternalIdp: pulumi.Bool(true),\n\t\t\tForceMfa: pulumi.Bool(false),\n\t\t\tForceMfaLocalOnly: pulumi.Bool(false),\n\t\t\tPasswordlessType: pulumi.String(\"PASSWORDLESS_TYPE_ALLOWED\"),\n\t\t\tHidePasswordReset: pulumi.Bool(false),\n\t\t\tPasswordCheckLifetime: pulumi.String(\"240h0m0s\"),\n\t\t\tExternalLoginCheckLifetime: pulumi.String(\"240h0m0s\"),\n\t\t\tMultiFactorCheckLifetime: pulumi.String(\"24h0m0s\"),\n\t\t\tMfaInitSkipLifetime: pulumi.String(\"720h0m0s\"),\n\t\t\tSecondFactorCheckLifetime: pulumi.String(\"24h0m0s\"),\n\t\t\tIgnoreUnknownUsernames: pulumi.Bool(true),\n\t\t\tDefaultRedirectUri: pulumi.String(\"localhost:8080\"),\n\t\t\tSecondFactors: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"SECOND_FACTOR_TYPE_OTP\"),\n\t\t\t\tpulumi.String(\"SECOND_FACTOR_TYPE_U2F\"),\n\t\t\t},\n\t\t\tMultiFactors: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION\"),\n\t\t\t},\n\t\t\tIdps: pulumi.StringArray{\n\t\t\t\tdata.Zitadel_idp_google.Default.Id,\n\t\t\t\tdata.Zitadel_idp_azure_ad.Default.Id,\n\t\t\t},\n\t\t\tAllowDomainDiscovery: pulumi.Bool(true),\n\t\t\tDisableLoginWithEmail: pulumi.Bool(true),\n\t\t\tDisableLoginWithPhone: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.DefaultLoginPolicy;\nimport com.pulumi.zitadel.DefaultLoginPolicyArgs;\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 default_ = new DefaultLoginPolicy(\"default\", DefaultLoginPolicyArgs.builder() \n .userLogin(true)\n .allowRegister(true)\n .allowExternalIdp(true)\n .forceMfa(false)\n .forceMfaLocalOnly(false)\n .passwordlessType(\"PASSWORDLESS_TYPE_ALLOWED\")\n .hidePasswordReset(\"false\")\n .passwordCheckLifetime(\"240h0m0s\")\n .externalLoginCheckLifetime(\"240h0m0s\")\n .multiFactorCheckLifetime(\"24h0m0s\")\n .mfaInitSkipLifetime(\"720h0m0s\")\n .secondFactorCheckLifetime(\"24h0m0s\")\n .ignoreUnknownUsernames(true)\n .defaultRedirectUri(\"localhost:8080\")\n .secondFactors( \n \"SECOND_FACTOR_TYPE_OTP\",\n \"SECOND_FACTOR_TYPE_U2F\")\n .multiFactors(\"MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION\")\n .idps( \n data.zitadel_idp_google().default().id(),\n data.zitadel_idp_azure_ad().default().id())\n .allowDomainDiscovery(true)\n .disableLoginWithEmail(true)\n .disableLoginWithPhone(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:DefaultLoginPolicy\n properties:\n userLogin: true\n allowRegister: true\n allowExternalIdp: true\n forceMfa: false\n forceMfaLocalOnly: false\n passwordlessType: PASSWORDLESS_TYPE_ALLOWED\n hidePasswordReset: 'false'\n passwordCheckLifetime: 240h0m0s\n externalLoginCheckLifetime: 240h0m0s\n multiFactorCheckLifetime: 24h0m0s\n mfaInitSkipLifetime: 720h0m0s\n secondFactorCheckLifetime: 24h0m0s\n ignoreUnknownUsernames: true\n defaultRedirectUri: localhost:8080\n secondFactors:\n - SECOND_FACTOR_TYPE_OTP\n - SECOND_FACTOR_TYPE_U2F\n multiFactors:\n - MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION\n idps:\n - ${data.zitadel_idp_google.default.id}\n - ${data.zitadel_idp_azure_ad.default.id}\n allowDomainDiscovery: true\n disableLoginWithEmail: true\n disableLoginWithPhone: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003c\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/defaultLoginPolicy:DefaultLoginPolicy imported ''\n```\n\n ", "properties": { "allowDomainDiscovery": { "type": "boolean", @@ -1505,7 +1505,7 @@ } }, "zitadel:index/defaultNotificationPolicy:DefaultNotificationPolicy": { - "description": "Resource representing the default notification policy.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.DefaultNotificationPolicy(\"default\", {passwordChange: false});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.DefaultNotificationPolicy(\"default\", password_change=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.DefaultNotificationPolicy(\"default\", new()\n {\n PasswordChange = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewDefaultNotificationPolicy(ctx, \"default\", \u0026zitadel.DefaultNotificationPolicyArgs{\n\t\t\tPasswordChange: 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.zitadel.DefaultNotificationPolicy;\nimport com.pulumi.zitadel.DefaultNotificationPolicyArgs;\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 default_ = new DefaultNotificationPolicy(\"default\", DefaultNotificationPolicyArgs.builder() \n .passwordChange(false)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:DefaultNotificationPolicy\n properties:\n passwordChange: false\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003c\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/defaultNotificationPolicy:DefaultNotificationPolicy imported ''\n```\n\n ", + "description": "Resource representing the default notification policy.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@scoretechnologies/zitadel\";\n\nconst _default = new zitadel.DefaultNotificationPolicy(\"default\", {passwordChange: false});\n```\n```python\nimport pulumi\nimport scoretechnologies_zitadel as zitadel\n\ndefault = zitadel.DefaultNotificationPolicy(\"default\", password_change=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = scoretechnologies.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.DefaultNotificationPolicy(\"default\", new()\n {\n PasswordChange = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewDefaultNotificationPolicy(ctx, \"default\", \u0026zitadel.DefaultNotificationPolicyArgs{\n\t\t\tPasswordChange: 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.zitadel.DefaultNotificationPolicy;\nimport com.pulumi.zitadel.DefaultNotificationPolicyArgs;\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 default_ = new DefaultNotificationPolicy(\"default\", DefaultNotificationPolicyArgs.builder() \n .passwordChange(false)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:DefaultNotificationPolicy\n properties:\n passwordChange: false\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003c\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/defaultNotificationPolicy:DefaultNotificationPolicy imported ''\n```\n\n ", "properties": { "passwordChange": { "type": "boolean", @@ -1536,7 +1536,7 @@ } }, "zitadel:index/defaultOidcSettings:DefaultOidcSettings": { - "description": "Resource representing the default oidc settings.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.DefaultOidcSettings(\"default\", {\n accessTokenLifetime: \"12h0m0s\",\n idTokenLifetime: \"12h0m0s\",\n refreshTokenExpiration: \"720h0m0s\",\n refreshTokenIdleExpiration: \"2160h0m0s\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.DefaultOidcSettings(\"default\",\n access_token_lifetime=\"12h0m0s\",\n id_token_lifetime=\"12h0m0s\",\n refresh_token_expiration=\"720h0m0s\",\n refresh_token_idle_expiration=\"2160h0m0s\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.DefaultOidcSettings(\"default\", new()\n {\n AccessTokenLifetime = \"12h0m0s\",\n IdTokenLifetime = \"12h0m0s\",\n RefreshTokenExpiration = \"720h0m0s\",\n RefreshTokenIdleExpiration = \"2160h0m0s\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewDefaultOidcSettings(ctx, \"default\", \u0026zitadel.DefaultOidcSettingsArgs{\n\t\t\tAccessTokenLifetime: pulumi.String(\"12h0m0s\"),\n\t\t\tIdTokenLifetime: pulumi.String(\"12h0m0s\"),\n\t\t\tRefreshTokenExpiration: pulumi.String(\"720h0m0s\"),\n\t\t\tRefreshTokenIdleExpiration: pulumi.String(\"2160h0m0s\"),\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.zitadel.DefaultOidcSettings;\nimport com.pulumi.zitadel.DefaultOidcSettingsArgs;\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 default_ = new DefaultOidcSettings(\"default\", DefaultOidcSettingsArgs.builder() \n .accessTokenLifetime(\"12h0m0s\")\n .idTokenLifetime(\"12h0m0s\")\n .refreshTokenExpiration(\"720h0m0s\")\n .refreshTokenIdleExpiration(\"2160h0m0s\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:DefaultOidcSettings\n properties:\n accessTokenLifetime: 12h0m0s\n idTokenLifetime: 12h0m0s\n refreshTokenExpiration: 720h0m0s\n refreshTokenIdleExpiration: 2160h0m0s\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Resource representing the default oidc settings.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@scoretechnologies/zitadel\";\n\nconst _default = new zitadel.DefaultOidcSettings(\"default\", {\n accessTokenLifetime: \"12h0m0s\",\n idTokenLifetime: \"12h0m0s\",\n refreshTokenExpiration: \"720h0m0s\",\n refreshTokenIdleExpiration: \"2160h0m0s\",\n});\n```\n```python\nimport pulumi\nimport scoretechnologies_zitadel as zitadel\n\ndefault = zitadel.DefaultOidcSettings(\"default\",\n access_token_lifetime=\"12h0m0s\",\n id_token_lifetime=\"12h0m0s\",\n refresh_token_expiration=\"720h0m0s\",\n refresh_token_idle_expiration=\"2160h0m0s\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = scoretechnologies.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.DefaultOidcSettings(\"default\", new()\n {\n AccessTokenLifetime = \"12h0m0s\",\n IdTokenLifetime = \"12h0m0s\",\n RefreshTokenExpiration = \"720h0m0s\",\n RefreshTokenIdleExpiration = \"2160h0m0s\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewDefaultOidcSettings(ctx, \"default\", \u0026zitadel.DefaultOidcSettingsArgs{\n\t\t\tAccessTokenLifetime: pulumi.String(\"12h0m0s\"),\n\t\t\tIdTokenLifetime: pulumi.String(\"12h0m0s\"),\n\t\t\tRefreshTokenExpiration: pulumi.String(\"720h0m0s\"),\n\t\t\tRefreshTokenIdleExpiration: pulumi.String(\"2160h0m0s\"),\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.zitadel.DefaultOidcSettings;\nimport com.pulumi.zitadel.DefaultOidcSettingsArgs;\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 default_ = new DefaultOidcSettings(\"default\", DefaultOidcSettingsArgs.builder() \n .accessTokenLifetime(\"12h0m0s\")\n .idTokenLifetime(\"12h0m0s\")\n .refreshTokenExpiration(\"720h0m0s\")\n .refreshTokenIdleExpiration(\"2160h0m0s\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:DefaultOidcSettings\n properties:\n accessTokenLifetime: 12h0m0s\n idTokenLifetime: 12h0m0s\n refreshTokenExpiration: 720h0m0s\n refreshTokenIdleExpiration: 2160h0m0s\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "accessTokenLifetime": { "type": "string", @@ -1609,7 +1609,7 @@ } }, "zitadel:index/defaultPasswordComplexityPolicy:DefaultPasswordComplexityPolicy": { - "description": "Resource representing the default password complexity policy.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.DefaultPasswordComplexityPolicy(\"default\", {\n hasLowercase: true,\n hasNumber: true,\n hasSymbol: true,\n hasUppercase: true,\n minLength: 8,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.DefaultPasswordComplexityPolicy(\"default\",\n has_lowercase=True,\n has_number=True,\n has_symbol=True,\n has_uppercase=True,\n min_length=8)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.DefaultPasswordComplexityPolicy(\"default\", new()\n {\n HasLowercase = true,\n HasNumber = true,\n HasSymbol = true,\n HasUppercase = true,\n MinLength = 8,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewDefaultPasswordComplexityPolicy(ctx, \"default\", \u0026zitadel.DefaultPasswordComplexityPolicyArgs{\n\t\t\tHasLowercase: pulumi.Bool(true),\n\t\t\tHasNumber: pulumi.Bool(true),\n\t\t\tHasSymbol: pulumi.Bool(true),\n\t\t\tHasUppercase: pulumi.Bool(true),\n\t\t\tMinLength: pulumi.Int(8),\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.zitadel.DefaultPasswordComplexityPolicy;\nimport com.pulumi.zitadel.DefaultPasswordComplexityPolicyArgs;\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 default_ = new DefaultPasswordComplexityPolicy(\"default\", DefaultPasswordComplexityPolicyArgs.builder() \n .hasLowercase(true)\n .hasNumber(true)\n .hasSymbol(true)\n .hasUppercase(true)\n .minLength(\"8\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:DefaultPasswordComplexityPolicy\n properties:\n hasLowercase: true\n hasNumber: true\n hasSymbol: true\n hasUppercase: true\n minLength: '8'\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003c\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/defaultPasswordComplexityPolicy:DefaultPasswordComplexityPolicy imported ''\n```\n\n ", + "description": "Resource representing the default password complexity policy.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@scoretechnologies/zitadel\";\n\nconst _default = new zitadel.DefaultPasswordComplexityPolicy(\"default\", {\n hasLowercase: true,\n hasNumber: true,\n hasSymbol: true,\n hasUppercase: true,\n minLength: 8,\n});\n```\n```python\nimport pulumi\nimport scoretechnologies_zitadel as zitadel\n\ndefault = zitadel.DefaultPasswordComplexityPolicy(\"default\",\n has_lowercase=True,\n has_number=True,\n has_symbol=True,\n has_uppercase=True,\n min_length=8)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = scoretechnologies.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.DefaultPasswordComplexityPolicy(\"default\", new()\n {\n HasLowercase = true,\n HasNumber = true,\n HasSymbol = true,\n HasUppercase = true,\n MinLength = 8,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewDefaultPasswordComplexityPolicy(ctx, \"default\", \u0026zitadel.DefaultPasswordComplexityPolicyArgs{\n\t\t\tHasLowercase: pulumi.Bool(true),\n\t\t\tHasNumber: pulumi.Bool(true),\n\t\t\tHasSymbol: pulumi.Bool(true),\n\t\t\tHasUppercase: pulumi.Bool(true),\n\t\t\tMinLength: pulumi.Int(8),\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.zitadel.DefaultPasswordComplexityPolicy;\nimport com.pulumi.zitadel.DefaultPasswordComplexityPolicyArgs;\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 default_ = new DefaultPasswordComplexityPolicy(\"default\", DefaultPasswordComplexityPolicyArgs.builder() \n .hasLowercase(true)\n .hasNumber(true)\n .hasSymbol(true)\n .hasUppercase(true)\n .minLength(\"8\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:DefaultPasswordComplexityPolicy\n properties:\n hasLowercase: true\n hasNumber: true\n hasSymbol: true\n hasUppercase: true\n minLength: '8'\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003c\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/defaultPasswordComplexityPolicy:DefaultPasswordComplexityPolicy imported ''\n```\n\n ", "properties": { "hasLowercase": { "type": "boolean", @@ -1696,7 +1696,7 @@ } }, "zitadel:index/defaultPrivacyPolicy:DefaultPrivacyPolicy": { - "description": "Resource representing the default privacy policy.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.DefaultPrivacyPolicy(\"default\", {\n helpLink: \"https://example.com/help\",\n privacyLink: \"https://example.com/privacy\",\n supportEmail: \"support@example.com\",\n tosLink: \"https://example.com/tos\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.DefaultPrivacyPolicy(\"default\",\n help_link=\"https://example.com/help\",\n privacy_link=\"https://example.com/privacy\",\n support_email=\"support@example.com\",\n tos_link=\"https://example.com/tos\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.DefaultPrivacyPolicy(\"default\", new()\n {\n HelpLink = \"https://example.com/help\",\n PrivacyLink = \"https://example.com/privacy\",\n SupportEmail = \"support@example.com\",\n TosLink = \"https://example.com/tos\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewDefaultPrivacyPolicy(ctx, \"default\", \u0026zitadel.DefaultPrivacyPolicyArgs{\n\t\t\tHelpLink: pulumi.String(\"https://example.com/help\"),\n\t\t\tPrivacyLink: pulumi.String(\"https://example.com/privacy\"),\n\t\t\tSupportEmail: pulumi.String(\"support@example.com\"),\n\t\t\tTosLink: pulumi.String(\"https://example.com/tos\"),\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.zitadel.DefaultPrivacyPolicy;\nimport com.pulumi.zitadel.DefaultPrivacyPolicyArgs;\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 default_ = new DefaultPrivacyPolicy(\"default\", DefaultPrivacyPolicyArgs.builder() \n .helpLink(\"https://example.com/help\")\n .privacyLink(\"https://example.com/privacy\")\n .supportEmail(\"support@example.com\")\n .tosLink(\"https://example.com/tos\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:DefaultPrivacyPolicy\n properties:\n helpLink: https://example.com/help\n privacyLink: https://example.com/privacy\n supportEmail: support@example.com\n tosLink: https://example.com/tos\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003c\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/defaultPrivacyPolicy:DefaultPrivacyPolicy imported ''\n```\n\n ", + "description": "Resource representing the default privacy policy.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@scoretechnologies/zitadel\";\n\nconst _default = new zitadel.DefaultPrivacyPolicy(\"default\", {\n helpLink: \"https://example.com/help\",\n privacyLink: \"https://example.com/privacy\",\n supportEmail: \"support@example.com\",\n tosLink: \"https://example.com/tos\",\n});\n```\n```python\nimport pulumi\nimport scoretechnologies_zitadel as zitadel\n\ndefault = zitadel.DefaultPrivacyPolicy(\"default\",\n help_link=\"https://example.com/help\",\n privacy_link=\"https://example.com/privacy\",\n support_email=\"support@example.com\",\n tos_link=\"https://example.com/tos\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = scoretechnologies.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.DefaultPrivacyPolicy(\"default\", new()\n {\n HelpLink = \"https://example.com/help\",\n PrivacyLink = \"https://example.com/privacy\",\n SupportEmail = \"support@example.com\",\n TosLink = \"https://example.com/tos\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewDefaultPrivacyPolicy(ctx, \"default\", \u0026zitadel.DefaultPrivacyPolicyArgs{\n\t\t\tHelpLink: pulumi.String(\"https://example.com/help\"),\n\t\t\tPrivacyLink: pulumi.String(\"https://example.com/privacy\"),\n\t\t\tSupportEmail: pulumi.String(\"support@example.com\"),\n\t\t\tTosLink: pulumi.String(\"https://example.com/tos\"),\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.zitadel.DefaultPrivacyPolicy;\nimport com.pulumi.zitadel.DefaultPrivacyPolicyArgs;\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 default_ = new DefaultPrivacyPolicy(\"default\", DefaultPrivacyPolicyArgs.builder() \n .helpLink(\"https://example.com/help\")\n .privacyLink(\"https://example.com/privacy\")\n .supportEmail(\"support@example.com\")\n .tosLink(\"https://example.com/tos\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:DefaultPrivacyPolicy\n properties:\n helpLink: https://example.com/help\n privacyLink: https://example.com/privacy\n supportEmail: support@example.com\n tosLink: https://example.com/tos\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003c\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/defaultPrivacyPolicy:DefaultPrivacyPolicy imported ''\n```\n\n ", "properties": { "helpLink": { "type": "string" @@ -1745,7 +1745,7 @@ } }, "zitadel:index/domain:Domain": { - "description": "Resource representing a domain of the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.Domain(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n isPrimary: false,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.Domain(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n is_primary=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.Domain(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n IsPrimary = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewDomain(ctx, \"default\", \u0026zitadel.DomainArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tIsPrimary: 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.zitadel.Domain;\nimport com.pulumi.zitadel.DomainArgs;\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 default_ = new Domain(\"default\", DomainArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .isPrimary(false)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:Domain\n properties:\n orgId: ${data.zitadel_org.default.id}\n isPrimary: false\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `name[:org_id]`, e.g.\n\n```sh\n $ pulumi import zitadel:index/domain:Domain imported 'example.com:123456789012345678'\n```\n\n ", + "description": "Resource representing a domain of the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@scoretechnologies/zitadel\";\n\nconst _default = new zitadel.Domain(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n isPrimary: false,\n});\n```\n```python\nimport pulumi\nimport scoretechnologies_zitadel as zitadel\n\ndefault = zitadel.Domain(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n is_primary=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = scoretechnologies.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.Domain(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n IsPrimary = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewDomain(ctx, \"default\", \u0026zitadel.DomainArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tIsPrimary: 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.zitadel.Domain;\nimport com.pulumi.zitadel.DomainArgs;\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 default_ = new Domain(\"default\", DomainArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .isPrimary(false)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:Domain\n properties:\n orgId: ${data.zitadel_org.default.id}\n isPrimary: false\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `name[:org_id]`, e.g.\n\n```sh\n $ pulumi import zitadel:index/domain:Domain imported 'example.com:123456789012345678'\n```\n\n ", "properties": { "isPrimary": { "type": "boolean", @@ -1819,7 +1819,7 @@ } }, "zitadel:index/domainPolicy:DomainPolicy": { - "description": "Resource representing the custom domain policy of an organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.DomainPolicy(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n userLoginMustBeDomain: false,\n validateOrgDomains: true,\n smtpSenderAddressMatchesInstanceDomain: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.DomainPolicy(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n user_login_must_be_domain=False,\n validate_org_domains=True,\n smtp_sender_address_matches_instance_domain=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.DomainPolicy(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n UserLoginMustBeDomain = false,\n ValidateOrgDomains = true,\n SmtpSenderAddressMatchesInstanceDomain = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewDomainPolicy(ctx, \"default\", \u0026zitadel.DomainPolicyArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tUserLoginMustBeDomain: pulumi.Bool(false),\n\t\t\tValidateOrgDomains: pulumi.Bool(true),\n\t\t\tSmtpSenderAddressMatchesInstanceDomain: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.DomainPolicy;\nimport com.pulumi.zitadel.DomainPolicyArgs;\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 default_ = new DomainPolicy(\"default\", DomainPolicyArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .userLoginMustBeDomain(false)\n .validateOrgDomains(true)\n .smtpSenderAddressMatchesInstanceDomain(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:DomainPolicy\n properties:\n orgId: ${data.zitadel_org.default.id}\n userLoginMustBeDomain: false\n validateOrgDomains: true\n smtpSenderAddressMatchesInstanceDomain: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003c[org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/domainPolicy:DomainPolicy imported '123456789012345678'\n```\n\n ", + "description": "Resource representing the custom domain policy of an organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@scoretechnologies/zitadel\";\n\nconst _default = new zitadel.DomainPolicy(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n userLoginMustBeDomain: false,\n validateOrgDomains: true,\n smtpSenderAddressMatchesInstanceDomain: true,\n});\n```\n```python\nimport pulumi\nimport scoretechnologies_zitadel as zitadel\n\ndefault = zitadel.DomainPolicy(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n user_login_must_be_domain=False,\n validate_org_domains=True,\n smtp_sender_address_matches_instance_domain=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = scoretechnologies.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.DomainPolicy(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n UserLoginMustBeDomain = false,\n ValidateOrgDomains = true,\n SmtpSenderAddressMatchesInstanceDomain = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewDomainPolicy(ctx, \"default\", \u0026zitadel.DomainPolicyArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tUserLoginMustBeDomain: pulumi.Bool(false),\n\t\t\tValidateOrgDomains: pulumi.Bool(true),\n\t\t\tSmtpSenderAddressMatchesInstanceDomain: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.DomainPolicy;\nimport com.pulumi.zitadel.DomainPolicyArgs;\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 default_ = new DomainPolicy(\"default\", DomainPolicyArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .userLoginMustBeDomain(false)\n .validateOrgDomains(true)\n .smtpSenderAddressMatchesInstanceDomain(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:DomainPolicy\n properties:\n orgId: ${data.zitadel_org.default.id}\n userLoginMustBeDomain: false\n validateOrgDomains: true\n smtpSenderAddressMatchesInstanceDomain: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003c[org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/domainPolicy:DomainPolicy imported '123456789012345678'\n```\n\n ", "properties": { "orgId": { "type": "string", @@ -1889,7 +1889,7 @@ } }, "zitadel:index/humanUser:HumanUser": { - "description": "**Caution: Email can only be set verified if a password is set for the user, either with initial_password or during runtime**\n\nResource representing a human user situated under an organization, which then can be authorized through memberships or direct grants on other resources.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.HumanUser(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n userName: \"humanfull@localhost.com\",\n firstName: \"firstname\",\n lastName: \"lastname\",\n nickName: \"nickname\",\n displayName: \"displayname\",\n preferredLanguage: \"de\",\n gender: \"GENDER_MALE\",\n phone: \"+41799999999\",\n isPhoneVerified: true,\n email: \"test@zitadel.com\",\n isEmailVerified: true,\n initialPassword: \"Password1!\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.HumanUser(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n user_name=\"humanfull@localhost.com\",\n first_name=\"firstname\",\n last_name=\"lastname\",\n nick_name=\"nickname\",\n display_name=\"displayname\",\n preferred_language=\"de\",\n gender=\"GENDER_MALE\",\n phone=\"+41799999999\",\n is_phone_verified=True,\n email=\"test@zitadel.com\",\n is_email_verified=True,\n initial_password=\"Password1!\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.HumanUser(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n UserName = \"humanfull@localhost.com\",\n FirstName = \"firstname\",\n LastName = \"lastname\",\n NickName = \"nickname\",\n DisplayName = \"displayname\",\n PreferredLanguage = \"de\",\n Gender = \"GENDER_MALE\",\n Phone = \"+41799999999\",\n IsPhoneVerified = true,\n Email = \"test@zitadel.com\",\n IsEmailVerified = true,\n InitialPassword = \"Password1!\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewHumanUser(ctx, \"default\", \u0026zitadel.HumanUserArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tUserName: pulumi.String(\"humanfull@localhost.com\"),\n\t\t\tFirstName: pulumi.String(\"firstname\"),\n\t\t\tLastName: pulumi.String(\"lastname\"),\n\t\t\tNickName: pulumi.String(\"nickname\"),\n\t\t\tDisplayName: pulumi.String(\"displayname\"),\n\t\t\tPreferredLanguage: pulumi.String(\"de\"),\n\t\t\tGender: pulumi.String(\"GENDER_MALE\"),\n\t\t\tPhone: pulumi.String(\"+41799999999\"),\n\t\t\tIsPhoneVerified: pulumi.Bool(true),\n\t\t\tEmail: pulumi.String(\"test@zitadel.com\"),\n\t\t\tIsEmailVerified: pulumi.Bool(true),\n\t\t\tInitialPassword: pulumi.String(\"Password1!\"),\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.zitadel.HumanUser;\nimport com.pulumi.zitadel.HumanUserArgs;\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 default_ = new HumanUser(\"default\", HumanUserArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .userName(\"humanfull@localhost.com\")\n .firstName(\"firstname\")\n .lastName(\"lastname\")\n .nickName(\"nickname\")\n .displayName(\"displayname\")\n .preferredLanguage(\"de\")\n .gender(\"GENDER_MALE\")\n .phone(\"+41799999999\")\n .isPhoneVerified(true)\n .email(\"test@zitadel.com\")\n .isEmailVerified(true)\n .initialPassword(\"Password1!\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:HumanUser\n properties:\n orgId: ${data.zitadel_org.default.id}\n userName: humanfull@localhost.com\n firstName: firstname\n lastName: lastname\n nickName: nickname\n displayName: displayname\n preferredLanguage: de\n gender: GENDER_MALE\n phone: '+41799999999'\n isPhoneVerified: true\n email: test@zitadel.com\n isEmailVerified: true\n initialPassword: Password1!\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `id[:org_id][:initial_password]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/humanUser:HumanUser imported '123456789012345678:123456789012345678:Password1!'\n```\n\n ", + "description": "**Caution: Email can only be set verified if a password is set for the user, either with initial_password or during runtime**\n\nResource representing a human user situated under an organization, which then can be authorized through memberships or direct grants on other resources.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@scoretechnologies/zitadel\";\n\nconst _default = new zitadel.HumanUser(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n userName: \"humanfull@localhost.com\",\n firstName: \"firstname\",\n lastName: \"lastname\",\n nickName: \"nickname\",\n displayName: \"displayname\",\n preferredLanguage: \"de\",\n gender: \"GENDER_MALE\",\n phone: \"+41799999999\",\n isPhoneVerified: true,\n email: \"test@zitadel.com\",\n isEmailVerified: true,\n initialPassword: \"Password1!\",\n});\n```\n```python\nimport pulumi\nimport scoretechnologies_zitadel as zitadel\n\ndefault = zitadel.HumanUser(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n user_name=\"humanfull@localhost.com\",\n first_name=\"firstname\",\n last_name=\"lastname\",\n nick_name=\"nickname\",\n display_name=\"displayname\",\n preferred_language=\"de\",\n gender=\"GENDER_MALE\",\n phone=\"+41799999999\",\n is_phone_verified=True,\n email=\"test@zitadel.com\",\n is_email_verified=True,\n initial_password=\"Password1!\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = scoretechnologies.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.HumanUser(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n UserName = \"humanfull@localhost.com\",\n FirstName = \"firstname\",\n LastName = \"lastname\",\n NickName = \"nickname\",\n DisplayName = \"displayname\",\n PreferredLanguage = \"de\",\n Gender = \"GENDER_MALE\",\n Phone = \"+41799999999\",\n IsPhoneVerified = true,\n Email = \"test@zitadel.com\",\n IsEmailVerified = true,\n InitialPassword = \"Password1!\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewHumanUser(ctx, \"default\", \u0026zitadel.HumanUserArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tUserName: pulumi.String(\"humanfull@localhost.com\"),\n\t\t\tFirstName: pulumi.String(\"firstname\"),\n\t\t\tLastName: pulumi.String(\"lastname\"),\n\t\t\tNickName: pulumi.String(\"nickname\"),\n\t\t\tDisplayName: pulumi.String(\"displayname\"),\n\t\t\tPreferredLanguage: pulumi.String(\"de\"),\n\t\t\tGender: pulumi.String(\"GENDER_MALE\"),\n\t\t\tPhone: pulumi.String(\"+41799999999\"),\n\t\t\tIsPhoneVerified: pulumi.Bool(true),\n\t\t\tEmail: pulumi.String(\"test@zitadel.com\"),\n\t\t\tIsEmailVerified: pulumi.Bool(true),\n\t\t\tInitialPassword: pulumi.String(\"Password1!\"),\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.zitadel.HumanUser;\nimport com.pulumi.zitadel.HumanUserArgs;\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 default_ = new HumanUser(\"default\", HumanUserArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .userName(\"humanfull@localhost.com\")\n .firstName(\"firstname\")\n .lastName(\"lastname\")\n .nickName(\"nickname\")\n .displayName(\"displayname\")\n .preferredLanguage(\"de\")\n .gender(\"GENDER_MALE\")\n .phone(\"+41799999999\")\n .isPhoneVerified(true)\n .email(\"test@zitadel.com\")\n .isEmailVerified(true)\n .initialPassword(\"Password1!\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:HumanUser\n properties:\n orgId: ${data.zitadel_org.default.id}\n userName: humanfull@localhost.com\n firstName: firstname\n lastName: lastname\n nickName: nickname\n displayName: displayname\n preferredLanguage: de\n gender: GENDER_MALE\n phone: '+41799999999'\n isPhoneVerified: true\n email: test@zitadel.com\n isEmailVerified: true\n initialPassword: Password1!\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `id[:org_id][:initial_password]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/humanUser:HumanUser imported '123456789012345678:123456789012345678:Password1!'\n```\n\n ", "properties": { "displayName": { "type": "string", @@ -2113,7 +2113,7 @@ } }, "zitadel:index/idpAzureAd:IdpAzureAd": { - "description": "Resource representing an Azure AD IDP on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.IdpAzureAd(\"default\", {\n clientId: \"9065bfc8-a08a...\",\n clientSecret: \"H2n***\",\n emailVerified: true,\n isAutoCreation: false,\n isAutoUpdate: true,\n isCreationAllowed: true,\n isLinkingAllowed: false,\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n \"User.Read\",\n ],\n tenantType: \"AZURE_AD_TENANT_TYPE_ORGANISATIONS\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.IdpAzureAd(\"default\",\n client_id=\"9065bfc8-a08a...\",\n client_secret=\"H2n***\",\n email_verified=True,\n is_auto_creation=False,\n is_auto_update=True,\n is_creation_allowed=True,\n is_linking_allowed=False,\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n \"User.Read\",\n ],\n tenant_type=\"AZURE_AD_TENANT_TYPE_ORGANISATIONS\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.IdpAzureAd(\"default\", new()\n {\n ClientId = \"9065bfc8-a08a...\",\n ClientSecret = \"H2n***\",\n EmailVerified = true,\n IsAutoCreation = false,\n IsAutoUpdate = true,\n IsCreationAllowed = true,\n IsLinkingAllowed = false,\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n \"User.Read\",\n },\n TenantType = \"AZURE_AD_TENANT_TYPE_ORGANISATIONS\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewIdpAzureAd(ctx, \"default\", \u0026zitadel.IdpAzureAdArgs{\n\t\t\tClientId: pulumi.String(\"9065bfc8-a08a...\"),\n\t\t\tClientSecret: pulumi.String(\"H2n***\"),\n\t\t\tEmailVerified: pulumi.Bool(true),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t\tpulumi.String(\"User.Read\"),\n\t\t\t},\n\t\t\tTenantType: pulumi.String(\"AZURE_AD_TENANT_TYPE_ORGANISATIONS\"),\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.zitadel.IdpAzureAd;\nimport com.pulumi.zitadel.IdpAzureAdArgs;\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 default_ = new IdpAzureAd(\"default\", IdpAzureAdArgs.builder() \n .clientId(\"9065bfc8-a08a...\")\n .clientSecret(\"H2n***\")\n .emailVerified(true)\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .isCreationAllowed(true)\n .isLinkingAllowed(false)\n .scopes( \n \"openid\",\n \"profile\",\n \"email\",\n \"User.Read\")\n .tenantType(\"AZURE_AD_TENANT_TYPE_ORGANISATIONS\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:IdpAzureAd\n properties:\n clientId: 9065bfc8-a08a...\n clientSecret: H2n***\n emailVerified: true\n isAutoCreation: false\n isAutoUpdate: true\n isCreationAllowed: true\n isLinkingAllowed: false\n scopes:\n - openid\n - profile\n - email\n - User.Read\n tenantType: AZURE_AD_TENANT_TYPE_ORGANISATIONS\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid[:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/idpAzureAd:IdpAzureAd imported '123456789012345678:12345678-1234-1234-1234-123456789012'\n```\n\n ", + "description": "Resource representing an Azure AD IDP on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@scoretechnologies/zitadel\";\n\nconst _default = new zitadel.IdpAzureAd(\"default\", {\n clientId: \"9065bfc8-a08a...\",\n clientSecret: \"H2n***\",\n emailVerified: true,\n isAutoCreation: false,\n isAutoUpdate: true,\n isCreationAllowed: true,\n isLinkingAllowed: false,\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n \"User.Read\",\n ],\n tenantType: \"AZURE_AD_TENANT_TYPE_ORGANISATIONS\",\n});\n```\n```python\nimport pulumi\nimport scoretechnologies_zitadel as zitadel\n\ndefault = zitadel.IdpAzureAd(\"default\",\n client_id=\"9065bfc8-a08a...\",\n client_secret=\"H2n***\",\n email_verified=True,\n is_auto_creation=False,\n is_auto_update=True,\n is_creation_allowed=True,\n is_linking_allowed=False,\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n \"User.Read\",\n ],\n tenant_type=\"AZURE_AD_TENANT_TYPE_ORGANISATIONS\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = scoretechnologies.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.IdpAzureAd(\"default\", new()\n {\n ClientId = \"9065bfc8-a08a...\",\n ClientSecret = \"H2n***\",\n EmailVerified = true,\n IsAutoCreation = false,\n IsAutoUpdate = true,\n IsCreationAllowed = true,\n IsLinkingAllowed = false,\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n \"User.Read\",\n },\n TenantType = \"AZURE_AD_TENANT_TYPE_ORGANISATIONS\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewIdpAzureAd(ctx, \"default\", \u0026zitadel.IdpAzureAdArgs{\n\t\t\tClientId: pulumi.String(\"9065bfc8-a08a...\"),\n\t\t\tClientSecret: pulumi.String(\"H2n***\"),\n\t\t\tEmailVerified: pulumi.Bool(true),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t\tpulumi.String(\"User.Read\"),\n\t\t\t},\n\t\t\tTenantType: pulumi.String(\"AZURE_AD_TENANT_TYPE_ORGANISATIONS\"),\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.zitadel.IdpAzureAd;\nimport com.pulumi.zitadel.IdpAzureAdArgs;\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 default_ = new IdpAzureAd(\"default\", IdpAzureAdArgs.builder() \n .clientId(\"9065bfc8-a08a...\")\n .clientSecret(\"H2n***\")\n .emailVerified(true)\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .isCreationAllowed(true)\n .isLinkingAllowed(false)\n .scopes( \n \"openid\",\n \"profile\",\n \"email\",\n \"User.Read\")\n .tenantType(\"AZURE_AD_TENANT_TYPE_ORGANISATIONS\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:IdpAzureAd\n properties:\n clientId: 9065bfc8-a08a...\n clientSecret: H2n***\n emailVerified: true\n isAutoCreation: false\n isAutoUpdate: true\n isCreationAllowed: true\n isLinkingAllowed: false\n scopes:\n - openid\n - profile\n - email\n - User.Read\n tenantType: AZURE_AD_TENANT_TYPE_ORGANISATIONS\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid[:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/idpAzureAd:IdpAzureAd imported '123456789012345678:12345678-1234-1234-1234-123456789012'\n```\n\n ", "properties": { "clientId": { "type": "string", @@ -2289,7 +2289,7 @@ } }, "zitadel:index/idpGithub:IdpGithub": { - "description": "Resource representing a GitHub IDP on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.IdpGithub(\"default\", {\n clientId: \"86a165...\",\n clientSecret: \"*****afdbac18\",\n isAutoCreation: false,\n isAutoUpdate: true,\n isCreationAllowed: true,\n isLinkingAllowed: false,\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.IdpGithub(\"default\",\n client_id=\"86a165...\",\n client_secret=\"*****afdbac18\",\n is_auto_creation=False,\n is_auto_update=True,\n is_creation_allowed=True,\n is_linking_allowed=False,\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.IdpGithub(\"default\", new()\n {\n ClientId = \"86a165...\",\n ClientSecret = \"*****afdbac18\",\n IsAutoCreation = false,\n IsAutoUpdate = true,\n IsCreationAllowed = true,\n IsLinkingAllowed = false,\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewIdpGithub(ctx, \"default\", \u0026zitadel.IdpGithubArgs{\n\t\t\tClientId: pulumi.String(\"86a165...\"),\n\t\t\tClientSecret: pulumi.String(\"*****afdbac18\"),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\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.zitadel.IdpGithub;\nimport com.pulumi.zitadel.IdpGithubArgs;\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 default_ = new IdpGithub(\"default\", IdpGithubArgs.builder() \n .clientId(\"86a165...\")\n .clientSecret(\"*****afdbac18\")\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .isCreationAllowed(true)\n .isLinkingAllowed(false)\n .scopes( \n \"openid\",\n \"profile\",\n \"email\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:IdpGithub\n properties:\n clientId: 86a165...\n clientSecret: '*****afdbac18'\n isAutoCreation: false\n isAutoUpdate: true\n isCreationAllowed: true\n isLinkingAllowed: false\n scopes:\n - openid\n - profile\n - email\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid[:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/idpGithub:IdpGithub imported '123456789012345678:1234567890123456781234567890123456787890'\n```\n\n ", + "description": "Resource representing a GitHub IDP on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@scoretechnologies/zitadel\";\n\nconst _default = new zitadel.IdpGithub(\"default\", {\n clientId: \"86a165...\",\n clientSecret: \"*****afdbac18\",\n isAutoCreation: false,\n isAutoUpdate: true,\n isCreationAllowed: true,\n isLinkingAllowed: false,\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n ],\n});\n```\n```python\nimport pulumi\nimport scoretechnologies_zitadel as zitadel\n\ndefault = zitadel.IdpGithub(\"default\",\n client_id=\"86a165...\",\n client_secret=\"*****afdbac18\",\n is_auto_creation=False,\n is_auto_update=True,\n is_creation_allowed=True,\n is_linking_allowed=False,\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = scoretechnologies.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.IdpGithub(\"default\", new()\n {\n ClientId = \"86a165...\",\n ClientSecret = \"*****afdbac18\",\n IsAutoCreation = false,\n IsAutoUpdate = true,\n IsCreationAllowed = true,\n IsLinkingAllowed = false,\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewIdpGithub(ctx, \"default\", \u0026zitadel.IdpGithubArgs{\n\t\t\tClientId: pulumi.String(\"86a165...\"),\n\t\t\tClientSecret: pulumi.String(\"*****afdbac18\"),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\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.zitadel.IdpGithub;\nimport com.pulumi.zitadel.IdpGithubArgs;\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 default_ = new IdpGithub(\"default\", IdpGithubArgs.builder() \n .clientId(\"86a165...\")\n .clientSecret(\"*****afdbac18\")\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .isCreationAllowed(true)\n .isLinkingAllowed(false)\n .scopes( \n \"openid\",\n \"profile\",\n \"email\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:IdpGithub\n properties:\n clientId: 86a165...\n clientSecret: '*****afdbac18'\n isAutoCreation: false\n isAutoUpdate: true\n isCreationAllowed: true\n isLinkingAllowed: false\n scopes:\n - openid\n - profile\n - email\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid[:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/idpGithub:IdpGithub imported '123456789012345678:1234567890123456781234567890123456787890'\n```\n\n ", "properties": { "clientId": { "type": "string", @@ -2427,7 +2427,7 @@ } }, "zitadel:index/idpGithubEs:IdpGithubEs": { - "description": "Resource representing a GitHub Enterprise IDP on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.IdpGithubEs(\"default\", {\n authorizationEndpoint: \"https://auth.endpoint\",\n clientId: \"86a165...\",\n clientSecret: \"*****afdbac18\",\n isAutoCreation: false,\n isAutoUpdate: true,\n isCreationAllowed: true,\n isLinkingAllowed: false,\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n ],\n tokenEndpoint: \"https://token.endpoint\",\n userEndpoint: \"https://user.endpoint\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.IdpGithubEs(\"default\",\n authorization_endpoint=\"https://auth.endpoint\",\n client_id=\"86a165...\",\n client_secret=\"*****afdbac18\",\n is_auto_creation=False,\n is_auto_update=True,\n is_creation_allowed=True,\n is_linking_allowed=False,\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n ],\n token_endpoint=\"https://token.endpoint\",\n user_endpoint=\"https://user.endpoint\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.IdpGithubEs(\"default\", new()\n {\n AuthorizationEndpoint = \"https://auth.endpoint\",\n ClientId = \"86a165...\",\n ClientSecret = \"*****afdbac18\",\n IsAutoCreation = false,\n IsAutoUpdate = true,\n IsCreationAllowed = true,\n IsLinkingAllowed = false,\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n },\n TokenEndpoint = \"https://token.endpoint\",\n UserEndpoint = \"https://user.endpoint\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewIdpGithubEs(ctx, \"default\", \u0026zitadel.IdpGithubEsArgs{\n\t\t\tAuthorizationEndpoint: pulumi.String(\"https://auth.endpoint\"),\n\t\t\tClientId: pulumi.String(\"86a165...\"),\n\t\t\tClientSecret: pulumi.String(\"*****afdbac18\"),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t},\n\t\t\tTokenEndpoint: pulumi.String(\"https://token.endpoint\"),\n\t\t\tUserEndpoint: pulumi.String(\"https://user.endpoint\"),\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.zitadel.IdpGithubEs;\nimport com.pulumi.zitadel.IdpGithubEsArgs;\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 default_ = new IdpGithubEs(\"default\", IdpGithubEsArgs.builder() \n .authorizationEndpoint(\"https://auth.endpoint\")\n .clientId(\"86a165...\")\n .clientSecret(\"*****afdbac18\")\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .isCreationAllowed(true)\n .isLinkingAllowed(false)\n .scopes( \n \"openid\",\n \"profile\",\n \"email\")\n .tokenEndpoint(\"https://token.endpoint\")\n .userEndpoint(\"https://user.endpoint\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:IdpGithubEs\n properties:\n authorizationEndpoint: https://auth.endpoint\n clientId: 86a165...\n clientSecret: '*****afdbac18'\n isAutoCreation: false\n isAutoUpdate: true\n isCreationAllowed: true\n isLinkingAllowed: false\n scopes:\n - openid\n - profile\n - email\n tokenEndpoint: https://token.endpoint\n userEndpoint: https://user.endpoint\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid[:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/idpGithubEs:IdpGithubEs imported '123456789012345678:1234567890123456781234567890123456787890'\n```\n\n ", + "description": "Resource representing a GitHub Enterprise IDP on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@scoretechnologies/zitadel\";\n\nconst _default = new zitadel.IdpGithubEs(\"default\", {\n authorizationEndpoint: \"https://auth.endpoint\",\n clientId: \"86a165...\",\n clientSecret: \"*****afdbac18\",\n isAutoCreation: false,\n isAutoUpdate: true,\n isCreationAllowed: true,\n isLinkingAllowed: false,\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n ],\n tokenEndpoint: \"https://token.endpoint\",\n userEndpoint: \"https://user.endpoint\",\n});\n```\n```python\nimport pulumi\nimport scoretechnologies_zitadel as zitadel\n\ndefault = zitadel.IdpGithubEs(\"default\",\n authorization_endpoint=\"https://auth.endpoint\",\n client_id=\"86a165...\",\n client_secret=\"*****afdbac18\",\n is_auto_creation=False,\n is_auto_update=True,\n is_creation_allowed=True,\n is_linking_allowed=False,\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n ],\n token_endpoint=\"https://token.endpoint\",\n user_endpoint=\"https://user.endpoint\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = scoretechnologies.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.IdpGithubEs(\"default\", new()\n {\n AuthorizationEndpoint = \"https://auth.endpoint\",\n ClientId = \"86a165...\",\n ClientSecret = \"*****afdbac18\",\n IsAutoCreation = false,\n IsAutoUpdate = true,\n IsCreationAllowed = true,\n IsLinkingAllowed = false,\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n },\n TokenEndpoint = \"https://token.endpoint\",\n UserEndpoint = \"https://user.endpoint\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewIdpGithubEs(ctx, \"default\", \u0026zitadel.IdpGithubEsArgs{\n\t\t\tAuthorizationEndpoint: pulumi.String(\"https://auth.endpoint\"),\n\t\t\tClientId: pulumi.String(\"86a165...\"),\n\t\t\tClientSecret: pulumi.String(\"*****afdbac18\"),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t},\n\t\t\tTokenEndpoint: pulumi.String(\"https://token.endpoint\"),\n\t\t\tUserEndpoint: pulumi.String(\"https://user.endpoint\"),\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.zitadel.IdpGithubEs;\nimport com.pulumi.zitadel.IdpGithubEsArgs;\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 default_ = new IdpGithubEs(\"default\", IdpGithubEsArgs.builder() \n .authorizationEndpoint(\"https://auth.endpoint\")\n .clientId(\"86a165...\")\n .clientSecret(\"*****afdbac18\")\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .isCreationAllowed(true)\n .isLinkingAllowed(false)\n .scopes( \n \"openid\",\n \"profile\",\n \"email\")\n .tokenEndpoint(\"https://token.endpoint\")\n .userEndpoint(\"https://user.endpoint\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:IdpGithubEs\n properties:\n authorizationEndpoint: https://auth.endpoint\n clientId: 86a165...\n clientSecret: '*****afdbac18'\n isAutoCreation: false\n isAutoUpdate: true\n isCreationAllowed: true\n isLinkingAllowed: false\n scopes:\n - openid\n - profile\n - email\n tokenEndpoint: https://token.endpoint\n userEndpoint: https://user.endpoint\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid[:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/idpGithubEs:IdpGithubEs imported '123456789012345678:1234567890123456781234567890123456787890'\n```\n\n ", "properties": { "authorizationEndpoint": { "type": "string", @@ -2607,7 +2607,7 @@ } }, "zitadel:index/idpGitlab:IdpGitlab": { - "description": "Resource representing a GitLab IDP on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.IdpGitlab(\"default\", {\n clientId: \"15765e...\",\n clientSecret: \"*****abcxyz\",\n isAutoCreation: false,\n isAutoUpdate: true,\n isCreationAllowed: true,\n isLinkingAllowed: false,\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.IdpGitlab(\"default\",\n client_id=\"15765e...\",\n client_secret=\"*****abcxyz\",\n is_auto_creation=False,\n is_auto_update=True,\n is_creation_allowed=True,\n is_linking_allowed=False,\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.IdpGitlab(\"default\", new()\n {\n ClientId = \"15765e...\",\n ClientSecret = \"*****abcxyz\",\n IsAutoCreation = false,\n IsAutoUpdate = true,\n IsCreationAllowed = true,\n IsLinkingAllowed = false,\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewIdpGitlab(ctx, \"default\", \u0026zitadel.IdpGitlabArgs{\n\t\t\tClientId: pulumi.String(\"15765e...\"),\n\t\t\tClientSecret: pulumi.String(\"*****abcxyz\"),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\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.zitadel.IdpGitlab;\nimport com.pulumi.zitadel.IdpGitlabArgs;\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 default_ = new IdpGitlab(\"default\", IdpGitlabArgs.builder() \n .clientId(\"15765e...\")\n .clientSecret(\"*****abcxyz\")\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .isCreationAllowed(true)\n .isLinkingAllowed(false)\n .scopes( \n \"openid\",\n \"profile\",\n \"email\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:IdpGitlab\n properties:\n clientId: 15765e...\n clientSecret: '*****abcxyz'\n isAutoCreation: false\n isAutoUpdate: true\n isCreationAllowed: true\n isLinkingAllowed: false\n scopes:\n - openid\n - profile\n - email\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid[:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/idpGitlab:IdpGitlab imported '123456789012345678:1234567890abcdef'\n```\n\n ", + "description": "Resource representing a GitLab IDP on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@scoretechnologies/zitadel\";\n\nconst _default = new zitadel.IdpGitlab(\"default\", {\n clientId: \"15765e...\",\n clientSecret: \"*****abcxyz\",\n isAutoCreation: false,\n isAutoUpdate: true,\n isCreationAllowed: true,\n isLinkingAllowed: false,\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n ],\n});\n```\n```python\nimport pulumi\nimport scoretechnologies_zitadel as zitadel\n\ndefault = zitadel.IdpGitlab(\"default\",\n client_id=\"15765e...\",\n client_secret=\"*****abcxyz\",\n is_auto_creation=False,\n is_auto_update=True,\n is_creation_allowed=True,\n is_linking_allowed=False,\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = scoretechnologies.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.IdpGitlab(\"default\", new()\n {\n ClientId = \"15765e...\",\n ClientSecret = \"*****abcxyz\",\n IsAutoCreation = false,\n IsAutoUpdate = true,\n IsCreationAllowed = true,\n IsLinkingAllowed = false,\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewIdpGitlab(ctx, \"default\", \u0026zitadel.IdpGitlabArgs{\n\t\t\tClientId: pulumi.String(\"15765e...\"),\n\t\t\tClientSecret: pulumi.String(\"*****abcxyz\"),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\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.zitadel.IdpGitlab;\nimport com.pulumi.zitadel.IdpGitlabArgs;\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 default_ = new IdpGitlab(\"default\", IdpGitlabArgs.builder() \n .clientId(\"15765e...\")\n .clientSecret(\"*****abcxyz\")\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .isCreationAllowed(true)\n .isLinkingAllowed(false)\n .scopes( \n \"openid\",\n \"profile\",\n \"email\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:IdpGitlab\n properties:\n clientId: 15765e...\n clientSecret: '*****abcxyz'\n isAutoCreation: false\n isAutoUpdate: true\n isCreationAllowed: true\n isLinkingAllowed: false\n scopes:\n - openid\n - profile\n - email\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid[:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/idpGitlab:IdpGitlab imported '123456789012345678:1234567890abcdef'\n```\n\n ", "properties": { "clientId": { "type": "string", @@ -2745,7 +2745,7 @@ } }, "zitadel:index/idpGitlabSelfHosted:IdpGitlabSelfHosted": { - "description": "Resource representing a GitLab Self Hosted IDP on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.IdpGitlabSelfHosted(\"default\", {\n clientId: \"15765e...\",\n clientSecret: \"*****abcxyz\",\n isAutoCreation: false,\n isAutoUpdate: true,\n isCreationAllowed: true,\n isLinkingAllowed: false,\n issuer: \"https://my.issuer\",\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.IdpGitlabSelfHosted(\"default\",\n client_id=\"15765e...\",\n client_secret=\"*****abcxyz\",\n is_auto_creation=False,\n is_auto_update=True,\n is_creation_allowed=True,\n is_linking_allowed=False,\n issuer=\"https://my.issuer\",\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.IdpGitlabSelfHosted(\"default\", new()\n {\n ClientId = \"15765e...\",\n ClientSecret = \"*****abcxyz\",\n IsAutoCreation = false,\n IsAutoUpdate = true,\n IsCreationAllowed = true,\n IsLinkingAllowed = false,\n Issuer = \"https://my.issuer\",\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewIdpGitlabSelfHosted(ctx, \"default\", \u0026zitadel.IdpGitlabSelfHostedArgs{\n\t\t\tClientId: pulumi.String(\"15765e...\"),\n\t\t\tClientSecret: pulumi.String(\"*****abcxyz\"),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tIssuer: pulumi.String(\"https://my.issuer\"),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\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.zitadel.IdpGitlabSelfHosted;\nimport com.pulumi.zitadel.IdpGitlabSelfHostedArgs;\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 default_ = new IdpGitlabSelfHosted(\"default\", IdpGitlabSelfHostedArgs.builder() \n .clientId(\"15765e...\")\n .clientSecret(\"*****abcxyz\")\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .isCreationAllowed(true)\n .isLinkingAllowed(false)\n .issuer(\"https://my.issuer\")\n .scopes( \n \"openid\",\n \"profile\",\n \"email\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:IdpGitlabSelfHosted\n properties:\n clientId: 15765e...\n clientSecret: '*****abcxyz'\n isAutoCreation: false\n isAutoUpdate: true\n isCreationAllowed: true\n isLinkingAllowed: false\n issuer: https://my.issuer\n scopes:\n - openid\n - profile\n - email\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid[:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/idpGitlabSelfHosted:IdpGitlabSelfHosted imported '123456789012345678:1234567890abcdef'\n```\n\n ", + "description": "Resource representing a GitLab Self Hosted IDP on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@scoretechnologies/zitadel\";\n\nconst _default = new zitadel.IdpGitlabSelfHosted(\"default\", {\n clientId: \"15765e...\",\n clientSecret: \"*****abcxyz\",\n isAutoCreation: false,\n isAutoUpdate: true,\n isCreationAllowed: true,\n isLinkingAllowed: false,\n issuer: \"https://my.issuer\",\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n ],\n});\n```\n```python\nimport pulumi\nimport scoretechnologies_zitadel as zitadel\n\ndefault = zitadel.IdpGitlabSelfHosted(\"default\",\n client_id=\"15765e...\",\n client_secret=\"*****abcxyz\",\n is_auto_creation=False,\n is_auto_update=True,\n is_creation_allowed=True,\n is_linking_allowed=False,\n issuer=\"https://my.issuer\",\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = scoretechnologies.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.IdpGitlabSelfHosted(\"default\", new()\n {\n ClientId = \"15765e...\",\n ClientSecret = \"*****abcxyz\",\n IsAutoCreation = false,\n IsAutoUpdate = true,\n IsCreationAllowed = true,\n IsLinkingAllowed = false,\n Issuer = \"https://my.issuer\",\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewIdpGitlabSelfHosted(ctx, \"default\", \u0026zitadel.IdpGitlabSelfHostedArgs{\n\t\t\tClientId: pulumi.String(\"15765e...\"),\n\t\t\tClientSecret: pulumi.String(\"*****abcxyz\"),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tIssuer: pulumi.String(\"https://my.issuer\"),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\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.zitadel.IdpGitlabSelfHosted;\nimport com.pulumi.zitadel.IdpGitlabSelfHostedArgs;\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 default_ = new IdpGitlabSelfHosted(\"default\", IdpGitlabSelfHostedArgs.builder() \n .clientId(\"15765e...\")\n .clientSecret(\"*****abcxyz\")\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .isCreationAllowed(true)\n .isLinkingAllowed(false)\n .issuer(\"https://my.issuer\")\n .scopes( \n \"openid\",\n \"profile\",\n \"email\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:IdpGitlabSelfHosted\n properties:\n clientId: 15765e...\n clientSecret: '*****abcxyz'\n isAutoCreation: false\n isAutoUpdate: true\n isCreationAllowed: true\n isLinkingAllowed: false\n issuer: https://my.issuer\n scopes:\n - openid\n - profile\n - email\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid[:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/idpGitlabSelfHosted:IdpGitlabSelfHosted imported '123456789012345678:1234567890abcdef'\n```\n\n ", "properties": { "clientId": { "type": "string", @@ -2897,7 +2897,7 @@ } }, "zitadel:index/idpGoogle:IdpGoogle": { - "description": "Resource representing a Google IDP on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.IdpGoogle(\"default\", {\n clientId: \"182902...\",\n clientSecret: \"GOCSPX-*****\",\n isAutoCreation: false,\n isAutoUpdate: true,\n isCreationAllowed: true,\n isLinkingAllowed: false,\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.IdpGoogle(\"default\",\n client_id=\"182902...\",\n client_secret=\"GOCSPX-*****\",\n is_auto_creation=False,\n is_auto_update=True,\n is_creation_allowed=True,\n is_linking_allowed=False,\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.IdpGoogle(\"default\", new()\n {\n ClientId = \"182902...\",\n ClientSecret = \"GOCSPX-*****\",\n IsAutoCreation = false,\n IsAutoUpdate = true,\n IsCreationAllowed = true,\n IsLinkingAllowed = false,\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewIdpGoogle(ctx, \"default\", \u0026zitadel.IdpGoogleArgs{\n\t\t\tClientId: pulumi.String(\"182902...\"),\n\t\t\tClientSecret: pulumi.String(\"GOCSPX-*****\"),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\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.zitadel.IdpGoogle;\nimport com.pulumi.zitadel.IdpGoogleArgs;\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 default_ = new IdpGoogle(\"default\", IdpGoogleArgs.builder() \n .clientId(\"182902...\")\n .clientSecret(\"GOCSPX-*****\")\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .isCreationAllowed(true)\n .isLinkingAllowed(false)\n .scopes( \n \"openid\",\n \"profile\",\n \"email\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:IdpGoogle\n properties:\n clientId: 182902...\n clientSecret: GOCSPX-*****\n isAutoCreation: false\n isAutoUpdate: true\n isCreationAllowed: true\n isLinkingAllowed: false\n scopes:\n - openid\n - profile\n - email\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid[:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/idpGoogle:IdpGoogle imported '123456789012345678:G1234567890123'\n```\n\n ", + "description": "Resource representing a Google IDP on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@scoretechnologies/zitadel\";\n\nconst _default = new zitadel.IdpGoogle(\"default\", {\n clientId: \"182902...\",\n clientSecret: \"GOCSPX-*****\",\n isAutoCreation: false,\n isAutoUpdate: true,\n isCreationAllowed: true,\n isLinkingAllowed: false,\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n ],\n});\n```\n```python\nimport pulumi\nimport scoretechnologies_zitadel as zitadel\n\ndefault = zitadel.IdpGoogle(\"default\",\n client_id=\"182902...\",\n client_secret=\"GOCSPX-*****\",\n is_auto_creation=False,\n is_auto_update=True,\n is_creation_allowed=True,\n is_linking_allowed=False,\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = scoretechnologies.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.IdpGoogle(\"default\", new()\n {\n ClientId = \"182902...\",\n ClientSecret = \"GOCSPX-*****\",\n IsAutoCreation = false,\n IsAutoUpdate = true,\n IsCreationAllowed = true,\n IsLinkingAllowed = false,\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewIdpGoogle(ctx, \"default\", \u0026zitadel.IdpGoogleArgs{\n\t\t\tClientId: pulumi.String(\"182902...\"),\n\t\t\tClientSecret: pulumi.String(\"GOCSPX-*****\"),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\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.zitadel.IdpGoogle;\nimport com.pulumi.zitadel.IdpGoogleArgs;\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 default_ = new IdpGoogle(\"default\", IdpGoogleArgs.builder() \n .clientId(\"182902...\")\n .clientSecret(\"GOCSPX-*****\")\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .isCreationAllowed(true)\n .isLinkingAllowed(false)\n .scopes( \n \"openid\",\n \"profile\",\n \"email\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:IdpGoogle\n properties:\n clientId: 182902...\n clientSecret: GOCSPX-*****\n isAutoCreation: false\n isAutoUpdate: true\n isCreationAllowed: true\n isLinkingAllowed: false\n scopes:\n - openid\n - profile\n - email\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid[:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/idpGoogle:IdpGoogle imported '123456789012345678:G1234567890123'\n```\n\n ", "properties": { "clientId": { "type": "string", @@ -3035,7 +3035,7 @@ } }, "zitadel:index/idpLdap:IdpLdap": { - "description": "Resource representing an LDAP IDP on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.IdpLdap(\"default\", {\n baseDn: \"dc=example,dc=com\",\n bindDn: \"cn=admin,dc=example,dc=com\",\n bindPassword: \"Password1!\",\n firstNameAttribute: \"firstname\",\n idAttribute: \"uid\",\n isAutoCreation: false,\n isAutoUpdate: true,\n isCreationAllowed: true,\n isLinkingAllowed: false,\n lastNameAttribute: \"lastname\",\n servers: [\n \"ldaps://my.primary.server:389\",\n \"ldaps://my.secondary.server:389\",\n ],\n startTls: false,\n timeout: \"10s\",\n userBase: \"dn\",\n userFilters: [\n \"uid\",\n \"email\",\n ],\n userObjectClasses: [\"inetOrgPerson\"],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.IdpLdap(\"default\",\n base_dn=\"dc=example,dc=com\",\n bind_dn=\"cn=admin,dc=example,dc=com\",\n bind_password=\"Password1!\",\n first_name_attribute=\"firstname\",\n id_attribute=\"uid\",\n is_auto_creation=False,\n is_auto_update=True,\n is_creation_allowed=True,\n is_linking_allowed=False,\n last_name_attribute=\"lastname\",\n servers=[\n \"ldaps://my.primary.server:389\",\n \"ldaps://my.secondary.server:389\",\n ],\n start_tls=False,\n timeout=\"10s\",\n user_base=\"dn\",\n user_filters=[\n \"uid\",\n \"email\",\n ],\n user_object_classes=[\"inetOrgPerson\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.IdpLdap(\"default\", new()\n {\n BaseDn = \"dc=example,dc=com\",\n BindDn = \"cn=admin,dc=example,dc=com\",\n BindPassword = \"Password1!\",\n FirstNameAttribute = \"firstname\",\n IdAttribute = \"uid\",\n IsAutoCreation = false,\n IsAutoUpdate = true,\n IsCreationAllowed = true,\n IsLinkingAllowed = false,\n LastNameAttribute = \"lastname\",\n Servers = new[]\n {\n \"ldaps://my.primary.server:389\",\n \"ldaps://my.secondary.server:389\",\n },\n StartTls = false,\n Timeout = \"10s\",\n UserBase = \"dn\",\n UserFilters = new[]\n {\n \"uid\",\n \"email\",\n },\n UserObjectClasses = new[]\n {\n \"inetOrgPerson\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewIdpLdap(ctx, \"default\", \u0026zitadel.IdpLdapArgs{\n\t\t\tBaseDn: pulumi.String(\"dc=example,dc=com\"),\n\t\t\tBindDn: pulumi.String(\"cn=admin,dc=example,dc=com\"),\n\t\t\tBindPassword: pulumi.String(\"Password1!\"),\n\t\t\tFirstNameAttribute: pulumi.String(\"firstname\"),\n\t\t\tIdAttribute: pulumi.String(\"uid\"),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tLastNameAttribute: pulumi.String(\"lastname\"),\n\t\t\tServers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ldaps://my.primary.server:389\"),\n\t\t\t\tpulumi.String(\"ldaps://my.secondary.server:389\"),\n\t\t\t},\n\t\t\tStartTls: pulumi.Bool(false),\n\t\t\tTimeout: pulumi.String(\"10s\"),\n\t\t\tUserBase: pulumi.String(\"dn\"),\n\t\t\tUserFilters: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"uid\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t},\n\t\t\tUserObjectClasses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"inetOrgPerson\"),\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.zitadel.IdpLdap;\nimport com.pulumi.zitadel.IdpLdapArgs;\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 default_ = new IdpLdap(\"default\", IdpLdapArgs.builder() \n .baseDn(\"dc=example,dc=com\")\n .bindDn(\"cn=admin,dc=example,dc=com\")\n .bindPassword(\"Password1!\")\n .firstNameAttribute(\"firstname\")\n .idAttribute(\"uid\")\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .isCreationAllowed(true)\n .isLinkingAllowed(false)\n .lastNameAttribute(\"lastname\")\n .servers( \n \"ldaps://my.primary.server:389\",\n \"ldaps://my.secondary.server:389\")\n .startTls(false)\n .timeout(\"10s\")\n .userBase(\"dn\")\n .userFilters( \n \"uid\",\n \"email\")\n .userObjectClasses(\"inetOrgPerson\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:IdpLdap\n properties:\n baseDn: dc=example,dc=com\n bindDn: cn=admin,dc=example,dc=com\n bindPassword: Password1!\n firstNameAttribute: firstname\n idAttribute: uid\n isAutoCreation: false\n isAutoUpdate: true\n isCreationAllowed: true\n isLinkingAllowed: false\n lastNameAttribute: lastname\n servers:\n - ldaps://my.primary.server:389\n - ldaps://my.secondary.server:389\n startTls: false\n timeout: 10s\n userBase: dn\n userFilters:\n - uid\n - email\n userObjectClasses:\n - inetOrgPerson\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid[:bind_password]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/idpLdap:IdpLdap imported '123456789012345678:b1nd_p4ssw0rd'\n```\n\n ", + "description": "Resource representing an LDAP IDP on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@scoretechnologies/zitadel\";\n\nconst _default = new zitadel.IdpLdap(\"default\", {\n baseDn: \"dc=example,dc=com\",\n bindDn: \"cn=admin,dc=example,dc=com\",\n bindPassword: \"Password1!\",\n firstNameAttribute: \"firstname\",\n idAttribute: \"uid\",\n isAutoCreation: false,\n isAutoUpdate: true,\n isCreationAllowed: true,\n isLinkingAllowed: false,\n lastNameAttribute: \"lastname\",\n servers: [\n \"ldaps://my.primary.server:389\",\n \"ldaps://my.secondary.server:389\",\n ],\n startTls: false,\n timeout: \"10s\",\n userBase: \"dn\",\n userFilters: [\n \"uid\",\n \"email\",\n ],\n userObjectClasses: [\"inetOrgPerson\"],\n});\n```\n```python\nimport pulumi\nimport scoretechnologies_zitadel as zitadel\n\ndefault = zitadel.IdpLdap(\"default\",\n base_dn=\"dc=example,dc=com\",\n bind_dn=\"cn=admin,dc=example,dc=com\",\n bind_password=\"Password1!\",\n first_name_attribute=\"firstname\",\n id_attribute=\"uid\",\n is_auto_creation=False,\n is_auto_update=True,\n is_creation_allowed=True,\n is_linking_allowed=False,\n last_name_attribute=\"lastname\",\n servers=[\n \"ldaps://my.primary.server:389\",\n \"ldaps://my.secondary.server:389\",\n ],\n start_tls=False,\n timeout=\"10s\",\n user_base=\"dn\",\n user_filters=[\n \"uid\",\n \"email\",\n ],\n user_object_classes=[\"inetOrgPerson\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = scoretechnologies.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.IdpLdap(\"default\", new()\n {\n BaseDn = \"dc=example,dc=com\",\n BindDn = \"cn=admin,dc=example,dc=com\",\n BindPassword = \"Password1!\",\n FirstNameAttribute = \"firstname\",\n IdAttribute = \"uid\",\n IsAutoCreation = false,\n IsAutoUpdate = true,\n IsCreationAllowed = true,\n IsLinkingAllowed = false,\n LastNameAttribute = \"lastname\",\n Servers = new[]\n {\n \"ldaps://my.primary.server:389\",\n \"ldaps://my.secondary.server:389\",\n },\n StartTls = false,\n Timeout = \"10s\",\n UserBase = \"dn\",\n UserFilters = new[]\n {\n \"uid\",\n \"email\",\n },\n UserObjectClasses = new[]\n {\n \"inetOrgPerson\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewIdpLdap(ctx, \"default\", \u0026zitadel.IdpLdapArgs{\n\t\t\tBaseDn: pulumi.String(\"dc=example,dc=com\"),\n\t\t\tBindDn: pulumi.String(\"cn=admin,dc=example,dc=com\"),\n\t\t\tBindPassword: pulumi.String(\"Password1!\"),\n\t\t\tFirstNameAttribute: pulumi.String(\"firstname\"),\n\t\t\tIdAttribute: pulumi.String(\"uid\"),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tLastNameAttribute: pulumi.String(\"lastname\"),\n\t\t\tServers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ldaps://my.primary.server:389\"),\n\t\t\t\tpulumi.String(\"ldaps://my.secondary.server:389\"),\n\t\t\t},\n\t\t\tStartTls: pulumi.Bool(false),\n\t\t\tTimeout: pulumi.String(\"10s\"),\n\t\t\tUserBase: pulumi.String(\"dn\"),\n\t\t\tUserFilters: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"uid\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t},\n\t\t\tUserObjectClasses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"inetOrgPerson\"),\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.zitadel.IdpLdap;\nimport com.pulumi.zitadel.IdpLdapArgs;\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 default_ = new IdpLdap(\"default\", IdpLdapArgs.builder() \n .baseDn(\"dc=example,dc=com\")\n .bindDn(\"cn=admin,dc=example,dc=com\")\n .bindPassword(\"Password1!\")\n .firstNameAttribute(\"firstname\")\n .idAttribute(\"uid\")\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .isCreationAllowed(true)\n .isLinkingAllowed(false)\n .lastNameAttribute(\"lastname\")\n .servers( \n \"ldaps://my.primary.server:389\",\n \"ldaps://my.secondary.server:389\")\n .startTls(false)\n .timeout(\"10s\")\n .userBase(\"dn\")\n .userFilters( \n \"uid\",\n \"email\")\n .userObjectClasses(\"inetOrgPerson\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:IdpLdap\n properties:\n baseDn: dc=example,dc=com\n bindDn: cn=admin,dc=example,dc=com\n bindPassword: Password1!\n firstNameAttribute: firstname\n idAttribute: uid\n isAutoCreation: false\n isAutoUpdate: true\n isCreationAllowed: true\n isLinkingAllowed: false\n lastNameAttribute: lastname\n servers:\n - ldaps://my.primary.server:389\n - ldaps://my.secondary.server:389\n startTls: false\n timeout: 10s\n userBase: dn\n userFilters:\n - uid\n - email\n userObjectClasses:\n - inetOrgPerson\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid[:bind_password]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/idpLdap:IdpLdap imported '123456789012345678:b1nd_p4ssw0rd'\n```\n\n ", "properties": { "avatarUrlAttribute": { "type": "string", @@ -3433,7 +3433,7 @@ } }, "zitadel:index/idpOauth:IdpOauth": { - "description": "Resource representing a generic OAuth2 IDP on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.IdpOauth(\"default\", {\n authorizationEndpoint: \"https://accounts.google.com/o/oauth2/v2/auth\",\n clientId: \"15765e...\",\n clientSecret: \"*****abcxyz\",\n idAttribute: \"user_id\",\n isAutoCreation: false,\n isAutoUpdate: true,\n isCreationAllowed: true,\n isLinkingAllowed: false,\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n ],\n tokenEndpoint: \"https://oauth2.googleapis.com/token\",\n userEndpoint: \"https://openidconnect.googleapis.com/v1/userinfo\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.IdpOauth(\"default\",\n authorization_endpoint=\"https://accounts.google.com/o/oauth2/v2/auth\",\n client_id=\"15765e...\",\n client_secret=\"*****abcxyz\",\n id_attribute=\"user_id\",\n is_auto_creation=False,\n is_auto_update=True,\n is_creation_allowed=True,\n is_linking_allowed=False,\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n ],\n token_endpoint=\"https://oauth2.googleapis.com/token\",\n user_endpoint=\"https://openidconnect.googleapis.com/v1/userinfo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.IdpOauth(\"default\", new()\n {\n AuthorizationEndpoint = \"https://accounts.google.com/o/oauth2/v2/auth\",\n ClientId = \"15765e...\",\n ClientSecret = \"*****abcxyz\",\n IdAttribute = \"user_id\",\n IsAutoCreation = false,\n IsAutoUpdate = true,\n IsCreationAllowed = true,\n IsLinkingAllowed = false,\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n },\n TokenEndpoint = \"https://oauth2.googleapis.com/token\",\n UserEndpoint = \"https://openidconnect.googleapis.com/v1/userinfo\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewIdpOauth(ctx, \"default\", \u0026zitadel.IdpOauthArgs{\n\t\t\tAuthorizationEndpoint: pulumi.String(\"https://accounts.google.com/o/oauth2/v2/auth\"),\n\t\t\tClientId: pulumi.String(\"15765e...\"),\n\t\t\tClientSecret: pulumi.String(\"*****abcxyz\"),\n\t\t\tIdAttribute: pulumi.String(\"user_id\"),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t},\n\t\t\tTokenEndpoint: pulumi.String(\"https://oauth2.googleapis.com/token\"),\n\t\t\tUserEndpoint: pulumi.String(\"https://openidconnect.googleapis.com/v1/userinfo\"),\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.zitadel.IdpOauth;\nimport com.pulumi.zitadel.IdpOauthArgs;\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 default_ = new IdpOauth(\"default\", IdpOauthArgs.builder() \n .authorizationEndpoint(\"https://accounts.google.com/o/oauth2/v2/auth\")\n .clientId(\"15765e...\")\n .clientSecret(\"*****abcxyz\")\n .idAttribute(\"user_id\")\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .isCreationAllowed(true)\n .isLinkingAllowed(false)\n .scopes( \n \"openid\",\n \"profile\",\n \"email\")\n .tokenEndpoint(\"https://oauth2.googleapis.com/token\")\n .userEndpoint(\"https://openidconnect.googleapis.com/v1/userinfo\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:IdpOauth\n properties:\n authorizationEndpoint: https://accounts.google.com/o/oauth2/v2/auth\n clientId: 15765e...\n clientSecret: '*****abcxyz'\n idAttribute: user_id\n isAutoCreation: false\n isAutoUpdate: true\n isCreationAllowed: true\n isLinkingAllowed: false\n scopes:\n - openid\n - profile\n - email\n tokenEndpoint: https://oauth2.googleapis.com/token\n userEndpoint: https://openidconnect.googleapis.com/v1/userinfo\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid[:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/idpOauth:IdpOauth imported '123456789012345678:1234567890abcdef'\n```\n\n ", + "description": "Resource representing a generic OAuth2 IDP on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@scoretechnologies/zitadel\";\n\nconst _default = new zitadel.IdpOauth(\"default\", {\n authorizationEndpoint: \"https://accounts.google.com/o/oauth2/v2/auth\",\n clientId: \"15765e...\",\n clientSecret: \"*****abcxyz\",\n idAttribute: \"user_id\",\n isAutoCreation: false,\n isAutoUpdate: true,\n isCreationAllowed: true,\n isLinkingAllowed: false,\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n ],\n tokenEndpoint: \"https://oauth2.googleapis.com/token\",\n userEndpoint: \"https://openidconnect.googleapis.com/v1/userinfo\",\n});\n```\n```python\nimport pulumi\nimport scoretechnologies_zitadel as zitadel\n\ndefault = zitadel.IdpOauth(\"default\",\n authorization_endpoint=\"https://accounts.google.com/o/oauth2/v2/auth\",\n client_id=\"15765e...\",\n client_secret=\"*****abcxyz\",\n id_attribute=\"user_id\",\n is_auto_creation=False,\n is_auto_update=True,\n is_creation_allowed=True,\n is_linking_allowed=False,\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n ],\n token_endpoint=\"https://oauth2.googleapis.com/token\",\n user_endpoint=\"https://openidconnect.googleapis.com/v1/userinfo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = scoretechnologies.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.IdpOauth(\"default\", new()\n {\n AuthorizationEndpoint = \"https://accounts.google.com/o/oauth2/v2/auth\",\n ClientId = \"15765e...\",\n ClientSecret = \"*****abcxyz\",\n IdAttribute = \"user_id\",\n IsAutoCreation = false,\n IsAutoUpdate = true,\n IsCreationAllowed = true,\n IsLinkingAllowed = false,\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n },\n TokenEndpoint = \"https://oauth2.googleapis.com/token\",\n UserEndpoint = \"https://openidconnect.googleapis.com/v1/userinfo\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewIdpOauth(ctx, \"default\", \u0026zitadel.IdpOauthArgs{\n\t\t\tAuthorizationEndpoint: pulumi.String(\"https://accounts.google.com/o/oauth2/v2/auth\"),\n\t\t\tClientId: pulumi.String(\"15765e...\"),\n\t\t\tClientSecret: pulumi.String(\"*****abcxyz\"),\n\t\t\tIdAttribute: pulumi.String(\"user_id\"),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t},\n\t\t\tTokenEndpoint: pulumi.String(\"https://oauth2.googleapis.com/token\"),\n\t\t\tUserEndpoint: pulumi.String(\"https://openidconnect.googleapis.com/v1/userinfo\"),\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.zitadel.IdpOauth;\nimport com.pulumi.zitadel.IdpOauthArgs;\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 default_ = new IdpOauth(\"default\", IdpOauthArgs.builder() \n .authorizationEndpoint(\"https://accounts.google.com/o/oauth2/v2/auth\")\n .clientId(\"15765e...\")\n .clientSecret(\"*****abcxyz\")\n .idAttribute(\"user_id\")\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .isCreationAllowed(true)\n .isLinkingAllowed(false)\n .scopes( \n \"openid\",\n \"profile\",\n \"email\")\n .tokenEndpoint(\"https://oauth2.googleapis.com/token\")\n .userEndpoint(\"https://openidconnect.googleapis.com/v1/userinfo\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:IdpOauth\n properties:\n authorizationEndpoint: https://accounts.google.com/o/oauth2/v2/auth\n clientId: 15765e...\n clientSecret: '*****abcxyz'\n idAttribute: user_id\n isAutoCreation: false\n isAutoUpdate: true\n isCreationAllowed: true\n isLinkingAllowed: false\n scopes:\n - openid\n - profile\n - email\n tokenEndpoint: https://oauth2.googleapis.com/token\n userEndpoint: https://openidconnect.googleapis.com/v1/userinfo\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid[:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/idpOauth:IdpOauth imported '123456789012345678:1234567890abcdef'\n```\n\n ", "properties": { "authorizationEndpoint": { "type": "string", @@ -3627,7 +3627,7 @@ } }, "zitadel:index/idpSaml:IdpSaml": { - "description": "Resource representing a SAML IDP on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.IdpSaml(\"default\", {\n binding: \"SAML_BINDING_POST\",\n isAutoCreation: false,\n isAutoUpdate: true,\n isCreationAllowed: true,\n isLinkingAllowed: false,\n metadataXml: `\u003c?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?\u003e\n\u003cmd:EntityDescriptor xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\" entityID=\"https://saml.example.com/entityid\" validUntil=\"2034-05-15T14:21:58.979Z\"\u003e\n \u003cmd:IDPSSODescriptor WantAuthnRequestsSigned=\"true\" protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\"\u003e\n \u003cmd:KeyDescriptor use=\"signing\"\u003e\n \u003cds:KeyInfo xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\"\u003e\n \u003cds:X509Data\u003e\n \u003cds:X509Certificate\u003eMIIC4jCCAcoCCQC33wnybT5QZDANBgkqhkiG9w0BAQsFADAyMQswCQYDVQQGEwJV\nSzEPMA0GA1UECgwGQm94eUhRMRIwEAYDVQQDDAlNb2NrIFNBTUwwIBcNMjIwMjI4\nMjE0NjM4WhgPMzAyMTA3MDEyMTQ2MzhaMDIxCzAJBgNVBAYTAlVLMQ8wDQYDVQQK\nDAZCb3h5SFExEjAQBgNVBAMMCU1vY2sgU0FNTDCCASIwDQYJKoZIhvcNAQEBBQAD\nggEPADCCAQoCggEBALGfYettMsct1T6tVUwTudNJH5Pnb9GGnkXi9Zw/e6x45DD0\nRuRONbFlJ2T4RjAE/uG+AjXxXQ8o2SZfb9+GgmCHuTJFNgHoZ1nFVXCmb/Hg8Hpd\n4vOAGXndixaReOiq3EH5XvpMjMkJ3+8+9VYMzMZOjkgQtAqO36eAFFfNKX7dTj3V\npwLkvz6/KFCq8OAwY+AUi4eZm5J57D31GzjHwfjH9WTeX0MyndmnNB1qV75qQR3b\n2/W5sGHRv+9AarggJkF+ptUkXoLtVA51wcfYm6hILptpde5FQC8RWY1YrswBWAEZ\nNfyrR4JeSweElNHg4NVOs4TwGjOPwWGqzTfgTlECAwEAATANBgkqhkiG9w0BAQsF\nAAOCAQEAAYRlYflSXAWoZpFfwNiCQVE5d9zZ0DPzNdWhAybXcTyMf0z5mDf6FWBW\n5Gyoi9u3EMEDnzLcJNkwJAAc39Apa4I2/tml+Jy29dk8bTyX6m93ngmCgdLh5Za4\nkhuU3AM3L63g7VexCuO7kwkjh/+LqdcIXsVGO6XDfu2QOs1Xpe9zIzLpwm/RNYeX\nUjbSj5ce/jekpAw7qyVVL4xOyh8AtUW1ek3wIw1MJvEgEPt0d16oshWJpoS1OT8L\nr/22SvYEo3EmSGdTVGgk3x3s+A0qWAqTcyjr7Q4s/GKYRFfomGwz0TZ4Iw1ZN99M\nm0eo2USlSRTVl7QHRTuiuSThHpLKQQ==\u003c/ds:X509Certificate\u003e\n \u003c/ds:X509Data\u003e\n \u003c/ds:KeyInfo\u003e\n \u003c/md:KeyDescriptor\u003e\n \u003cmd:NameIDFormat\u003eurn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\u003c/md:NameIDFormat\u003e\n \u003cmd:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\" Location=\"https://mocksaml.com/api/saml/sso\"/\u003e\n \u003cmd:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\" Location=\"https://mocksaml.com/api/saml/sso\"/\u003e\n \u003c/md:IDPSSODescriptor\u003e\n\u003c/md:EntityDescriptor\u003e\n\n`,\n withSignedRequest: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.IdpSaml(\"default\",\n binding=\"SAML_BINDING_POST\",\n is_auto_creation=False,\n is_auto_update=True,\n is_creation_allowed=True,\n is_linking_allowed=False,\n metadata_xml=\"\"\"\u003c?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?\u003e\n\u003cmd:EntityDescriptor xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\" entityID=\"https://saml.example.com/entityid\" validUntil=\"2034-05-15T14:21:58.979Z\"\u003e\n \u003cmd:IDPSSODescriptor WantAuthnRequestsSigned=\"true\" protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\"\u003e\n \u003cmd:KeyDescriptor use=\"signing\"\u003e\n \u003cds:KeyInfo xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\"\u003e\n \u003cds:X509Data\u003e\n \u003cds:X509Certificate\u003eMIIC4jCCAcoCCQC33wnybT5QZDANBgkqhkiG9w0BAQsFADAyMQswCQYDVQQGEwJV\nSzEPMA0GA1UECgwGQm94eUhRMRIwEAYDVQQDDAlNb2NrIFNBTUwwIBcNMjIwMjI4\nMjE0NjM4WhgPMzAyMTA3MDEyMTQ2MzhaMDIxCzAJBgNVBAYTAlVLMQ8wDQYDVQQK\nDAZCb3h5SFExEjAQBgNVBAMMCU1vY2sgU0FNTDCCASIwDQYJKoZIhvcNAQEBBQAD\nggEPADCCAQoCggEBALGfYettMsct1T6tVUwTudNJH5Pnb9GGnkXi9Zw/e6x45DD0\nRuRONbFlJ2T4RjAE/uG+AjXxXQ8o2SZfb9+GgmCHuTJFNgHoZ1nFVXCmb/Hg8Hpd\n4vOAGXndixaReOiq3EH5XvpMjMkJ3+8+9VYMzMZOjkgQtAqO36eAFFfNKX7dTj3V\npwLkvz6/KFCq8OAwY+AUi4eZm5J57D31GzjHwfjH9WTeX0MyndmnNB1qV75qQR3b\n2/W5sGHRv+9AarggJkF+ptUkXoLtVA51wcfYm6hILptpde5FQC8RWY1YrswBWAEZ\nNfyrR4JeSweElNHg4NVOs4TwGjOPwWGqzTfgTlECAwEAATANBgkqhkiG9w0BAQsF\nAAOCAQEAAYRlYflSXAWoZpFfwNiCQVE5d9zZ0DPzNdWhAybXcTyMf0z5mDf6FWBW\n5Gyoi9u3EMEDnzLcJNkwJAAc39Apa4I2/tml+Jy29dk8bTyX6m93ngmCgdLh5Za4\nkhuU3AM3L63g7VexCuO7kwkjh/+LqdcIXsVGO6XDfu2QOs1Xpe9zIzLpwm/RNYeX\nUjbSj5ce/jekpAw7qyVVL4xOyh8AtUW1ek3wIw1MJvEgEPt0d16oshWJpoS1OT8L\nr/22SvYEo3EmSGdTVGgk3x3s+A0qWAqTcyjr7Q4s/GKYRFfomGwz0TZ4Iw1ZN99M\nm0eo2USlSRTVl7QHRTuiuSThHpLKQQ==\u003c/ds:X509Certificate\u003e\n \u003c/ds:X509Data\u003e\n \u003c/ds:KeyInfo\u003e\n \u003c/md:KeyDescriptor\u003e\n \u003cmd:NameIDFormat\u003eurn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\u003c/md:NameIDFormat\u003e\n \u003cmd:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\" Location=\"https://mocksaml.com/api/saml/sso\"/\u003e\n \u003cmd:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\" Location=\"https://mocksaml.com/api/saml/sso\"/\u003e\n \u003c/md:IDPSSODescriptor\u003e\n\u003c/md:EntityDescriptor\u003e\n\n\"\"\",\n with_signed_request=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.IdpSaml(\"default\", new()\n {\n Binding = \"SAML_BINDING_POST\",\n IsAutoCreation = false,\n IsAutoUpdate = true,\n IsCreationAllowed = true,\n IsLinkingAllowed = false,\n MetadataXml = @\"\u003c?xml version=\"\"1.0\"\" encoding=\"\"UTF-8\"\" standalone=\"\"no\"\"?\u003e\n\u003cmd:EntityDescriptor xmlns:md=\"\"urn:oasis:names:tc:SAML:2.0:metadata\"\" entityID=\"\"https://saml.example.com/entityid\"\" validUntil=\"\"2034-05-15T14:21:58.979Z\"\"\u003e\n \u003cmd:IDPSSODescriptor WantAuthnRequestsSigned=\"\"true\"\" protocolSupportEnumeration=\"\"urn:oasis:names:tc:SAML:2.0:protocol\"\"\u003e\n \u003cmd:KeyDescriptor use=\"\"signing\"\"\u003e\n \u003cds:KeyInfo xmlns:ds=\"\"http://www.w3.org/2000/09/xmldsig#\"\"\u003e\n \u003cds:X509Data\u003e\n \u003cds:X509Certificate\u003eMIIC4jCCAcoCCQC33wnybT5QZDANBgkqhkiG9w0BAQsFADAyMQswCQYDVQQGEwJV\nSzEPMA0GA1UECgwGQm94eUhRMRIwEAYDVQQDDAlNb2NrIFNBTUwwIBcNMjIwMjI4\nMjE0NjM4WhgPMzAyMTA3MDEyMTQ2MzhaMDIxCzAJBgNVBAYTAlVLMQ8wDQYDVQQK\nDAZCb3h5SFExEjAQBgNVBAMMCU1vY2sgU0FNTDCCASIwDQYJKoZIhvcNAQEBBQAD\nggEPADCCAQoCggEBALGfYettMsct1T6tVUwTudNJH5Pnb9GGnkXi9Zw/e6x45DD0\nRuRONbFlJ2T4RjAE/uG+AjXxXQ8o2SZfb9+GgmCHuTJFNgHoZ1nFVXCmb/Hg8Hpd\n4vOAGXndixaReOiq3EH5XvpMjMkJ3+8+9VYMzMZOjkgQtAqO36eAFFfNKX7dTj3V\npwLkvz6/KFCq8OAwY+AUi4eZm5J57D31GzjHwfjH9WTeX0MyndmnNB1qV75qQR3b\n2/W5sGHRv+9AarggJkF+ptUkXoLtVA51wcfYm6hILptpde5FQC8RWY1YrswBWAEZ\nNfyrR4JeSweElNHg4NVOs4TwGjOPwWGqzTfgTlECAwEAATANBgkqhkiG9w0BAQsF\nAAOCAQEAAYRlYflSXAWoZpFfwNiCQVE5d9zZ0DPzNdWhAybXcTyMf0z5mDf6FWBW\n5Gyoi9u3EMEDnzLcJNkwJAAc39Apa4I2/tml+Jy29dk8bTyX6m93ngmCgdLh5Za4\nkhuU3AM3L63g7VexCuO7kwkjh/+LqdcIXsVGO6XDfu2QOs1Xpe9zIzLpwm/RNYeX\nUjbSj5ce/jekpAw7qyVVL4xOyh8AtUW1ek3wIw1MJvEgEPt0d16oshWJpoS1OT8L\nr/22SvYEo3EmSGdTVGgk3x3s+A0qWAqTcyjr7Q4s/GKYRFfomGwz0TZ4Iw1ZN99M\nm0eo2USlSRTVl7QHRTuiuSThHpLKQQ==\u003c/ds:X509Certificate\u003e\n \u003c/ds:X509Data\u003e\n \u003c/ds:KeyInfo\u003e\n \u003c/md:KeyDescriptor\u003e\n \u003cmd:NameIDFormat\u003eurn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\u003c/md:NameIDFormat\u003e\n \u003cmd:SingleSignOnService Binding=\"\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\"\" Location=\"\"https://mocksaml.com/api/saml/sso\"\"/\u003e\n \u003cmd:SingleSignOnService Binding=\"\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\"\" Location=\"\"https://mocksaml.com/api/saml/sso\"\"/\u003e\n \u003c/md:IDPSSODescriptor\u003e\n\u003c/md:EntityDescriptor\u003e\n\n\",\n WithSignedRequest = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewIdpSaml(ctx, \"default\", \u0026zitadel.IdpSamlArgs{\n\t\t\tBinding: pulumi.String(\"SAML_BINDING_POST\"),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tMetadataXml: pulumi.String(`\u003c?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?\u003e\n\u003cmd:EntityDescriptor xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\" entityID=\"https://saml.example.com/entityid\" validUntil=\"2034-05-15T14:21:58.979Z\"\u003e\n \u003cmd:IDPSSODescriptor WantAuthnRequestsSigned=\"true\" protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\"\u003e\n \u003cmd:KeyDescriptor use=\"signing\"\u003e\n \u003cds:KeyInfo xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\"\u003e\n \u003cds:X509Data\u003e\n \u003cds:X509Certificate\u003eMIIC4jCCAcoCCQC33wnybT5QZDANBgkqhkiG9w0BAQsFADAyMQswCQYDVQQGEwJV\nSzEPMA0GA1UECgwGQm94eUhRMRIwEAYDVQQDDAlNb2NrIFNBTUwwIBcNMjIwMjI4\nMjE0NjM4WhgPMzAyMTA3MDEyMTQ2MzhaMDIxCzAJBgNVBAYTAlVLMQ8wDQYDVQQK\nDAZCb3h5SFExEjAQBgNVBAMMCU1vY2sgU0FNTDCCASIwDQYJKoZIhvcNAQEBBQAD\nggEPADCCAQoCggEBALGfYettMsct1T6tVUwTudNJH5Pnb9GGnkXi9Zw/e6x45DD0\nRuRONbFlJ2T4RjAE/uG+AjXxXQ8o2SZfb9+GgmCHuTJFNgHoZ1nFVXCmb/Hg8Hpd\n4vOAGXndixaReOiq3EH5XvpMjMkJ3+8+9VYMzMZOjkgQtAqO36eAFFfNKX7dTj3V\npwLkvz6/KFCq8OAwY+AUi4eZm5J57D31GzjHwfjH9WTeX0MyndmnNB1qV75qQR3b\n2/W5sGHRv+9AarggJkF+ptUkXoLtVA51wcfYm6hILptpde5FQC8RWY1YrswBWAEZ\nNfyrR4JeSweElNHg4NVOs4TwGjOPwWGqzTfgTlECAwEAATANBgkqhkiG9w0BAQsF\nAAOCAQEAAYRlYflSXAWoZpFfwNiCQVE5d9zZ0DPzNdWhAybXcTyMf0z5mDf6FWBW\n5Gyoi9u3EMEDnzLcJNkwJAAc39Apa4I2/tml+Jy29dk8bTyX6m93ngmCgdLh5Za4\nkhuU3AM3L63g7VexCuO7kwkjh/+LqdcIXsVGO6XDfu2QOs1Xpe9zIzLpwm/RNYeX\nUjbSj5ce/jekpAw7qyVVL4xOyh8AtUW1ek3wIw1MJvEgEPt0d16oshWJpoS1OT8L\nr/22SvYEo3EmSGdTVGgk3x3s+A0qWAqTcyjr7Q4s/GKYRFfomGwz0TZ4Iw1ZN99M\nm0eo2USlSRTVl7QHRTuiuSThHpLKQQ==\u003c/ds:X509Certificate\u003e\n \u003c/ds:X509Data\u003e\n \u003c/ds:KeyInfo\u003e\n \u003c/md:KeyDescriptor\u003e\n \u003cmd:NameIDFormat\u003eurn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\u003c/md:NameIDFormat\u003e\n \u003cmd:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\" Location=\"https://mocksaml.com/api/saml/sso\"/\u003e\n \u003cmd:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\" Location=\"https://mocksaml.com/api/saml/sso\"/\u003e\n \u003c/md:IDPSSODescriptor\u003e\n\u003c/md:EntityDescriptor\u003e\n\n`),\n\t\t\tWithSignedRequest: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.IdpSaml;\nimport com.pulumi.zitadel.IdpSamlArgs;\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 default_ = new IdpSaml(\"default\", IdpSamlArgs.builder() \n .binding(\"SAML_BINDING_POST\")\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .isCreationAllowed(true)\n .isLinkingAllowed(false)\n .metadataXml(\"\"\"\n\u003c?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?\u003e\n\u003cmd:EntityDescriptor xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\" entityID=\"https://saml.example.com/entityid\" validUntil=\"2034-05-15T14:21:58.979Z\"\u003e\n \u003cmd:IDPSSODescriptor WantAuthnRequestsSigned=\"true\" protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\"\u003e\n \u003cmd:KeyDescriptor use=\"signing\"\u003e\n \u003cds:KeyInfo xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\"\u003e\n \u003cds:X509Data\u003e\n \u003cds:X509Certificate\u003eMIIC4jCCAcoCCQC33wnybT5QZDANBgkqhkiG9w0BAQsFADAyMQswCQYDVQQGEwJV\nSzEPMA0GA1UECgwGQm94eUhRMRIwEAYDVQQDDAlNb2NrIFNBTUwwIBcNMjIwMjI4\nMjE0NjM4WhgPMzAyMTA3MDEyMTQ2MzhaMDIxCzAJBgNVBAYTAlVLMQ8wDQYDVQQK\nDAZCb3h5SFExEjAQBgNVBAMMCU1vY2sgU0FNTDCCASIwDQYJKoZIhvcNAQEBBQAD\nggEPADCCAQoCggEBALGfYettMsct1T6tVUwTudNJH5Pnb9GGnkXi9Zw/e6x45DD0\nRuRONbFlJ2T4RjAE/uG+AjXxXQ8o2SZfb9+GgmCHuTJFNgHoZ1nFVXCmb/Hg8Hpd\n4vOAGXndixaReOiq3EH5XvpMjMkJ3+8+9VYMzMZOjkgQtAqO36eAFFfNKX7dTj3V\npwLkvz6/KFCq8OAwY+AUi4eZm5J57D31GzjHwfjH9WTeX0MyndmnNB1qV75qQR3b\n2/W5sGHRv+9AarggJkF+ptUkXoLtVA51wcfYm6hILptpde5FQC8RWY1YrswBWAEZ\nNfyrR4JeSweElNHg4NVOs4TwGjOPwWGqzTfgTlECAwEAATANBgkqhkiG9w0BAQsF\nAAOCAQEAAYRlYflSXAWoZpFfwNiCQVE5d9zZ0DPzNdWhAybXcTyMf0z5mDf6FWBW\n5Gyoi9u3EMEDnzLcJNkwJAAc39Apa4I2/tml+Jy29dk8bTyX6m93ngmCgdLh5Za4\nkhuU3AM3L63g7VexCuO7kwkjh/+LqdcIXsVGO6XDfu2QOs1Xpe9zIzLpwm/RNYeX\nUjbSj5ce/jekpAw7qyVVL4xOyh8AtUW1ek3wIw1MJvEgEPt0d16oshWJpoS1OT8L\nr/22SvYEo3EmSGdTVGgk3x3s+A0qWAqTcyjr7Q4s/GKYRFfomGwz0TZ4Iw1ZN99M\nm0eo2USlSRTVl7QHRTuiuSThHpLKQQ==\u003c/ds:X509Certificate\u003e\n \u003c/ds:X509Data\u003e\n \u003c/ds:KeyInfo\u003e\n \u003c/md:KeyDescriptor\u003e\n \u003cmd:NameIDFormat\u003eurn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\u003c/md:NameIDFormat\u003e\n \u003cmd:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\" Location=\"https://mocksaml.com/api/saml/sso\"/\u003e\n \u003cmd:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\" Location=\"https://mocksaml.com/api/saml/sso\"/\u003e\n \u003c/md:IDPSSODescriptor\u003e\n\u003c/md:EntityDescriptor\u003e\n\n \"\"\")\n .withSignedRequest(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:IdpSaml\n properties:\n binding: SAML_BINDING_POST\n isAutoCreation: false\n isAutoUpdate: true\n isCreationAllowed: true\n isLinkingAllowed: false\n metadataXml: |+\n \u003c?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?\u003e\n \u003cmd:EntityDescriptor xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\" entityID=\"https://saml.example.com/entityid\" validUntil=\"2034-05-15T14:21:58.979Z\"\u003e\n \u003cmd:IDPSSODescriptor WantAuthnRequestsSigned=\"true\" protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\"\u003e\n \u003cmd:KeyDescriptor use=\"signing\"\u003e\n \u003cds:KeyInfo xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\"\u003e\n \u003cds:X509Data\u003e\n \u003cds:X509Certificate\u003eMIIC4jCCAcoCCQC33wnybT5QZDANBgkqhkiG9w0BAQsFADAyMQswCQYDVQQGEwJV\n SzEPMA0GA1UECgwGQm94eUhRMRIwEAYDVQQDDAlNb2NrIFNBTUwwIBcNMjIwMjI4\n MjE0NjM4WhgPMzAyMTA3MDEyMTQ2MzhaMDIxCzAJBgNVBAYTAlVLMQ8wDQYDVQQK\n DAZCb3h5SFExEjAQBgNVBAMMCU1vY2sgU0FNTDCCASIwDQYJKoZIhvcNAQEBBQAD\n ggEPADCCAQoCggEBALGfYettMsct1T6tVUwTudNJH5Pnb9GGnkXi9Zw/e6x45DD0\n RuRONbFlJ2T4RjAE/uG+AjXxXQ8o2SZfb9+GgmCHuTJFNgHoZ1nFVXCmb/Hg8Hpd\n 4vOAGXndixaReOiq3EH5XvpMjMkJ3+8+9VYMzMZOjkgQtAqO36eAFFfNKX7dTj3V\n pwLkvz6/KFCq8OAwY+AUi4eZm5J57D31GzjHwfjH9WTeX0MyndmnNB1qV75qQR3b\n 2/W5sGHRv+9AarggJkF+ptUkXoLtVA51wcfYm6hILptpde5FQC8RWY1YrswBWAEZ\n NfyrR4JeSweElNHg4NVOs4TwGjOPwWGqzTfgTlECAwEAATANBgkqhkiG9w0BAQsF\n AAOCAQEAAYRlYflSXAWoZpFfwNiCQVE5d9zZ0DPzNdWhAybXcTyMf0z5mDf6FWBW\n 5Gyoi9u3EMEDnzLcJNkwJAAc39Apa4I2/tml+Jy29dk8bTyX6m93ngmCgdLh5Za4\n khuU3AM3L63g7VexCuO7kwkjh/+LqdcIXsVGO6XDfu2QOs1Xpe9zIzLpwm/RNYeX\n UjbSj5ce/jekpAw7qyVVL4xOyh8AtUW1ek3wIw1MJvEgEPt0d16oshWJpoS1OT8L\n r/22SvYEo3EmSGdTVGgk3x3s+A0qWAqTcyjr7Q4s/GKYRFfomGwz0TZ4Iw1ZN99M\n m0eo2USlSRTVl7QHRTuiuSThHpLKQQ==\u003c/ds:X509Certificate\u003e\n \u003c/ds:X509Data\u003e\n \u003c/ds:KeyInfo\u003e\n \u003c/md:KeyDescriptor\u003e\n \u003cmd:NameIDFormat\u003eurn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\u003c/md:NameIDFormat\u003e\n \u003cmd:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\" Location=\"https://mocksaml.com/api/saml/sso\"/\u003e\n \u003cmd:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\" Location=\"https://mocksaml.com/api/saml/sso\"/\u003e\n \u003c/md:IDPSSODescriptor\u003e\n \u003c/md:EntityDescriptor\u003e\n\n withSignedRequest: true\n```\n\n{{% /example %}}\n{{% /examples %}}\n## Loading the XML Metadata\n\nIf you don't want to pass the XML metadata inline, you have plenty of options. For example:\n- local_file Data Source\n- http Data Source\n- terracurl_request Data Source\n- ...\n\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/idpSaml:IdpSaml imported '123456789012345678'\n```\n\n ", + "description": "Resource representing a SAML IDP on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@scoretechnologies/zitadel\";\n\nconst _default = new zitadel.IdpSaml(\"default\", {\n binding: \"SAML_BINDING_POST\",\n isAutoCreation: false,\n isAutoUpdate: true,\n isCreationAllowed: true,\n isLinkingAllowed: false,\n metadataXml: `\u003c?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?\u003e\n\u003cmd:EntityDescriptor xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\" entityID=\"https://saml.example.com/entityid\" validUntil=\"2034-05-15T14:21:58.979Z\"\u003e\n \u003cmd:IDPSSODescriptor WantAuthnRequestsSigned=\"true\" protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\"\u003e\n \u003cmd:KeyDescriptor use=\"signing\"\u003e\n \u003cds:KeyInfo xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\"\u003e\n \u003cds:X509Data\u003e\n \u003cds:X509Certificate\u003eMIIC4jCCAcoCCQC33wnybT5QZDANBgkqhkiG9w0BAQsFADAyMQswCQYDVQQGEwJV\nSzEPMA0GA1UECgwGQm94eUhRMRIwEAYDVQQDDAlNb2NrIFNBTUwwIBcNMjIwMjI4\nMjE0NjM4WhgPMzAyMTA3MDEyMTQ2MzhaMDIxCzAJBgNVBAYTAlVLMQ8wDQYDVQQK\nDAZCb3h5SFExEjAQBgNVBAMMCU1vY2sgU0FNTDCCASIwDQYJKoZIhvcNAQEBBQAD\nggEPADCCAQoCggEBALGfYettMsct1T6tVUwTudNJH5Pnb9GGnkXi9Zw/e6x45DD0\nRuRONbFlJ2T4RjAE/uG+AjXxXQ8o2SZfb9+GgmCHuTJFNgHoZ1nFVXCmb/Hg8Hpd\n4vOAGXndixaReOiq3EH5XvpMjMkJ3+8+9VYMzMZOjkgQtAqO36eAFFfNKX7dTj3V\npwLkvz6/KFCq8OAwY+AUi4eZm5J57D31GzjHwfjH9WTeX0MyndmnNB1qV75qQR3b\n2/W5sGHRv+9AarggJkF+ptUkXoLtVA51wcfYm6hILptpde5FQC8RWY1YrswBWAEZ\nNfyrR4JeSweElNHg4NVOs4TwGjOPwWGqzTfgTlECAwEAATANBgkqhkiG9w0BAQsF\nAAOCAQEAAYRlYflSXAWoZpFfwNiCQVE5d9zZ0DPzNdWhAybXcTyMf0z5mDf6FWBW\n5Gyoi9u3EMEDnzLcJNkwJAAc39Apa4I2/tml+Jy29dk8bTyX6m93ngmCgdLh5Za4\nkhuU3AM3L63g7VexCuO7kwkjh/+LqdcIXsVGO6XDfu2QOs1Xpe9zIzLpwm/RNYeX\nUjbSj5ce/jekpAw7qyVVL4xOyh8AtUW1ek3wIw1MJvEgEPt0d16oshWJpoS1OT8L\nr/22SvYEo3EmSGdTVGgk3x3s+A0qWAqTcyjr7Q4s/GKYRFfomGwz0TZ4Iw1ZN99M\nm0eo2USlSRTVl7QHRTuiuSThHpLKQQ==\u003c/ds:X509Certificate\u003e\n \u003c/ds:X509Data\u003e\n \u003c/ds:KeyInfo\u003e\n \u003c/md:KeyDescriptor\u003e\n \u003cmd:NameIDFormat\u003eurn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\u003c/md:NameIDFormat\u003e\n \u003cmd:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\" Location=\"https://mocksaml.com/api/saml/sso\"/\u003e\n \u003cmd:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\" Location=\"https://mocksaml.com/api/saml/sso\"/\u003e\n \u003c/md:IDPSSODescriptor\u003e\n\u003c/md:EntityDescriptor\u003e\n\n`,\n withSignedRequest: true,\n});\n```\n```python\nimport pulumi\nimport scoretechnologies_zitadel as zitadel\n\ndefault = zitadel.IdpSaml(\"default\",\n binding=\"SAML_BINDING_POST\",\n is_auto_creation=False,\n is_auto_update=True,\n is_creation_allowed=True,\n is_linking_allowed=False,\n metadata_xml=\"\"\"\u003c?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?\u003e\n\u003cmd:EntityDescriptor xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\" entityID=\"https://saml.example.com/entityid\" validUntil=\"2034-05-15T14:21:58.979Z\"\u003e\n \u003cmd:IDPSSODescriptor WantAuthnRequestsSigned=\"true\" protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\"\u003e\n \u003cmd:KeyDescriptor use=\"signing\"\u003e\n \u003cds:KeyInfo xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\"\u003e\n \u003cds:X509Data\u003e\n \u003cds:X509Certificate\u003eMIIC4jCCAcoCCQC33wnybT5QZDANBgkqhkiG9w0BAQsFADAyMQswCQYDVQQGEwJV\nSzEPMA0GA1UECgwGQm94eUhRMRIwEAYDVQQDDAlNb2NrIFNBTUwwIBcNMjIwMjI4\nMjE0NjM4WhgPMzAyMTA3MDEyMTQ2MzhaMDIxCzAJBgNVBAYTAlVLMQ8wDQYDVQQK\nDAZCb3h5SFExEjAQBgNVBAMMCU1vY2sgU0FNTDCCASIwDQYJKoZIhvcNAQEBBQAD\nggEPADCCAQoCggEBALGfYettMsct1T6tVUwTudNJH5Pnb9GGnkXi9Zw/e6x45DD0\nRuRONbFlJ2T4RjAE/uG+AjXxXQ8o2SZfb9+GgmCHuTJFNgHoZ1nFVXCmb/Hg8Hpd\n4vOAGXndixaReOiq3EH5XvpMjMkJ3+8+9VYMzMZOjkgQtAqO36eAFFfNKX7dTj3V\npwLkvz6/KFCq8OAwY+AUi4eZm5J57D31GzjHwfjH9WTeX0MyndmnNB1qV75qQR3b\n2/W5sGHRv+9AarggJkF+ptUkXoLtVA51wcfYm6hILptpde5FQC8RWY1YrswBWAEZ\nNfyrR4JeSweElNHg4NVOs4TwGjOPwWGqzTfgTlECAwEAATANBgkqhkiG9w0BAQsF\nAAOCAQEAAYRlYflSXAWoZpFfwNiCQVE5d9zZ0DPzNdWhAybXcTyMf0z5mDf6FWBW\n5Gyoi9u3EMEDnzLcJNkwJAAc39Apa4I2/tml+Jy29dk8bTyX6m93ngmCgdLh5Za4\nkhuU3AM3L63g7VexCuO7kwkjh/+LqdcIXsVGO6XDfu2QOs1Xpe9zIzLpwm/RNYeX\nUjbSj5ce/jekpAw7qyVVL4xOyh8AtUW1ek3wIw1MJvEgEPt0d16oshWJpoS1OT8L\nr/22SvYEo3EmSGdTVGgk3x3s+A0qWAqTcyjr7Q4s/GKYRFfomGwz0TZ4Iw1ZN99M\nm0eo2USlSRTVl7QHRTuiuSThHpLKQQ==\u003c/ds:X509Certificate\u003e\n \u003c/ds:X509Data\u003e\n \u003c/ds:KeyInfo\u003e\n \u003c/md:KeyDescriptor\u003e\n \u003cmd:NameIDFormat\u003eurn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\u003c/md:NameIDFormat\u003e\n \u003cmd:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\" Location=\"https://mocksaml.com/api/saml/sso\"/\u003e\n \u003cmd:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\" Location=\"https://mocksaml.com/api/saml/sso\"/\u003e\n \u003c/md:IDPSSODescriptor\u003e\n\u003c/md:EntityDescriptor\u003e\n\n\"\"\",\n with_signed_request=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = scoretechnologies.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.IdpSaml(\"default\", new()\n {\n Binding = \"SAML_BINDING_POST\",\n IsAutoCreation = false,\n IsAutoUpdate = true,\n IsCreationAllowed = true,\n IsLinkingAllowed = false,\n MetadataXml = @\"\u003c?xml version=\"\"1.0\"\" encoding=\"\"UTF-8\"\" standalone=\"\"no\"\"?\u003e\n\u003cmd:EntityDescriptor xmlns:md=\"\"urn:oasis:names:tc:SAML:2.0:metadata\"\" entityID=\"\"https://saml.example.com/entityid\"\" validUntil=\"\"2034-05-15T14:21:58.979Z\"\"\u003e\n \u003cmd:IDPSSODescriptor WantAuthnRequestsSigned=\"\"true\"\" protocolSupportEnumeration=\"\"urn:oasis:names:tc:SAML:2.0:protocol\"\"\u003e\n \u003cmd:KeyDescriptor use=\"\"signing\"\"\u003e\n \u003cds:KeyInfo xmlns:ds=\"\"http://www.w3.org/2000/09/xmldsig#\"\"\u003e\n \u003cds:X509Data\u003e\n \u003cds:X509Certificate\u003eMIIC4jCCAcoCCQC33wnybT5QZDANBgkqhkiG9w0BAQsFADAyMQswCQYDVQQGEwJV\nSzEPMA0GA1UECgwGQm94eUhRMRIwEAYDVQQDDAlNb2NrIFNBTUwwIBcNMjIwMjI4\nMjE0NjM4WhgPMzAyMTA3MDEyMTQ2MzhaMDIxCzAJBgNVBAYTAlVLMQ8wDQYDVQQK\nDAZCb3h5SFExEjAQBgNVBAMMCU1vY2sgU0FNTDCCASIwDQYJKoZIhvcNAQEBBQAD\nggEPADCCAQoCggEBALGfYettMsct1T6tVUwTudNJH5Pnb9GGnkXi9Zw/e6x45DD0\nRuRONbFlJ2T4RjAE/uG+AjXxXQ8o2SZfb9+GgmCHuTJFNgHoZ1nFVXCmb/Hg8Hpd\n4vOAGXndixaReOiq3EH5XvpMjMkJ3+8+9VYMzMZOjkgQtAqO36eAFFfNKX7dTj3V\npwLkvz6/KFCq8OAwY+AUi4eZm5J57D31GzjHwfjH9WTeX0MyndmnNB1qV75qQR3b\n2/W5sGHRv+9AarggJkF+ptUkXoLtVA51wcfYm6hILptpde5FQC8RWY1YrswBWAEZ\nNfyrR4JeSweElNHg4NVOs4TwGjOPwWGqzTfgTlECAwEAATANBgkqhkiG9w0BAQsF\nAAOCAQEAAYRlYflSXAWoZpFfwNiCQVE5d9zZ0DPzNdWhAybXcTyMf0z5mDf6FWBW\n5Gyoi9u3EMEDnzLcJNkwJAAc39Apa4I2/tml+Jy29dk8bTyX6m93ngmCgdLh5Za4\nkhuU3AM3L63g7VexCuO7kwkjh/+LqdcIXsVGO6XDfu2QOs1Xpe9zIzLpwm/RNYeX\nUjbSj5ce/jekpAw7qyVVL4xOyh8AtUW1ek3wIw1MJvEgEPt0d16oshWJpoS1OT8L\nr/22SvYEo3EmSGdTVGgk3x3s+A0qWAqTcyjr7Q4s/GKYRFfomGwz0TZ4Iw1ZN99M\nm0eo2USlSRTVl7QHRTuiuSThHpLKQQ==\u003c/ds:X509Certificate\u003e\n \u003c/ds:X509Data\u003e\n \u003c/ds:KeyInfo\u003e\n \u003c/md:KeyDescriptor\u003e\n \u003cmd:NameIDFormat\u003eurn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\u003c/md:NameIDFormat\u003e\n \u003cmd:SingleSignOnService Binding=\"\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\"\" Location=\"\"https://mocksaml.com/api/saml/sso\"\"/\u003e\n \u003cmd:SingleSignOnService Binding=\"\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\"\" Location=\"\"https://mocksaml.com/api/saml/sso\"\"/\u003e\n \u003c/md:IDPSSODescriptor\u003e\n\u003c/md:EntityDescriptor\u003e\n\n\",\n WithSignedRequest = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewIdpSaml(ctx, \"default\", \u0026zitadel.IdpSamlArgs{\n\t\t\tBinding: pulumi.String(\"SAML_BINDING_POST\"),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tMetadataXml: pulumi.String(`\u003c?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?\u003e\n\u003cmd:EntityDescriptor xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\" entityID=\"https://saml.example.com/entityid\" validUntil=\"2034-05-15T14:21:58.979Z\"\u003e\n \u003cmd:IDPSSODescriptor WantAuthnRequestsSigned=\"true\" protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\"\u003e\n \u003cmd:KeyDescriptor use=\"signing\"\u003e\n \u003cds:KeyInfo xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\"\u003e\n \u003cds:X509Data\u003e\n \u003cds:X509Certificate\u003eMIIC4jCCAcoCCQC33wnybT5QZDANBgkqhkiG9w0BAQsFADAyMQswCQYDVQQGEwJV\nSzEPMA0GA1UECgwGQm94eUhRMRIwEAYDVQQDDAlNb2NrIFNBTUwwIBcNMjIwMjI4\nMjE0NjM4WhgPMzAyMTA3MDEyMTQ2MzhaMDIxCzAJBgNVBAYTAlVLMQ8wDQYDVQQK\nDAZCb3h5SFExEjAQBgNVBAMMCU1vY2sgU0FNTDCCASIwDQYJKoZIhvcNAQEBBQAD\nggEPADCCAQoCggEBALGfYettMsct1T6tVUwTudNJH5Pnb9GGnkXi9Zw/e6x45DD0\nRuRONbFlJ2T4RjAE/uG+AjXxXQ8o2SZfb9+GgmCHuTJFNgHoZ1nFVXCmb/Hg8Hpd\n4vOAGXndixaReOiq3EH5XvpMjMkJ3+8+9VYMzMZOjkgQtAqO36eAFFfNKX7dTj3V\npwLkvz6/KFCq8OAwY+AUi4eZm5J57D31GzjHwfjH9WTeX0MyndmnNB1qV75qQR3b\n2/W5sGHRv+9AarggJkF+ptUkXoLtVA51wcfYm6hILptpde5FQC8RWY1YrswBWAEZ\nNfyrR4JeSweElNHg4NVOs4TwGjOPwWGqzTfgTlECAwEAATANBgkqhkiG9w0BAQsF\nAAOCAQEAAYRlYflSXAWoZpFfwNiCQVE5d9zZ0DPzNdWhAybXcTyMf0z5mDf6FWBW\n5Gyoi9u3EMEDnzLcJNkwJAAc39Apa4I2/tml+Jy29dk8bTyX6m93ngmCgdLh5Za4\nkhuU3AM3L63g7VexCuO7kwkjh/+LqdcIXsVGO6XDfu2QOs1Xpe9zIzLpwm/RNYeX\nUjbSj5ce/jekpAw7qyVVL4xOyh8AtUW1ek3wIw1MJvEgEPt0d16oshWJpoS1OT8L\nr/22SvYEo3EmSGdTVGgk3x3s+A0qWAqTcyjr7Q4s/GKYRFfomGwz0TZ4Iw1ZN99M\nm0eo2USlSRTVl7QHRTuiuSThHpLKQQ==\u003c/ds:X509Certificate\u003e\n \u003c/ds:X509Data\u003e\n \u003c/ds:KeyInfo\u003e\n \u003c/md:KeyDescriptor\u003e\n \u003cmd:NameIDFormat\u003eurn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\u003c/md:NameIDFormat\u003e\n \u003cmd:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\" Location=\"https://mocksaml.com/api/saml/sso\"/\u003e\n \u003cmd:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\" Location=\"https://mocksaml.com/api/saml/sso\"/\u003e\n \u003c/md:IDPSSODescriptor\u003e\n\u003c/md:EntityDescriptor\u003e\n\n`),\n\t\t\tWithSignedRequest: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.IdpSaml;\nimport com.pulumi.zitadel.IdpSamlArgs;\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 default_ = new IdpSaml(\"default\", IdpSamlArgs.builder() \n .binding(\"SAML_BINDING_POST\")\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .isCreationAllowed(true)\n .isLinkingAllowed(false)\n .metadataXml(\"\"\"\n\u003c?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?\u003e\n\u003cmd:EntityDescriptor xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\" entityID=\"https://saml.example.com/entityid\" validUntil=\"2034-05-15T14:21:58.979Z\"\u003e\n \u003cmd:IDPSSODescriptor WantAuthnRequestsSigned=\"true\" protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\"\u003e\n \u003cmd:KeyDescriptor use=\"signing\"\u003e\n \u003cds:KeyInfo xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\"\u003e\n \u003cds:X509Data\u003e\n \u003cds:X509Certificate\u003eMIIC4jCCAcoCCQC33wnybT5QZDANBgkqhkiG9w0BAQsFADAyMQswCQYDVQQGEwJV\nSzEPMA0GA1UECgwGQm94eUhRMRIwEAYDVQQDDAlNb2NrIFNBTUwwIBcNMjIwMjI4\nMjE0NjM4WhgPMzAyMTA3MDEyMTQ2MzhaMDIxCzAJBgNVBAYTAlVLMQ8wDQYDVQQK\nDAZCb3h5SFExEjAQBgNVBAMMCU1vY2sgU0FNTDCCASIwDQYJKoZIhvcNAQEBBQAD\nggEPADCCAQoCggEBALGfYettMsct1T6tVUwTudNJH5Pnb9GGnkXi9Zw/e6x45DD0\nRuRONbFlJ2T4RjAE/uG+AjXxXQ8o2SZfb9+GgmCHuTJFNgHoZ1nFVXCmb/Hg8Hpd\n4vOAGXndixaReOiq3EH5XvpMjMkJ3+8+9VYMzMZOjkgQtAqO36eAFFfNKX7dTj3V\npwLkvz6/KFCq8OAwY+AUi4eZm5J57D31GzjHwfjH9WTeX0MyndmnNB1qV75qQR3b\n2/W5sGHRv+9AarggJkF+ptUkXoLtVA51wcfYm6hILptpde5FQC8RWY1YrswBWAEZ\nNfyrR4JeSweElNHg4NVOs4TwGjOPwWGqzTfgTlECAwEAATANBgkqhkiG9w0BAQsF\nAAOCAQEAAYRlYflSXAWoZpFfwNiCQVE5d9zZ0DPzNdWhAybXcTyMf0z5mDf6FWBW\n5Gyoi9u3EMEDnzLcJNkwJAAc39Apa4I2/tml+Jy29dk8bTyX6m93ngmCgdLh5Za4\nkhuU3AM3L63g7VexCuO7kwkjh/+LqdcIXsVGO6XDfu2QOs1Xpe9zIzLpwm/RNYeX\nUjbSj5ce/jekpAw7qyVVL4xOyh8AtUW1ek3wIw1MJvEgEPt0d16oshWJpoS1OT8L\nr/22SvYEo3EmSGdTVGgk3x3s+A0qWAqTcyjr7Q4s/GKYRFfomGwz0TZ4Iw1ZN99M\nm0eo2USlSRTVl7QHRTuiuSThHpLKQQ==\u003c/ds:X509Certificate\u003e\n \u003c/ds:X509Data\u003e\n \u003c/ds:KeyInfo\u003e\n \u003c/md:KeyDescriptor\u003e\n \u003cmd:NameIDFormat\u003eurn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\u003c/md:NameIDFormat\u003e\n \u003cmd:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\" Location=\"https://mocksaml.com/api/saml/sso\"/\u003e\n \u003cmd:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\" Location=\"https://mocksaml.com/api/saml/sso\"/\u003e\n \u003c/md:IDPSSODescriptor\u003e\n\u003c/md:EntityDescriptor\u003e\n\n \"\"\")\n .withSignedRequest(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:IdpSaml\n properties:\n binding: SAML_BINDING_POST\n isAutoCreation: false\n isAutoUpdate: true\n isCreationAllowed: true\n isLinkingAllowed: false\n metadataXml: |+\n \u003c?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?\u003e\n \u003cmd:EntityDescriptor xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\" entityID=\"https://saml.example.com/entityid\" validUntil=\"2034-05-15T14:21:58.979Z\"\u003e\n \u003cmd:IDPSSODescriptor WantAuthnRequestsSigned=\"true\" protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\"\u003e\n \u003cmd:KeyDescriptor use=\"signing\"\u003e\n \u003cds:KeyInfo xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\"\u003e\n \u003cds:X509Data\u003e\n \u003cds:X509Certificate\u003eMIIC4jCCAcoCCQC33wnybT5QZDANBgkqhkiG9w0BAQsFADAyMQswCQYDVQQGEwJV\n SzEPMA0GA1UECgwGQm94eUhRMRIwEAYDVQQDDAlNb2NrIFNBTUwwIBcNMjIwMjI4\n MjE0NjM4WhgPMzAyMTA3MDEyMTQ2MzhaMDIxCzAJBgNVBAYTAlVLMQ8wDQYDVQQK\n DAZCb3h5SFExEjAQBgNVBAMMCU1vY2sgU0FNTDCCASIwDQYJKoZIhvcNAQEBBQAD\n ggEPADCCAQoCggEBALGfYettMsct1T6tVUwTudNJH5Pnb9GGnkXi9Zw/e6x45DD0\n RuRONbFlJ2T4RjAE/uG+AjXxXQ8o2SZfb9+GgmCHuTJFNgHoZ1nFVXCmb/Hg8Hpd\n 4vOAGXndixaReOiq3EH5XvpMjMkJ3+8+9VYMzMZOjkgQtAqO36eAFFfNKX7dTj3V\n pwLkvz6/KFCq8OAwY+AUi4eZm5J57D31GzjHwfjH9WTeX0MyndmnNB1qV75qQR3b\n 2/W5sGHRv+9AarggJkF+ptUkXoLtVA51wcfYm6hILptpde5FQC8RWY1YrswBWAEZ\n NfyrR4JeSweElNHg4NVOs4TwGjOPwWGqzTfgTlECAwEAATANBgkqhkiG9w0BAQsF\n AAOCAQEAAYRlYflSXAWoZpFfwNiCQVE5d9zZ0DPzNdWhAybXcTyMf0z5mDf6FWBW\n 5Gyoi9u3EMEDnzLcJNkwJAAc39Apa4I2/tml+Jy29dk8bTyX6m93ngmCgdLh5Za4\n khuU3AM3L63g7VexCuO7kwkjh/+LqdcIXsVGO6XDfu2QOs1Xpe9zIzLpwm/RNYeX\n UjbSj5ce/jekpAw7qyVVL4xOyh8AtUW1ek3wIw1MJvEgEPt0d16oshWJpoS1OT8L\n r/22SvYEo3EmSGdTVGgk3x3s+A0qWAqTcyjr7Q4s/GKYRFfomGwz0TZ4Iw1ZN99M\n m0eo2USlSRTVl7QHRTuiuSThHpLKQQ==\u003c/ds:X509Certificate\u003e\n \u003c/ds:X509Data\u003e\n \u003c/ds:KeyInfo\u003e\n \u003c/md:KeyDescriptor\u003e\n \u003cmd:NameIDFormat\u003eurn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\u003c/md:NameIDFormat\u003e\n \u003cmd:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\" Location=\"https://mocksaml.com/api/saml/sso\"/\u003e\n \u003cmd:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\" Location=\"https://mocksaml.com/api/saml/sso\"/\u003e\n \u003c/md:IDPSSODescriptor\u003e\n \u003c/md:EntityDescriptor\u003e\n\n withSignedRequest: true\n```\n\n{{% /example %}}\n{{% /examples %}}\n## Loading the XML Metadata\n\nIf you don't want to pass the XML metadata inline, you have plenty of options. For example:\n- local_file Data Source\n- http Data Source\n- terracurl_request Data Source\n- ...\n\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/idpSaml:IdpSaml imported '123456789012345678'\n```\n\n ", "properties": { "binding": { "type": "string", @@ -3751,7 +3751,7 @@ } }, "zitadel:index/instanceMember:InstanceMember": { - "description": "Resource representing the membership of a user on an instance, defined with the given role.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.InstanceMember(\"default\", {\n userId: data.zitadel_human_user[\"default\"].id,\n roles: [\"IAM_OWNER\"],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.InstanceMember(\"default\",\n user_id=data[\"zitadel_human_user\"][\"default\"][\"id\"],\n roles=[\"IAM_OWNER\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.InstanceMember(\"default\", new()\n {\n UserId = data.Zitadel_human_user.Default.Id,\n Roles = new[]\n {\n \"IAM_OWNER\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewInstanceMember(ctx, \"default\", \u0026zitadel.InstanceMemberArgs{\n\t\t\tUserId: pulumi.Any(data.Zitadel_human_user.Default.Id),\n\t\t\tRoles: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"IAM_OWNER\"),\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.zitadel.InstanceMember;\nimport com.pulumi.zitadel.InstanceMemberArgs;\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 default_ = new InstanceMember(\"default\", InstanceMemberArgs.builder() \n .userId(data.zitadel_human_user().default().id())\n .roles(\"IAM_OWNER\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:InstanceMember\n properties:\n userId: ${data.zitadel_human_user.default.id}\n roles:\n - IAM_OWNER\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cuser_id\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/instanceMember:InstanceMember imported '123456789012345678'\n```\n\n ", + "description": "Resource representing the membership of a user on an instance, defined with the given role.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@scoretechnologies/zitadel\";\n\nconst _default = new zitadel.InstanceMember(\"default\", {\n userId: data.zitadel_human_user[\"default\"].id,\n roles: [\"IAM_OWNER\"],\n});\n```\n```python\nimport pulumi\nimport scoretechnologies_zitadel as zitadel\n\ndefault = zitadel.InstanceMember(\"default\",\n user_id=data[\"zitadel_human_user\"][\"default\"][\"id\"],\n roles=[\"IAM_OWNER\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = scoretechnologies.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.InstanceMember(\"default\", new()\n {\n UserId = data.Zitadel_human_user.Default.Id,\n Roles = new[]\n {\n \"IAM_OWNER\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewInstanceMember(ctx, \"default\", \u0026zitadel.InstanceMemberArgs{\n\t\t\tUserId: pulumi.Any(data.Zitadel_human_user.Default.Id),\n\t\t\tRoles: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"IAM_OWNER\"),\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.zitadel.InstanceMember;\nimport com.pulumi.zitadel.InstanceMemberArgs;\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 default_ = new InstanceMember(\"default\", InstanceMemberArgs.builder() \n .userId(data.zitadel_human_user().default().id())\n .roles(\"IAM_OWNER\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:InstanceMember\n properties:\n userId: ${data.zitadel_human_user.default.id}\n roles:\n - IAM_OWNER\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cuser_id\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/instanceMember:InstanceMember imported '123456789012345678'\n```\n\n ", "properties": { "roles": { "type": "array", @@ -4127,7 +4127,7 @@ } }, "zitadel:index/lockoutPolicy:LockoutPolicy": { - "description": "Resource representing the custom lockout policy of an organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.LockoutPolicy(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n maxPasswordAttempts: 5,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.LockoutPolicy(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n max_password_attempts=5)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.LockoutPolicy(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n MaxPasswordAttempts = 5,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewLockoutPolicy(ctx, \"default\", \u0026zitadel.LockoutPolicyArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tMaxPasswordAttempts: pulumi.Int(5),\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.zitadel.LockoutPolicy;\nimport com.pulumi.zitadel.LockoutPolicyArgs;\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 default_ = new LockoutPolicy(\"default\", LockoutPolicyArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .maxPasswordAttempts(\"5\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:LockoutPolicy\n properties:\n orgId: ${data.zitadel_org.default.id}\n maxPasswordAttempts: '5'\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003c[org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/lockoutPolicy:LockoutPolicy imported '123456789012345678'\n```\n\n ", + "description": "Resource representing the custom lockout policy of an organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@scoretechnologies/zitadel\";\n\nconst _default = new zitadel.LockoutPolicy(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n maxPasswordAttempts: 5,\n});\n```\n```python\nimport pulumi\nimport scoretechnologies_zitadel as zitadel\n\ndefault = zitadel.LockoutPolicy(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n max_password_attempts=5)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = scoretechnologies.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.LockoutPolicy(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n MaxPasswordAttempts = 5,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewLockoutPolicy(ctx, \"default\", \u0026zitadel.LockoutPolicyArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tMaxPasswordAttempts: pulumi.Int(5),\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.zitadel.LockoutPolicy;\nimport com.pulumi.zitadel.LockoutPolicyArgs;\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 default_ = new LockoutPolicy(\"default\", LockoutPolicyArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .maxPasswordAttempts(\"5\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:LockoutPolicy\n properties:\n orgId: ${data.zitadel_org.default.id}\n maxPasswordAttempts: '5'\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003c[org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/lockoutPolicy:LockoutPolicy imported '123456789012345678'\n```\n\n ", "properties": { "maxPasswordAttempts": { "type": "integer", @@ -4172,7 +4172,7 @@ } }, "zitadel:index/loginPolicy:LoginPolicy": { - "description": "Resource representing the custom login policy of an organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.LoginPolicy(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n userLogin: true,\n allowRegister: true,\n allowExternalIdp: true,\n forceMfa: false,\n forceMfaLocalOnly: false,\n passwordlessType: \"PASSWORDLESS_TYPE_ALLOWED\",\n hidePasswordReset: false,\n passwordCheckLifetime: \"240h0m0s\",\n externalLoginCheckLifetime: \"240h0m0s\",\n multiFactorCheckLifetime: \"24h0m0s\",\n mfaInitSkipLifetime: \"720h0m0s\",\n secondFactorCheckLifetime: \"24h0m0s\",\n ignoreUnknownUsernames: true,\n defaultRedirectUri: \"localhost:8080\",\n secondFactors: [\n \"SECOND_FACTOR_TYPE_OTP\",\n \"SECOND_FACTOR_TYPE_U2F\",\n ],\n multiFactors: [\"MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION\"],\n idps: [\n data.zitadel_idp_google[\"default\"].id,\n data.zitadel_idp_azure_ad[\"default\"].id,\n ],\n allowDomainDiscovery: true,\n disableLoginWithEmail: true,\n disableLoginWithPhone: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.LoginPolicy(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n user_login=True,\n allow_register=True,\n allow_external_idp=True,\n force_mfa=False,\n force_mfa_local_only=False,\n passwordless_type=\"PASSWORDLESS_TYPE_ALLOWED\",\n hide_password_reset=False,\n password_check_lifetime=\"240h0m0s\",\n external_login_check_lifetime=\"240h0m0s\",\n multi_factor_check_lifetime=\"24h0m0s\",\n mfa_init_skip_lifetime=\"720h0m0s\",\n second_factor_check_lifetime=\"24h0m0s\",\n ignore_unknown_usernames=True,\n default_redirect_uri=\"localhost:8080\",\n second_factors=[\n \"SECOND_FACTOR_TYPE_OTP\",\n \"SECOND_FACTOR_TYPE_U2F\",\n ],\n multi_factors=[\"MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION\"],\n idps=[\n data[\"zitadel_idp_google\"][\"default\"][\"id\"],\n data[\"zitadel_idp_azure_ad\"][\"default\"][\"id\"],\n ],\n allow_domain_discovery=True,\n disable_login_with_email=True,\n disable_login_with_phone=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.LoginPolicy(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n UserLogin = true,\n AllowRegister = true,\n AllowExternalIdp = true,\n ForceMfa = false,\n ForceMfaLocalOnly = false,\n PasswordlessType = \"PASSWORDLESS_TYPE_ALLOWED\",\n HidePasswordReset = false,\n PasswordCheckLifetime = \"240h0m0s\",\n ExternalLoginCheckLifetime = \"240h0m0s\",\n MultiFactorCheckLifetime = \"24h0m0s\",\n MfaInitSkipLifetime = \"720h0m0s\",\n SecondFactorCheckLifetime = \"24h0m0s\",\n IgnoreUnknownUsernames = true,\n DefaultRedirectUri = \"localhost:8080\",\n SecondFactors = new[]\n {\n \"SECOND_FACTOR_TYPE_OTP\",\n \"SECOND_FACTOR_TYPE_U2F\",\n },\n MultiFactors = new[]\n {\n \"MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION\",\n },\n Idps = new[]\n {\n data.Zitadel_idp_google.Default.Id,\n data.Zitadel_idp_azure_ad.Default.Id,\n },\n AllowDomainDiscovery = true,\n DisableLoginWithEmail = true,\n DisableLoginWithPhone = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewLoginPolicy(ctx, \"default\", \u0026zitadel.LoginPolicyArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tUserLogin: pulumi.Bool(true),\n\t\t\tAllowRegister: pulumi.Bool(true),\n\t\t\tAllowExternalIdp: pulumi.Bool(true),\n\t\t\tForceMfa: pulumi.Bool(false),\n\t\t\tForceMfaLocalOnly: pulumi.Bool(false),\n\t\t\tPasswordlessType: pulumi.String(\"PASSWORDLESS_TYPE_ALLOWED\"),\n\t\t\tHidePasswordReset: pulumi.Bool(false),\n\t\t\tPasswordCheckLifetime: pulumi.String(\"240h0m0s\"),\n\t\t\tExternalLoginCheckLifetime: pulumi.String(\"240h0m0s\"),\n\t\t\tMultiFactorCheckLifetime: pulumi.String(\"24h0m0s\"),\n\t\t\tMfaInitSkipLifetime: pulumi.String(\"720h0m0s\"),\n\t\t\tSecondFactorCheckLifetime: pulumi.String(\"24h0m0s\"),\n\t\t\tIgnoreUnknownUsernames: pulumi.Bool(true),\n\t\t\tDefaultRedirectUri: pulumi.String(\"localhost:8080\"),\n\t\t\tSecondFactors: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"SECOND_FACTOR_TYPE_OTP\"),\n\t\t\t\tpulumi.String(\"SECOND_FACTOR_TYPE_U2F\"),\n\t\t\t},\n\t\t\tMultiFactors: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION\"),\n\t\t\t},\n\t\t\tIdps: pulumi.StringArray{\n\t\t\t\tdata.Zitadel_idp_google.Default.Id,\n\t\t\t\tdata.Zitadel_idp_azure_ad.Default.Id,\n\t\t\t},\n\t\t\tAllowDomainDiscovery: pulumi.Bool(true),\n\t\t\tDisableLoginWithEmail: pulumi.Bool(true),\n\t\t\tDisableLoginWithPhone: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.LoginPolicy;\nimport com.pulumi.zitadel.LoginPolicyArgs;\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 default_ = new LoginPolicy(\"default\", LoginPolicyArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .userLogin(true)\n .allowRegister(true)\n .allowExternalIdp(true)\n .forceMfa(false)\n .forceMfaLocalOnly(false)\n .passwordlessType(\"PASSWORDLESS_TYPE_ALLOWED\")\n .hidePasswordReset(\"false\")\n .passwordCheckLifetime(\"240h0m0s\")\n .externalLoginCheckLifetime(\"240h0m0s\")\n .multiFactorCheckLifetime(\"24h0m0s\")\n .mfaInitSkipLifetime(\"720h0m0s\")\n .secondFactorCheckLifetime(\"24h0m0s\")\n .ignoreUnknownUsernames(true)\n .defaultRedirectUri(\"localhost:8080\")\n .secondFactors( \n \"SECOND_FACTOR_TYPE_OTP\",\n \"SECOND_FACTOR_TYPE_U2F\")\n .multiFactors(\"MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION\")\n .idps( \n data.zitadel_idp_google().default().id(),\n data.zitadel_idp_azure_ad().default().id())\n .allowDomainDiscovery(true)\n .disableLoginWithEmail(true)\n .disableLoginWithPhone(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:LoginPolicy\n properties:\n orgId: ${data.zitadel_org.default.id}\n userLogin: true\n allowRegister: true\n allowExternalIdp: true\n forceMfa: false\n forceMfaLocalOnly: false\n passwordlessType: PASSWORDLESS_TYPE_ALLOWED\n hidePasswordReset: 'false'\n passwordCheckLifetime: 240h0m0s\n externalLoginCheckLifetime: 240h0m0s\n multiFactorCheckLifetime: 24h0m0s\n mfaInitSkipLifetime: 720h0m0s\n secondFactorCheckLifetime: 24h0m0s\n ignoreUnknownUsernames: true\n defaultRedirectUri: localhost:8080\n secondFactors:\n - SECOND_FACTOR_TYPE_OTP\n - SECOND_FACTOR_TYPE_U2F\n multiFactors:\n - MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION\n idps:\n - ${data.zitadel_idp_google.default.id}\n - ${data.zitadel_idp_azure_ad.default.id}\n allowDomainDiscovery: true\n disableLoginWithEmail: true\n disableLoginWithPhone: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003c[org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/loginPolicy:LoginPolicy imported '123456789012345678'\n```\n\n ", + "description": "Resource representing the custom login policy of an organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@scoretechnologies/zitadel\";\n\nconst _default = new zitadel.LoginPolicy(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n userLogin: true,\n allowRegister: true,\n allowExternalIdp: true,\n forceMfa: false,\n forceMfaLocalOnly: false,\n passwordlessType: \"PASSWORDLESS_TYPE_ALLOWED\",\n hidePasswordReset: false,\n passwordCheckLifetime: \"240h0m0s\",\n externalLoginCheckLifetime: \"240h0m0s\",\n multiFactorCheckLifetime: \"24h0m0s\",\n mfaInitSkipLifetime: \"720h0m0s\",\n secondFactorCheckLifetime: \"24h0m0s\",\n ignoreUnknownUsernames: true,\n defaultRedirectUri: \"localhost:8080\",\n secondFactors: [\n \"SECOND_FACTOR_TYPE_OTP\",\n \"SECOND_FACTOR_TYPE_U2F\",\n ],\n multiFactors: [\"MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION\"],\n idps: [\n data.zitadel_idp_google[\"default\"].id,\n data.zitadel_idp_azure_ad[\"default\"].id,\n ],\n allowDomainDiscovery: true,\n disableLoginWithEmail: true,\n disableLoginWithPhone: true,\n});\n```\n```python\nimport pulumi\nimport scoretechnologies_zitadel as zitadel\n\ndefault = zitadel.LoginPolicy(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n user_login=True,\n allow_register=True,\n allow_external_idp=True,\n force_mfa=False,\n force_mfa_local_only=False,\n passwordless_type=\"PASSWORDLESS_TYPE_ALLOWED\",\n hide_password_reset=False,\n password_check_lifetime=\"240h0m0s\",\n external_login_check_lifetime=\"240h0m0s\",\n multi_factor_check_lifetime=\"24h0m0s\",\n mfa_init_skip_lifetime=\"720h0m0s\",\n second_factor_check_lifetime=\"24h0m0s\",\n ignore_unknown_usernames=True,\n default_redirect_uri=\"localhost:8080\",\n second_factors=[\n \"SECOND_FACTOR_TYPE_OTP\",\n \"SECOND_FACTOR_TYPE_U2F\",\n ],\n multi_factors=[\"MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION\"],\n idps=[\n data[\"zitadel_idp_google\"][\"default\"][\"id\"],\n data[\"zitadel_idp_azure_ad\"][\"default\"][\"id\"],\n ],\n allow_domain_discovery=True,\n disable_login_with_email=True,\n disable_login_with_phone=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = scoretechnologies.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.LoginPolicy(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n UserLogin = true,\n AllowRegister = true,\n AllowExternalIdp = true,\n ForceMfa = false,\n ForceMfaLocalOnly = false,\n PasswordlessType = \"PASSWORDLESS_TYPE_ALLOWED\",\n HidePasswordReset = false,\n PasswordCheckLifetime = \"240h0m0s\",\n ExternalLoginCheckLifetime = \"240h0m0s\",\n MultiFactorCheckLifetime = \"24h0m0s\",\n MfaInitSkipLifetime = \"720h0m0s\",\n SecondFactorCheckLifetime = \"24h0m0s\",\n IgnoreUnknownUsernames = true,\n DefaultRedirectUri = \"localhost:8080\",\n SecondFactors = new[]\n {\n \"SECOND_FACTOR_TYPE_OTP\",\n \"SECOND_FACTOR_TYPE_U2F\",\n },\n MultiFactors = new[]\n {\n \"MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION\",\n },\n Idps = new[]\n {\n data.Zitadel_idp_google.Default.Id,\n data.Zitadel_idp_azure_ad.Default.Id,\n },\n AllowDomainDiscovery = true,\n DisableLoginWithEmail = true,\n DisableLoginWithPhone = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewLoginPolicy(ctx, \"default\", \u0026zitadel.LoginPolicyArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tUserLogin: pulumi.Bool(true),\n\t\t\tAllowRegister: pulumi.Bool(true),\n\t\t\tAllowExternalIdp: pulumi.Bool(true),\n\t\t\tForceMfa: pulumi.Bool(false),\n\t\t\tForceMfaLocalOnly: pulumi.Bool(false),\n\t\t\tPasswordlessType: pulumi.String(\"PASSWORDLESS_TYPE_ALLOWED\"),\n\t\t\tHidePasswordReset: pulumi.Bool(false),\n\t\t\tPasswordCheckLifetime: pulumi.String(\"240h0m0s\"),\n\t\t\tExternalLoginCheckLifetime: pulumi.String(\"240h0m0s\"),\n\t\t\tMultiFactorCheckLifetime: pulumi.String(\"24h0m0s\"),\n\t\t\tMfaInitSkipLifetime: pulumi.String(\"720h0m0s\"),\n\t\t\tSecondFactorCheckLifetime: pulumi.String(\"24h0m0s\"),\n\t\t\tIgnoreUnknownUsernames: pulumi.Bool(true),\n\t\t\tDefaultRedirectUri: pulumi.String(\"localhost:8080\"),\n\t\t\tSecondFactors: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"SECOND_FACTOR_TYPE_OTP\"),\n\t\t\t\tpulumi.String(\"SECOND_FACTOR_TYPE_U2F\"),\n\t\t\t},\n\t\t\tMultiFactors: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION\"),\n\t\t\t},\n\t\t\tIdps: pulumi.StringArray{\n\t\t\t\tdata.Zitadel_idp_google.Default.Id,\n\t\t\t\tdata.Zitadel_idp_azure_ad.Default.Id,\n\t\t\t},\n\t\t\tAllowDomainDiscovery: pulumi.Bool(true),\n\t\t\tDisableLoginWithEmail: pulumi.Bool(true),\n\t\t\tDisableLoginWithPhone: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.LoginPolicy;\nimport com.pulumi.zitadel.LoginPolicyArgs;\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 default_ = new LoginPolicy(\"default\", LoginPolicyArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .userLogin(true)\n .allowRegister(true)\n .allowExternalIdp(true)\n .forceMfa(false)\n .forceMfaLocalOnly(false)\n .passwordlessType(\"PASSWORDLESS_TYPE_ALLOWED\")\n .hidePasswordReset(\"false\")\n .passwordCheckLifetime(\"240h0m0s\")\n .externalLoginCheckLifetime(\"240h0m0s\")\n .multiFactorCheckLifetime(\"24h0m0s\")\n .mfaInitSkipLifetime(\"720h0m0s\")\n .secondFactorCheckLifetime(\"24h0m0s\")\n .ignoreUnknownUsernames(true)\n .defaultRedirectUri(\"localhost:8080\")\n .secondFactors( \n \"SECOND_FACTOR_TYPE_OTP\",\n \"SECOND_FACTOR_TYPE_U2F\")\n .multiFactors(\"MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION\")\n .idps( \n data.zitadel_idp_google().default().id(),\n data.zitadel_idp_azure_ad().default().id())\n .allowDomainDiscovery(true)\n .disableLoginWithEmail(true)\n .disableLoginWithPhone(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:LoginPolicy\n properties:\n orgId: ${data.zitadel_org.default.id}\n userLogin: true\n allowRegister: true\n allowExternalIdp: true\n forceMfa: false\n forceMfaLocalOnly: false\n passwordlessType: PASSWORDLESS_TYPE_ALLOWED\n hidePasswordReset: 'false'\n passwordCheckLifetime: 240h0m0s\n externalLoginCheckLifetime: 240h0m0s\n multiFactorCheckLifetime: 24h0m0s\n mfaInitSkipLifetime: 720h0m0s\n secondFactorCheckLifetime: 24h0m0s\n ignoreUnknownUsernames: true\n defaultRedirectUri: localhost:8080\n secondFactors:\n - SECOND_FACTOR_TYPE_OTP\n - SECOND_FACTOR_TYPE_U2F\n multiFactors:\n - MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION\n idps:\n - ${data.zitadel_idp_google.default.id}\n - ${data.zitadel_idp_azure_ad.default.id}\n allowDomainDiscovery: true\n disableLoginWithEmail: true\n disableLoginWithPhone: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003c[org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/loginPolicy:LoginPolicy imported '123456789012345678'\n```\n\n ", "properties": { "allowDomainDiscovery": { "type": "boolean", @@ -4483,7 +4483,7 @@ } }, "zitadel:index/machineKey:MachineKey": { - "description": "Resource representing a machine key\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.MachineKey(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n userId: data.zitadel_machine_user[\"default\"].id,\n keyType: \"KEY_TYPE_JSON\",\n expirationDate: \"2519-04-01T08:45:00Z\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.MachineKey(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n user_id=data[\"zitadel_machine_user\"][\"default\"][\"id\"],\n key_type=\"KEY_TYPE_JSON\",\n expiration_date=\"2519-04-01T08:45:00Z\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.MachineKey(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n UserId = data.Zitadel_machine_user.Default.Id,\n KeyType = \"KEY_TYPE_JSON\",\n ExpirationDate = \"2519-04-01T08:45:00Z\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewMachineKey(ctx, \"default\", \u0026zitadel.MachineKeyArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tUserId: pulumi.Any(data.Zitadel_machine_user.Default.Id),\n\t\t\tKeyType: pulumi.String(\"KEY_TYPE_JSON\"),\n\t\t\tExpirationDate: pulumi.String(\"2519-04-01T08:45:00Z\"),\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.zitadel.MachineKey;\nimport com.pulumi.zitadel.MachineKeyArgs;\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 default_ = new MachineKey(\"default\", MachineKeyArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .userId(data.zitadel_machine_user().default().id())\n .keyType(\"KEY_TYPE_JSON\")\n .expirationDate(\"2519-04-01T08:45:00Z\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:MachineKey\n properties:\n orgId: ${data.zitadel_org.default.id}\n userId: ${data.zitadel_machine_user.default.id}\n keyType: KEY_TYPE_JSON\n expirationDate: 2519-04-01T08:45:00Z\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid:user_id[:org_id][:key_details]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/machineKey:MachineKey imported '123456789012345678:123456789012345678:123456789012345678:{\"type\":\"serviceaccount\",\"keyId\":\"123456789012345678\",\"key\":\"-----BEGIN RSA PRIVATE KEY-----\\nMIIEpQ...-----END RSA PRIVATE KEY-----\\n\",\"userId\":\"123456789012345678\"}'\n```\n\n ", + "description": "Resource representing a machine key\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@scoretechnologies/zitadel\";\n\nconst _default = new zitadel.MachineKey(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n userId: data.zitadel_machine_user[\"default\"].id,\n keyType: \"KEY_TYPE_JSON\",\n expirationDate: \"2519-04-01T08:45:00Z\",\n});\n```\n```python\nimport pulumi\nimport scoretechnologies_zitadel as zitadel\n\ndefault = zitadel.MachineKey(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n user_id=data[\"zitadel_machine_user\"][\"default\"][\"id\"],\n key_type=\"KEY_TYPE_JSON\",\n expiration_date=\"2519-04-01T08:45:00Z\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = scoretechnologies.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.MachineKey(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n UserId = data.Zitadel_machine_user.Default.Id,\n KeyType = \"KEY_TYPE_JSON\",\n ExpirationDate = \"2519-04-01T08:45:00Z\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewMachineKey(ctx, \"default\", \u0026zitadel.MachineKeyArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tUserId: pulumi.Any(data.Zitadel_machine_user.Default.Id),\n\t\t\tKeyType: pulumi.String(\"KEY_TYPE_JSON\"),\n\t\t\tExpirationDate: pulumi.String(\"2519-04-01T08:45:00Z\"),\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.zitadel.MachineKey;\nimport com.pulumi.zitadel.MachineKeyArgs;\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 default_ = new MachineKey(\"default\", MachineKeyArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .userId(data.zitadel_machine_user().default().id())\n .keyType(\"KEY_TYPE_JSON\")\n .expirationDate(\"2519-04-01T08:45:00Z\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:MachineKey\n properties:\n orgId: ${data.zitadel_org.default.id}\n userId: ${data.zitadel_machine_user.default.id}\n keyType: KEY_TYPE_JSON\n expirationDate: 2519-04-01T08:45:00Z\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid:user_id[:org_id][:key_details]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/machineKey:MachineKey imported '123456789012345678:123456789012345678:123456789012345678:{\"type\":\"serviceaccount\",\"keyId\":\"123456789012345678\",\"key\":\"-----BEGIN RSA PRIVATE KEY-----\\nMIIEpQ...-----END RSA PRIVATE KEY-----\\n\",\"userId\":\"123456789012345678\"}'\n```\n\n ", "properties": { "expirationDate": { "type": "string", @@ -4572,7 +4572,7 @@ } }, "zitadel:index/machineUser:MachineUser": { - "description": "Resource representing a serviceaccount situated under an organization, which then can be authorized through memberships or direct grants on other resources.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.MachineUser(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n userName: \"machine@example.com\",\n description: \"a machine user\",\n withSecret: false,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.MachineUser(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n user_name=\"machine@example.com\",\n description=\"a machine user\",\n with_secret=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.MachineUser(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n UserName = \"machine@example.com\",\n Description = \"a machine user\",\n WithSecret = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewMachineUser(ctx, \"default\", \u0026zitadel.MachineUserArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tUserName: pulumi.String(\"machine@example.com\"),\n\t\t\tDescription: pulumi.String(\"a machine user\"),\n\t\t\tWithSecret: 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.zitadel.MachineUser;\nimport com.pulumi.zitadel.MachineUserArgs;\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 default_ = new MachineUser(\"default\", MachineUserArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .userName(\"machine@example.com\")\n .description(\"a machine user\")\n .withSecret(false)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:MachineUser\n properties:\n orgId: ${data.zitadel_org.default.id}\n userName: machine@example.com\n description: a machine user\n withSecret: false\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid:has_secret[:org_id][:client_id][:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/machineUser:MachineUser imported '123456789012345678:123456789012345678:true:my-machine-user:j76mh34CHVrGGoXPQOg80lch67FIxwc2qIXjBkZoB6oMbf31eGMkB6bvRyaPjR2t'\n```\n\n ", + "description": "Resource representing a serviceaccount situated under an organization, which then can be authorized through memberships or direct grants on other resources.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@scoretechnologies/zitadel\";\n\nconst _default = new zitadel.MachineUser(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n userName: \"machine@example.com\",\n description: \"a machine user\",\n withSecret: false,\n});\n```\n```python\nimport pulumi\nimport scoretechnologies_zitadel as zitadel\n\ndefault = zitadel.MachineUser(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n user_name=\"machine@example.com\",\n description=\"a machine user\",\n with_secret=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = scoretechnologies.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.MachineUser(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n UserName = \"machine@example.com\",\n Description = \"a machine user\",\n WithSecret = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewMachineUser(ctx, \"default\", \u0026zitadel.MachineUserArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tUserName: pulumi.String(\"machine@example.com\"),\n\t\t\tDescription: pulumi.String(\"a machine user\"),\n\t\t\tWithSecret: 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.zitadel.MachineUser;\nimport com.pulumi.zitadel.MachineUserArgs;\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 default_ = new MachineUser(\"default\", MachineUserArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .userName(\"machine@example.com\")\n .description(\"a machine user\")\n .withSecret(false)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:MachineUser\n properties:\n orgId: ${data.zitadel_org.default.id}\n userName: machine@example.com\n description: a machine user\n withSecret: false\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid:has_secret[:org_id][:client_id][:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/machineUser:MachineUser imported '123456789012345678:123456789012345678:true:my-machine-user:j76mh34CHVrGGoXPQOg80lch67FIxwc2qIXjBkZoB6oMbf31eGMkB6bvRyaPjR2t'\n```\n\n ", "properties": { "accessTokenType": { "type": "string", @@ -4721,7 +4721,7 @@ } }, "zitadel:index/notificationPolicy:NotificationPolicy": { - "description": "Resource representing the custom notification policy of an organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.NotificationPolicy(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n passwordChange: false,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.NotificationPolicy(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n password_change=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.NotificationPolicy(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n PasswordChange = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewNotificationPolicy(ctx, \"default\", \u0026zitadel.NotificationPolicyArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tPasswordChange: 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.zitadel.NotificationPolicy;\nimport com.pulumi.zitadel.NotificationPolicyArgs;\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 default_ = new NotificationPolicy(\"default\", NotificationPolicyArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .passwordChange(false)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:NotificationPolicy\n properties:\n orgId: ${data.zitadel_org.default.id}\n passwordChange: false\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003c[org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/notificationPolicy:NotificationPolicy imported '123456789012345678'\n```\n\n ", + "description": "Resource representing the custom notification policy of an organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@scoretechnologies/zitadel\";\n\nconst _default = new zitadel.NotificationPolicy(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n passwordChange: false,\n});\n```\n```python\nimport pulumi\nimport scoretechnologies_zitadel as zitadel\n\ndefault = zitadel.NotificationPolicy(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n password_change=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = scoretechnologies.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.NotificationPolicy(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n PasswordChange = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewNotificationPolicy(ctx, \"default\", \u0026zitadel.NotificationPolicyArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tPasswordChange: 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.zitadel.NotificationPolicy;\nimport com.pulumi.zitadel.NotificationPolicyArgs;\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 default_ = new NotificationPolicy(\"default\", NotificationPolicyArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .passwordChange(false)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:NotificationPolicy\n properties:\n orgId: ${data.zitadel_org.default.id}\n passwordChange: false\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003c[org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/notificationPolicy:NotificationPolicy imported '123456789012345678'\n```\n\n ", "properties": { "orgId": { "type": "string", @@ -4766,7 +4766,7 @@ } }, "zitadel:index/org:Org": { - "description": "Resource representing an organization in ZITADEL, which is the highest level after the instance and contains several other resource including policies if the configuration differs to the default policies on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.Org(\"default\", {});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.Org(\"default\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.Org(\"default\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewOrg(ctx, \"default\", 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.zitadel.Org;\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 default_ = new Org(\"default\");\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:Org\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/org:Org imported '123456789012345678'\n```\n\n ", + "description": "Resource representing an organization in ZITADEL, which is the highest level after the instance and contains several other resource including policies if the configuration differs to the default policies on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@scoretechnologies/zitadel\";\n\nconst _default = new zitadel.Org(\"default\", {});\n```\n```python\nimport pulumi\nimport scoretechnologies_zitadel as zitadel\n\ndefault = zitadel.Org(\"default\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = scoretechnologies.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.Org(\"default\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewOrg(ctx, \"default\", 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.zitadel.Org;\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 default_ = new Org(\"default\");\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:Org\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/org:Org imported '123456789012345678'\n```\n\n ", "properties": { "isDefault": { "type": "boolean", @@ -4824,7 +4824,7 @@ } }, "zitadel:index/orgIdpAzureAd:OrgIdpAzureAd": { - "description": "Resource representing an Azure AD IdP on the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.OrgIdpAzureAd(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n clientId: \"9065bfc8-a08a...\",\n clientSecret: \"H2n***\",\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n \"User.Read\",\n ],\n tenantType: \"AZURE_AD_TENANT_TYPE_ORGANISATIONS\",\n emailVerified: true,\n isLinkingAllowed: false,\n isCreationAllowed: true,\n isAutoCreation: false,\n isAutoUpdate: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.OrgIdpAzureAd(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n client_id=\"9065bfc8-a08a...\",\n client_secret=\"H2n***\",\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n \"User.Read\",\n ],\n tenant_type=\"AZURE_AD_TENANT_TYPE_ORGANISATIONS\",\n email_verified=True,\n is_linking_allowed=False,\n is_creation_allowed=True,\n is_auto_creation=False,\n is_auto_update=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.OrgIdpAzureAd(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ClientId = \"9065bfc8-a08a...\",\n ClientSecret = \"H2n***\",\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n \"User.Read\",\n },\n TenantType = \"AZURE_AD_TENANT_TYPE_ORGANISATIONS\",\n EmailVerified = true,\n IsLinkingAllowed = false,\n IsCreationAllowed = true,\n IsAutoCreation = false,\n IsAutoUpdate = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewOrgIdpAzureAd(ctx, \"default\", \u0026zitadel.OrgIdpAzureAdArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tClientId: pulumi.String(\"9065bfc8-a08a...\"),\n\t\t\tClientSecret: pulumi.String(\"H2n***\"),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t\tpulumi.String(\"User.Read\"),\n\t\t\t},\n\t\t\tTenantType: pulumi.String(\"AZURE_AD_TENANT_TYPE_ORGANISATIONS\"),\n\t\t\tEmailVerified: pulumi.Bool(true),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.OrgIdpAzureAd;\nimport com.pulumi.zitadel.OrgIdpAzureAdArgs;\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 default_ = new OrgIdpAzureAd(\"default\", OrgIdpAzureAdArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .clientId(\"9065bfc8-a08a...\")\n .clientSecret(\"H2n***\")\n .scopes( \n \"openid\",\n \"profile\",\n \"email\",\n \"User.Read\")\n .tenantType(\"AZURE_AD_TENANT_TYPE_ORGANISATIONS\")\n .emailVerified(true)\n .isLinkingAllowed(false)\n .isCreationAllowed(true)\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:OrgIdpAzureAd\n properties:\n orgId: ${data.zitadel_org.default.id}\n clientId: 9065bfc8-a08a...\n clientSecret: H2n***\n scopes:\n - openid\n - profile\n - email\n - User.Read\n tenantType: AZURE_AD_TENANT_TYPE_ORGANISATIONS\n emailVerified: true\n isLinkingAllowed: false\n isCreationAllowed: true\n isAutoCreation: false\n isAutoUpdate: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid[:org_id][:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/orgIdpAzureAd:OrgIdpAzureAd imported '123456789012345678:123456789012345678:12345678-1234-1234-1234-123456789012'\n```\n\n ", + "description": "Resource representing an Azure AD IdP on the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@scoretechnologies/zitadel\";\n\nconst _default = new zitadel.OrgIdpAzureAd(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n clientId: \"9065bfc8-a08a...\",\n clientSecret: \"H2n***\",\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n \"User.Read\",\n ],\n tenantType: \"AZURE_AD_TENANT_TYPE_ORGANISATIONS\",\n emailVerified: true,\n isLinkingAllowed: false,\n isCreationAllowed: true,\n isAutoCreation: false,\n isAutoUpdate: true,\n});\n```\n```python\nimport pulumi\nimport scoretechnologies_zitadel as zitadel\n\ndefault = zitadel.OrgIdpAzureAd(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n client_id=\"9065bfc8-a08a...\",\n client_secret=\"H2n***\",\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n \"User.Read\",\n ],\n tenant_type=\"AZURE_AD_TENANT_TYPE_ORGANISATIONS\",\n email_verified=True,\n is_linking_allowed=False,\n is_creation_allowed=True,\n is_auto_creation=False,\n is_auto_update=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = scoretechnologies.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.OrgIdpAzureAd(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ClientId = \"9065bfc8-a08a...\",\n ClientSecret = \"H2n***\",\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n \"User.Read\",\n },\n TenantType = \"AZURE_AD_TENANT_TYPE_ORGANISATIONS\",\n EmailVerified = true,\n IsLinkingAllowed = false,\n IsCreationAllowed = true,\n IsAutoCreation = false,\n IsAutoUpdate = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewOrgIdpAzureAd(ctx, \"default\", \u0026zitadel.OrgIdpAzureAdArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tClientId: pulumi.String(\"9065bfc8-a08a...\"),\n\t\t\tClientSecret: pulumi.String(\"H2n***\"),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t\tpulumi.String(\"User.Read\"),\n\t\t\t},\n\t\t\tTenantType: pulumi.String(\"AZURE_AD_TENANT_TYPE_ORGANISATIONS\"),\n\t\t\tEmailVerified: pulumi.Bool(true),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.OrgIdpAzureAd;\nimport com.pulumi.zitadel.OrgIdpAzureAdArgs;\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 default_ = new OrgIdpAzureAd(\"default\", OrgIdpAzureAdArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .clientId(\"9065bfc8-a08a...\")\n .clientSecret(\"H2n***\")\n .scopes( \n \"openid\",\n \"profile\",\n \"email\",\n \"User.Read\")\n .tenantType(\"AZURE_AD_TENANT_TYPE_ORGANISATIONS\")\n .emailVerified(true)\n .isLinkingAllowed(false)\n .isCreationAllowed(true)\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:OrgIdpAzureAd\n properties:\n orgId: ${data.zitadel_org.default.id}\n clientId: 9065bfc8-a08a...\n clientSecret: H2n***\n scopes:\n - openid\n - profile\n - email\n - User.Read\n tenantType: AZURE_AD_TENANT_TYPE_ORGANISATIONS\n emailVerified: true\n isLinkingAllowed: false\n isCreationAllowed: true\n isAutoCreation: false\n isAutoUpdate: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid[:org_id][:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/orgIdpAzureAd:OrgIdpAzureAd imported '123456789012345678:123456789012345678:12345678-1234-1234-1234-123456789012'\n```\n\n ", "properties": { "clientId": { "type": "string", @@ -5014,7 +5014,7 @@ } }, "zitadel:index/orgIdpGithub:OrgIdpGithub": { - "description": "Resource representing a GitHub IdP on the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.OrgIdpGithub(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n clientId: \"86a165...\",\n clientSecret: \"*****afdbac18\",\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n ],\n isLinkingAllowed: false,\n isCreationAllowed: true,\n isAutoCreation: false,\n isAutoUpdate: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.OrgIdpGithub(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n client_id=\"86a165...\",\n client_secret=\"*****afdbac18\",\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n ],\n is_linking_allowed=False,\n is_creation_allowed=True,\n is_auto_creation=False,\n is_auto_update=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.OrgIdpGithub(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ClientId = \"86a165...\",\n ClientSecret = \"*****afdbac18\",\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n },\n IsLinkingAllowed = false,\n IsCreationAllowed = true,\n IsAutoCreation = false,\n IsAutoUpdate = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewOrgIdpGithub(ctx, \"default\", \u0026zitadel.OrgIdpGithubArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tClientId: pulumi.String(\"86a165...\"),\n\t\t\tClientSecret: pulumi.String(\"*****afdbac18\"),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t},\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.OrgIdpGithub;\nimport com.pulumi.zitadel.OrgIdpGithubArgs;\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 default_ = new OrgIdpGithub(\"default\", OrgIdpGithubArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .clientId(\"86a165...\")\n .clientSecret(\"*****afdbac18\")\n .scopes( \n \"openid\",\n \"profile\",\n \"email\")\n .isLinkingAllowed(false)\n .isCreationAllowed(true)\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:OrgIdpGithub\n properties:\n orgId: ${data.zitadel_org.default.id}\n clientId: 86a165...\n clientSecret: '*****afdbac18'\n scopes:\n - openid\n - profile\n - email\n isLinkingAllowed: false\n isCreationAllowed: true\n isAutoCreation: false\n isAutoUpdate: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid[:org_id][:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/orgIdpGithub:OrgIdpGithub imported '123456789012345678:123456789012345678:1234567890123456781234567890123456787890'\n```\n\n ", + "description": "Resource representing a GitHub IdP on the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@scoretechnologies/zitadel\";\n\nconst _default = new zitadel.OrgIdpGithub(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n clientId: \"86a165...\",\n clientSecret: \"*****afdbac18\",\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n ],\n isLinkingAllowed: false,\n isCreationAllowed: true,\n isAutoCreation: false,\n isAutoUpdate: true,\n});\n```\n```python\nimport pulumi\nimport scoretechnologies_zitadel as zitadel\n\ndefault = zitadel.OrgIdpGithub(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n client_id=\"86a165...\",\n client_secret=\"*****afdbac18\",\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n ],\n is_linking_allowed=False,\n is_creation_allowed=True,\n is_auto_creation=False,\n is_auto_update=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = scoretechnologies.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.OrgIdpGithub(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ClientId = \"86a165...\",\n ClientSecret = \"*****afdbac18\",\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n },\n IsLinkingAllowed = false,\n IsCreationAllowed = true,\n IsAutoCreation = false,\n IsAutoUpdate = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewOrgIdpGithub(ctx, \"default\", \u0026zitadel.OrgIdpGithubArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tClientId: pulumi.String(\"86a165...\"),\n\t\t\tClientSecret: pulumi.String(\"*****afdbac18\"),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t},\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.OrgIdpGithub;\nimport com.pulumi.zitadel.OrgIdpGithubArgs;\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 default_ = new OrgIdpGithub(\"default\", OrgIdpGithubArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .clientId(\"86a165...\")\n .clientSecret(\"*****afdbac18\")\n .scopes( \n \"openid\",\n \"profile\",\n \"email\")\n .isLinkingAllowed(false)\n .isCreationAllowed(true)\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:OrgIdpGithub\n properties:\n orgId: ${data.zitadel_org.default.id}\n clientId: 86a165...\n clientSecret: '*****afdbac18'\n scopes:\n - openid\n - profile\n - email\n isLinkingAllowed: false\n isCreationAllowed: true\n isAutoCreation: false\n isAutoUpdate: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid[:org_id][:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/orgIdpGithub:OrgIdpGithub imported '123456789012345678:123456789012345678:1234567890123456781234567890123456787890'\n```\n\n ", "properties": { "clientId": { "type": "string", @@ -5166,7 +5166,7 @@ } }, "zitadel:index/orgIdpGithubEs:OrgIdpGithubEs": { - "description": "Resource representing a GitHub Enterprise IdP on the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.OrgIdpGithubEs(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n clientId: \"86a165...\",\n clientSecret: \"*****afdbac18\",\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n ],\n authorizationEndpoint: \"https://auth.endpoint\",\n tokenEndpoint: \"https://token.endpoint\",\n userEndpoint: \"https://user.endpoint\",\n isLinkingAllowed: false,\n isCreationAllowed: true,\n isAutoCreation: false,\n isAutoUpdate: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.OrgIdpGithubEs(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n client_id=\"86a165...\",\n client_secret=\"*****afdbac18\",\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n ],\n authorization_endpoint=\"https://auth.endpoint\",\n token_endpoint=\"https://token.endpoint\",\n user_endpoint=\"https://user.endpoint\",\n is_linking_allowed=False,\n is_creation_allowed=True,\n is_auto_creation=False,\n is_auto_update=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.OrgIdpGithubEs(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ClientId = \"86a165...\",\n ClientSecret = \"*****afdbac18\",\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n },\n AuthorizationEndpoint = \"https://auth.endpoint\",\n TokenEndpoint = \"https://token.endpoint\",\n UserEndpoint = \"https://user.endpoint\",\n IsLinkingAllowed = false,\n IsCreationAllowed = true,\n IsAutoCreation = false,\n IsAutoUpdate = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewOrgIdpGithubEs(ctx, \"default\", \u0026zitadel.OrgIdpGithubEsArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tClientId: pulumi.String(\"86a165...\"),\n\t\t\tClientSecret: pulumi.String(\"*****afdbac18\"),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t},\n\t\t\tAuthorizationEndpoint: pulumi.String(\"https://auth.endpoint\"),\n\t\t\tTokenEndpoint: pulumi.String(\"https://token.endpoint\"),\n\t\t\tUserEndpoint: pulumi.String(\"https://user.endpoint\"),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.OrgIdpGithubEs;\nimport com.pulumi.zitadel.OrgIdpGithubEsArgs;\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 default_ = new OrgIdpGithubEs(\"default\", OrgIdpGithubEsArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .clientId(\"86a165...\")\n .clientSecret(\"*****afdbac18\")\n .scopes( \n \"openid\",\n \"profile\",\n \"email\")\n .authorizationEndpoint(\"https://auth.endpoint\")\n .tokenEndpoint(\"https://token.endpoint\")\n .userEndpoint(\"https://user.endpoint\")\n .isLinkingAllowed(false)\n .isCreationAllowed(true)\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:OrgIdpGithubEs\n properties:\n orgId: ${data.zitadel_org.default.id}\n clientId: 86a165...\n clientSecret: '*****afdbac18'\n scopes:\n - openid\n - profile\n - email\n authorizationEndpoint: https://auth.endpoint\n tokenEndpoint: https://token.endpoint\n userEndpoint: https://user.endpoint\n isLinkingAllowed: false\n isCreationAllowed: true\n isAutoCreation: false\n isAutoUpdate: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid[:org_id][:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/orgIdpGithubEs:OrgIdpGithubEs imported '123456789012345678:123456789012345678:123456789012345678:123456789012345678'\n```\n\n ", + "description": "Resource representing a GitHub Enterprise IdP on the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@scoretechnologies/zitadel\";\n\nconst _default = new zitadel.OrgIdpGithubEs(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n clientId: \"86a165...\",\n clientSecret: \"*****afdbac18\",\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n ],\n authorizationEndpoint: \"https://auth.endpoint\",\n tokenEndpoint: \"https://token.endpoint\",\n userEndpoint: \"https://user.endpoint\",\n isLinkingAllowed: false,\n isCreationAllowed: true,\n isAutoCreation: false,\n isAutoUpdate: true,\n});\n```\n```python\nimport pulumi\nimport scoretechnologies_zitadel as zitadel\n\ndefault = zitadel.OrgIdpGithubEs(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n client_id=\"86a165...\",\n client_secret=\"*****afdbac18\",\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n ],\n authorization_endpoint=\"https://auth.endpoint\",\n token_endpoint=\"https://token.endpoint\",\n user_endpoint=\"https://user.endpoint\",\n is_linking_allowed=False,\n is_creation_allowed=True,\n is_auto_creation=False,\n is_auto_update=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = scoretechnologies.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.OrgIdpGithubEs(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ClientId = \"86a165...\",\n ClientSecret = \"*****afdbac18\",\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n },\n AuthorizationEndpoint = \"https://auth.endpoint\",\n TokenEndpoint = \"https://token.endpoint\",\n UserEndpoint = \"https://user.endpoint\",\n IsLinkingAllowed = false,\n IsCreationAllowed = true,\n IsAutoCreation = false,\n IsAutoUpdate = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewOrgIdpGithubEs(ctx, \"default\", \u0026zitadel.OrgIdpGithubEsArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tClientId: pulumi.String(\"86a165...\"),\n\t\t\tClientSecret: pulumi.String(\"*****afdbac18\"),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t},\n\t\t\tAuthorizationEndpoint: pulumi.String(\"https://auth.endpoint\"),\n\t\t\tTokenEndpoint: pulumi.String(\"https://token.endpoint\"),\n\t\t\tUserEndpoint: pulumi.String(\"https://user.endpoint\"),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.OrgIdpGithubEs;\nimport com.pulumi.zitadel.OrgIdpGithubEsArgs;\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 default_ = new OrgIdpGithubEs(\"default\", OrgIdpGithubEsArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .clientId(\"86a165...\")\n .clientSecret(\"*****afdbac18\")\n .scopes( \n \"openid\",\n \"profile\",\n \"email\")\n .authorizationEndpoint(\"https://auth.endpoint\")\n .tokenEndpoint(\"https://token.endpoint\")\n .userEndpoint(\"https://user.endpoint\")\n .isLinkingAllowed(false)\n .isCreationAllowed(true)\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:OrgIdpGithubEs\n properties:\n orgId: ${data.zitadel_org.default.id}\n clientId: 86a165...\n clientSecret: '*****afdbac18'\n scopes:\n - openid\n - profile\n - email\n authorizationEndpoint: https://auth.endpoint\n tokenEndpoint: https://token.endpoint\n userEndpoint: https://user.endpoint\n isLinkingAllowed: false\n isCreationAllowed: true\n isAutoCreation: false\n isAutoUpdate: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid[:org_id][:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/orgIdpGithubEs:OrgIdpGithubEs imported '123456789012345678:123456789012345678:123456789012345678:123456789012345678'\n```\n\n ", "properties": { "authorizationEndpoint": { "type": "string", @@ -5360,7 +5360,7 @@ } }, "zitadel:index/orgIdpGitlab:OrgIdpGitlab": { - "description": "Resource representing a GitLab IdP on the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.OrgIdpGitlab(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n clientId: \"15765e...\",\n clientSecret: \"*****abcxyz\",\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n ],\n isLinkingAllowed: false,\n isCreationAllowed: true,\n isAutoCreation: false,\n isAutoUpdate: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.OrgIdpGitlab(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n client_id=\"15765e...\",\n client_secret=\"*****abcxyz\",\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n ],\n is_linking_allowed=False,\n is_creation_allowed=True,\n is_auto_creation=False,\n is_auto_update=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.OrgIdpGitlab(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ClientId = \"15765e...\",\n ClientSecret = \"*****abcxyz\",\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n },\n IsLinkingAllowed = false,\n IsCreationAllowed = true,\n IsAutoCreation = false,\n IsAutoUpdate = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewOrgIdpGitlab(ctx, \"default\", \u0026zitadel.OrgIdpGitlabArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tClientId: pulumi.String(\"15765e...\"),\n\t\t\tClientSecret: pulumi.String(\"*****abcxyz\"),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t},\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.OrgIdpGitlab;\nimport com.pulumi.zitadel.OrgIdpGitlabArgs;\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 default_ = new OrgIdpGitlab(\"default\", OrgIdpGitlabArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .clientId(\"15765e...\")\n .clientSecret(\"*****abcxyz\")\n .scopes( \n \"openid\",\n \"profile\",\n \"email\")\n .isLinkingAllowed(false)\n .isCreationAllowed(true)\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:OrgIdpGitlab\n properties:\n orgId: ${data.zitadel_org.default.id}\n clientId: 15765e...\n clientSecret: '*****abcxyz'\n scopes:\n - openid\n - profile\n - email\n isLinkingAllowed: false\n isCreationAllowed: true\n isAutoCreation: false\n isAutoUpdate: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid[:org_id][:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/orgIdpGitlab:OrgIdpGitlab imported '123456789012345678:123456789012345678:1234567890abcdef'\n```\n\n ", + "description": "Resource representing a GitLab IdP on the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@scoretechnologies/zitadel\";\n\nconst _default = new zitadel.OrgIdpGitlab(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n clientId: \"15765e...\",\n clientSecret: \"*****abcxyz\",\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n ],\n isLinkingAllowed: false,\n isCreationAllowed: true,\n isAutoCreation: false,\n isAutoUpdate: true,\n});\n```\n```python\nimport pulumi\nimport scoretechnologies_zitadel as zitadel\n\ndefault = zitadel.OrgIdpGitlab(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n client_id=\"15765e...\",\n client_secret=\"*****abcxyz\",\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n ],\n is_linking_allowed=False,\n is_creation_allowed=True,\n is_auto_creation=False,\n is_auto_update=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = scoretechnologies.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.OrgIdpGitlab(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ClientId = \"15765e...\",\n ClientSecret = \"*****abcxyz\",\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n },\n IsLinkingAllowed = false,\n IsCreationAllowed = true,\n IsAutoCreation = false,\n IsAutoUpdate = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewOrgIdpGitlab(ctx, \"default\", \u0026zitadel.OrgIdpGitlabArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tClientId: pulumi.String(\"15765e...\"),\n\t\t\tClientSecret: pulumi.String(\"*****abcxyz\"),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t},\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.OrgIdpGitlab;\nimport com.pulumi.zitadel.OrgIdpGitlabArgs;\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 default_ = new OrgIdpGitlab(\"default\", OrgIdpGitlabArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .clientId(\"15765e...\")\n .clientSecret(\"*****abcxyz\")\n .scopes( \n \"openid\",\n \"profile\",\n \"email\")\n .isLinkingAllowed(false)\n .isCreationAllowed(true)\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:OrgIdpGitlab\n properties:\n orgId: ${data.zitadel_org.default.id}\n clientId: 15765e...\n clientSecret: '*****abcxyz'\n scopes:\n - openid\n - profile\n - email\n isLinkingAllowed: false\n isCreationAllowed: true\n isAutoCreation: false\n isAutoUpdate: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid[:org_id][:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/orgIdpGitlab:OrgIdpGitlab imported '123456789012345678:123456789012345678:1234567890abcdef'\n```\n\n ", "properties": { "clientId": { "type": "string", @@ -5512,7 +5512,7 @@ } }, "zitadel:index/orgIdpGitlabSelfHosted:OrgIdpGitlabSelfHosted": { - "description": "Resource representing a GitLab Self Hosted IdP on the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.OrgIdpGitlabSelfHosted(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n clientId: \"15765e...\",\n clientSecret: \"*****abcxyz\",\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n ],\n issuer: \"https://my.issuer\",\n isLinkingAllowed: false,\n isCreationAllowed: true,\n isAutoCreation: false,\n isAutoUpdate: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.OrgIdpGitlabSelfHosted(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n client_id=\"15765e...\",\n client_secret=\"*****abcxyz\",\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n ],\n issuer=\"https://my.issuer\",\n is_linking_allowed=False,\n is_creation_allowed=True,\n is_auto_creation=False,\n is_auto_update=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.OrgIdpGitlabSelfHosted(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ClientId = \"15765e...\",\n ClientSecret = \"*****abcxyz\",\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n },\n Issuer = \"https://my.issuer\",\n IsLinkingAllowed = false,\n IsCreationAllowed = true,\n IsAutoCreation = false,\n IsAutoUpdate = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewOrgIdpGitlabSelfHosted(ctx, \"default\", \u0026zitadel.OrgIdpGitlabSelfHostedArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tClientId: pulumi.String(\"15765e...\"),\n\t\t\tClientSecret: pulumi.String(\"*****abcxyz\"),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t},\n\t\t\tIssuer: pulumi.String(\"https://my.issuer\"),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.OrgIdpGitlabSelfHosted;\nimport com.pulumi.zitadel.OrgIdpGitlabSelfHostedArgs;\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 default_ = new OrgIdpGitlabSelfHosted(\"default\", OrgIdpGitlabSelfHostedArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .clientId(\"15765e...\")\n .clientSecret(\"*****abcxyz\")\n .scopes( \n \"openid\",\n \"profile\",\n \"email\")\n .issuer(\"https://my.issuer\")\n .isLinkingAllowed(false)\n .isCreationAllowed(true)\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:OrgIdpGitlabSelfHosted\n properties:\n orgId: ${data.zitadel_org.default.id}\n clientId: 15765e...\n clientSecret: '*****abcxyz'\n scopes:\n - openid\n - profile\n - email\n issuer: https://my.issuer\n isLinkingAllowed: false\n isCreationAllowed: true\n isAutoCreation: false\n isAutoUpdate: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid[:org_id][:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/orgIdpGitlabSelfHosted:OrgIdpGitlabSelfHosted imported '123456789012345678:123456789012345678:1234567890abcdef'\n```\n\n ", + "description": "Resource representing a GitLab Self Hosted IdP on the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@scoretechnologies/zitadel\";\n\nconst _default = new zitadel.OrgIdpGitlabSelfHosted(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n clientId: \"15765e...\",\n clientSecret: \"*****abcxyz\",\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n ],\n issuer: \"https://my.issuer\",\n isLinkingAllowed: false,\n isCreationAllowed: true,\n isAutoCreation: false,\n isAutoUpdate: true,\n});\n```\n```python\nimport pulumi\nimport scoretechnologies_zitadel as zitadel\n\ndefault = zitadel.OrgIdpGitlabSelfHosted(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n client_id=\"15765e...\",\n client_secret=\"*****abcxyz\",\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n ],\n issuer=\"https://my.issuer\",\n is_linking_allowed=False,\n is_creation_allowed=True,\n is_auto_creation=False,\n is_auto_update=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = scoretechnologies.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.OrgIdpGitlabSelfHosted(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ClientId = \"15765e...\",\n ClientSecret = \"*****abcxyz\",\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n },\n Issuer = \"https://my.issuer\",\n IsLinkingAllowed = false,\n IsCreationAllowed = true,\n IsAutoCreation = false,\n IsAutoUpdate = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewOrgIdpGitlabSelfHosted(ctx, \"default\", \u0026zitadel.OrgIdpGitlabSelfHostedArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tClientId: pulumi.String(\"15765e...\"),\n\t\t\tClientSecret: pulumi.String(\"*****abcxyz\"),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t},\n\t\t\tIssuer: pulumi.String(\"https://my.issuer\"),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.OrgIdpGitlabSelfHosted;\nimport com.pulumi.zitadel.OrgIdpGitlabSelfHostedArgs;\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 default_ = new OrgIdpGitlabSelfHosted(\"default\", OrgIdpGitlabSelfHostedArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .clientId(\"15765e...\")\n .clientSecret(\"*****abcxyz\")\n .scopes( \n \"openid\",\n \"profile\",\n \"email\")\n .issuer(\"https://my.issuer\")\n .isLinkingAllowed(false)\n .isCreationAllowed(true)\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:OrgIdpGitlabSelfHosted\n properties:\n orgId: ${data.zitadel_org.default.id}\n clientId: 15765e...\n clientSecret: '*****abcxyz'\n scopes:\n - openid\n - profile\n - email\n issuer: https://my.issuer\n isLinkingAllowed: false\n isCreationAllowed: true\n isAutoCreation: false\n isAutoUpdate: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid[:org_id][:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/orgIdpGitlabSelfHosted:OrgIdpGitlabSelfHosted imported '123456789012345678:123456789012345678:1234567890abcdef'\n```\n\n ", "properties": { "clientId": { "type": "string", @@ -5678,7 +5678,7 @@ } }, "zitadel:index/orgIdpGoogle:OrgIdpGoogle": { - "description": "Resource representing a Google IdP on the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.OrgIdpGoogle(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n clientId: \"182902...\",\n clientSecret: \"GOCSPX-*****\",\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n ],\n isLinkingAllowed: false,\n isCreationAllowed: true,\n isAutoCreation: false,\n isAutoUpdate: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.OrgIdpGoogle(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n client_id=\"182902...\",\n client_secret=\"GOCSPX-*****\",\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n ],\n is_linking_allowed=False,\n is_creation_allowed=True,\n is_auto_creation=False,\n is_auto_update=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.OrgIdpGoogle(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ClientId = \"182902...\",\n ClientSecret = \"GOCSPX-*****\",\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n },\n IsLinkingAllowed = false,\n IsCreationAllowed = true,\n IsAutoCreation = false,\n IsAutoUpdate = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewOrgIdpGoogle(ctx, \"default\", \u0026zitadel.OrgIdpGoogleArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tClientId: pulumi.String(\"182902...\"),\n\t\t\tClientSecret: pulumi.String(\"GOCSPX-*****\"),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t},\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.OrgIdpGoogle;\nimport com.pulumi.zitadel.OrgIdpGoogleArgs;\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 default_ = new OrgIdpGoogle(\"default\", OrgIdpGoogleArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .clientId(\"182902...\")\n .clientSecret(\"GOCSPX-*****\")\n .scopes( \n \"openid\",\n \"profile\",\n \"email\")\n .isLinkingAllowed(false)\n .isCreationAllowed(true)\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:OrgIdpGoogle\n properties:\n orgId: ${data.zitadel_org.default.id}\n clientId: 182902...\n clientSecret: GOCSPX-*****\n scopes:\n - openid\n - profile\n - email\n isLinkingAllowed: false\n isCreationAllowed: true\n isAutoCreation: false\n isAutoUpdate: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid[:org_id][:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/orgIdpGoogle:OrgIdpGoogle imported '123456789012345678:123456789012345678:G1234567890123'\n```\n\n ", + "description": "Resource representing a Google IdP on the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@scoretechnologies/zitadel\";\n\nconst _default = new zitadel.OrgIdpGoogle(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n clientId: \"182902...\",\n clientSecret: \"GOCSPX-*****\",\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n ],\n isLinkingAllowed: false,\n isCreationAllowed: true,\n isAutoCreation: false,\n isAutoUpdate: true,\n});\n```\n```python\nimport pulumi\nimport scoretechnologies_zitadel as zitadel\n\ndefault = zitadel.OrgIdpGoogle(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n client_id=\"182902...\",\n client_secret=\"GOCSPX-*****\",\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n ],\n is_linking_allowed=False,\n is_creation_allowed=True,\n is_auto_creation=False,\n is_auto_update=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = scoretechnologies.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.OrgIdpGoogle(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ClientId = \"182902...\",\n ClientSecret = \"GOCSPX-*****\",\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n },\n IsLinkingAllowed = false,\n IsCreationAllowed = true,\n IsAutoCreation = false,\n IsAutoUpdate = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewOrgIdpGoogle(ctx, \"default\", \u0026zitadel.OrgIdpGoogleArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tClientId: pulumi.String(\"182902...\"),\n\t\t\tClientSecret: pulumi.String(\"GOCSPX-*****\"),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t},\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.OrgIdpGoogle;\nimport com.pulumi.zitadel.OrgIdpGoogleArgs;\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 default_ = new OrgIdpGoogle(\"default\", OrgIdpGoogleArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .clientId(\"182902...\")\n .clientSecret(\"GOCSPX-*****\")\n .scopes( \n \"openid\",\n \"profile\",\n \"email\")\n .isLinkingAllowed(false)\n .isCreationAllowed(true)\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:OrgIdpGoogle\n properties:\n orgId: ${data.zitadel_org.default.id}\n clientId: 182902...\n clientSecret: GOCSPX-*****\n scopes:\n - openid\n - profile\n - email\n isLinkingAllowed: false\n isCreationAllowed: true\n isAutoCreation: false\n isAutoUpdate: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid[:org_id][:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/orgIdpGoogle:OrgIdpGoogle imported '123456789012345678:123456789012345678:G1234567890123'\n```\n\n ", "properties": { "clientId": { "type": "string", @@ -5830,7 +5830,7 @@ } }, "zitadel:index/orgIdpJwt:OrgIdpJwt": { - "description": "Resource representing a generic JWT IdP of the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.OrgIdpJwt(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n stylingType: \"STYLING_TYPE_UNSPECIFIED\",\n jwtEndpoint: \"https://jwtendpoint.com/jwt\",\n issuer: \"https://google.com\",\n keysEndpoint: \"https://jwtendpoint.com/keys\",\n headerName: \"x-auth-token\",\n autoRegister: false,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.OrgIdpJwt(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n styling_type=\"STYLING_TYPE_UNSPECIFIED\",\n jwt_endpoint=\"https://jwtendpoint.com/jwt\",\n issuer=\"https://google.com\",\n keys_endpoint=\"https://jwtendpoint.com/keys\",\n header_name=\"x-auth-token\",\n auto_register=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.OrgIdpJwt(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n StylingType = \"STYLING_TYPE_UNSPECIFIED\",\n JwtEndpoint = \"https://jwtendpoint.com/jwt\",\n Issuer = \"https://google.com\",\n KeysEndpoint = \"https://jwtendpoint.com/keys\",\n HeaderName = \"x-auth-token\",\n AutoRegister = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewOrgIdpJwt(ctx, \"default\", \u0026zitadel.OrgIdpJwtArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tStylingType: pulumi.String(\"STYLING_TYPE_UNSPECIFIED\"),\n\t\t\tJwtEndpoint: pulumi.String(\"https://jwtendpoint.com/jwt\"),\n\t\t\tIssuer: pulumi.String(\"https://google.com\"),\n\t\t\tKeysEndpoint: pulumi.String(\"https://jwtendpoint.com/keys\"),\n\t\t\tHeaderName: pulumi.String(\"x-auth-token\"),\n\t\t\tAutoRegister: 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.zitadel.OrgIdpJwt;\nimport com.pulumi.zitadel.OrgIdpJwtArgs;\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 default_ = new OrgIdpJwt(\"default\", OrgIdpJwtArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .stylingType(\"STYLING_TYPE_UNSPECIFIED\")\n .jwtEndpoint(\"https://jwtendpoint.com/jwt\")\n .issuer(\"https://google.com\")\n .keysEndpoint(\"https://jwtendpoint.com/keys\")\n .headerName(\"x-auth-token\")\n .autoRegister(false)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:OrgIdpJwt\n properties:\n orgId: ${data.zitadel_org.default.id}\n stylingType: STYLING_TYPE_UNSPECIFIED\n jwtEndpoint: https://jwtendpoint.com/jwt\n issuer: https://google.com\n keysEndpoint: https://jwtendpoint.com/keys\n headerName: x-auth-token\n autoRegister: false\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid[:org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/orgIdpJwt:OrgIdpJwt imported '123456789012345678:123456789012345678'\n```\n\n ", + "description": "Resource representing a generic JWT IdP of the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@scoretechnologies/zitadel\";\n\nconst _default = new zitadel.OrgIdpJwt(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n stylingType: \"STYLING_TYPE_UNSPECIFIED\",\n jwtEndpoint: \"https://jwtendpoint.com/jwt\",\n issuer: \"https://google.com\",\n keysEndpoint: \"https://jwtendpoint.com/keys\",\n headerName: \"x-auth-token\",\n autoRegister: false,\n});\n```\n```python\nimport pulumi\nimport scoretechnologies_zitadel as zitadel\n\ndefault = zitadel.OrgIdpJwt(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n styling_type=\"STYLING_TYPE_UNSPECIFIED\",\n jwt_endpoint=\"https://jwtendpoint.com/jwt\",\n issuer=\"https://google.com\",\n keys_endpoint=\"https://jwtendpoint.com/keys\",\n header_name=\"x-auth-token\",\n auto_register=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = scoretechnologies.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.OrgIdpJwt(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n StylingType = \"STYLING_TYPE_UNSPECIFIED\",\n JwtEndpoint = \"https://jwtendpoint.com/jwt\",\n Issuer = \"https://google.com\",\n KeysEndpoint = \"https://jwtendpoint.com/keys\",\n HeaderName = \"x-auth-token\",\n AutoRegister = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewOrgIdpJwt(ctx, \"default\", \u0026zitadel.OrgIdpJwtArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tStylingType: pulumi.String(\"STYLING_TYPE_UNSPECIFIED\"),\n\t\t\tJwtEndpoint: pulumi.String(\"https://jwtendpoint.com/jwt\"),\n\t\t\tIssuer: pulumi.String(\"https://google.com\"),\n\t\t\tKeysEndpoint: pulumi.String(\"https://jwtendpoint.com/keys\"),\n\t\t\tHeaderName: pulumi.String(\"x-auth-token\"),\n\t\t\tAutoRegister: 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.zitadel.OrgIdpJwt;\nimport com.pulumi.zitadel.OrgIdpJwtArgs;\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 default_ = new OrgIdpJwt(\"default\", OrgIdpJwtArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .stylingType(\"STYLING_TYPE_UNSPECIFIED\")\n .jwtEndpoint(\"https://jwtendpoint.com/jwt\")\n .issuer(\"https://google.com\")\n .keysEndpoint(\"https://jwtendpoint.com/keys\")\n .headerName(\"x-auth-token\")\n .autoRegister(false)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:OrgIdpJwt\n properties:\n orgId: ${data.zitadel_org.default.id}\n stylingType: STYLING_TYPE_UNSPECIFIED\n jwtEndpoint: https://jwtendpoint.com/jwt\n issuer: https://google.com\n keysEndpoint: https://jwtendpoint.com/keys\n headerName: x-auth-token\n autoRegister: false\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid[:org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/orgIdpJwt:OrgIdpJwt imported '123456789012345678:123456789012345678'\n```\n\n ", "properties": { "autoRegister": { "type": "boolean", @@ -5958,7 +5958,7 @@ } }, "zitadel:index/orgIdpLdap:OrgIdpLdap": { - "description": "Resource representing an LDAP IdP on the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.OrgIdpLdap(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n servers: [\n \"ldaps://my.primary.server:389\",\n \"ldaps://my.secondary.server:389\",\n ],\n startTls: false,\n baseDn: \"dc=example,dc=com\",\n bindDn: \"cn=admin,dc=example,dc=com\",\n bindPassword: \"Password1!\",\n userBase: \"dn\",\n userObjectClasses: [\"inetOrgPerson\"],\n userFilters: [\n \"uid\",\n \"email\",\n ],\n timeout: \"10s\",\n idAttribute: \"uid\",\n firstNameAttribute: \"firstname\",\n lastNameAttribute: \"lastname\",\n isLinkingAllowed: false,\n isCreationAllowed: true,\n isAutoCreation: false,\n isAutoUpdate: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.OrgIdpLdap(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n servers=[\n \"ldaps://my.primary.server:389\",\n \"ldaps://my.secondary.server:389\",\n ],\n start_tls=False,\n base_dn=\"dc=example,dc=com\",\n bind_dn=\"cn=admin,dc=example,dc=com\",\n bind_password=\"Password1!\",\n user_base=\"dn\",\n user_object_classes=[\"inetOrgPerson\"],\n user_filters=[\n \"uid\",\n \"email\",\n ],\n timeout=\"10s\",\n id_attribute=\"uid\",\n first_name_attribute=\"firstname\",\n last_name_attribute=\"lastname\",\n is_linking_allowed=False,\n is_creation_allowed=True,\n is_auto_creation=False,\n is_auto_update=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.OrgIdpLdap(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n Servers = new[]\n {\n \"ldaps://my.primary.server:389\",\n \"ldaps://my.secondary.server:389\",\n },\n StartTls = false,\n BaseDn = \"dc=example,dc=com\",\n BindDn = \"cn=admin,dc=example,dc=com\",\n BindPassword = \"Password1!\",\n UserBase = \"dn\",\n UserObjectClasses = new[]\n {\n \"inetOrgPerson\",\n },\n UserFilters = new[]\n {\n \"uid\",\n \"email\",\n },\n Timeout = \"10s\",\n IdAttribute = \"uid\",\n FirstNameAttribute = \"firstname\",\n LastNameAttribute = \"lastname\",\n IsLinkingAllowed = false,\n IsCreationAllowed = true,\n IsAutoCreation = false,\n IsAutoUpdate = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewOrgIdpLdap(ctx, \"default\", \u0026zitadel.OrgIdpLdapArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tServers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ldaps://my.primary.server:389\"),\n\t\t\t\tpulumi.String(\"ldaps://my.secondary.server:389\"),\n\t\t\t},\n\t\t\tStartTls: pulumi.Bool(false),\n\t\t\tBaseDn: pulumi.String(\"dc=example,dc=com\"),\n\t\t\tBindDn: pulumi.String(\"cn=admin,dc=example,dc=com\"),\n\t\t\tBindPassword: pulumi.String(\"Password1!\"),\n\t\t\tUserBase: pulumi.String(\"dn\"),\n\t\t\tUserObjectClasses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"inetOrgPerson\"),\n\t\t\t},\n\t\t\tUserFilters: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"uid\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t},\n\t\t\tTimeout: pulumi.String(\"10s\"),\n\t\t\tIdAttribute: pulumi.String(\"uid\"),\n\t\t\tFirstNameAttribute: pulumi.String(\"firstname\"),\n\t\t\tLastNameAttribute: pulumi.String(\"lastname\"),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.OrgIdpLdap;\nimport com.pulumi.zitadel.OrgIdpLdapArgs;\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 default_ = new OrgIdpLdap(\"default\", OrgIdpLdapArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .servers( \n \"ldaps://my.primary.server:389\",\n \"ldaps://my.secondary.server:389\")\n .startTls(false)\n .baseDn(\"dc=example,dc=com\")\n .bindDn(\"cn=admin,dc=example,dc=com\")\n .bindPassword(\"Password1!\")\n .userBase(\"dn\")\n .userObjectClasses(\"inetOrgPerson\")\n .userFilters( \n \"uid\",\n \"email\")\n .timeout(\"10s\")\n .idAttribute(\"uid\")\n .firstNameAttribute(\"firstname\")\n .lastNameAttribute(\"lastname\")\n .isLinkingAllowed(false)\n .isCreationAllowed(true)\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:OrgIdpLdap\n properties:\n orgId: ${data.zitadel_org.default.id}\n servers:\n - ldaps://my.primary.server:389\n - ldaps://my.secondary.server:389\n startTls: false\n baseDn: dc=example,dc=com\n bindDn: cn=admin,dc=example,dc=com\n bindPassword: Password1!\n userBase: dn\n userObjectClasses:\n - inetOrgPerson\n userFilters:\n - uid\n - email\n timeout: 10s\n idAttribute: uid\n firstNameAttribute: firstname\n lastNameAttribute: lastname\n isLinkingAllowed: false\n isCreationAllowed: true\n isAutoCreation: false\n isAutoUpdate: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid[:org_id][:bind_password]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/orgIdpLdap:OrgIdpLdap imported '123456789012345678:123456789012345678:b1nd_p4ssw0rd'\n```\n\n ", + "description": "Resource representing an LDAP IdP on the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@scoretechnologies/zitadel\";\n\nconst _default = new zitadel.OrgIdpLdap(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n servers: [\n \"ldaps://my.primary.server:389\",\n \"ldaps://my.secondary.server:389\",\n ],\n startTls: false,\n baseDn: \"dc=example,dc=com\",\n bindDn: \"cn=admin,dc=example,dc=com\",\n bindPassword: \"Password1!\",\n userBase: \"dn\",\n userObjectClasses: [\"inetOrgPerson\"],\n userFilters: [\n \"uid\",\n \"email\",\n ],\n timeout: \"10s\",\n idAttribute: \"uid\",\n firstNameAttribute: \"firstname\",\n lastNameAttribute: \"lastname\",\n isLinkingAllowed: false,\n isCreationAllowed: true,\n isAutoCreation: false,\n isAutoUpdate: true,\n});\n```\n```python\nimport pulumi\nimport scoretechnologies_zitadel as zitadel\n\ndefault = zitadel.OrgIdpLdap(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n servers=[\n \"ldaps://my.primary.server:389\",\n \"ldaps://my.secondary.server:389\",\n ],\n start_tls=False,\n base_dn=\"dc=example,dc=com\",\n bind_dn=\"cn=admin,dc=example,dc=com\",\n bind_password=\"Password1!\",\n user_base=\"dn\",\n user_object_classes=[\"inetOrgPerson\"],\n user_filters=[\n \"uid\",\n \"email\",\n ],\n timeout=\"10s\",\n id_attribute=\"uid\",\n first_name_attribute=\"firstname\",\n last_name_attribute=\"lastname\",\n is_linking_allowed=False,\n is_creation_allowed=True,\n is_auto_creation=False,\n is_auto_update=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = scoretechnologies.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.OrgIdpLdap(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n Servers = new[]\n {\n \"ldaps://my.primary.server:389\",\n \"ldaps://my.secondary.server:389\",\n },\n StartTls = false,\n BaseDn = \"dc=example,dc=com\",\n BindDn = \"cn=admin,dc=example,dc=com\",\n BindPassword = \"Password1!\",\n UserBase = \"dn\",\n UserObjectClasses = new[]\n {\n \"inetOrgPerson\",\n },\n UserFilters = new[]\n {\n \"uid\",\n \"email\",\n },\n Timeout = \"10s\",\n IdAttribute = \"uid\",\n FirstNameAttribute = \"firstname\",\n LastNameAttribute = \"lastname\",\n IsLinkingAllowed = false,\n IsCreationAllowed = true,\n IsAutoCreation = false,\n IsAutoUpdate = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewOrgIdpLdap(ctx, \"default\", \u0026zitadel.OrgIdpLdapArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tServers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ldaps://my.primary.server:389\"),\n\t\t\t\tpulumi.String(\"ldaps://my.secondary.server:389\"),\n\t\t\t},\n\t\t\tStartTls: pulumi.Bool(false),\n\t\t\tBaseDn: pulumi.String(\"dc=example,dc=com\"),\n\t\t\tBindDn: pulumi.String(\"cn=admin,dc=example,dc=com\"),\n\t\t\tBindPassword: pulumi.String(\"Password1!\"),\n\t\t\tUserBase: pulumi.String(\"dn\"),\n\t\t\tUserObjectClasses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"inetOrgPerson\"),\n\t\t\t},\n\t\t\tUserFilters: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"uid\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t},\n\t\t\tTimeout: pulumi.String(\"10s\"),\n\t\t\tIdAttribute: pulumi.String(\"uid\"),\n\t\t\tFirstNameAttribute: pulumi.String(\"firstname\"),\n\t\t\tLastNameAttribute: pulumi.String(\"lastname\"),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.OrgIdpLdap;\nimport com.pulumi.zitadel.OrgIdpLdapArgs;\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 default_ = new OrgIdpLdap(\"default\", OrgIdpLdapArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .servers( \n \"ldaps://my.primary.server:389\",\n \"ldaps://my.secondary.server:389\")\n .startTls(false)\n .baseDn(\"dc=example,dc=com\")\n .bindDn(\"cn=admin,dc=example,dc=com\")\n .bindPassword(\"Password1!\")\n .userBase(\"dn\")\n .userObjectClasses(\"inetOrgPerson\")\n .userFilters( \n \"uid\",\n \"email\")\n .timeout(\"10s\")\n .idAttribute(\"uid\")\n .firstNameAttribute(\"firstname\")\n .lastNameAttribute(\"lastname\")\n .isLinkingAllowed(false)\n .isCreationAllowed(true)\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:OrgIdpLdap\n properties:\n orgId: ${data.zitadel_org.default.id}\n servers:\n - ldaps://my.primary.server:389\n - ldaps://my.secondary.server:389\n startTls: false\n baseDn: dc=example,dc=com\n bindDn: cn=admin,dc=example,dc=com\n bindPassword: Password1!\n userBase: dn\n userObjectClasses:\n - inetOrgPerson\n userFilters:\n - uid\n - email\n timeout: 10s\n idAttribute: uid\n firstNameAttribute: firstname\n lastNameAttribute: lastname\n isLinkingAllowed: false\n isCreationAllowed: true\n isAutoCreation: false\n isAutoUpdate: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid[:org_id][:bind_password]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/orgIdpLdap:OrgIdpLdap imported '123456789012345678:123456789012345678:b1nd_p4ssw0rd'\n```\n\n ", "properties": { "avatarUrlAttribute": { "type": "string", @@ -6370,7 +6370,7 @@ } }, "zitadel:index/orgIdpOauth:OrgIdpOauth": { - "description": "Resource representing a generic OAuth2 IDP on the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.OrgIdpOauth(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n clientId: \"15765e...\",\n clientSecret: \"*****abcxyz\",\n authorizationEndpoint: \"https://accounts.google.com/o/oauth2/v2/auth\",\n tokenEndpoint: \"https://oauth2.googleapis.com/token\",\n userEndpoint: \"https://openidconnect.googleapis.com/v1/userinfo\",\n idAttribute: \"user_id\",\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n ],\n isLinkingAllowed: false,\n isCreationAllowed: true,\n isAutoCreation: false,\n isAutoUpdate: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.OrgIdpOauth(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n client_id=\"15765e...\",\n client_secret=\"*****abcxyz\",\n authorization_endpoint=\"https://accounts.google.com/o/oauth2/v2/auth\",\n token_endpoint=\"https://oauth2.googleapis.com/token\",\n user_endpoint=\"https://openidconnect.googleapis.com/v1/userinfo\",\n id_attribute=\"user_id\",\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n ],\n is_linking_allowed=False,\n is_creation_allowed=True,\n is_auto_creation=False,\n is_auto_update=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.OrgIdpOauth(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ClientId = \"15765e...\",\n ClientSecret = \"*****abcxyz\",\n AuthorizationEndpoint = \"https://accounts.google.com/o/oauth2/v2/auth\",\n TokenEndpoint = \"https://oauth2.googleapis.com/token\",\n UserEndpoint = \"https://openidconnect.googleapis.com/v1/userinfo\",\n IdAttribute = \"user_id\",\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n },\n IsLinkingAllowed = false,\n IsCreationAllowed = true,\n IsAutoCreation = false,\n IsAutoUpdate = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewOrgIdpOauth(ctx, \"default\", \u0026zitadel.OrgIdpOauthArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tClientId: pulumi.String(\"15765e...\"),\n\t\t\tClientSecret: pulumi.String(\"*****abcxyz\"),\n\t\t\tAuthorizationEndpoint: pulumi.String(\"https://accounts.google.com/o/oauth2/v2/auth\"),\n\t\t\tTokenEndpoint: pulumi.String(\"https://oauth2.googleapis.com/token\"),\n\t\t\tUserEndpoint: pulumi.String(\"https://openidconnect.googleapis.com/v1/userinfo\"),\n\t\t\tIdAttribute: pulumi.String(\"user_id\"),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t},\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.OrgIdpOauth;\nimport com.pulumi.zitadel.OrgIdpOauthArgs;\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 default_ = new OrgIdpOauth(\"default\", OrgIdpOauthArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .clientId(\"15765e...\")\n .clientSecret(\"*****abcxyz\")\n .authorizationEndpoint(\"https://accounts.google.com/o/oauth2/v2/auth\")\n .tokenEndpoint(\"https://oauth2.googleapis.com/token\")\n .userEndpoint(\"https://openidconnect.googleapis.com/v1/userinfo\")\n .idAttribute(\"user_id\")\n .scopes( \n \"openid\",\n \"profile\",\n \"email\")\n .isLinkingAllowed(false)\n .isCreationAllowed(true)\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:OrgIdpOauth\n properties:\n orgId: ${data.zitadel_org.default.id}\n clientId: 15765e...\n clientSecret: '*****abcxyz'\n authorizationEndpoint: https://accounts.google.com/o/oauth2/v2/auth\n tokenEndpoint: https://oauth2.googleapis.com/token\n userEndpoint: https://openidconnect.googleapis.com/v1/userinfo\n idAttribute: user_id\n scopes:\n - openid\n - profile\n - email\n isLinkingAllowed: false\n isCreationAllowed: true\n isAutoCreation: false\n isAutoUpdate: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid[:org_id][:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/orgIdpOauth:OrgIdpOauth imported '123456789012345678:123456789012345678:1234567890abcdef'\n```\n\n ", + "description": "Resource representing a generic OAuth2 IDP on the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@scoretechnologies/zitadel\";\n\nconst _default = new zitadel.OrgIdpOauth(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n clientId: \"15765e...\",\n clientSecret: \"*****abcxyz\",\n authorizationEndpoint: \"https://accounts.google.com/o/oauth2/v2/auth\",\n tokenEndpoint: \"https://oauth2.googleapis.com/token\",\n userEndpoint: \"https://openidconnect.googleapis.com/v1/userinfo\",\n idAttribute: \"user_id\",\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n ],\n isLinkingAllowed: false,\n isCreationAllowed: true,\n isAutoCreation: false,\n isAutoUpdate: true,\n});\n```\n```python\nimport pulumi\nimport scoretechnologies_zitadel as zitadel\n\ndefault = zitadel.OrgIdpOauth(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n client_id=\"15765e...\",\n client_secret=\"*****abcxyz\",\n authorization_endpoint=\"https://accounts.google.com/o/oauth2/v2/auth\",\n token_endpoint=\"https://oauth2.googleapis.com/token\",\n user_endpoint=\"https://openidconnect.googleapis.com/v1/userinfo\",\n id_attribute=\"user_id\",\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n ],\n is_linking_allowed=False,\n is_creation_allowed=True,\n is_auto_creation=False,\n is_auto_update=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = scoretechnologies.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.OrgIdpOauth(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ClientId = \"15765e...\",\n ClientSecret = \"*****abcxyz\",\n AuthorizationEndpoint = \"https://accounts.google.com/o/oauth2/v2/auth\",\n TokenEndpoint = \"https://oauth2.googleapis.com/token\",\n UserEndpoint = \"https://openidconnect.googleapis.com/v1/userinfo\",\n IdAttribute = \"user_id\",\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n },\n IsLinkingAllowed = false,\n IsCreationAllowed = true,\n IsAutoCreation = false,\n IsAutoUpdate = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewOrgIdpOauth(ctx, \"default\", \u0026zitadel.OrgIdpOauthArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tClientId: pulumi.String(\"15765e...\"),\n\t\t\tClientSecret: pulumi.String(\"*****abcxyz\"),\n\t\t\tAuthorizationEndpoint: pulumi.String(\"https://accounts.google.com/o/oauth2/v2/auth\"),\n\t\t\tTokenEndpoint: pulumi.String(\"https://oauth2.googleapis.com/token\"),\n\t\t\tUserEndpoint: pulumi.String(\"https://openidconnect.googleapis.com/v1/userinfo\"),\n\t\t\tIdAttribute: pulumi.String(\"user_id\"),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t},\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.OrgIdpOauth;\nimport com.pulumi.zitadel.OrgIdpOauthArgs;\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 default_ = new OrgIdpOauth(\"default\", OrgIdpOauthArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .clientId(\"15765e...\")\n .clientSecret(\"*****abcxyz\")\n .authorizationEndpoint(\"https://accounts.google.com/o/oauth2/v2/auth\")\n .tokenEndpoint(\"https://oauth2.googleapis.com/token\")\n .userEndpoint(\"https://openidconnect.googleapis.com/v1/userinfo\")\n .idAttribute(\"user_id\")\n .scopes( \n \"openid\",\n \"profile\",\n \"email\")\n .isLinkingAllowed(false)\n .isCreationAllowed(true)\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:OrgIdpOauth\n properties:\n orgId: ${data.zitadel_org.default.id}\n clientId: 15765e...\n clientSecret: '*****abcxyz'\n authorizationEndpoint: https://accounts.google.com/o/oauth2/v2/auth\n tokenEndpoint: https://oauth2.googleapis.com/token\n userEndpoint: https://openidconnect.googleapis.com/v1/userinfo\n idAttribute: user_id\n scopes:\n - openid\n - profile\n - email\n isLinkingAllowed: false\n isCreationAllowed: true\n isAutoCreation: false\n isAutoUpdate: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid[:org_id][:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/orgIdpOauth:OrgIdpOauth imported '123456789012345678:123456789012345678:1234567890abcdef'\n```\n\n ", "properties": { "authorizationEndpoint": { "type": "string", @@ -6578,7 +6578,7 @@ } }, "zitadel:index/orgIdpOidc:OrgIdpOidc": { - "description": "Resource representing a generic OIDC IdP on the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.OrgIdpOidc(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n clientId: \"a_client_id\",\n clientSecret: \"a_client_secret\",\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n ],\n issuer: \"https://example.com\",\n isLinkingAllowed: false,\n isCreationAllowed: true,\n isAutoCreation: false,\n isAutoUpdate: true,\n isIdTokenMapping: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.OrgIdpOidc(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n client_id=\"a_client_id\",\n client_secret=\"a_client_secret\",\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n ],\n issuer=\"https://example.com\",\n is_linking_allowed=False,\n is_creation_allowed=True,\n is_auto_creation=False,\n is_auto_update=True,\n is_id_token_mapping=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.OrgIdpOidc(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ClientId = \"a_client_id\",\n ClientSecret = \"a_client_secret\",\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n },\n Issuer = \"https://example.com\",\n IsLinkingAllowed = false,\n IsCreationAllowed = true,\n IsAutoCreation = false,\n IsAutoUpdate = true,\n IsIdTokenMapping = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewOrgIdpOidc(ctx, \"default\", \u0026zitadel.OrgIdpOidcArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tClientId: pulumi.String(\"a_client_id\"),\n\t\t\tClientSecret: pulumi.String(\"a_client_secret\"),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t},\n\t\t\tIssuer: pulumi.String(\"https://example.com\"),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t\tIsIdTokenMapping: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.OrgIdpOidc;\nimport com.pulumi.zitadel.OrgIdpOidcArgs;\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 default_ = new OrgIdpOidc(\"default\", OrgIdpOidcArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .clientId(\"a_client_id\")\n .clientSecret(\"a_client_secret\")\n .scopes( \n \"openid\",\n \"profile\",\n \"email\")\n .issuer(\"https://example.com\")\n .isLinkingAllowed(false)\n .isCreationAllowed(true)\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .isIdTokenMapping(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:OrgIdpOidc\n properties:\n orgId: ${data.zitadel_org.default.id}\n clientId: a_client_id\n clientSecret: a_client_secret\n scopes:\n - openid\n - profile\n - email\n issuer: https://example.com\n isLinkingAllowed: false\n isCreationAllowed: true\n isAutoCreation: false\n isAutoUpdate: true\n isIdTokenMapping: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid[:org_id][:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/orgIdpOidc:OrgIdpOidc imported '123456789012345678:123456789012345678:1234567890abcdef'\n```\n\n ", + "description": "Resource representing a generic OIDC IdP on the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@scoretechnologies/zitadel\";\n\nconst _default = new zitadel.OrgIdpOidc(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n clientId: \"a_client_id\",\n clientSecret: \"a_client_secret\",\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n ],\n issuer: \"https://example.com\",\n isLinkingAllowed: false,\n isCreationAllowed: true,\n isAutoCreation: false,\n isAutoUpdate: true,\n isIdTokenMapping: true,\n});\n```\n```python\nimport pulumi\nimport scoretechnologies_zitadel as zitadel\n\ndefault = zitadel.OrgIdpOidc(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n client_id=\"a_client_id\",\n client_secret=\"a_client_secret\",\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n ],\n issuer=\"https://example.com\",\n is_linking_allowed=False,\n is_creation_allowed=True,\n is_auto_creation=False,\n is_auto_update=True,\n is_id_token_mapping=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = scoretechnologies.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.OrgIdpOidc(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ClientId = \"a_client_id\",\n ClientSecret = \"a_client_secret\",\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n },\n Issuer = \"https://example.com\",\n IsLinkingAllowed = false,\n IsCreationAllowed = true,\n IsAutoCreation = false,\n IsAutoUpdate = true,\n IsIdTokenMapping = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewOrgIdpOidc(ctx, \"default\", \u0026zitadel.OrgIdpOidcArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tClientId: pulumi.String(\"a_client_id\"),\n\t\t\tClientSecret: pulumi.String(\"a_client_secret\"),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t},\n\t\t\tIssuer: pulumi.String(\"https://example.com\"),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t\tIsIdTokenMapping: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.OrgIdpOidc;\nimport com.pulumi.zitadel.OrgIdpOidcArgs;\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 default_ = new OrgIdpOidc(\"default\", OrgIdpOidcArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .clientId(\"a_client_id\")\n .clientSecret(\"a_client_secret\")\n .scopes( \n \"openid\",\n \"profile\",\n \"email\")\n .issuer(\"https://example.com\")\n .isLinkingAllowed(false)\n .isCreationAllowed(true)\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .isIdTokenMapping(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:OrgIdpOidc\n properties:\n orgId: ${data.zitadel_org.default.id}\n clientId: a_client_id\n clientSecret: a_client_secret\n scopes:\n - openid\n - profile\n - email\n issuer: https://example.com\n isLinkingAllowed: false\n isCreationAllowed: true\n isAutoCreation: false\n isAutoUpdate: true\n isIdTokenMapping: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid[:org_id][:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/orgIdpOidc:OrgIdpOidc imported '123456789012345678:123456789012345678:1234567890abcdef'\n```\n\n ", "properties": { "clientId": { "type": "string", @@ -6758,7 +6758,7 @@ } }, "zitadel:index/orgIdpSaml:OrgIdpSaml": { - "description": "Resource representing a SAML IdP on the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.OrgIdpSaml(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n binding: \"SAML_BINDING_POST\",\n withSignedRequest: true,\n isLinkingAllowed: false,\n isCreationAllowed: true,\n isAutoCreation: false,\n isAutoUpdate: true,\n metadataXml: `\u003c?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?\u003e\n\u003cmd:EntityDescriptor xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\" entityID=\"https://saml.example.com/entityid\" validUntil=\"2034-05-15T14:21:58.979Z\"\u003e\n \u003cmd:IDPSSODescriptor WantAuthnRequestsSigned=\"true\" protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\"\u003e\n \u003cmd:KeyDescriptor use=\"signing\"\u003e\n \u003cds:KeyInfo xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\"\u003e\n \u003cds:X509Data\u003e\n \u003cds:X509Certificate\u003eMIIC4jCCAcoCCQC33wnybT5QZDANBgkqhkiG9w0BAQsFADAyMQswCQYDVQQGEwJV\nSzEPMA0GA1UECgwGQm94eUhRMRIwEAYDVQQDDAlNb2NrIFNBTUwwIBcNMjIwMjI4\nMjE0NjM4WhgPMzAyMTA3MDEyMTQ2MzhaMDIxCzAJBgNVBAYTAlVLMQ8wDQYDVQQK\nDAZCb3h5SFExEjAQBgNVBAMMCU1vY2sgU0FNTDCCASIwDQYJKoZIhvcNAQEBBQAD\nggEPADCCAQoCggEBALGfYettMsct1T6tVUwTudNJH5Pnb9GGnkXi9Zw/e6x45DD0\nRuRONbFlJ2T4RjAE/uG+AjXxXQ8o2SZfb9+GgmCHuTJFNgHoZ1nFVXCmb/Hg8Hpd\n4vOAGXndixaReOiq3EH5XvpMjMkJ3+8+9VYMzMZOjkgQtAqO36eAFFfNKX7dTj3V\npwLkvz6/KFCq8OAwY+AUi4eZm5J57D31GzjHwfjH9WTeX0MyndmnNB1qV75qQR3b\n2/W5sGHRv+9AarggJkF+ptUkXoLtVA51wcfYm6hILptpde5FQC8RWY1YrswBWAEZ\nNfyrR4JeSweElNHg4NVOs4TwGjOPwWGqzTfgTlECAwEAATANBgkqhkiG9w0BAQsF\nAAOCAQEAAYRlYflSXAWoZpFfwNiCQVE5d9zZ0DPzNdWhAybXcTyMf0z5mDf6FWBW\n5Gyoi9u3EMEDnzLcJNkwJAAc39Apa4I2/tml+Jy29dk8bTyX6m93ngmCgdLh5Za4\nkhuU3AM3L63g7VexCuO7kwkjh/+LqdcIXsVGO6XDfu2QOs1Xpe9zIzLpwm/RNYeX\nUjbSj5ce/jekpAw7qyVVL4xOyh8AtUW1ek3wIw1MJvEgEPt0d16oshWJpoS1OT8L\nr/22SvYEo3EmSGdTVGgk3x3s+A0qWAqTcyjr7Q4s/GKYRFfomGwz0TZ4Iw1ZN99M\nm0eo2USlSRTVl7QHRTuiuSThHpLKQQ==\u003c/ds:X509Certificate\u003e\n \u003c/ds:X509Data\u003e\n \u003c/ds:KeyInfo\u003e\n \u003c/md:KeyDescriptor\u003e\n \u003cmd:NameIDFormat\u003eurn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\u003c/md:NameIDFormat\u003e\n \u003cmd:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\" Location=\"https://mocksaml.com/api/saml/sso\"/\u003e\n \u003cmd:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\" Location=\"https://mocksaml.com/api/saml/sso\"/\u003e\n \u003c/md:IDPSSODescriptor\u003e\n\u003c/md:EntityDescriptor\u003e\n`,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.OrgIdpSaml(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n binding=\"SAML_BINDING_POST\",\n with_signed_request=True,\n is_linking_allowed=False,\n is_creation_allowed=True,\n is_auto_creation=False,\n is_auto_update=True,\n metadata_xml=\"\"\"\u003c?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?\u003e\n\u003cmd:EntityDescriptor xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\" entityID=\"https://saml.example.com/entityid\" validUntil=\"2034-05-15T14:21:58.979Z\"\u003e\n \u003cmd:IDPSSODescriptor WantAuthnRequestsSigned=\"true\" protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\"\u003e\n \u003cmd:KeyDescriptor use=\"signing\"\u003e\n \u003cds:KeyInfo xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\"\u003e\n \u003cds:X509Data\u003e\n \u003cds:X509Certificate\u003eMIIC4jCCAcoCCQC33wnybT5QZDANBgkqhkiG9w0BAQsFADAyMQswCQYDVQQGEwJV\nSzEPMA0GA1UECgwGQm94eUhRMRIwEAYDVQQDDAlNb2NrIFNBTUwwIBcNMjIwMjI4\nMjE0NjM4WhgPMzAyMTA3MDEyMTQ2MzhaMDIxCzAJBgNVBAYTAlVLMQ8wDQYDVQQK\nDAZCb3h5SFExEjAQBgNVBAMMCU1vY2sgU0FNTDCCASIwDQYJKoZIhvcNAQEBBQAD\nggEPADCCAQoCggEBALGfYettMsct1T6tVUwTudNJH5Pnb9GGnkXi9Zw/e6x45DD0\nRuRONbFlJ2T4RjAE/uG+AjXxXQ8o2SZfb9+GgmCHuTJFNgHoZ1nFVXCmb/Hg8Hpd\n4vOAGXndixaReOiq3EH5XvpMjMkJ3+8+9VYMzMZOjkgQtAqO36eAFFfNKX7dTj3V\npwLkvz6/KFCq8OAwY+AUi4eZm5J57D31GzjHwfjH9WTeX0MyndmnNB1qV75qQR3b\n2/W5sGHRv+9AarggJkF+ptUkXoLtVA51wcfYm6hILptpde5FQC8RWY1YrswBWAEZ\nNfyrR4JeSweElNHg4NVOs4TwGjOPwWGqzTfgTlECAwEAATANBgkqhkiG9w0BAQsF\nAAOCAQEAAYRlYflSXAWoZpFfwNiCQVE5d9zZ0DPzNdWhAybXcTyMf0z5mDf6FWBW\n5Gyoi9u3EMEDnzLcJNkwJAAc39Apa4I2/tml+Jy29dk8bTyX6m93ngmCgdLh5Za4\nkhuU3AM3L63g7VexCuO7kwkjh/+LqdcIXsVGO6XDfu2QOs1Xpe9zIzLpwm/RNYeX\nUjbSj5ce/jekpAw7qyVVL4xOyh8AtUW1ek3wIw1MJvEgEPt0d16oshWJpoS1OT8L\nr/22SvYEo3EmSGdTVGgk3x3s+A0qWAqTcyjr7Q4s/GKYRFfomGwz0TZ4Iw1ZN99M\nm0eo2USlSRTVl7QHRTuiuSThHpLKQQ==\u003c/ds:X509Certificate\u003e\n \u003c/ds:X509Data\u003e\n \u003c/ds:KeyInfo\u003e\n \u003c/md:KeyDescriptor\u003e\n \u003cmd:NameIDFormat\u003eurn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\u003c/md:NameIDFormat\u003e\n \u003cmd:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\" Location=\"https://mocksaml.com/api/saml/sso\"/\u003e\n \u003cmd:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\" Location=\"https://mocksaml.com/api/saml/sso\"/\u003e\n \u003c/md:IDPSSODescriptor\u003e\n\u003c/md:EntityDescriptor\u003e\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.OrgIdpSaml(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n Binding = \"SAML_BINDING_POST\",\n WithSignedRequest = true,\n IsLinkingAllowed = false,\n IsCreationAllowed = true,\n IsAutoCreation = false,\n IsAutoUpdate = true,\n MetadataXml = @\"\u003c?xml version=\"\"1.0\"\" encoding=\"\"UTF-8\"\" standalone=\"\"no\"\"?\u003e\n\u003cmd:EntityDescriptor xmlns:md=\"\"urn:oasis:names:tc:SAML:2.0:metadata\"\" entityID=\"\"https://saml.example.com/entityid\"\" validUntil=\"\"2034-05-15T14:21:58.979Z\"\"\u003e\n \u003cmd:IDPSSODescriptor WantAuthnRequestsSigned=\"\"true\"\" protocolSupportEnumeration=\"\"urn:oasis:names:tc:SAML:2.0:protocol\"\"\u003e\n \u003cmd:KeyDescriptor use=\"\"signing\"\"\u003e\n \u003cds:KeyInfo xmlns:ds=\"\"http://www.w3.org/2000/09/xmldsig#\"\"\u003e\n \u003cds:X509Data\u003e\n \u003cds:X509Certificate\u003eMIIC4jCCAcoCCQC33wnybT5QZDANBgkqhkiG9w0BAQsFADAyMQswCQYDVQQGEwJV\nSzEPMA0GA1UECgwGQm94eUhRMRIwEAYDVQQDDAlNb2NrIFNBTUwwIBcNMjIwMjI4\nMjE0NjM4WhgPMzAyMTA3MDEyMTQ2MzhaMDIxCzAJBgNVBAYTAlVLMQ8wDQYDVQQK\nDAZCb3h5SFExEjAQBgNVBAMMCU1vY2sgU0FNTDCCASIwDQYJKoZIhvcNAQEBBQAD\nggEPADCCAQoCggEBALGfYettMsct1T6tVUwTudNJH5Pnb9GGnkXi9Zw/e6x45DD0\nRuRONbFlJ2T4RjAE/uG+AjXxXQ8o2SZfb9+GgmCHuTJFNgHoZ1nFVXCmb/Hg8Hpd\n4vOAGXndixaReOiq3EH5XvpMjMkJ3+8+9VYMzMZOjkgQtAqO36eAFFfNKX7dTj3V\npwLkvz6/KFCq8OAwY+AUi4eZm5J57D31GzjHwfjH9WTeX0MyndmnNB1qV75qQR3b\n2/W5sGHRv+9AarggJkF+ptUkXoLtVA51wcfYm6hILptpde5FQC8RWY1YrswBWAEZ\nNfyrR4JeSweElNHg4NVOs4TwGjOPwWGqzTfgTlECAwEAATANBgkqhkiG9w0BAQsF\nAAOCAQEAAYRlYflSXAWoZpFfwNiCQVE5d9zZ0DPzNdWhAybXcTyMf0z5mDf6FWBW\n5Gyoi9u3EMEDnzLcJNkwJAAc39Apa4I2/tml+Jy29dk8bTyX6m93ngmCgdLh5Za4\nkhuU3AM3L63g7VexCuO7kwkjh/+LqdcIXsVGO6XDfu2QOs1Xpe9zIzLpwm/RNYeX\nUjbSj5ce/jekpAw7qyVVL4xOyh8AtUW1ek3wIw1MJvEgEPt0d16oshWJpoS1OT8L\nr/22SvYEo3EmSGdTVGgk3x3s+A0qWAqTcyjr7Q4s/GKYRFfomGwz0TZ4Iw1ZN99M\nm0eo2USlSRTVl7QHRTuiuSThHpLKQQ==\u003c/ds:X509Certificate\u003e\n \u003c/ds:X509Data\u003e\n \u003c/ds:KeyInfo\u003e\n \u003c/md:KeyDescriptor\u003e\n \u003cmd:NameIDFormat\u003eurn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\u003c/md:NameIDFormat\u003e\n \u003cmd:SingleSignOnService Binding=\"\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\"\" Location=\"\"https://mocksaml.com/api/saml/sso\"\"/\u003e\n \u003cmd:SingleSignOnService Binding=\"\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\"\" Location=\"\"https://mocksaml.com/api/saml/sso\"\"/\u003e\n \u003c/md:IDPSSODescriptor\u003e\n\u003c/md:EntityDescriptor\u003e\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewOrgIdpSaml(ctx, \"default\", \u0026zitadel.OrgIdpSamlArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tBinding: pulumi.String(\"SAML_BINDING_POST\"),\n\t\t\tWithSignedRequest: pulumi.Bool(true),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t\tMetadataXml: pulumi.String(`\u003c?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?\u003e\n\u003cmd:EntityDescriptor xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\" entityID=\"https://saml.example.com/entityid\" validUntil=\"2034-05-15T14:21:58.979Z\"\u003e\n \u003cmd:IDPSSODescriptor WantAuthnRequestsSigned=\"true\" protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\"\u003e\n \u003cmd:KeyDescriptor use=\"signing\"\u003e\n \u003cds:KeyInfo xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\"\u003e\n \u003cds:X509Data\u003e\n \u003cds:X509Certificate\u003eMIIC4jCCAcoCCQC33wnybT5QZDANBgkqhkiG9w0BAQsFADAyMQswCQYDVQQGEwJV\nSzEPMA0GA1UECgwGQm94eUhRMRIwEAYDVQQDDAlNb2NrIFNBTUwwIBcNMjIwMjI4\nMjE0NjM4WhgPMzAyMTA3MDEyMTQ2MzhaMDIxCzAJBgNVBAYTAlVLMQ8wDQYDVQQK\nDAZCb3h5SFExEjAQBgNVBAMMCU1vY2sgU0FNTDCCASIwDQYJKoZIhvcNAQEBBQAD\nggEPADCCAQoCggEBALGfYettMsct1T6tVUwTudNJH5Pnb9GGnkXi9Zw/e6x45DD0\nRuRONbFlJ2T4RjAE/uG+AjXxXQ8o2SZfb9+GgmCHuTJFNgHoZ1nFVXCmb/Hg8Hpd\n4vOAGXndixaReOiq3EH5XvpMjMkJ3+8+9VYMzMZOjkgQtAqO36eAFFfNKX7dTj3V\npwLkvz6/KFCq8OAwY+AUi4eZm5J57D31GzjHwfjH9WTeX0MyndmnNB1qV75qQR3b\n2/W5sGHRv+9AarggJkF+ptUkXoLtVA51wcfYm6hILptpde5FQC8RWY1YrswBWAEZ\nNfyrR4JeSweElNHg4NVOs4TwGjOPwWGqzTfgTlECAwEAATANBgkqhkiG9w0BAQsF\nAAOCAQEAAYRlYflSXAWoZpFfwNiCQVE5d9zZ0DPzNdWhAybXcTyMf0z5mDf6FWBW\n5Gyoi9u3EMEDnzLcJNkwJAAc39Apa4I2/tml+Jy29dk8bTyX6m93ngmCgdLh5Za4\nkhuU3AM3L63g7VexCuO7kwkjh/+LqdcIXsVGO6XDfu2QOs1Xpe9zIzLpwm/RNYeX\nUjbSj5ce/jekpAw7qyVVL4xOyh8AtUW1ek3wIw1MJvEgEPt0d16oshWJpoS1OT8L\nr/22SvYEo3EmSGdTVGgk3x3s+A0qWAqTcyjr7Q4s/GKYRFfomGwz0TZ4Iw1ZN99M\nm0eo2USlSRTVl7QHRTuiuSThHpLKQQ==\u003c/ds:X509Certificate\u003e\n \u003c/ds:X509Data\u003e\n \u003c/ds:KeyInfo\u003e\n \u003c/md:KeyDescriptor\u003e\n \u003cmd:NameIDFormat\u003eurn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\u003c/md:NameIDFormat\u003e\n \u003cmd:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\" Location=\"https://mocksaml.com/api/saml/sso\"/\u003e\n \u003cmd:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\" Location=\"https://mocksaml.com/api/saml/sso\"/\u003e\n \u003c/md:IDPSSODescriptor\u003e\n\u003c/md:EntityDescriptor\u003e\n`),\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.zitadel.OrgIdpSaml;\nimport com.pulumi.zitadel.OrgIdpSamlArgs;\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 default_ = new OrgIdpSaml(\"default\", OrgIdpSamlArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .binding(\"SAML_BINDING_POST\")\n .withSignedRequest(true)\n .isLinkingAllowed(false)\n .isCreationAllowed(true)\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .metadataXml(\"\"\"\n\u003c?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?\u003e\n\u003cmd:EntityDescriptor xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\" entityID=\"https://saml.example.com/entityid\" validUntil=\"2034-05-15T14:21:58.979Z\"\u003e\n \u003cmd:IDPSSODescriptor WantAuthnRequestsSigned=\"true\" protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\"\u003e\n \u003cmd:KeyDescriptor use=\"signing\"\u003e\n \u003cds:KeyInfo xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\"\u003e\n \u003cds:X509Data\u003e\n \u003cds:X509Certificate\u003eMIIC4jCCAcoCCQC33wnybT5QZDANBgkqhkiG9w0BAQsFADAyMQswCQYDVQQGEwJV\nSzEPMA0GA1UECgwGQm94eUhRMRIwEAYDVQQDDAlNb2NrIFNBTUwwIBcNMjIwMjI4\nMjE0NjM4WhgPMzAyMTA3MDEyMTQ2MzhaMDIxCzAJBgNVBAYTAlVLMQ8wDQYDVQQK\nDAZCb3h5SFExEjAQBgNVBAMMCU1vY2sgU0FNTDCCASIwDQYJKoZIhvcNAQEBBQAD\nggEPADCCAQoCggEBALGfYettMsct1T6tVUwTudNJH5Pnb9GGnkXi9Zw/e6x45DD0\nRuRONbFlJ2T4RjAE/uG+AjXxXQ8o2SZfb9+GgmCHuTJFNgHoZ1nFVXCmb/Hg8Hpd\n4vOAGXndixaReOiq3EH5XvpMjMkJ3+8+9VYMzMZOjkgQtAqO36eAFFfNKX7dTj3V\npwLkvz6/KFCq8OAwY+AUi4eZm5J57D31GzjHwfjH9WTeX0MyndmnNB1qV75qQR3b\n2/W5sGHRv+9AarggJkF+ptUkXoLtVA51wcfYm6hILptpde5FQC8RWY1YrswBWAEZ\nNfyrR4JeSweElNHg4NVOs4TwGjOPwWGqzTfgTlECAwEAATANBgkqhkiG9w0BAQsF\nAAOCAQEAAYRlYflSXAWoZpFfwNiCQVE5d9zZ0DPzNdWhAybXcTyMf0z5mDf6FWBW\n5Gyoi9u3EMEDnzLcJNkwJAAc39Apa4I2/tml+Jy29dk8bTyX6m93ngmCgdLh5Za4\nkhuU3AM3L63g7VexCuO7kwkjh/+LqdcIXsVGO6XDfu2QOs1Xpe9zIzLpwm/RNYeX\nUjbSj5ce/jekpAw7qyVVL4xOyh8AtUW1ek3wIw1MJvEgEPt0d16oshWJpoS1OT8L\nr/22SvYEo3EmSGdTVGgk3x3s+A0qWAqTcyjr7Q4s/GKYRFfomGwz0TZ4Iw1ZN99M\nm0eo2USlSRTVl7QHRTuiuSThHpLKQQ==\u003c/ds:X509Certificate\u003e\n \u003c/ds:X509Data\u003e\n \u003c/ds:KeyInfo\u003e\n \u003c/md:KeyDescriptor\u003e\n \u003cmd:NameIDFormat\u003eurn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\u003c/md:NameIDFormat\u003e\n \u003cmd:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\" Location=\"https://mocksaml.com/api/saml/sso\"/\u003e\n \u003cmd:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\" Location=\"https://mocksaml.com/api/saml/sso\"/\u003e\n \u003c/md:IDPSSODescriptor\u003e\n\u003c/md:EntityDescriptor\u003e\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:OrgIdpSaml\n properties:\n orgId: ${data.zitadel_org.default.id}\n binding: SAML_BINDING_POST\n withSignedRequest: true\n isLinkingAllowed: false\n isCreationAllowed: true\n isAutoCreation: false\n isAutoUpdate: true\n metadataXml: |\n \u003c?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?\u003e\n \u003cmd:EntityDescriptor xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\" entityID=\"https://saml.example.com/entityid\" validUntil=\"2034-05-15T14:21:58.979Z\"\u003e\n \u003cmd:IDPSSODescriptor WantAuthnRequestsSigned=\"true\" protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\"\u003e\n \u003cmd:KeyDescriptor use=\"signing\"\u003e\n \u003cds:KeyInfo xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\"\u003e\n \u003cds:X509Data\u003e\n \u003cds:X509Certificate\u003eMIIC4jCCAcoCCQC33wnybT5QZDANBgkqhkiG9w0BAQsFADAyMQswCQYDVQQGEwJV\n SzEPMA0GA1UECgwGQm94eUhRMRIwEAYDVQQDDAlNb2NrIFNBTUwwIBcNMjIwMjI4\n MjE0NjM4WhgPMzAyMTA3MDEyMTQ2MzhaMDIxCzAJBgNVBAYTAlVLMQ8wDQYDVQQK\n DAZCb3h5SFExEjAQBgNVBAMMCU1vY2sgU0FNTDCCASIwDQYJKoZIhvcNAQEBBQAD\n ggEPADCCAQoCggEBALGfYettMsct1T6tVUwTudNJH5Pnb9GGnkXi9Zw/e6x45DD0\n RuRONbFlJ2T4RjAE/uG+AjXxXQ8o2SZfb9+GgmCHuTJFNgHoZ1nFVXCmb/Hg8Hpd\n 4vOAGXndixaReOiq3EH5XvpMjMkJ3+8+9VYMzMZOjkgQtAqO36eAFFfNKX7dTj3V\n pwLkvz6/KFCq8OAwY+AUi4eZm5J57D31GzjHwfjH9WTeX0MyndmnNB1qV75qQR3b\n 2/W5sGHRv+9AarggJkF+ptUkXoLtVA51wcfYm6hILptpde5FQC8RWY1YrswBWAEZ\n NfyrR4JeSweElNHg4NVOs4TwGjOPwWGqzTfgTlECAwEAATANBgkqhkiG9w0BAQsF\n AAOCAQEAAYRlYflSXAWoZpFfwNiCQVE5d9zZ0DPzNdWhAybXcTyMf0z5mDf6FWBW\n 5Gyoi9u3EMEDnzLcJNkwJAAc39Apa4I2/tml+Jy29dk8bTyX6m93ngmCgdLh5Za4\n khuU3AM3L63g7VexCuO7kwkjh/+LqdcIXsVGO6XDfu2QOs1Xpe9zIzLpwm/RNYeX\n UjbSj5ce/jekpAw7qyVVL4xOyh8AtUW1ek3wIw1MJvEgEPt0d16oshWJpoS1OT8L\n r/22SvYEo3EmSGdTVGgk3x3s+A0qWAqTcyjr7Q4s/GKYRFfomGwz0TZ4Iw1ZN99M\n m0eo2USlSRTVl7QHRTuiuSThHpLKQQ==\u003c/ds:X509Certificate\u003e\n \u003c/ds:X509Data\u003e\n \u003c/ds:KeyInfo\u003e\n \u003c/md:KeyDescriptor\u003e\n \u003cmd:NameIDFormat\u003eurn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\u003c/md:NameIDFormat\u003e\n \u003cmd:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\" Location=\"https://mocksaml.com/api/saml/sso\"/\u003e\n \u003cmd:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\" Location=\"https://mocksaml.com/api/saml/sso\"/\u003e\n \u003c/md:IDPSSODescriptor\u003e\n \u003c/md:EntityDescriptor\u003e\n```\n\n{{% /example %}}\n{{% /examples %}}\n## Loading the XML Metadata\n\nIf you don't want to pass the XML metadata inline, you have plenty of options. For example:\n- local_file Data Source\n- http Data Source\n- terracurl_request Data Source\n- ...\n\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid[:org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/orgIdpSaml:OrgIdpSaml imported '123456789012345678:123456789012345678'\n```\n\n ", + "description": "Resource representing a SAML IdP on the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@scoretechnologies/zitadel\";\n\nconst _default = new zitadel.OrgIdpSaml(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n binding: \"SAML_BINDING_POST\",\n withSignedRequest: true,\n isLinkingAllowed: false,\n isCreationAllowed: true,\n isAutoCreation: false,\n isAutoUpdate: true,\n metadataXml: `\u003c?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?\u003e\n\u003cmd:EntityDescriptor xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\" entityID=\"https://saml.example.com/entityid\" validUntil=\"2034-05-15T14:21:58.979Z\"\u003e\n \u003cmd:IDPSSODescriptor WantAuthnRequestsSigned=\"true\" protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\"\u003e\n \u003cmd:KeyDescriptor use=\"signing\"\u003e\n \u003cds:KeyInfo xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\"\u003e\n \u003cds:X509Data\u003e\n \u003cds:X509Certificate\u003eMIIC4jCCAcoCCQC33wnybT5QZDANBgkqhkiG9w0BAQsFADAyMQswCQYDVQQGEwJV\nSzEPMA0GA1UECgwGQm94eUhRMRIwEAYDVQQDDAlNb2NrIFNBTUwwIBcNMjIwMjI4\nMjE0NjM4WhgPMzAyMTA3MDEyMTQ2MzhaMDIxCzAJBgNVBAYTAlVLMQ8wDQYDVQQK\nDAZCb3h5SFExEjAQBgNVBAMMCU1vY2sgU0FNTDCCASIwDQYJKoZIhvcNAQEBBQAD\nggEPADCCAQoCggEBALGfYettMsct1T6tVUwTudNJH5Pnb9GGnkXi9Zw/e6x45DD0\nRuRONbFlJ2T4RjAE/uG+AjXxXQ8o2SZfb9+GgmCHuTJFNgHoZ1nFVXCmb/Hg8Hpd\n4vOAGXndixaReOiq3EH5XvpMjMkJ3+8+9VYMzMZOjkgQtAqO36eAFFfNKX7dTj3V\npwLkvz6/KFCq8OAwY+AUi4eZm5J57D31GzjHwfjH9WTeX0MyndmnNB1qV75qQR3b\n2/W5sGHRv+9AarggJkF+ptUkXoLtVA51wcfYm6hILptpde5FQC8RWY1YrswBWAEZ\nNfyrR4JeSweElNHg4NVOs4TwGjOPwWGqzTfgTlECAwEAATANBgkqhkiG9w0BAQsF\nAAOCAQEAAYRlYflSXAWoZpFfwNiCQVE5d9zZ0DPzNdWhAybXcTyMf0z5mDf6FWBW\n5Gyoi9u3EMEDnzLcJNkwJAAc39Apa4I2/tml+Jy29dk8bTyX6m93ngmCgdLh5Za4\nkhuU3AM3L63g7VexCuO7kwkjh/+LqdcIXsVGO6XDfu2QOs1Xpe9zIzLpwm/RNYeX\nUjbSj5ce/jekpAw7qyVVL4xOyh8AtUW1ek3wIw1MJvEgEPt0d16oshWJpoS1OT8L\nr/22SvYEo3EmSGdTVGgk3x3s+A0qWAqTcyjr7Q4s/GKYRFfomGwz0TZ4Iw1ZN99M\nm0eo2USlSRTVl7QHRTuiuSThHpLKQQ==\u003c/ds:X509Certificate\u003e\n \u003c/ds:X509Data\u003e\n \u003c/ds:KeyInfo\u003e\n \u003c/md:KeyDescriptor\u003e\n \u003cmd:NameIDFormat\u003eurn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\u003c/md:NameIDFormat\u003e\n \u003cmd:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\" Location=\"https://mocksaml.com/api/saml/sso\"/\u003e\n \u003cmd:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\" Location=\"https://mocksaml.com/api/saml/sso\"/\u003e\n \u003c/md:IDPSSODescriptor\u003e\n\u003c/md:EntityDescriptor\u003e\n`,\n});\n```\n```python\nimport pulumi\nimport scoretechnologies_zitadel as zitadel\n\ndefault = zitadel.OrgIdpSaml(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n binding=\"SAML_BINDING_POST\",\n with_signed_request=True,\n is_linking_allowed=False,\n is_creation_allowed=True,\n is_auto_creation=False,\n is_auto_update=True,\n metadata_xml=\"\"\"\u003c?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?\u003e\n\u003cmd:EntityDescriptor xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\" entityID=\"https://saml.example.com/entityid\" validUntil=\"2034-05-15T14:21:58.979Z\"\u003e\n \u003cmd:IDPSSODescriptor WantAuthnRequestsSigned=\"true\" protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\"\u003e\n \u003cmd:KeyDescriptor use=\"signing\"\u003e\n \u003cds:KeyInfo xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\"\u003e\n \u003cds:X509Data\u003e\n \u003cds:X509Certificate\u003eMIIC4jCCAcoCCQC33wnybT5QZDANBgkqhkiG9w0BAQsFADAyMQswCQYDVQQGEwJV\nSzEPMA0GA1UECgwGQm94eUhRMRIwEAYDVQQDDAlNb2NrIFNBTUwwIBcNMjIwMjI4\nMjE0NjM4WhgPMzAyMTA3MDEyMTQ2MzhaMDIxCzAJBgNVBAYTAlVLMQ8wDQYDVQQK\nDAZCb3h5SFExEjAQBgNVBAMMCU1vY2sgU0FNTDCCASIwDQYJKoZIhvcNAQEBBQAD\nggEPADCCAQoCggEBALGfYettMsct1T6tVUwTudNJH5Pnb9GGnkXi9Zw/e6x45DD0\nRuRONbFlJ2T4RjAE/uG+AjXxXQ8o2SZfb9+GgmCHuTJFNgHoZ1nFVXCmb/Hg8Hpd\n4vOAGXndixaReOiq3EH5XvpMjMkJ3+8+9VYMzMZOjkgQtAqO36eAFFfNKX7dTj3V\npwLkvz6/KFCq8OAwY+AUi4eZm5J57D31GzjHwfjH9WTeX0MyndmnNB1qV75qQR3b\n2/W5sGHRv+9AarggJkF+ptUkXoLtVA51wcfYm6hILptpde5FQC8RWY1YrswBWAEZ\nNfyrR4JeSweElNHg4NVOs4TwGjOPwWGqzTfgTlECAwEAATANBgkqhkiG9w0BAQsF\nAAOCAQEAAYRlYflSXAWoZpFfwNiCQVE5d9zZ0DPzNdWhAybXcTyMf0z5mDf6FWBW\n5Gyoi9u3EMEDnzLcJNkwJAAc39Apa4I2/tml+Jy29dk8bTyX6m93ngmCgdLh5Za4\nkhuU3AM3L63g7VexCuO7kwkjh/+LqdcIXsVGO6XDfu2QOs1Xpe9zIzLpwm/RNYeX\nUjbSj5ce/jekpAw7qyVVL4xOyh8AtUW1ek3wIw1MJvEgEPt0d16oshWJpoS1OT8L\nr/22SvYEo3EmSGdTVGgk3x3s+A0qWAqTcyjr7Q4s/GKYRFfomGwz0TZ4Iw1ZN99M\nm0eo2USlSRTVl7QHRTuiuSThHpLKQQ==\u003c/ds:X509Certificate\u003e\n \u003c/ds:X509Data\u003e\n \u003c/ds:KeyInfo\u003e\n \u003c/md:KeyDescriptor\u003e\n \u003cmd:NameIDFormat\u003eurn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\u003c/md:NameIDFormat\u003e\n \u003cmd:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\" Location=\"https://mocksaml.com/api/saml/sso\"/\u003e\n \u003cmd:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\" Location=\"https://mocksaml.com/api/saml/sso\"/\u003e\n \u003c/md:IDPSSODescriptor\u003e\n\u003c/md:EntityDescriptor\u003e\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = scoretechnologies.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.OrgIdpSaml(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n Binding = \"SAML_BINDING_POST\",\n WithSignedRequest = true,\n IsLinkingAllowed = false,\n IsCreationAllowed = true,\n IsAutoCreation = false,\n IsAutoUpdate = true,\n MetadataXml = @\"\u003c?xml version=\"\"1.0\"\" encoding=\"\"UTF-8\"\" standalone=\"\"no\"\"?\u003e\n\u003cmd:EntityDescriptor xmlns:md=\"\"urn:oasis:names:tc:SAML:2.0:metadata\"\" entityID=\"\"https://saml.example.com/entityid\"\" validUntil=\"\"2034-05-15T14:21:58.979Z\"\"\u003e\n \u003cmd:IDPSSODescriptor WantAuthnRequestsSigned=\"\"true\"\" protocolSupportEnumeration=\"\"urn:oasis:names:tc:SAML:2.0:protocol\"\"\u003e\n \u003cmd:KeyDescriptor use=\"\"signing\"\"\u003e\n \u003cds:KeyInfo xmlns:ds=\"\"http://www.w3.org/2000/09/xmldsig#\"\"\u003e\n \u003cds:X509Data\u003e\n \u003cds:X509Certificate\u003eMIIC4jCCAcoCCQC33wnybT5QZDANBgkqhkiG9w0BAQsFADAyMQswCQYDVQQGEwJV\nSzEPMA0GA1UECgwGQm94eUhRMRIwEAYDVQQDDAlNb2NrIFNBTUwwIBcNMjIwMjI4\nMjE0NjM4WhgPMzAyMTA3MDEyMTQ2MzhaMDIxCzAJBgNVBAYTAlVLMQ8wDQYDVQQK\nDAZCb3h5SFExEjAQBgNVBAMMCU1vY2sgU0FNTDCCASIwDQYJKoZIhvcNAQEBBQAD\nggEPADCCAQoCggEBALGfYettMsct1T6tVUwTudNJH5Pnb9GGnkXi9Zw/e6x45DD0\nRuRONbFlJ2T4RjAE/uG+AjXxXQ8o2SZfb9+GgmCHuTJFNgHoZ1nFVXCmb/Hg8Hpd\n4vOAGXndixaReOiq3EH5XvpMjMkJ3+8+9VYMzMZOjkgQtAqO36eAFFfNKX7dTj3V\npwLkvz6/KFCq8OAwY+AUi4eZm5J57D31GzjHwfjH9WTeX0MyndmnNB1qV75qQR3b\n2/W5sGHRv+9AarggJkF+ptUkXoLtVA51wcfYm6hILptpde5FQC8RWY1YrswBWAEZ\nNfyrR4JeSweElNHg4NVOs4TwGjOPwWGqzTfgTlECAwEAATANBgkqhkiG9w0BAQsF\nAAOCAQEAAYRlYflSXAWoZpFfwNiCQVE5d9zZ0DPzNdWhAybXcTyMf0z5mDf6FWBW\n5Gyoi9u3EMEDnzLcJNkwJAAc39Apa4I2/tml+Jy29dk8bTyX6m93ngmCgdLh5Za4\nkhuU3AM3L63g7VexCuO7kwkjh/+LqdcIXsVGO6XDfu2QOs1Xpe9zIzLpwm/RNYeX\nUjbSj5ce/jekpAw7qyVVL4xOyh8AtUW1ek3wIw1MJvEgEPt0d16oshWJpoS1OT8L\nr/22SvYEo3EmSGdTVGgk3x3s+A0qWAqTcyjr7Q4s/GKYRFfomGwz0TZ4Iw1ZN99M\nm0eo2USlSRTVl7QHRTuiuSThHpLKQQ==\u003c/ds:X509Certificate\u003e\n \u003c/ds:X509Data\u003e\n \u003c/ds:KeyInfo\u003e\n \u003c/md:KeyDescriptor\u003e\n \u003cmd:NameIDFormat\u003eurn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\u003c/md:NameIDFormat\u003e\n \u003cmd:SingleSignOnService Binding=\"\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\"\" Location=\"\"https://mocksaml.com/api/saml/sso\"\"/\u003e\n \u003cmd:SingleSignOnService Binding=\"\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\"\" Location=\"\"https://mocksaml.com/api/saml/sso\"\"/\u003e\n \u003c/md:IDPSSODescriptor\u003e\n\u003c/md:EntityDescriptor\u003e\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewOrgIdpSaml(ctx, \"default\", \u0026zitadel.OrgIdpSamlArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tBinding: pulumi.String(\"SAML_BINDING_POST\"),\n\t\t\tWithSignedRequest: pulumi.Bool(true),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t\tMetadataXml: pulumi.String(`\u003c?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?\u003e\n\u003cmd:EntityDescriptor xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\" entityID=\"https://saml.example.com/entityid\" validUntil=\"2034-05-15T14:21:58.979Z\"\u003e\n \u003cmd:IDPSSODescriptor WantAuthnRequestsSigned=\"true\" protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\"\u003e\n \u003cmd:KeyDescriptor use=\"signing\"\u003e\n \u003cds:KeyInfo xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\"\u003e\n \u003cds:X509Data\u003e\n \u003cds:X509Certificate\u003eMIIC4jCCAcoCCQC33wnybT5QZDANBgkqhkiG9w0BAQsFADAyMQswCQYDVQQGEwJV\nSzEPMA0GA1UECgwGQm94eUhRMRIwEAYDVQQDDAlNb2NrIFNBTUwwIBcNMjIwMjI4\nMjE0NjM4WhgPMzAyMTA3MDEyMTQ2MzhaMDIxCzAJBgNVBAYTAlVLMQ8wDQYDVQQK\nDAZCb3h5SFExEjAQBgNVBAMMCU1vY2sgU0FNTDCCASIwDQYJKoZIhvcNAQEBBQAD\nggEPADCCAQoCggEBALGfYettMsct1T6tVUwTudNJH5Pnb9GGnkXi9Zw/e6x45DD0\nRuRONbFlJ2T4RjAE/uG+AjXxXQ8o2SZfb9+GgmCHuTJFNgHoZ1nFVXCmb/Hg8Hpd\n4vOAGXndixaReOiq3EH5XvpMjMkJ3+8+9VYMzMZOjkgQtAqO36eAFFfNKX7dTj3V\npwLkvz6/KFCq8OAwY+AUi4eZm5J57D31GzjHwfjH9WTeX0MyndmnNB1qV75qQR3b\n2/W5sGHRv+9AarggJkF+ptUkXoLtVA51wcfYm6hILptpde5FQC8RWY1YrswBWAEZ\nNfyrR4JeSweElNHg4NVOs4TwGjOPwWGqzTfgTlECAwEAATANBgkqhkiG9w0BAQsF\nAAOCAQEAAYRlYflSXAWoZpFfwNiCQVE5d9zZ0DPzNdWhAybXcTyMf0z5mDf6FWBW\n5Gyoi9u3EMEDnzLcJNkwJAAc39Apa4I2/tml+Jy29dk8bTyX6m93ngmCgdLh5Za4\nkhuU3AM3L63g7VexCuO7kwkjh/+LqdcIXsVGO6XDfu2QOs1Xpe9zIzLpwm/RNYeX\nUjbSj5ce/jekpAw7qyVVL4xOyh8AtUW1ek3wIw1MJvEgEPt0d16oshWJpoS1OT8L\nr/22SvYEo3EmSGdTVGgk3x3s+A0qWAqTcyjr7Q4s/GKYRFfomGwz0TZ4Iw1ZN99M\nm0eo2USlSRTVl7QHRTuiuSThHpLKQQ==\u003c/ds:X509Certificate\u003e\n \u003c/ds:X509Data\u003e\n \u003c/ds:KeyInfo\u003e\n \u003c/md:KeyDescriptor\u003e\n \u003cmd:NameIDFormat\u003eurn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\u003c/md:NameIDFormat\u003e\n \u003cmd:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\" Location=\"https://mocksaml.com/api/saml/sso\"/\u003e\n \u003cmd:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\" Location=\"https://mocksaml.com/api/saml/sso\"/\u003e\n \u003c/md:IDPSSODescriptor\u003e\n\u003c/md:EntityDescriptor\u003e\n`),\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.zitadel.OrgIdpSaml;\nimport com.pulumi.zitadel.OrgIdpSamlArgs;\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 default_ = new OrgIdpSaml(\"default\", OrgIdpSamlArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .binding(\"SAML_BINDING_POST\")\n .withSignedRequest(true)\n .isLinkingAllowed(false)\n .isCreationAllowed(true)\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .metadataXml(\"\"\"\n\u003c?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?\u003e\n\u003cmd:EntityDescriptor xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\" entityID=\"https://saml.example.com/entityid\" validUntil=\"2034-05-15T14:21:58.979Z\"\u003e\n \u003cmd:IDPSSODescriptor WantAuthnRequestsSigned=\"true\" protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\"\u003e\n \u003cmd:KeyDescriptor use=\"signing\"\u003e\n \u003cds:KeyInfo xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\"\u003e\n \u003cds:X509Data\u003e\n \u003cds:X509Certificate\u003eMIIC4jCCAcoCCQC33wnybT5QZDANBgkqhkiG9w0BAQsFADAyMQswCQYDVQQGEwJV\nSzEPMA0GA1UECgwGQm94eUhRMRIwEAYDVQQDDAlNb2NrIFNBTUwwIBcNMjIwMjI4\nMjE0NjM4WhgPMzAyMTA3MDEyMTQ2MzhaMDIxCzAJBgNVBAYTAlVLMQ8wDQYDVQQK\nDAZCb3h5SFExEjAQBgNVBAMMCU1vY2sgU0FNTDCCASIwDQYJKoZIhvcNAQEBBQAD\nggEPADCCAQoCggEBALGfYettMsct1T6tVUwTudNJH5Pnb9GGnkXi9Zw/e6x45DD0\nRuRONbFlJ2T4RjAE/uG+AjXxXQ8o2SZfb9+GgmCHuTJFNgHoZ1nFVXCmb/Hg8Hpd\n4vOAGXndixaReOiq3EH5XvpMjMkJ3+8+9VYMzMZOjkgQtAqO36eAFFfNKX7dTj3V\npwLkvz6/KFCq8OAwY+AUi4eZm5J57D31GzjHwfjH9WTeX0MyndmnNB1qV75qQR3b\n2/W5sGHRv+9AarggJkF+ptUkXoLtVA51wcfYm6hILptpde5FQC8RWY1YrswBWAEZ\nNfyrR4JeSweElNHg4NVOs4TwGjOPwWGqzTfgTlECAwEAATANBgkqhkiG9w0BAQsF\nAAOCAQEAAYRlYflSXAWoZpFfwNiCQVE5d9zZ0DPzNdWhAybXcTyMf0z5mDf6FWBW\n5Gyoi9u3EMEDnzLcJNkwJAAc39Apa4I2/tml+Jy29dk8bTyX6m93ngmCgdLh5Za4\nkhuU3AM3L63g7VexCuO7kwkjh/+LqdcIXsVGO6XDfu2QOs1Xpe9zIzLpwm/RNYeX\nUjbSj5ce/jekpAw7qyVVL4xOyh8AtUW1ek3wIw1MJvEgEPt0d16oshWJpoS1OT8L\nr/22SvYEo3EmSGdTVGgk3x3s+A0qWAqTcyjr7Q4s/GKYRFfomGwz0TZ4Iw1ZN99M\nm0eo2USlSRTVl7QHRTuiuSThHpLKQQ==\u003c/ds:X509Certificate\u003e\n \u003c/ds:X509Data\u003e\n \u003c/ds:KeyInfo\u003e\n \u003c/md:KeyDescriptor\u003e\n \u003cmd:NameIDFormat\u003eurn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\u003c/md:NameIDFormat\u003e\n \u003cmd:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\" Location=\"https://mocksaml.com/api/saml/sso\"/\u003e\n \u003cmd:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\" Location=\"https://mocksaml.com/api/saml/sso\"/\u003e\n \u003c/md:IDPSSODescriptor\u003e\n\u003c/md:EntityDescriptor\u003e\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:OrgIdpSaml\n properties:\n orgId: ${data.zitadel_org.default.id}\n binding: SAML_BINDING_POST\n withSignedRequest: true\n isLinkingAllowed: false\n isCreationAllowed: true\n isAutoCreation: false\n isAutoUpdate: true\n metadataXml: |\n \u003c?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?\u003e\n \u003cmd:EntityDescriptor xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\" entityID=\"https://saml.example.com/entityid\" validUntil=\"2034-05-15T14:21:58.979Z\"\u003e\n \u003cmd:IDPSSODescriptor WantAuthnRequestsSigned=\"true\" protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\"\u003e\n \u003cmd:KeyDescriptor use=\"signing\"\u003e\n \u003cds:KeyInfo xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\"\u003e\n \u003cds:X509Data\u003e\n \u003cds:X509Certificate\u003eMIIC4jCCAcoCCQC33wnybT5QZDANBgkqhkiG9w0BAQsFADAyMQswCQYDVQQGEwJV\n SzEPMA0GA1UECgwGQm94eUhRMRIwEAYDVQQDDAlNb2NrIFNBTUwwIBcNMjIwMjI4\n MjE0NjM4WhgPMzAyMTA3MDEyMTQ2MzhaMDIxCzAJBgNVBAYTAlVLMQ8wDQYDVQQK\n DAZCb3h5SFExEjAQBgNVBAMMCU1vY2sgU0FNTDCCASIwDQYJKoZIhvcNAQEBBQAD\n ggEPADCCAQoCggEBALGfYettMsct1T6tVUwTudNJH5Pnb9GGnkXi9Zw/e6x45DD0\n RuRONbFlJ2T4RjAE/uG+AjXxXQ8o2SZfb9+GgmCHuTJFNgHoZ1nFVXCmb/Hg8Hpd\n 4vOAGXndixaReOiq3EH5XvpMjMkJ3+8+9VYMzMZOjkgQtAqO36eAFFfNKX7dTj3V\n pwLkvz6/KFCq8OAwY+AUi4eZm5J57D31GzjHwfjH9WTeX0MyndmnNB1qV75qQR3b\n 2/W5sGHRv+9AarggJkF+ptUkXoLtVA51wcfYm6hILptpde5FQC8RWY1YrswBWAEZ\n NfyrR4JeSweElNHg4NVOs4TwGjOPwWGqzTfgTlECAwEAATANBgkqhkiG9w0BAQsF\n AAOCAQEAAYRlYflSXAWoZpFfwNiCQVE5d9zZ0DPzNdWhAybXcTyMf0z5mDf6FWBW\n 5Gyoi9u3EMEDnzLcJNkwJAAc39Apa4I2/tml+Jy29dk8bTyX6m93ngmCgdLh5Za4\n khuU3AM3L63g7VexCuO7kwkjh/+LqdcIXsVGO6XDfu2QOs1Xpe9zIzLpwm/RNYeX\n UjbSj5ce/jekpAw7qyVVL4xOyh8AtUW1ek3wIw1MJvEgEPt0d16oshWJpoS1OT8L\n r/22SvYEo3EmSGdTVGgk3x3s+A0qWAqTcyjr7Q4s/GKYRFfomGwz0TZ4Iw1ZN99M\n m0eo2USlSRTVl7QHRTuiuSThHpLKQQ==\u003c/ds:X509Certificate\u003e\n \u003c/ds:X509Data\u003e\n \u003c/ds:KeyInfo\u003e\n \u003c/md:KeyDescriptor\u003e\n \u003cmd:NameIDFormat\u003eurn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\u003c/md:NameIDFormat\u003e\n \u003cmd:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\" Location=\"https://mocksaml.com/api/saml/sso\"/\u003e\n \u003cmd:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\" Location=\"https://mocksaml.com/api/saml/sso\"/\u003e\n \u003c/md:IDPSSODescriptor\u003e\n \u003c/md:EntityDescriptor\u003e\n```\n\n{{% /example %}}\n{{% /examples %}}\n## Loading the XML Metadata\n\nIf you don't want to pass the XML metadata inline, you have plenty of options. For example:\n- local_file Data Source\n- http Data Source\n- terracurl_request Data Source\n- ...\n\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid[:org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/orgIdpSaml:OrgIdpSaml imported '123456789012345678:123456789012345678'\n```\n\n ", "properties": { "binding": { "type": "string", @@ -6896,7 +6896,7 @@ } }, "zitadel:index/orgMember:OrgMember": { - "description": "Resource representing the membership of a user on an organization, defined with the given role.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.OrgMember(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n userId: data.zitadel_human_user[\"default\"].id,\n roles: [\"ORG_OWNER\"],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.OrgMember(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n user_id=data[\"zitadel_human_user\"][\"default\"][\"id\"],\n roles=[\"ORG_OWNER\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.OrgMember(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n UserId = data.Zitadel_human_user.Default.Id,\n Roles = new[]\n {\n \"ORG_OWNER\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewOrgMember(ctx, \"default\", \u0026zitadel.OrgMemberArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tUserId: pulumi.Any(data.Zitadel_human_user.Default.Id),\n\t\t\tRoles: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ORG_OWNER\"),\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.zitadel.OrgMember;\nimport com.pulumi.zitadel.OrgMemberArgs;\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 default_ = new OrgMember(\"default\", OrgMemberArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .userId(data.zitadel_human_user().default().id())\n .roles(\"ORG_OWNER\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:OrgMember\n properties:\n orgId: ${data.zitadel_org.default.id}\n userId: ${data.zitadel_human_user.default.id}\n roles:\n - ORG_OWNER\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cuser_id[:org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/orgMember:OrgMember imported '123456789012345678:123456789012345678'\n```\n\n ", + "description": "Resource representing the membership of a user on an organization, defined with the given role.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@scoretechnologies/zitadel\";\n\nconst _default = new zitadel.OrgMember(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n userId: data.zitadel_human_user[\"default\"].id,\n roles: [\"ORG_OWNER\"],\n});\n```\n```python\nimport pulumi\nimport scoretechnologies_zitadel as zitadel\n\ndefault = zitadel.OrgMember(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n user_id=data[\"zitadel_human_user\"][\"default\"][\"id\"],\n roles=[\"ORG_OWNER\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = scoretechnologies.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.OrgMember(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n UserId = data.Zitadel_human_user.Default.Id,\n Roles = new[]\n {\n \"ORG_OWNER\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewOrgMember(ctx, \"default\", \u0026zitadel.OrgMemberArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tUserId: pulumi.Any(data.Zitadel_human_user.Default.Id),\n\t\t\tRoles: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ORG_OWNER\"),\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.zitadel.OrgMember;\nimport com.pulumi.zitadel.OrgMemberArgs;\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 default_ = new OrgMember(\"default\", OrgMemberArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .userId(data.zitadel_human_user().default().id())\n .roles(\"ORG_OWNER\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:OrgMember\n properties:\n orgId: ${data.zitadel_org.default.id}\n userId: ${data.zitadel_human_user.default.id}\n roles:\n - ORG_OWNER\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cuser_id[:org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/orgMember:OrgMember imported '123456789012345678:123456789012345678'\n```\n\n ", "properties": { "orgId": { "type": "string", @@ -6966,7 +6966,7 @@ } }, "zitadel:index/orgMetadata:OrgMetadata": { - "description": "{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.OrgMetadata(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n key: \"a_key\",\n value: \"a_value\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.OrgMetadata(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n key=\"a_key\",\n value=\"a_value\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.OrgMetadata(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n Key = \"a_key\",\n Value = \"a_value\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewOrgMetadata(ctx, \"default\", \u0026zitadel.OrgMetadataArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tKey: pulumi.String(\"a_key\"),\n\t\t\tValue: pulumi.String(\"a_value\"),\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.zitadel.OrgMetadata;\nimport com.pulumi.zitadel.OrgMetadataArgs;\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 default_ = new OrgMetadata(\"default\", OrgMetadataArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .key(\"a_key\")\n .value(\"a_value\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:OrgMetadata\n properties:\n orgId: ${data.zitadel_org.default.id}\n key: a_key\n value: a_value\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003ckey[:org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/orgMetadata:OrgMetadata imported 'a_key:123456789012345678'\n```\n\n ", + "description": "{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@scoretechnologies/zitadel\";\n\nconst _default = new zitadel.OrgMetadata(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n key: \"a_key\",\n value: \"a_value\",\n});\n```\n```python\nimport pulumi\nimport scoretechnologies_zitadel as zitadel\n\ndefault = zitadel.OrgMetadata(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n key=\"a_key\",\n value=\"a_value\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = scoretechnologies.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.OrgMetadata(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n Key = \"a_key\",\n Value = \"a_value\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewOrgMetadata(ctx, \"default\", \u0026zitadel.OrgMetadataArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tKey: pulumi.String(\"a_key\"),\n\t\t\tValue: pulumi.String(\"a_value\"),\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.zitadel.OrgMetadata;\nimport com.pulumi.zitadel.OrgMetadataArgs;\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 default_ = new OrgMetadata(\"default\", OrgMetadataArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .key(\"a_key\")\n .value(\"a_value\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:OrgMetadata\n properties:\n orgId: ${data.zitadel_org.default.id}\n key: a_key\n value: a_value\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003ckey[:org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/orgMetadata:OrgMetadata imported 'a_key:123456789012345678'\n```\n\n ", "properties": { "key": { "type": "string", @@ -7027,7 +7027,7 @@ } }, "zitadel:index/passwordComplexityPolicy:PasswordComplexityPolicy": { - "description": "Resource representing the custom password complexity policy of an organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.PasswordComplexityPolicy(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n minLength: 8,\n hasUppercase: true,\n hasLowercase: true,\n hasNumber: true,\n hasSymbol: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.PasswordComplexityPolicy(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n min_length=8,\n has_uppercase=True,\n has_lowercase=True,\n has_number=True,\n has_symbol=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.PasswordComplexityPolicy(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n MinLength = 8,\n HasUppercase = true,\n HasLowercase = true,\n HasNumber = true,\n HasSymbol = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewPasswordComplexityPolicy(ctx, \"default\", \u0026zitadel.PasswordComplexityPolicyArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tMinLength: pulumi.Int(8),\n\t\t\tHasUppercase: pulumi.Bool(true),\n\t\t\tHasLowercase: pulumi.Bool(true),\n\t\t\tHasNumber: pulumi.Bool(true),\n\t\t\tHasSymbol: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.PasswordComplexityPolicy;\nimport com.pulumi.zitadel.PasswordComplexityPolicyArgs;\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 default_ = new PasswordComplexityPolicy(\"default\", PasswordComplexityPolicyArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .minLength(\"8\")\n .hasUppercase(true)\n .hasLowercase(true)\n .hasNumber(true)\n .hasSymbol(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:PasswordComplexityPolicy\n properties:\n orgId: ${data.zitadel_org.default.id}\n minLength: '8'\n hasUppercase: true\n hasLowercase: true\n hasNumber: true\n hasSymbol: true\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Resource representing the custom password complexity policy of an organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@scoretechnologies/zitadel\";\n\nconst _default = new zitadel.PasswordComplexityPolicy(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n minLength: 8,\n hasUppercase: true,\n hasLowercase: true,\n hasNumber: true,\n hasSymbol: true,\n});\n```\n```python\nimport pulumi\nimport scoretechnologies_zitadel as zitadel\n\ndefault = zitadel.PasswordComplexityPolicy(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n min_length=8,\n has_uppercase=True,\n has_lowercase=True,\n has_number=True,\n has_symbol=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = scoretechnologies.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.PasswordComplexityPolicy(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n MinLength = 8,\n HasUppercase = true,\n HasLowercase = true,\n HasNumber = true,\n HasSymbol = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewPasswordComplexityPolicy(ctx, \"default\", \u0026zitadel.PasswordComplexityPolicyArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tMinLength: pulumi.Int(8),\n\t\t\tHasUppercase: pulumi.Bool(true),\n\t\t\tHasLowercase: pulumi.Bool(true),\n\t\t\tHasNumber: pulumi.Bool(true),\n\t\t\tHasSymbol: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.PasswordComplexityPolicy;\nimport com.pulumi.zitadel.PasswordComplexityPolicyArgs;\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 default_ = new PasswordComplexityPolicy(\"default\", PasswordComplexityPolicyArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .minLength(\"8\")\n .hasUppercase(true)\n .hasLowercase(true)\n .hasNumber(true)\n .hasSymbol(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:PasswordComplexityPolicy\n properties:\n orgId: ${data.zitadel_org.default.id}\n minLength: '8'\n hasUppercase: true\n hasLowercase: true\n hasNumber: true\n hasSymbol: true\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "hasLowercase": { "type": "boolean", @@ -7128,7 +7128,7 @@ } }, "zitadel:index/personalAccessToken:PersonalAccessToken": { - "description": "Resource representing a personal access token of a user\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.PersonalAccessToken(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n userId: data.zitadel_machine_user[\"default\"].id,\n expirationDate: \"2519-04-01T08:45:00Z\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.PersonalAccessToken(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n user_id=data[\"zitadel_machine_user\"][\"default\"][\"id\"],\n expiration_date=\"2519-04-01T08:45:00Z\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.PersonalAccessToken(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n UserId = data.Zitadel_machine_user.Default.Id,\n ExpirationDate = \"2519-04-01T08:45:00Z\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewPersonalAccessToken(ctx, \"default\", \u0026zitadel.PersonalAccessTokenArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tUserId: pulumi.Any(data.Zitadel_machine_user.Default.Id),\n\t\t\tExpirationDate: pulumi.String(\"2519-04-01T08:45:00Z\"),\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.zitadel.PersonalAccessToken;\nimport com.pulumi.zitadel.PersonalAccessTokenArgs;\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 default_ = new PersonalAccessToken(\"default\", PersonalAccessTokenArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .userId(data.zitadel_machine_user().default().id())\n .expirationDate(\"2519-04-01T08:45:00Z\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:PersonalAccessToken\n properties:\n orgId: ${data.zitadel_org.default.id}\n userId: ${data.zitadel_machine_user.default.id}\n expirationDate: 2519-04-01T08:45:00Z\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid:user_id[:org_id][:token]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/personalAccessToken:PersonalAccessToken imported '123456789012345678:123456789012345678:123456789012345678:LHt79...'\n```\n\n ", + "description": "Resource representing a personal access token of a user\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@scoretechnologies/zitadel\";\n\nconst _default = new zitadel.PersonalAccessToken(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n userId: data.zitadel_machine_user[\"default\"].id,\n expirationDate: \"2519-04-01T08:45:00Z\",\n});\n```\n```python\nimport pulumi\nimport scoretechnologies_zitadel as zitadel\n\ndefault = zitadel.PersonalAccessToken(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n user_id=data[\"zitadel_machine_user\"][\"default\"][\"id\"],\n expiration_date=\"2519-04-01T08:45:00Z\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = scoretechnologies.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.PersonalAccessToken(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n UserId = data.Zitadel_machine_user.Default.Id,\n ExpirationDate = \"2519-04-01T08:45:00Z\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewPersonalAccessToken(ctx, \"default\", \u0026zitadel.PersonalAccessTokenArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tUserId: pulumi.Any(data.Zitadel_machine_user.Default.Id),\n\t\t\tExpirationDate: pulumi.String(\"2519-04-01T08:45:00Z\"),\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.zitadel.PersonalAccessToken;\nimport com.pulumi.zitadel.PersonalAccessTokenArgs;\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 default_ = new PersonalAccessToken(\"default\", PersonalAccessTokenArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .userId(data.zitadel_machine_user().default().id())\n .expirationDate(\"2519-04-01T08:45:00Z\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:PersonalAccessToken\n properties:\n orgId: ${data.zitadel_org.default.id}\n userId: ${data.zitadel_machine_user.default.id}\n expirationDate: 2519-04-01T08:45:00Z\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid:user_id[:org_id][:token]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/personalAccessToken:PersonalAccessToken imported '123456789012345678:123456789012345678:123456789012345678:LHt79...'\n```\n\n ", "properties": { "expirationDate": { "type": "string", @@ -7200,7 +7200,7 @@ } }, "zitadel:index/privacyPolicy:PrivacyPolicy": { - "description": "Resource representing the custom privacy policy of an organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.PrivacyPolicy(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n tosLink: \"https://example.com/tos\",\n privacyLink: \"https://example.com/privacy\",\n helpLink: \"https://example.com/help\",\n supportEmail: \"support@example.com\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.PrivacyPolicy(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n tos_link=\"https://example.com/tos\",\n privacy_link=\"https://example.com/privacy\",\n help_link=\"https://example.com/help\",\n support_email=\"support@example.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.PrivacyPolicy(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n TosLink = \"https://example.com/tos\",\n PrivacyLink = \"https://example.com/privacy\",\n HelpLink = \"https://example.com/help\",\n SupportEmail = \"support@example.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewPrivacyPolicy(ctx, \"default\", \u0026zitadel.PrivacyPolicyArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tTosLink: pulumi.String(\"https://example.com/tos\"),\n\t\t\tPrivacyLink: pulumi.String(\"https://example.com/privacy\"),\n\t\t\tHelpLink: pulumi.String(\"https://example.com/help\"),\n\t\t\tSupportEmail: pulumi.String(\"support@example.com\"),\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.zitadel.PrivacyPolicy;\nimport com.pulumi.zitadel.PrivacyPolicyArgs;\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 default_ = new PrivacyPolicy(\"default\", PrivacyPolicyArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .tosLink(\"https://example.com/tos\")\n .privacyLink(\"https://example.com/privacy\")\n .helpLink(\"https://example.com/help\")\n .supportEmail(\"support@example.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:PrivacyPolicy\n properties:\n orgId: ${data.zitadel_org.default.id}\n tosLink: https://example.com/tos\n privacyLink: https://example.com/privacy\n helpLink: https://example.com/help\n supportEmail: support@example.com\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003c[org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/privacyPolicy:PrivacyPolicy imported '123456789012345678'\n```\n\n ", + "description": "Resource representing the custom privacy policy of an organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@scoretechnologies/zitadel\";\n\nconst _default = new zitadel.PrivacyPolicy(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n tosLink: \"https://example.com/tos\",\n privacyLink: \"https://example.com/privacy\",\n helpLink: \"https://example.com/help\",\n supportEmail: \"support@example.com\",\n});\n```\n```python\nimport pulumi\nimport scoretechnologies_zitadel as zitadel\n\ndefault = zitadel.PrivacyPolicy(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n tos_link=\"https://example.com/tos\",\n privacy_link=\"https://example.com/privacy\",\n help_link=\"https://example.com/help\",\n support_email=\"support@example.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = scoretechnologies.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.PrivacyPolicy(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n TosLink = \"https://example.com/tos\",\n PrivacyLink = \"https://example.com/privacy\",\n HelpLink = \"https://example.com/help\",\n SupportEmail = \"support@example.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewPrivacyPolicy(ctx, \"default\", \u0026zitadel.PrivacyPolicyArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tTosLink: pulumi.String(\"https://example.com/tos\"),\n\t\t\tPrivacyLink: pulumi.String(\"https://example.com/privacy\"),\n\t\t\tHelpLink: pulumi.String(\"https://example.com/help\"),\n\t\t\tSupportEmail: pulumi.String(\"support@example.com\"),\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.zitadel.PrivacyPolicy;\nimport com.pulumi.zitadel.PrivacyPolicyArgs;\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 default_ = new PrivacyPolicy(\"default\", PrivacyPolicyArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .tosLink(\"https://example.com/tos\")\n .privacyLink(\"https://example.com/privacy\")\n .helpLink(\"https://example.com/help\")\n .supportEmail(\"support@example.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:PrivacyPolicy\n properties:\n orgId: ${data.zitadel_org.default.id}\n tosLink: https://example.com/tos\n privacyLink: https://example.com/privacy\n helpLink: https://example.com/help\n supportEmail: support@example.com\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003c[org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/privacyPolicy:PrivacyPolicy imported '123456789012345678'\n```\n\n ", "properties": { "helpLink": { "type": "string" @@ -7263,7 +7263,7 @@ } }, "zitadel:index/project:Project": { - "description": "Resource representing the project, which can then be granted to different organizations or users directly, containing different applications.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.Project(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n projectRoleAssertion: true,\n projectRoleCheck: true,\n hasProjectCheck: true,\n privateLabelingSetting: \"PRIVATE_LABELING_SETTING_ENFORCE_PROJECT_RESOURCE_OWNER_POLICY\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.Project(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n project_role_assertion=True,\n project_role_check=True,\n has_project_check=True,\n private_labeling_setting=\"PRIVATE_LABELING_SETTING_ENFORCE_PROJECT_RESOURCE_OWNER_POLICY\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.Project(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ProjectRoleAssertion = true,\n ProjectRoleCheck = true,\n HasProjectCheck = true,\n PrivateLabelingSetting = \"PRIVATE_LABELING_SETTING_ENFORCE_PROJECT_RESOURCE_OWNER_POLICY\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewProject(ctx, \"default\", \u0026zitadel.ProjectArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tProjectRoleAssertion: pulumi.Bool(true),\n\t\t\tProjectRoleCheck: pulumi.Bool(true),\n\t\t\tHasProjectCheck: pulumi.Bool(true),\n\t\t\tPrivateLabelingSetting: pulumi.String(\"PRIVATE_LABELING_SETTING_ENFORCE_PROJECT_RESOURCE_OWNER_POLICY\"),\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.zitadel.Project;\nimport com.pulumi.zitadel.ProjectArgs;\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 default_ = new Project(\"default\", ProjectArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .projectRoleAssertion(true)\n .projectRoleCheck(true)\n .hasProjectCheck(true)\n .privateLabelingSetting(\"PRIVATE_LABELING_SETTING_ENFORCE_PROJECT_RESOURCE_OWNER_POLICY\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:Project\n properties:\n orgId: ${data.zitadel_org.default.id}\n projectRoleAssertion: true\n projectRoleCheck: true\n hasProjectCheck: true\n privateLabelingSetting: PRIVATE_LABELING_SETTING_ENFORCE_PROJECT_RESOURCE_OWNER_POLICY\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid[:org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/project:Project imported '123456789012345678:123456789012345678'\n```\n\n ", + "description": "Resource representing the project, which can then be granted to different organizations or users directly, containing different applications.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@scoretechnologies/zitadel\";\n\nconst _default = new zitadel.Project(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n projectRoleAssertion: true,\n projectRoleCheck: true,\n hasProjectCheck: true,\n privateLabelingSetting: \"PRIVATE_LABELING_SETTING_ENFORCE_PROJECT_RESOURCE_OWNER_POLICY\",\n});\n```\n```python\nimport pulumi\nimport scoretechnologies_zitadel as zitadel\n\ndefault = zitadel.Project(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n project_role_assertion=True,\n project_role_check=True,\n has_project_check=True,\n private_labeling_setting=\"PRIVATE_LABELING_SETTING_ENFORCE_PROJECT_RESOURCE_OWNER_POLICY\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = scoretechnologies.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.Project(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ProjectRoleAssertion = true,\n ProjectRoleCheck = true,\n HasProjectCheck = true,\n PrivateLabelingSetting = \"PRIVATE_LABELING_SETTING_ENFORCE_PROJECT_RESOURCE_OWNER_POLICY\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewProject(ctx, \"default\", \u0026zitadel.ProjectArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tProjectRoleAssertion: pulumi.Bool(true),\n\t\t\tProjectRoleCheck: pulumi.Bool(true),\n\t\t\tHasProjectCheck: pulumi.Bool(true),\n\t\t\tPrivateLabelingSetting: pulumi.String(\"PRIVATE_LABELING_SETTING_ENFORCE_PROJECT_RESOURCE_OWNER_POLICY\"),\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.zitadel.Project;\nimport com.pulumi.zitadel.ProjectArgs;\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 default_ = new Project(\"default\", ProjectArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .projectRoleAssertion(true)\n .projectRoleCheck(true)\n .hasProjectCheck(true)\n .privateLabelingSetting(\"PRIVATE_LABELING_SETTING_ENFORCE_PROJECT_RESOURCE_OWNER_POLICY\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:Project\n properties:\n orgId: ${data.zitadel_org.default.id}\n projectRoleAssertion: true\n projectRoleCheck: true\n hasProjectCheck: true\n privateLabelingSetting: PRIVATE_LABELING_SETTING_ENFORCE_PROJECT_RESOURCE_OWNER_POLICY\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid[:org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/project:Project imported '123456789012345678:123456789012345678'\n```\n\n ", "properties": { "hasProjectCheck": { "type": "boolean", @@ -7362,7 +7362,7 @@ } }, "zitadel:index/projectGrant:ProjectGrant": { - "description": "Resource representing the grant of a project to a different organization, also containing the available roles which can be given to the members of the projectgrant.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.ProjectGrant(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n projectId: data.zitadel_project[\"default\"].id,\n grantedOrgId: data.zitadel_org.granted_org.id,\n roleKeys: [\"super-user\"],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.ProjectGrant(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n project_id=data[\"zitadel_project\"][\"default\"][\"id\"],\n granted_org_id=data[\"zitadel_org\"][\"granted_org\"][\"id\"],\n role_keys=[\"super-user\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.ProjectGrant(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ProjectId = data.Zitadel_project.Default.Id,\n GrantedOrgId = data.Zitadel_org.Granted_org.Id,\n RoleKeys = new[]\n {\n \"super-user\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewProjectGrant(ctx, \"default\", \u0026zitadel.ProjectGrantArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tProjectId: pulumi.Any(data.Zitadel_project.Default.Id),\n\t\t\tGrantedOrgId: pulumi.Any(data.Zitadel_org.Granted_org.Id),\n\t\t\tRoleKeys: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"super-user\"),\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.zitadel.ProjectGrant;\nimport com.pulumi.zitadel.ProjectGrantArgs;\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 default_ = new ProjectGrant(\"default\", ProjectGrantArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .projectId(data.zitadel_project().default().id())\n .grantedOrgId(data.zitadel_org().granted_org().id())\n .roleKeys(\"super-user\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:ProjectGrant\n properties:\n orgId: ${data.zitadel_org.default.id}\n projectId: ${data.zitadel_project.default.id}\n grantedOrgId: ${data.zitadel_org.granted_org.id}\n roleKeys:\n - super-user\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid:project_id[:org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/projectGrant:ProjectGrant imported '123456789012345678:123456789012345678:123456789012345678'\n```\n\n ", + "description": "Resource representing the grant of a project to a different organization, also containing the available roles which can be given to the members of the projectgrant.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@scoretechnologies/zitadel\";\n\nconst _default = new zitadel.ProjectGrant(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n projectId: data.zitadel_project[\"default\"].id,\n grantedOrgId: data.zitadel_org.granted_org.id,\n roleKeys: [\"super-user\"],\n});\n```\n```python\nimport pulumi\nimport scoretechnologies_zitadel as zitadel\n\ndefault = zitadel.ProjectGrant(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n project_id=data[\"zitadel_project\"][\"default\"][\"id\"],\n granted_org_id=data[\"zitadel_org\"][\"granted_org\"][\"id\"],\n role_keys=[\"super-user\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = scoretechnologies.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.ProjectGrant(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ProjectId = data.Zitadel_project.Default.Id,\n GrantedOrgId = data.Zitadel_org.Granted_org.Id,\n RoleKeys = new[]\n {\n \"super-user\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewProjectGrant(ctx, \"default\", \u0026zitadel.ProjectGrantArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tProjectId: pulumi.Any(data.Zitadel_project.Default.Id),\n\t\t\tGrantedOrgId: pulumi.Any(data.Zitadel_org.Granted_org.Id),\n\t\t\tRoleKeys: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"super-user\"),\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.zitadel.ProjectGrant;\nimport com.pulumi.zitadel.ProjectGrantArgs;\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 default_ = new ProjectGrant(\"default\", ProjectGrantArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .projectId(data.zitadel_project().default().id())\n .grantedOrgId(data.zitadel_org().granted_org().id())\n .roleKeys(\"super-user\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:ProjectGrant\n properties:\n orgId: ${data.zitadel_org.default.id}\n projectId: ${data.zitadel_project.default.id}\n grantedOrgId: ${data.zitadel_org.granted_org.id}\n roleKeys:\n - super-user\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid:project_id[:org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/projectGrant:ProjectGrant imported '123456789012345678:123456789012345678:123456789012345678'\n```\n\n ", "properties": { "grantedOrgId": { "type": "string", @@ -7446,7 +7446,7 @@ } }, "zitadel:index/projectGrantMember:ProjectGrantMember": { - "description": "Resource representing the membership of a user on an granted project, defined with the given role.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.ProjectGrantMember(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n projectId: data.zitadel_project[\"default\"].id,\n userId: data.zitadel_human_user[\"default\"].id,\n grantId: \"123456789012345678\",\n roles: [\"PROJECT_GRANT_OWNER\"],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.ProjectGrantMember(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n project_id=data[\"zitadel_project\"][\"default\"][\"id\"],\n user_id=data[\"zitadel_human_user\"][\"default\"][\"id\"],\n grant_id=\"123456789012345678\",\n roles=[\"PROJECT_GRANT_OWNER\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.ProjectGrantMember(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ProjectId = data.Zitadel_project.Default.Id,\n UserId = data.Zitadel_human_user.Default.Id,\n GrantId = \"123456789012345678\",\n Roles = new[]\n {\n \"PROJECT_GRANT_OWNER\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewProjectGrantMember(ctx, \"default\", \u0026zitadel.ProjectGrantMemberArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tProjectId: pulumi.Any(data.Zitadel_project.Default.Id),\n\t\t\tUserId: pulumi.Any(data.Zitadel_human_user.Default.Id),\n\t\t\tGrantId: pulumi.String(\"123456789012345678\"),\n\t\t\tRoles: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"PROJECT_GRANT_OWNER\"),\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.zitadel.ProjectGrantMember;\nimport com.pulumi.zitadel.ProjectGrantMemberArgs;\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 default_ = new ProjectGrantMember(\"default\", ProjectGrantMemberArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .projectId(data.zitadel_project().default().id())\n .userId(data.zitadel_human_user().default().id())\n .grantId(\"123456789012345678\")\n .roles(\"PROJECT_GRANT_OWNER\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:ProjectGrantMember\n properties:\n orgId: ${data.zitadel_org.default.id}\n projectId: ${data.zitadel_project.default.id}\n userId: ${data.zitadel_human_user.default.id}\n grantId: '123456789012345678'\n roles:\n - PROJECT_GRANT_OWNER\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cproject_id:grant_id:user_id[:org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/projectGrantMember:ProjectGrantMember imported '123456789012345678:123456789012345678:123456789012345678:123456789012345678'\n```\n\n ", + "description": "Resource representing the membership of a user on an granted project, defined with the given role.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@scoretechnologies/zitadel\";\n\nconst _default = new zitadel.ProjectGrantMember(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n projectId: data.zitadel_project[\"default\"].id,\n userId: data.zitadel_human_user[\"default\"].id,\n grantId: \"123456789012345678\",\n roles: [\"PROJECT_GRANT_OWNER\"],\n});\n```\n```python\nimport pulumi\nimport scoretechnologies_zitadel as zitadel\n\ndefault = zitadel.ProjectGrantMember(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n project_id=data[\"zitadel_project\"][\"default\"][\"id\"],\n user_id=data[\"zitadel_human_user\"][\"default\"][\"id\"],\n grant_id=\"123456789012345678\",\n roles=[\"PROJECT_GRANT_OWNER\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = scoretechnologies.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.ProjectGrantMember(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ProjectId = data.Zitadel_project.Default.Id,\n UserId = data.Zitadel_human_user.Default.Id,\n GrantId = \"123456789012345678\",\n Roles = new[]\n {\n \"PROJECT_GRANT_OWNER\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewProjectGrantMember(ctx, \"default\", \u0026zitadel.ProjectGrantMemberArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tProjectId: pulumi.Any(data.Zitadel_project.Default.Id),\n\t\t\tUserId: pulumi.Any(data.Zitadel_human_user.Default.Id),\n\t\t\tGrantId: pulumi.String(\"123456789012345678\"),\n\t\t\tRoles: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"PROJECT_GRANT_OWNER\"),\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.zitadel.ProjectGrantMember;\nimport com.pulumi.zitadel.ProjectGrantMemberArgs;\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 default_ = new ProjectGrantMember(\"default\", ProjectGrantMemberArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .projectId(data.zitadel_project().default().id())\n .userId(data.zitadel_human_user().default().id())\n .grantId(\"123456789012345678\")\n .roles(\"PROJECT_GRANT_OWNER\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:ProjectGrantMember\n properties:\n orgId: ${data.zitadel_org.default.id}\n projectId: ${data.zitadel_project.default.id}\n userId: ${data.zitadel_human_user.default.id}\n grantId: '123456789012345678'\n roles:\n - PROJECT_GRANT_OWNER\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cproject_id:grant_id:user_id[:org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/projectGrantMember:ProjectGrantMember imported '123456789012345678:123456789012345678:123456789012345678:123456789012345678'\n```\n\n ", "properties": { "grantId": { "type": "string", @@ -7548,7 +7548,7 @@ } }, "zitadel:index/projectMember:ProjectMember": { - "description": "Resource representing the membership of a user on an project, defined with the given role.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.ProjectMember(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n projectId: data.zitadel_project[\"default\"].id,\n userId: data.zitadel_human_user[\"default\"].id,\n roles: [\"PROJECT_OWNER\"],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.ProjectMember(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n project_id=data[\"zitadel_project\"][\"default\"][\"id\"],\n user_id=data[\"zitadel_human_user\"][\"default\"][\"id\"],\n roles=[\"PROJECT_OWNER\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.ProjectMember(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ProjectId = data.Zitadel_project.Default.Id,\n UserId = data.Zitadel_human_user.Default.Id,\n Roles = new[]\n {\n \"PROJECT_OWNER\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewProjectMember(ctx, \"default\", \u0026zitadel.ProjectMemberArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tProjectId: pulumi.Any(data.Zitadel_project.Default.Id),\n\t\t\tUserId: pulumi.Any(data.Zitadel_human_user.Default.Id),\n\t\t\tRoles: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"PROJECT_OWNER\"),\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.zitadel.ProjectMember;\nimport com.pulumi.zitadel.ProjectMemberArgs;\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 default_ = new ProjectMember(\"default\", ProjectMemberArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .projectId(data.zitadel_project().default().id())\n .userId(data.zitadel_human_user().default().id())\n .roles(\"PROJECT_OWNER\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:ProjectMember\n properties:\n orgId: ${data.zitadel_org.default.id}\n projectId: ${data.zitadel_project.default.id}\n userId: ${data.zitadel_human_user.default.id}\n roles:\n - PROJECT_OWNER\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cproject_id:user_id[:org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/projectMember:ProjectMember imported '123456789012345678:123456789012345678:123456789012345678'\n```\n\n ", + "description": "Resource representing the membership of a user on an project, defined with the given role.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@scoretechnologies/zitadel\";\n\nconst _default = new zitadel.ProjectMember(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n projectId: data.zitadel_project[\"default\"].id,\n userId: data.zitadel_human_user[\"default\"].id,\n roles: [\"PROJECT_OWNER\"],\n});\n```\n```python\nimport pulumi\nimport scoretechnologies_zitadel as zitadel\n\ndefault = zitadel.ProjectMember(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n project_id=data[\"zitadel_project\"][\"default\"][\"id\"],\n user_id=data[\"zitadel_human_user\"][\"default\"][\"id\"],\n roles=[\"PROJECT_OWNER\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = scoretechnologies.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.ProjectMember(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ProjectId = data.Zitadel_project.Default.Id,\n UserId = data.Zitadel_human_user.Default.Id,\n Roles = new[]\n {\n \"PROJECT_OWNER\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewProjectMember(ctx, \"default\", \u0026zitadel.ProjectMemberArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tProjectId: pulumi.Any(data.Zitadel_project.Default.Id),\n\t\t\tUserId: pulumi.Any(data.Zitadel_human_user.Default.Id),\n\t\t\tRoles: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"PROJECT_OWNER\"),\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.zitadel.ProjectMember;\nimport com.pulumi.zitadel.ProjectMemberArgs;\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 default_ = new ProjectMember(\"default\", ProjectMemberArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .projectId(data.zitadel_project().default().id())\n .userId(data.zitadel_human_user().default().id())\n .roles(\"PROJECT_OWNER\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:ProjectMember\n properties:\n orgId: ${data.zitadel_org.default.id}\n projectId: ${data.zitadel_project.default.id}\n userId: ${data.zitadel_human_user.default.id}\n roles:\n - PROJECT_OWNER\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cproject_id:user_id[:org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/projectMember:ProjectMember imported '123456789012345678:123456789012345678:123456789012345678'\n```\n\n ", "properties": { "orgId": { "type": "string", @@ -7634,7 +7634,7 @@ } }, "zitadel:index/projectRole:ProjectRole": { - "description": "Resource representing the project roles, which can be given as authorizations to users.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.ProjectRole(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n projectId: data.zitadel_project[\"default\"].id,\n roleKey: \"super-user\",\n displayName: \"display_name2\",\n group: \"role_group\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.ProjectRole(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n project_id=data[\"zitadel_project\"][\"default\"][\"id\"],\n role_key=\"super-user\",\n display_name=\"display_name2\",\n group=\"role_group\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.ProjectRole(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ProjectId = data.Zitadel_project.Default.Id,\n RoleKey = \"super-user\",\n DisplayName = \"display_name2\",\n Group = \"role_group\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewProjectRole(ctx, \"default\", \u0026zitadel.ProjectRoleArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tProjectId: pulumi.Any(data.Zitadel_project.Default.Id),\n\t\t\tRoleKey: pulumi.String(\"super-user\"),\n\t\t\tDisplayName: pulumi.String(\"display_name2\"),\n\t\t\tGroup: pulumi.String(\"role_group\"),\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.zitadel.ProjectRole;\nimport com.pulumi.zitadel.ProjectRoleArgs;\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 default_ = new ProjectRole(\"default\", ProjectRoleArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .projectId(data.zitadel_project().default().id())\n .roleKey(\"super-user\")\n .displayName(\"display_name2\")\n .group(\"role_group\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:ProjectRole\n properties:\n orgId: ${data.zitadel_org.default.id}\n projectId: ${data.zitadel_project.default.id}\n roleKey: super-user\n displayName: display_name2\n group: role_group\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cproject_id:role_key[:org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/projectRole:ProjectRole imported '123456789012345678:my-role-key:123456789012345678'\n```\n\n ", + "description": "Resource representing the project roles, which can be given as authorizations to users.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@scoretechnologies/zitadel\";\n\nconst _default = new zitadel.ProjectRole(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n projectId: data.zitadel_project[\"default\"].id,\n roleKey: \"super-user\",\n displayName: \"display_name2\",\n group: \"role_group\",\n});\n```\n```python\nimport pulumi\nimport scoretechnologies_zitadel as zitadel\n\ndefault = zitadel.ProjectRole(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n project_id=data[\"zitadel_project\"][\"default\"][\"id\"],\n role_key=\"super-user\",\n display_name=\"display_name2\",\n group=\"role_group\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = scoretechnologies.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.ProjectRole(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ProjectId = data.Zitadel_project.Default.Id,\n RoleKey = \"super-user\",\n DisplayName = \"display_name2\",\n Group = \"role_group\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewProjectRole(ctx, \"default\", \u0026zitadel.ProjectRoleArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tProjectId: pulumi.Any(data.Zitadel_project.Default.Id),\n\t\t\tRoleKey: pulumi.String(\"super-user\"),\n\t\t\tDisplayName: pulumi.String(\"display_name2\"),\n\t\t\tGroup: pulumi.String(\"role_group\"),\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.zitadel.ProjectRole;\nimport com.pulumi.zitadel.ProjectRoleArgs;\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 default_ = new ProjectRole(\"default\", ProjectRoleArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .projectId(data.zitadel_project().default().id())\n .roleKey(\"super-user\")\n .displayName(\"display_name2\")\n .group(\"role_group\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:ProjectRole\n properties:\n orgId: ${data.zitadel_org.default.id}\n projectId: ${data.zitadel_project.default.id}\n roleKey: super-user\n displayName: display_name2\n group: role_group\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cproject_id:role_key[:org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/projectRole:ProjectRole imported '123456789012345678:my-role-key:123456789012345678'\n```\n\n ", "properties": { "displayName": { "type": "string", @@ -7723,7 +7723,7 @@ } }, "zitadel:index/smsProviderTwilio:SmsProviderTwilio": { - "description": "Resource representing the SMS provider Twilio configuration of an instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.SmsProviderTwilio(\"default\", {\n senderNumber: \"019920892\",\n sid: \"sid\",\n token: \"twilio_token\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.SmsProviderTwilio(\"default\",\n sender_number=\"019920892\",\n sid=\"sid\",\n token=\"twilio_token\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.SmsProviderTwilio(\"default\", new()\n {\n SenderNumber = \"019920892\",\n Sid = \"sid\",\n Token = \"twilio_token\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewSmsProviderTwilio(ctx, \"default\", \u0026zitadel.SmsProviderTwilioArgs{\n\t\t\tSenderNumber: pulumi.String(\"019920892\"),\n\t\t\tSid: pulumi.String(\"sid\"),\n\t\t\tToken: pulumi.String(\"twilio_token\"),\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.zitadel.SmsProviderTwilio;\nimport com.pulumi.zitadel.SmsProviderTwilioArgs;\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 default_ = new SmsProviderTwilio(\"default\", SmsProviderTwilioArgs.builder() \n .senderNumber(\"019920892\")\n .sid(\"sid\")\n .token(\"twilio_token\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:SmsProviderTwilio\n properties:\n senderNumber: '019920892'\n sid: sid\n token: twilio_token\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid[:token]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/smsProviderTwilio:SmsProviderTwilio imported '123456789012345678:12345678901234567890123456abcdef'\n```\n\n ", + "description": "Resource representing the SMS provider Twilio configuration of an instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@scoretechnologies/zitadel\";\n\nconst _default = new zitadel.SmsProviderTwilio(\"default\", {\n senderNumber: \"019920892\",\n sid: \"sid\",\n token: \"twilio_token\",\n});\n```\n```python\nimport pulumi\nimport scoretechnologies_zitadel as zitadel\n\ndefault = zitadel.SmsProviderTwilio(\"default\",\n sender_number=\"019920892\",\n sid=\"sid\",\n token=\"twilio_token\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = scoretechnologies.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.SmsProviderTwilio(\"default\", new()\n {\n SenderNumber = \"019920892\",\n Sid = \"sid\",\n Token = \"twilio_token\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewSmsProviderTwilio(ctx, \"default\", \u0026zitadel.SmsProviderTwilioArgs{\n\t\t\tSenderNumber: pulumi.String(\"019920892\"),\n\t\t\tSid: pulumi.String(\"sid\"),\n\t\t\tToken: pulumi.String(\"twilio_token\"),\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.zitadel.SmsProviderTwilio;\nimport com.pulumi.zitadel.SmsProviderTwilioArgs;\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 default_ = new SmsProviderTwilio(\"default\", SmsProviderTwilioArgs.builder() \n .senderNumber(\"019920892\")\n .sid(\"sid\")\n .token(\"twilio_token\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:SmsProviderTwilio\n properties:\n senderNumber: '019920892'\n sid: sid\n token: twilio_token\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cid[:token]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/smsProviderTwilio:SmsProviderTwilio imported '123456789012345678:12345678901234567890123456abcdef'\n```\n\n ", "properties": { "senderNumber": { "type": "string", @@ -7785,7 +7785,7 @@ } }, "zitadel:index/smtpConfig:SmtpConfig": { - "description": "Resource representing the SMTP configuration of an instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.SmtpConfig(\"default\", {\n host: \"localhost:25\",\n password: \"secret_password\",\n replyToAddress: \"replyto@example.com\",\n senderAddress: \"sender@example.com\",\n senderName: \"no-reply\",\n tls: true,\n user: \"user\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.SmtpConfig(\"default\",\n host=\"localhost:25\",\n password=\"secret_password\",\n reply_to_address=\"replyto@example.com\",\n sender_address=\"sender@example.com\",\n sender_name=\"no-reply\",\n tls=True,\n user=\"user\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.SmtpConfig(\"default\", new()\n {\n Host = \"localhost:25\",\n Password = \"secret_password\",\n ReplyToAddress = \"replyto@example.com\",\n SenderAddress = \"sender@example.com\",\n SenderName = \"no-reply\",\n Tls = true,\n User = \"user\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewSmtpConfig(ctx, \"default\", \u0026zitadel.SmtpConfigArgs{\n\t\t\tHost: pulumi.String(\"localhost:25\"),\n\t\t\tPassword: pulumi.String(\"secret_password\"),\n\t\t\tReplyToAddress: pulumi.String(\"replyto@example.com\"),\n\t\t\tSenderAddress: pulumi.String(\"sender@example.com\"),\n\t\t\tSenderName: pulumi.String(\"no-reply\"),\n\t\t\tTls: pulumi.Bool(true),\n\t\t\tUser: pulumi.String(\"user\"),\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.zitadel.SmtpConfig;\nimport com.pulumi.zitadel.SmtpConfigArgs;\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 default_ = new SmtpConfig(\"default\", SmtpConfigArgs.builder() \n .host(\"localhost:25\")\n .password(\"secret_password\")\n .replyToAddress(\"replyto@example.com\")\n .senderAddress(\"sender@example.com\")\n .senderName(\"no-reply\")\n .tls(true)\n .user(\"user\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:SmtpConfig\n properties:\n host: localhost:25\n password: secret_password\n replyToAddress: replyto@example.com\n senderAddress: sender@example.com\n senderName: no-reply\n tls: true\n user: user\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003c[password]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/smtpConfig:SmtpConfig imported 'p4ssw0rd'\n```\n\n ", + "description": "Resource representing the SMTP configuration of an instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@scoretechnologies/zitadel\";\n\nconst _default = new zitadel.SmtpConfig(\"default\", {\n host: \"localhost:25\",\n password: \"secret_password\",\n replyToAddress: \"replyto@example.com\",\n senderAddress: \"sender@example.com\",\n senderName: \"no-reply\",\n tls: true,\n user: \"user\",\n});\n```\n```python\nimport pulumi\nimport scoretechnologies_zitadel as zitadel\n\ndefault = zitadel.SmtpConfig(\"default\",\n host=\"localhost:25\",\n password=\"secret_password\",\n reply_to_address=\"replyto@example.com\",\n sender_address=\"sender@example.com\",\n sender_name=\"no-reply\",\n tls=True,\n user=\"user\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = scoretechnologies.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.SmtpConfig(\"default\", new()\n {\n Host = \"localhost:25\",\n Password = \"secret_password\",\n ReplyToAddress = \"replyto@example.com\",\n SenderAddress = \"sender@example.com\",\n SenderName = \"no-reply\",\n Tls = true,\n User = \"user\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewSmtpConfig(ctx, \"default\", \u0026zitadel.SmtpConfigArgs{\n\t\t\tHost: pulumi.String(\"localhost:25\"),\n\t\t\tPassword: pulumi.String(\"secret_password\"),\n\t\t\tReplyToAddress: pulumi.String(\"replyto@example.com\"),\n\t\t\tSenderAddress: pulumi.String(\"sender@example.com\"),\n\t\t\tSenderName: pulumi.String(\"no-reply\"),\n\t\t\tTls: pulumi.Bool(true),\n\t\t\tUser: pulumi.String(\"user\"),\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.zitadel.SmtpConfig;\nimport com.pulumi.zitadel.SmtpConfigArgs;\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 default_ = new SmtpConfig(\"default\", SmtpConfigArgs.builder() \n .host(\"localhost:25\")\n .password(\"secret_password\")\n .replyToAddress(\"replyto@example.com\")\n .senderAddress(\"sender@example.com\")\n .senderName(\"no-reply\")\n .tls(true)\n .user(\"user\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:SmtpConfig\n properties:\n host: localhost:25\n password: secret_password\n replyToAddress: replyto@example.com\n senderAddress: sender@example.com\n senderName: no-reply\n tls: true\n user: user\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003c[password]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/smtpConfig:SmtpConfig imported 'p4ssw0rd'\n```\n\n ", "properties": { "host": { "type": "string", @@ -7895,7 +7895,7 @@ } }, "zitadel:index/triggerActions:TriggerActions": { - "description": "Resource representing triggers, when actions get started\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.TriggerActions(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n flowType: \"FLOW_TYPE_CUSTOMISE_TOKEN\",\n triggerType: \"TRIGGER_TYPE_PRE_ACCESS_TOKEN_CREATION\",\n actionIds: [data.zitadel_action[\"default\"].id],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.TriggerActions(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n flow_type=\"FLOW_TYPE_CUSTOMISE_TOKEN\",\n trigger_type=\"TRIGGER_TYPE_PRE_ACCESS_TOKEN_CREATION\",\n action_ids=[data[\"zitadel_action\"][\"default\"][\"id\"]])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.TriggerActions(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n FlowType = \"FLOW_TYPE_CUSTOMISE_TOKEN\",\n TriggerType = \"TRIGGER_TYPE_PRE_ACCESS_TOKEN_CREATION\",\n ActionIds = new[]\n {\n data.Zitadel_action.Default.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewTriggerActions(ctx, \"default\", \u0026zitadel.TriggerActionsArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tFlowType: pulumi.String(\"FLOW_TYPE_CUSTOMISE_TOKEN\"),\n\t\t\tTriggerType: pulumi.String(\"TRIGGER_TYPE_PRE_ACCESS_TOKEN_CREATION\"),\n\t\t\tActionIds: pulumi.StringArray{\n\t\t\t\tdata.Zitadel_action.Default.Id,\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.zitadel.TriggerActions;\nimport com.pulumi.zitadel.TriggerActionsArgs;\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 default_ = new TriggerActions(\"default\", TriggerActionsArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .flowType(\"FLOW_TYPE_CUSTOMISE_TOKEN\")\n .triggerType(\"TRIGGER_TYPE_PRE_ACCESS_TOKEN_CREATION\")\n .actionIds(data.zitadel_action().default().id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:TriggerActions\n properties:\n orgId: ${data.zitadel_org.default.id}\n flowType: FLOW_TYPE_CUSTOMISE_TOKEN\n triggerType: TRIGGER_TYPE_PRE_ACCESS_TOKEN_CREATION\n actionIds:\n - ${data.zitadel_action.default.id}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cflow_type:trigger_type[:org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/triggerActions:TriggerActions imported 'FLOW_TYPE_EXTERNAL_AUTHENTICATION:TRIGGER_TYPE_POST_CREATION:123456789012345678'\n```\n\n ", + "description": "Resource representing triggers, when actions get started\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@scoretechnologies/zitadel\";\n\nconst _default = new zitadel.TriggerActions(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n flowType: \"FLOW_TYPE_CUSTOMISE_TOKEN\",\n triggerType: \"TRIGGER_TYPE_PRE_ACCESS_TOKEN_CREATION\",\n actionIds: [data.zitadel_action[\"default\"].id],\n});\n```\n```python\nimport pulumi\nimport scoretechnologies_zitadel as zitadel\n\ndefault = zitadel.TriggerActions(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n flow_type=\"FLOW_TYPE_CUSTOMISE_TOKEN\",\n trigger_type=\"TRIGGER_TYPE_PRE_ACCESS_TOKEN_CREATION\",\n action_ids=[data[\"zitadel_action\"][\"default\"][\"id\"]])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = scoretechnologies.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.TriggerActions(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n FlowType = \"FLOW_TYPE_CUSTOMISE_TOKEN\",\n TriggerType = \"TRIGGER_TYPE_PRE_ACCESS_TOKEN_CREATION\",\n ActionIds = new[]\n {\n data.Zitadel_action.Default.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewTriggerActions(ctx, \"default\", \u0026zitadel.TriggerActionsArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tFlowType: pulumi.String(\"FLOW_TYPE_CUSTOMISE_TOKEN\"),\n\t\t\tTriggerType: pulumi.String(\"TRIGGER_TYPE_PRE_ACCESS_TOKEN_CREATION\"),\n\t\t\tActionIds: pulumi.StringArray{\n\t\t\t\tdata.Zitadel_action.Default.Id,\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.zitadel.TriggerActions;\nimport com.pulumi.zitadel.TriggerActionsArgs;\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 default_ = new TriggerActions(\"default\", TriggerActionsArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .flowType(\"FLOW_TYPE_CUSTOMISE_TOKEN\")\n .triggerType(\"TRIGGER_TYPE_PRE_ACCESS_TOKEN_CREATION\")\n .actionIds(data.zitadel_action().default().id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:TriggerActions\n properties:\n orgId: ${data.zitadel_org.default.id}\n flowType: FLOW_TYPE_CUSTOMISE_TOKEN\n triggerType: TRIGGER_TYPE_PRE_ACCESS_TOKEN_CREATION\n actionIds:\n - ${data.zitadel_action.default.id}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cflow_type:trigger_type[:org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/triggerActions:TriggerActions imported 'FLOW_TYPE_EXTERNAL_AUTHENTICATION:TRIGGER_TYPE_POST_CREATION:123456789012345678'\n```\n\n ", "properties": { "actionIds": { "type": "array", @@ -7981,7 +7981,7 @@ } }, "zitadel:index/userGrant:UserGrant": { - "description": "Resource representing the authorization given to a user directly, including the given roles.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.UserGrant(\"default\", {\n projectId: data.zitadel_project[\"default\"].id,\n orgId: data.zitadel_org[\"default\"].id,\n roleKeys: [\"super-user\"],\n userId: data.zitadel_human_user[\"default\"].id,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.UserGrant(\"default\",\n project_id=data[\"zitadel_project\"][\"default\"][\"id\"],\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n role_keys=[\"super-user\"],\n user_id=data[\"zitadel_human_user\"][\"default\"][\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.UserGrant(\"default\", new()\n {\n ProjectId = data.Zitadel_project.Default.Id,\n OrgId = data.Zitadel_org.Default.Id,\n RoleKeys = new[]\n {\n \"super-user\",\n },\n UserId = data.Zitadel_human_user.Default.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewUserGrant(ctx, \"default\", \u0026zitadel.UserGrantArgs{\n\t\t\tProjectId: pulumi.Any(data.Zitadel_project.Default.Id),\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tRoleKeys: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"super-user\"),\n\t\t\t},\n\t\t\tUserId: pulumi.Any(data.Zitadel_human_user.Default.Id),\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.zitadel.UserGrant;\nimport com.pulumi.zitadel.UserGrantArgs;\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 default_ = new UserGrant(\"default\", UserGrantArgs.builder() \n .projectId(data.zitadel_project().default().id())\n .orgId(data.zitadel_org().default().id())\n .roleKeys(\"super-user\")\n .userId(data.zitadel_human_user().default().id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:UserGrant\n properties:\n projectId: ${data.zitadel_project.default.id}\n orgId: ${data.zitadel_org.default.id}\n roleKeys:\n - super-user\n userId: ${data.zitadel_human_user.default.id}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cflow_type:trigger_type[:org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/userGrant:UserGrant imported '123456789012345678:123456789012345678:123456789012345678'\n```\n\n ", + "description": "Resource representing the authorization given to a user directly, including the given roles.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@scoretechnologies/zitadel\";\n\nconst _default = new zitadel.UserGrant(\"default\", {\n projectId: data.zitadel_project[\"default\"].id,\n orgId: data.zitadel_org[\"default\"].id,\n roleKeys: [\"super-user\"],\n userId: data.zitadel_human_user[\"default\"].id,\n});\n```\n```python\nimport pulumi\nimport scoretechnologies_zitadel as zitadel\n\ndefault = zitadel.UserGrant(\"default\",\n project_id=data[\"zitadel_project\"][\"default\"][\"id\"],\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n role_keys=[\"super-user\"],\n user_id=data[\"zitadel_human_user\"][\"default\"][\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = scoretechnologies.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.UserGrant(\"default\", new()\n {\n ProjectId = data.Zitadel_project.Default.Id,\n OrgId = data.Zitadel_org.Default.Id,\n RoleKeys = new[]\n {\n \"super-user\",\n },\n UserId = data.Zitadel_human_user.Default.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewUserGrant(ctx, \"default\", \u0026zitadel.UserGrantArgs{\n\t\t\tProjectId: pulumi.Any(data.Zitadel_project.Default.Id),\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tRoleKeys: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"super-user\"),\n\t\t\t},\n\t\t\tUserId: pulumi.Any(data.Zitadel_human_user.Default.Id),\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.zitadel.UserGrant;\nimport com.pulumi.zitadel.UserGrantArgs;\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 default_ = new UserGrant(\"default\", UserGrantArgs.builder() \n .projectId(data.zitadel_project().default().id())\n .orgId(data.zitadel_org().default().id())\n .roleKeys(\"super-user\")\n .userId(data.zitadel_human_user().default().id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:UserGrant\n properties:\n projectId: ${data.zitadel_project.default.id}\n orgId: ${data.zitadel_org.default.id}\n roleKeys:\n - super-user\n userId: ${data.zitadel_human_user.default.id}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cflow_type:trigger_type[:org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/userGrant:UserGrant imported '123456789012345678:123456789012345678:123456789012345678'\n```\n\n ", "properties": { "orgId": { "type": "string", @@ -8077,7 +8077,7 @@ } }, "zitadel:index/userMetadata:UserMetadata": { - "description": "{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.UserMetadata(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n userId: data.zitadel_human_user[\"default\"].id,\n key: \"a_key\",\n value: \"a_value\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.UserMetadata(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n user_id=data[\"zitadel_human_user\"][\"default\"][\"id\"],\n key=\"a_key\",\n value=\"a_value\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.UserMetadata(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n UserId = data.Zitadel_human_user.Default.Id,\n Key = \"a_key\",\n Value = \"a_value\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewUserMetadata(ctx, \"default\", \u0026zitadel.UserMetadataArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tUserId: pulumi.Any(data.Zitadel_human_user.Default.Id),\n\t\t\tKey: pulumi.String(\"a_key\"),\n\t\t\tValue: pulumi.String(\"a_value\"),\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.zitadel.UserMetadata;\nimport com.pulumi.zitadel.UserMetadataArgs;\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 default_ = new UserMetadata(\"default\", UserMetadataArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .userId(data.zitadel_human_user().default().id())\n .key(\"a_key\")\n .value(\"a_value\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:UserMetadata\n properties:\n orgId: ${data.zitadel_org.default.id}\n userId: ${data.zitadel_human_user.default.id}\n key: a_key\n value: a_value\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cuser_id:key[:org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/userMetadata:UserMetadata imported '123456789012345678:a_key:123456789012345678'\n```\n\n ", + "description": "{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@scoretechnologies/zitadel\";\n\nconst _default = new zitadel.UserMetadata(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n userId: data.zitadel_human_user[\"default\"].id,\n key: \"a_key\",\n value: \"a_value\",\n});\n```\n```python\nimport pulumi\nimport scoretechnologies_zitadel as zitadel\n\ndefault = zitadel.UserMetadata(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n user_id=data[\"zitadel_human_user\"][\"default\"][\"id\"],\n key=\"a_key\",\n value=\"a_value\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = scoretechnologies.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.UserMetadata(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n UserId = data.Zitadel_human_user.Default.Id,\n Key = \"a_key\",\n Value = \"a_value\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewUserMetadata(ctx, \"default\", \u0026zitadel.UserMetadataArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tUserId: pulumi.Any(data.Zitadel_human_user.Default.Id),\n\t\t\tKey: pulumi.String(\"a_key\"),\n\t\t\tValue: pulumi.String(\"a_value\"),\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.zitadel.UserMetadata;\nimport com.pulumi.zitadel.UserMetadataArgs;\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 default_ = new UserMetadata(\"default\", UserMetadataArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .userId(data.zitadel_human_user().default().id())\n .key(\"a_key\")\n .value(\"a_value\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:UserMetadata\n properties:\n orgId: ${data.zitadel_org.default.id}\n userId: ${data.zitadel_human_user.default.id}\n key: a_key\n value: a_value\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nbash The resource can be imported using the ID format `\u003cuser_id:key[:org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/userMetadata:UserMetadata imported '123456789012345678:a_key:123456789012345678'\n```\n\n ", "properties": { "key": { "type": "string", @@ -8156,7 +8156,7 @@ }, "functions": { "zitadel:index/getAction:getAction": { - "description": "Datasource representing an action belonging to an organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getAction({\n orgId: data.zitadel_org[\"default\"].id,\n actionId: \"123456789012345678\",\n});\nexport const action = _default;\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_action(org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n action_id=\"123456789012345678\")\npulumi.export(\"action\", default)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetAction.Invoke(new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ActionId = \"123456789012345678\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"action\"] = @default,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := zitadel.LookupAction(ctx, \u0026zitadel.LookupActionArgs{\n\t\t\tOrgId: pulumi.StringRef(data.Zitadel_org.Default.Id),\n\t\t\tActionId: \"123456789012345678\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"action\", _default)\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.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetActionArgs;\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 default = ZitadelFunctions.getAction(GetActionArgs.builder()\n .orgId(data.zitadel_org().default().id())\n .actionId(\"123456789012345678\")\n .build());\n\n ctx.export(\"action\", default_);\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getAction\n Arguments:\n orgId: ${data.zitadel_org.default.id}\n actionId: '123456789012345678'\noutputs:\n action: ${default}\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Datasource representing an action belonging to an organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getAction({\n orgId: data.zitadel_org[\"default\"].id,\n actionId: \"123456789012345678\",\n});\nexport const action = _default;\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_action(org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n action_id=\"123456789012345678\")\npulumi.export(\"action\", default)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetAction.Invoke(new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ActionId = \"123456789012345678\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"action\"] = @default,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := zitadel.LookupAction(ctx, \u0026zitadel.LookupActionArgs{\n\t\t\tOrgId: pulumi.StringRef(data.Zitadel_org.Default.Id),\n\t\t\tActionId: \"123456789012345678\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"action\", _default)\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.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetActionArgs;\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 default = ZitadelFunctions.getAction(GetActionArgs.builder()\n .orgId(data.zitadel_org().default().id())\n .actionId(\"123456789012345678\")\n .build());\n\n ctx.export(\"action\", default_);\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getAction\n Arguments:\n orgId: ${data.zitadel_org.default.id}\n actionId: '123456789012345678'\noutputs:\n action: ${default}\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getAction.\n", "properties": { @@ -8222,7 +8222,7 @@ } }, "zitadel:index/getApplicationApi:getApplicationApi": { - "description": "Datasource representing an API application belonging to a project, with all configuration possibilities.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getApplicationApi({\n orgId: data.zitadel_org[\"default\"].id,\n projectId: data.zitadel_project[\"default\"].id,\n appId: \"123456789012345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_application_api(org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n project_id=data[\"zitadel_project\"][\"default\"][\"id\"],\n app_id=\"123456789012345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetApplicationApi.Invoke(new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ProjectId = data.Zitadel_project.Default.Id,\n AppId = \"123456789012345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.LookupApplicationApi(ctx, \u0026zitadel.LookupApplicationApiArgs{\n\t\t\tOrgId: pulumi.StringRef(data.Zitadel_org.Default.Id),\n\t\t\tProjectId: data.Zitadel_project.Default.Id,\n\t\t\tAppId: \"123456789012345678\",\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.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetApplicationApiArgs;\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 default = ZitadelFunctions.getApplicationApi(GetApplicationApiArgs.builder()\n .orgId(data.zitadel_org().default().id())\n .projectId(data.zitadel_project().default().id())\n .appId(\"123456789012345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getApplicationApi\n Arguments:\n orgId: ${data.zitadel_org.default.id}\n projectId: ${data.zitadel_project.default.id}\n appId: '123456789012345678'\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Datasource representing an API application belonging to a project, with all configuration possibilities.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getApplicationApi({\n orgId: data.zitadel_org[\"default\"].id,\n projectId: data.zitadel_project[\"default\"].id,\n appId: \"123456789012345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_application_api(org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n project_id=data[\"zitadel_project\"][\"default\"][\"id\"],\n app_id=\"123456789012345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetApplicationApi.Invoke(new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ProjectId = data.Zitadel_project.Default.Id,\n AppId = \"123456789012345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.LookupApplicationApi(ctx, \u0026zitadel.LookupApplicationApiArgs{\n\t\t\tOrgId: pulumi.StringRef(data.Zitadel_org.Default.Id),\n\t\t\tProjectId: data.Zitadel_project.Default.Id,\n\t\t\tAppId: \"123456789012345678\",\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.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetApplicationApiArgs;\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 default = ZitadelFunctions.getApplicationApi(GetApplicationApiArgs.builder()\n .orgId(data.zitadel_org().default().id())\n .projectId(data.zitadel_project().default().id())\n .appId(\"123456789012345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getApplicationApi\n Arguments:\n orgId: ${data.zitadel_org.default.id}\n projectId: ${data.zitadel_project.default.id}\n appId: '123456789012345678'\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getApplicationApi.\n", "properties": { @@ -8357,7 +8357,7 @@ } }, "zitadel:index/getApplicationOidc:getApplicationOidc": { - "description": "Datasource representing an OIDC application belonging to a project, with all configuration possibilities.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getApplicationOidc({\n orgId: data.zitadel_org[\"default\"].id,\n projectId: data.zitadel_project[\"default\"].id,\n appId: \"123456789012345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_application_oidc(org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n project_id=data[\"zitadel_project\"][\"default\"][\"id\"],\n app_id=\"123456789012345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetApplicationOidc.Invoke(new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ProjectId = data.Zitadel_project.Default.Id,\n AppId = \"123456789012345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.LookupApplicationOidc(ctx, \u0026zitadel.LookupApplicationOidcArgs{\n\t\t\tOrgId: pulumi.StringRef(data.Zitadel_org.Default.Id),\n\t\t\tProjectId: data.Zitadel_project.Default.Id,\n\t\t\tAppId: \"123456789012345678\",\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.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetApplicationOidcArgs;\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 default = ZitadelFunctions.getApplicationOidc(GetApplicationOidcArgs.builder()\n .orgId(data.zitadel_org().default().id())\n .projectId(data.zitadel_project().default().id())\n .appId(\"123456789012345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getApplicationOidc\n Arguments:\n orgId: ${data.zitadel_org.default.id}\n projectId: ${data.zitadel_project.default.id}\n appId: '123456789012345678'\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Datasource representing an OIDC application belonging to a project, with all configuration possibilities.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getApplicationOidc({\n orgId: data.zitadel_org[\"default\"].id,\n projectId: data.zitadel_project[\"default\"].id,\n appId: \"123456789012345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_application_oidc(org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n project_id=data[\"zitadel_project\"][\"default\"][\"id\"],\n app_id=\"123456789012345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetApplicationOidc.Invoke(new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ProjectId = data.Zitadel_project.Default.Id,\n AppId = \"123456789012345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.LookupApplicationOidc(ctx, \u0026zitadel.LookupApplicationOidcArgs{\n\t\t\tOrgId: pulumi.StringRef(data.Zitadel_org.Default.Id),\n\t\t\tProjectId: data.Zitadel_project.Default.Id,\n\t\t\tAppId: \"123456789012345678\",\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.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetApplicationOidcArgs;\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 default = ZitadelFunctions.getApplicationOidc(GetApplicationOidcArgs.builder()\n .orgId(data.zitadel_org().default().id())\n .projectId(data.zitadel_project().default().id())\n .appId(\"123456789012345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getApplicationOidc\n Arguments:\n orgId: ${data.zitadel_org.default.id}\n projectId: ${data.zitadel_project.default.id}\n appId: '123456789012345678'\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getApplicationOidc.\n", "properties": { @@ -8572,7 +8572,7 @@ } }, "zitadel:index/getApplicationSaml:getApplicationSaml": { - "description": "Datasource representing a SAML application belonging to a project, with all configuration possibilities.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getApplicationSaml({\n orgId: data.zitadel_org[\"default\"].id,\n projectId: data.zitadel_project[\"default\"].id,\n appId: \"123456789012345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_application_saml(org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n project_id=data[\"zitadel_project\"][\"default\"][\"id\"],\n app_id=\"123456789012345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetApplicationSaml.Invoke(new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ProjectId = data.Zitadel_project.Default.Id,\n AppId = \"123456789012345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.LookupApplicationSaml(ctx, \u0026zitadel.LookupApplicationSamlArgs{\n\t\t\tOrgId: pulumi.StringRef(data.Zitadel_org.Default.Id),\n\t\t\tProjectId: data.Zitadel_project.Default.Id,\n\t\t\tAppId: \"123456789012345678\",\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.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetApplicationSamlArgs;\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 default = ZitadelFunctions.getApplicationSaml(GetApplicationSamlArgs.builder()\n .orgId(data.zitadel_org().default().id())\n .projectId(data.zitadel_project().default().id())\n .appId(\"123456789012345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getApplicationSaml\n Arguments:\n orgId: ${data.zitadel_org.default.id}\n projectId: ${data.zitadel_project.default.id}\n appId: '123456789012345678'\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Datasource representing a SAML application belonging to a project, with all configuration possibilities.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getApplicationSaml({\n orgId: data.zitadel_org[\"default\"].id,\n projectId: data.zitadel_project[\"default\"].id,\n appId: \"123456789012345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_application_saml(org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n project_id=data[\"zitadel_project\"][\"default\"][\"id\"],\n app_id=\"123456789012345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetApplicationSaml.Invoke(new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ProjectId = data.Zitadel_project.Default.Id,\n AppId = \"123456789012345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.LookupApplicationSaml(ctx, \u0026zitadel.LookupApplicationSamlArgs{\n\t\t\tOrgId: pulumi.StringRef(data.Zitadel_org.Default.Id),\n\t\t\tProjectId: data.Zitadel_project.Default.Id,\n\t\t\tAppId: \"123456789012345678\",\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.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetApplicationSamlArgs;\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 default = ZitadelFunctions.getApplicationSaml(GetApplicationSamlArgs.builder()\n .orgId(data.zitadel_org().default().id())\n .projectId(data.zitadel_project().default().id())\n .appId(\"123456789012345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getApplicationSaml\n Arguments:\n orgId: ${data.zitadel_org.default.id}\n projectId: ${data.zitadel_project.default.id}\n appId: '123456789012345678'\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getApplicationSaml.\n", "properties": { @@ -8702,7 +8702,7 @@ } }, "zitadel:index/getDefaultOidcSettings:getDefaultOidcSettings": { - "description": "Datasource representing the default oidc settings.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getDefaultOidcSettings({});\nexport const oidcSettings = _default;\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_default_oidc_settings()\npulumi.export(\"oidcSettings\", default)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetDefaultOidcSettings.Invoke();\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"oidcSettings\"] = @default,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := zitadel.LookupDefaultOidcSettings(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"oidcSettings\", _default)\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.zitadel.ZitadelFunctions;\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 default = ZitadelFunctions.getDefaultOidcSettings();\n\n ctx.export(\"oidcSettings\", default_);\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getDefaultOidcSettings\n Arguments: {}\noutputs:\n oidcSettings: ${default}\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Datasource representing the default oidc settings.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getDefaultOidcSettings({});\nexport const oidcSettings = _default;\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_default_oidc_settings()\npulumi.export(\"oidcSettings\", default)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetDefaultOidcSettings.Invoke();\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"oidcSettings\"] = @default,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := zitadel.LookupDefaultOidcSettings(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"oidcSettings\", _default)\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.zitadel.ZitadelFunctions;\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 default = ZitadelFunctions.getDefaultOidcSettings();\n\n ctx.export(\"oidcSettings\", default_);\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getDefaultOidcSettings\n Arguments: {}\noutputs:\n oidcSettings: ${default}\n```\n{{% /example %}}\n{{% /examples %}}", "outputs": { "description": "A collection of values returned by getDefaultOidcSettings.\n", "properties": { @@ -8738,7 +8738,7 @@ } }, "zitadel:index/getHumanUser:getHumanUser": { - "description": "Datasource representing a human user situated under an organization, which then can be authorized through memberships or direct grants on other resources.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getHumanUser({\n orgId: data.zitadel_org[\"default\"].id,\n userId: \"123456789012345678\",\n});\nexport const humanUser = _default;\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_human_user(org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n user_id=\"123456789012345678\")\npulumi.export(\"humanUser\", default)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetHumanUser.Invoke(new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n UserId = \"123456789012345678\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"humanUser\"] = @default,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := zitadel.LookupHumanUser(ctx, \u0026zitadel.LookupHumanUserArgs{\n\t\t\tOrgId: data.Zitadel_org.Default.Id,\n\t\t\tUserId: \"123456789012345678\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"humanUser\", _default)\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.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetHumanUserArgs;\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 default = ZitadelFunctions.getHumanUser(GetHumanUserArgs.builder()\n .orgId(data.zitadel_org().default().id())\n .userId(\"123456789012345678\")\n .build());\n\n ctx.export(\"humanUser\", default_);\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getHumanUser\n Arguments:\n orgId: ${data.zitadel_org.default.id}\n userId: '123456789012345678'\noutputs:\n humanUser: ${default}\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Datasource representing a human user situated under an organization, which then can be authorized through memberships or direct grants on other resources.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getHumanUser({\n orgId: data.zitadel_org[\"default\"].id,\n userId: \"123456789012345678\",\n});\nexport const humanUser = _default;\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_human_user(org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n user_id=\"123456789012345678\")\npulumi.export(\"humanUser\", default)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetHumanUser.Invoke(new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n UserId = \"123456789012345678\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"humanUser\"] = @default,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := zitadel.LookupHumanUser(ctx, \u0026zitadel.LookupHumanUserArgs{\n\t\t\tOrgId: data.Zitadel_org.Default.Id,\n\t\t\tUserId: \"123456789012345678\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"humanUser\", _default)\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.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetHumanUserArgs;\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 default = ZitadelFunctions.getHumanUser(GetHumanUserArgs.builder()\n .orgId(data.zitadel_org().default().id())\n .userId(\"123456789012345678\")\n .build());\n\n ctx.export(\"humanUser\", default_);\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getHumanUser\n Arguments:\n orgId: ${data.zitadel_org.default.id}\n userId: '123456789012345678'\noutputs:\n humanUser: ${default}\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getHumanUser.\n", "properties": { @@ -8855,7 +8855,7 @@ } }, "zitadel:index/getIdpAzureAd:getIdpAzureAd": { - "description": "Datasource representing an Azure AD IDP on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getIdpAzureAd({\n id: \"123456789012345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_idp_azure_ad(id=\"123456789012345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetIdpAzureAd.Invoke(new()\n {\n Id = \"123456789012345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.LookupIdpAzureAd(ctx, \u0026zitadel.LookupIdpAzureAdArgs{\n\t\t\tId: \"123456789012345678\",\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.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetIdpAzureAdArgs;\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 default = ZitadelFunctions.getIdpAzureAd(GetIdpAzureAdArgs.builder()\n .id(\"123456789012345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getIdpAzureAd\n Arguments:\n id: '123456789012345678'\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Datasource representing an Azure AD IDP on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getIdpAzureAd({\n id: \"123456789012345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_idp_azure_ad(id=\"123456789012345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetIdpAzureAd.Invoke(new()\n {\n Id = \"123456789012345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.LookupIdpAzureAd(ctx, \u0026zitadel.LookupIdpAzureAdArgs{\n\t\t\tId: \"123456789012345678\",\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.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetIdpAzureAdArgs;\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 default = ZitadelFunctions.getIdpAzureAd(GetIdpAzureAdArgs.builder()\n .id(\"123456789012345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getIdpAzureAd\n Arguments:\n id: '123456789012345678'\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getIdpAzureAd.\n", "properties": { @@ -8943,7 +8943,7 @@ } }, "zitadel:index/getIdpGithub:getIdpGithub": { - "description": "Datasource representing a GitHub IDP on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getIdpGithub({\n id: \"123456789012345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_idp_github(id=\"123456789012345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetIdpGithub.Invoke(new()\n {\n Id = \"123456789012345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.LookupIdpGithub(ctx, \u0026zitadel.LookupIdpGithubArgs{\n\t\t\tId: \"123456789012345678\",\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.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetIdpGithubArgs;\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 default = ZitadelFunctions.getIdpGithub(GetIdpGithubArgs.builder()\n .id(\"123456789012345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getIdpGithub\n Arguments:\n id: '123456789012345678'\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Datasource representing a GitHub IDP on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getIdpGithub({\n id: \"123456789012345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_idp_github(id=\"123456789012345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetIdpGithub.Invoke(new()\n {\n Id = \"123456789012345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.LookupIdpGithub(ctx, \u0026zitadel.LookupIdpGithubArgs{\n\t\t\tId: \"123456789012345678\",\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.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetIdpGithubArgs;\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 default = ZitadelFunctions.getIdpGithub(GetIdpGithubArgs.builder()\n .id(\"123456789012345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getIdpGithub\n Arguments:\n id: '123456789012345678'\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getIdpGithub.\n", "properties": { @@ -9016,7 +9016,7 @@ } }, "zitadel:index/getIdpGithubEs:getIdpGithubEs": { - "description": "Datasource representing a GitHub Enterprise IDP on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getIdpGithubEs({\n id: \"123456789012345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_idp_github_es(id=\"123456789012345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetIdpGithubEs.Invoke(new()\n {\n Id = \"123456789012345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.LookupIdpGithubEs(ctx, \u0026zitadel.LookupIdpGithubEsArgs{\n\t\t\tId: \"123456789012345678\",\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.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetIdpGithubEsArgs;\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 default = ZitadelFunctions.getIdpGithubEs(GetIdpGithubEsArgs.builder()\n .id(\"123456789012345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getIdpGithubEs\n Arguments:\n id: '123456789012345678'\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Datasource representing a GitHub Enterprise IDP on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getIdpGithubEs({\n id: \"123456789012345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_idp_github_es(id=\"123456789012345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetIdpGithubEs.Invoke(new()\n {\n Id = \"123456789012345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.LookupIdpGithubEs(ctx, \u0026zitadel.LookupIdpGithubEsArgs{\n\t\t\tId: \"123456789012345678\",\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.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetIdpGithubEsArgs;\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 default = ZitadelFunctions.getIdpGithubEs(GetIdpGithubEsArgs.builder()\n .id(\"123456789012345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getIdpGithubEs\n Arguments:\n id: '123456789012345678'\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getIdpGithubEs.\n", "properties": { @@ -9104,7 +9104,7 @@ } }, "zitadel:index/getIdpGitlab:getIdpGitlab": { - "description": "Datasource representing a GitLab IDP on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getIdpGitlab({\n id: \"123456789012345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_idp_gitlab(id=\"123456789012345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetIdpGitlab.Invoke(new()\n {\n Id = \"123456789012345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.LookupIdpGitlab(ctx, \u0026zitadel.LookupIdpGitlabArgs{\n\t\t\tId: \"123456789012345678\",\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.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetIdpGitlabArgs;\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 default = ZitadelFunctions.getIdpGitlab(GetIdpGitlabArgs.builder()\n .id(\"123456789012345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getIdpGitlab\n Arguments:\n id: '123456789012345678'\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Datasource representing a GitLab IDP on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getIdpGitlab({\n id: \"123456789012345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_idp_gitlab(id=\"123456789012345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetIdpGitlab.Invoke(new()\n {\n Id = \"123456789012345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.LookupIdpGitlab(ctx, \u0026zitadel.LookupIdpGitlabArgs{\n\t\t\tId: \"123456789012345678\",\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.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetIdpGitlabArgs;\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 default = ZitadelFunctions.getIdpGitlab(GetIdpGitlabArgs.builder()\n .id(\"123456789012345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getIdpGitlab\n Arguments:\n id: '123456789012345678'\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getIdpGitlab.\n", "properties": { @@ -9177,7 +9177,7 @@ } }, "zitadel:index/getIdpGitlabSelfHosted:getIdpGitlabSelfHosted": { - "description": "Datasource representing a GitLab Self Hosted IDP on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getIdpGitlabSelfHosted({\n id: \"123456789012345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_idp_gitlab_self_hosted(id=\"123456789012345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetIdpGitlabSelfHosted.Invoke(new()\n {\n Id = \"123456789012345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.LookupIdpGitlabSelfHosted(ctx, \u0026zitadel.LookupIdpGitlabSelfHostedArgs{\n\t\t\tId: \"123456789012345678\",\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.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetIdpGitlabSelfHostedArgs;\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 default = ZitadelFunctions.getIdpGitlabSelfHosted(GetIdpGitlabSelfHostedArgs.builder()\n .id(\"123456789012345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getIdpGitlabSelfHosted\n Arguments:\n id: '123456789012345678'\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Datasource representing a GitLab Self Hosted IDP on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getIdpGitlabSelfHosted({\n id: \"123456789012345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_idp_gitlab_self_hosted(id=\"123456789012345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetIdpGitlabSelfHosted.Invoke(new()\n {\n Id = \"123456789012345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.LookupIdpGitlabSelfHosted(ctx, \u0026zitadel.LookupIdpGitlabSelfHostedArgs{\n\t\t\tId: \"123456789012345678\",\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.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetIdpGitlabSelfHostedArgs;\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 default = ZitadelFunctions.getIdpGitlabSelfHosted(GetIdpGitlabSelfHostedArgs.builder()\n .id(\"123456789012345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getIdpGitlabSelfHosted\n Arguments:\n id: '123456789012345678'\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getIdpGitlabSelfHosted.\n", "properties": { @@ -9255,7 +9255,7 @@ } }, "zitadel:index/getIdpGoogle:getIdpGoogle": { - "description": "Datasource representing a Google IDP on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getIdpGoogle({\n id: \"123456789012345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_idp_google(id=\"123456789012345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetIdpGoogle.Invoke(new()\n {\n Id = \"123456789012345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.LookupIdpGoogle(ctx, \u0026zitadel.LookupIdpGoogleArgs{\n\t\t\tId: \"123456789012345678\",\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.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetIdpGoogleArgs;\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 default = ZitadelFunctions.getIdpGoogle(GetIdpGoogleArgs.builder()\n .id(\"123456789012345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getIdpGoogle\n Arguments:\n id: '123456789012345678'\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Datasource representing a Google IDP on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getIdpGoogle({\n id: \"123456789012345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_idp_google(id=\"123456789012345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetIdpGoogle.Invoke(new()\n {\n Id = \"123456789012345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.LookupIdpGoogle(ctx, \u0026zitadel.LookupIdpGoogleArgs{\n\t\t\tId: \"123456789012345678\",\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.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetIdpGoogleArgs;\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 default = ZitadelFunctions.getIdpGoogle(GetIdpGoogleArgs.builder()\n .id(\"123456789012345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getIdpGoogle\n Arguments:\n id: '123456789012345678'\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getIdpGoogle.\n", "properties": { @@ -9328,7 +9328,7 @@ } }, "zitadel:index/getIdpLdap:getIdpLdap": { - "description": "Datasource representing an LDAP IDP on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getIdpLdap({\n id: \"123456789012345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_idp_ldap(id=\"123456789012345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetIdpLdap.Invoke(new()\n {\n Id = \"123456789012345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.LookupIdpLdap(ctx, \u0026zitadel.LookupIdpLdapArgs{\n\t\t\tId: \"123456789012345678\",\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.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetIdpLdapArgs;\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 default = ZitadelFunctions.getIdpLdap(GetIdpLdapArgs.builder()\n .id(\"123456789012345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getIdpLdap\n Arguments:\n id: '123456789012345678'\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Datasource representing an LDAP IDP on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getIdpLdap({\n id: \"123456789012345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_idp_ldap(id=\"123456789012345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetIdpLdap.Invoke(new()\n {\n Id = \"123456789012345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.LookupIdpLdap(ctx, \u0026zitadel.LookupIdpLdapArgs{\n\t\t\tId: \"123456789012345678\",\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.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetIdpLdapArgs;\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 default = ZitadelFunctions.getIdpLdap(GetIdpLdapArgs.builder()\n .id(\"123456789012345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getIdpLdap\n Arguments:\n id: '123456789012345678'\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getIdpLdap.\n", "properties": { @@ -9502,7 +9502,7 @@ } }, "zitadel:index/getIdpOauth:getIdpOauth": { - "description": "Datasource representing a generic OAuth2 IDP on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getIdpOauth({\n id: \"123456789012345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_idp_oauth(id=\"123456789012345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetIdpOauth.Invoke(new()\n {\n Id = \"123456789012345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.LookupIdpOauth(ctx, \u0026zitadel.LookupIdpOauthArgs{\n\t\t\tId: \"123456789012345678\",\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.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetIdpOauthArgs;\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 default = ZitadelFunctions.getIdpOauth(GetIdpOauthArgs.builder()\n .id(\"123456789012345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getIdpOauth\n Arguments:\n id: '123456789012345678'\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Datasource representing a generic OAuth2 IDP on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getIdpOauth({\n id: \"123456789012345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_idp_oauth(id=\"123456789012345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetIdpOauth.Invoke(new()\n {\n Id = \"123456789012345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.LookupIdpOauth(ctx, \u0026zitadel.LookupIdpOauthArgs{\n\t\t\tId: \"123456789012345678\",\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.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetIdpOauthArgs;\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 default = ZitadelFunctions.getIdpOauth(GetIdpOauthArgs.builder()\n .id(\"123456789012345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getIdpOauth\n Arguments:\n id: '123456789012345678'\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getIdpOauth.\n", "properties": { @@ -9595,7 +9595,7 @@ } }, "zitadel:index/getIdpSaml:getIdpSaml": { - "description": "Datasource representing a SAML IDP on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getIdpSaml({\n id: \"123456789012345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_idp_saml(id=\"123456789012345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetIdpSaml.Invoke(new()\n {\n Id = \"123456789012345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.LookupIdpSaml(ctx, \u0026zitadel.LookupIdpSamlArgs{\n\t\t\tId: \"123456789012345678\",\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.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetIdpSamlArgs;\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 default = ZitadelFunctions.getIdpSaml(GetIdpSamlArgs.builder()\n .id(\"123456789012345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getIdpSaml\n Arguments:\n id: '123456789012345678'\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Datasource representing a SAML IDP on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getIdpSaml({\n id: \"123456789012345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_idp_saml(id=\"123456789012345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetIdpSaml.Invoke(new()\n {\n Id = \"123456789012345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.LookupIdpSaml(ctx, \u0026zitadel.LookupIdpSamlArgs{\n\t\t\tId: \"123456789012345678\",\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.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetIdpSamlArgs;\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 default = ZitadelFunctions.getIdpSaml(GetIdpSamlArgs.builder()\n .id(\"123456789012345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getIdpSaml\n Arguments:\n id: '123456789012345678'\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getIdpSaml.\n", "properties": { @@ -9664,7 +9664,7 @@ } }, "zitadel:index/getMachineUser:getMachineUser": { - "description": "Datasource representing a serviceaccount situated under an organization, which then can be authorized through memberships or direct grants on other resources.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getMachineUser({\n orgId: data.zitadel_org[\"default\"].id,\n userId: \"123456789012345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_machine_user(org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n user_id=\"123456789012345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetMachineUser.Invoke(new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n UserId = \"123456789012345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.LookupMachineUser(ctx, \u0026zitadel.LookupMachineUserArgs{\n\t\t\tOrgId: pulumi.StringRef(data.Zitadel_org.Default.Id),\n\t\t\tUserId: \"123456789012345678\",\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.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetMachineUserArgs;\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 default = ZitadelFunctions.getMachineUser(GetMachineUserArgs.builder()\n .orgId(data.zitadel_org().default().id())\n .userId(\"123456789012345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getMachineUser\n Arguments:\n orgId: ${data.zitadel_org.default.id}\n userId: '123456789012345678'\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Datasource representing a serviceaccount situated under an organization, which then can be authorized through memberships or direct grants on other resources.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getMachineUser({\n orgId: data.zitadel_org[\"default\"].id,\n userId: \"123456789012345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_machine_user(org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n user_id=\"123456789012345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetMachineUser.Invoke(new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n UserId = \"123456789012345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.LookupMachineUser(ctx, \u0026zitadel.LookupMachineUserArgs{\n\t\t\tOrgId: pulumi.StringRef(data.Zitadel_org.Default.Id),\n\t\t\tUserId: \"123456789012345678\",\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.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetMachineUserArgs;\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 default = ZitadelFunctions.getMachineUser(GetMachineUserArgs.builder()\n .orgId(data.zitadel_org().default().id())\n .userId(\"123456789012345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getMachineUser\n Arguments:\n orgId: ${data.zitadel_org.default.id}\n userId: '123456789012345678'\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getMachineUser.\n", "properties": { @@ -9802,7 +9802,7 @@ } }, "zitadel:index/getOrg:getOrg": { - "description": "Datasource representing an organization in ZITADEL, which is the highest level after the instance and contains several other resource including policies if the configuration differs to the default policies on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getOrg({\n id: \"123456789012345678\",\n});\nexport const org = _default;\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_org(id=\"123456789012345678\")\npulumi.export(\"org\", default)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetOrg.Invoke(new()\n {\n Id = \"123456789012345678\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"org\"] = @default,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := zitadel.LookupOrg(ctx, \u0026zitadel.LookupOrgArgs{\n\t\t\tId: \"123456789012345678\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"org\", _default)\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.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetOrgArgs;\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 default = ZitadelFunctions.getOrg(GetOrgArgs.builder()\n .id(\"123456789012345678\")\n .build());\n\n ctx.export(\"org\", default_);\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getOrg\n Arguments:\n id: '123456789012345678'\noutputs:\n org: ${default}\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Datasource representing an organization in ZITADEL, which is the highest level after the instance and contains several other resource including policies if the configuration differs to the default policies on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getOrg({\n id: \"123456789012345678\",\n});\nexport const org = _default;\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_org(id=\"123456789012345678\")\npulumi.export(\"org\", default)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetOrg.Invoke(new()\n {\n Id = \"123456789012345678\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"org\"] = @default,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := zitadel.LookupOrg(ctx, \u0026zitadel.LookupOrgArgs{\n\t\t\tId: \"123456789012345678\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"org\", _default)\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.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetOrgArgs;\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 default = ZitadelFunctions.getOrg(GetOrgArgs.builder()\n .id(\"123456789012345678\")\n .build());\n\n ctx.export(\"org\", default_);\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getOrg\n Arguments:\n id: '123456789012345678'\noutputs:\n org: ${default}\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getOrg.\n", "properties": { @@ -9851,7 +9851,7 @@ } }, "zitadel:index/getOrgIdpAzureAd:getOrgIdpAzureAd": { - "description": "Datasource representing an Azure AD IdP of the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getOrgIdpAzureAd({\n orgId: data.zitadel_org[\"default\"].id,\n id: \"123456789012345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_org_idp_azure_ad(org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n id=\"123456789012345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetOrgIdpAzureAd.Invoke(new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n Id = \"123456789012345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.LookupOrgIdpAzureAd(ctx, \u0026zitadel.LookupOrgIdpAzureAdArgs{\n\t\t\tOrgId: pulumi.StringRef(data.Zitadel_org.Default.Id),\n\t\t\tId: \"123456789012345678\",\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.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetOrgIdpAzureAdArgs;\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 default = ZitadelFunctions.getOrgIdpAzureAd(GetOrgIdpAzureAdArgs.builder()\n .orgId(data.zitadel_org().default().id())\n .id(\"123456789012345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getOrgIdpAzureAd\n Arguments:\n orgId: ${data.zitadel_org.default.id}\n id: '123456789012345678'\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Datasource representing an Azure AD IdP of the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getOrgIdpAzureAd({\n orgId: data.zitadel_org[\"default\"].id,\n id: \"123456789012345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_org_idp_azure_ad(org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n id=\"123456789012345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetOrgIdpAzureAd.Invoke(new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n Id = \"123456789012345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.LookupOrgIdpAzureAd(ctx, \u0026zitadel.LookupOrgIdpAzureAdArgs{\n\t\t\tOrgId: pulumi.StringRef(data.Zitadel_org.Default.Id),\n\t\t\tId: \"123456789012345678\",\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.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetOrgIdpAzureAdArgs;\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 default = ZitadelFunctions.getOrgIdpAzureAd(GetOrgIdpAzureAdArgs.builder()\n .orgId(data.zitadel_org().default().id())\n .id(\"123456789012345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getOrgIdpAzureAd\n Arguments:\n orgId: ${data.zitadel_org.default.id}\n id: '123456789012345678'\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getOrgIdpAzureAd.\n", "properties": { @@ -9947,7 +9947,7 @@ } }, "zitadel:index/getOrgIdpGithub:getOrgIdpGithub": { - "description": "Datasource representing a GitHub IdP of the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getOrgIdpGithub({\n orgId: data.zitadel_org[\"default\"].id,\n id: \"123456789012345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_org_idp_github(org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n id=\"123456789012345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetOrgIdpGithub.Invoke(new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n Id = \"123456789012345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.LookupOrgIdpGithub(ctx, \u0026zitadel.LookupOrgIdpGithubArgs{\n\t\t\tOrgId: pulumi.StringRef(data.Zitadel_org.Default.Id),\n\t\t\tId: \"123456789012345678\",\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.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetOrgIdpGithubArgs;\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 default = ZitadelFunctions.getOrgIdpGithub(GetOrgIdpGithubArgs.builder()\n .orgId(data.zitadel_org().default().id())\n .id(\"123456789012345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getOrgIdpGithub\n Arguments:\n orgId: ${data.zitadel_org.default.id}\n id: '123456789012345678'\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Datasource representing a GitHub IdP of the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getOrgIdpGithub({\n orgId: data.zitadel_org[\"default\"].id,\n id: \"123456789012345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_org_idp_github(org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n id=\"123456789012345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetOrgIdpGithub.Invoke(new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n Id = \"123456789012345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.LookupOrgIdpGithub(ctx, \u0026zitadel.LookupOrgIdpGithubArgs{\n\t\t\tOrgId: pulumi.StringRef(data.Zitadel_org.Default.Id),\n\t\t\tId: \"123456789012345678\",\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.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetOrgIdpGithubArgs;\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 default = ZitadelFunctions.getOrgIdpGithub(GetOrgIdpGithubArgs.builder()\n .orgId(data.zitadel_org().default().id())\n .id(\"123456789012345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getOrgIdpGithub\n Arguments:\n orgId: ${data.zitadel_org.default.id}\n id: '123456789012345678'\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getOrgIdpGithub.\n", "properties": { @@ -10028,7 +10028,7 @@ } }, "zitadel:index/getOrgIdpGithubEs:getOrgIdpGithubEs": { - "description": "Datasource representing a GitHub Enterprise IdP of the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getOrgIdpGithubEs({\n orgId: data.zitadel_org[\"default\"].id,\n id: \"123456789012345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_org_idp_github_es(org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n id=\"123456789012345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetOrgIdpGithubEs.Invoke(new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n Id = \"123456789012345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.LookupOrgIdpGithubEs(ctx, \u0026zitadel.LookupOrgIdpGithubEsArgs{\n\t\t\tOrgId: pulumi.StringRef(data.Zitadel_org.Default.Id),\n\t\t\tId: \"123456789012345678\",\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.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetOrgIdpGithubEsArgs;\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 default = ZitadelFunctions.getOrgIdpGithubEs(GetOrgIdpGithubEsArgs.builder()\n .orgId(data.zitadel_org().default().id())\n .id(\"123456789012345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getOrgIdpGithubEs\n Arguments:\n orgId: ${data.zitadel_org.default.id}\n id: '123456789012345678'\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Datasource representing a GitHub Enterprise IdP of the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getOrgIdpGithubEs({\n orgId: data.zitadel_org[\"default\"].id,\n id: \"123456789012345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_org_idp_github_es(org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n id=\"123456789012345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetOrgIdpGithubEs.Invoke(new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n Id = \"123456789012345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.LookupOrgIdpGithubEs(ctx, \u0026zitadel.LookupOrgIdpGithubEsArgs{\n\t\t\tOrgId: pulumi.StringRef(data.Zitadel_org.Default.Id),\n\t\t\tId: \"123456789012345678\",\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.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetOrgIdpGithubEsArgs;\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 default = ZitadelFunctions.getOrgIdpGithubEs(GetOrgIdpGithubEsArgs.builder()\n .orgId(data.zitadel_org().default().id())\n .id(\"123456789012345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getOrgIdpGithubEs\n Arguments:\n orgId: ${data.zitadel_org.default.id}\n id: '123456789012345678'\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getOrgIdpGithubEs.\n", "properties": { @@ -10124,7 +10124,7 @@ } }, "zitadel:index/getOrgIdpGitlab:getOrgIdpGitlab": { - "description": "Datasource representing a GitLab IdP of the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getOrgIdpGitlab({\n orgId: data.zitadel_org[\"default\"].id,\n id: \"123456789012345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_org_idp_gitlab(org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n id=\"123456789012345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetOrgIdpGitlab.Invoke(new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n Id = \"123456789012345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.LookupOrgIdpGitlab(ctx, \u0026zitadel.LookupOrgIdpGitlabArgs{\n\t\t\tOrgId: pulumi.StringRef(data.Zitadel_org.Default.Id),\n\t\t\tId: \"123456789012345678\",\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.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetOrgIdpGitlabArgs;\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 default = ZitadelFunctions.getOrgIdpGitlab(GetOrgIdpGitlabArgs.builder()\n .orgId(data.zitadel_org().default().id())\n .id(\"123456789012345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getOrgIdpGitlab\n Arguments:\n orgId: ${data.zitadel_org.default.id}\n id: '123456789012345678'\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Datasource representing a GitLab IdP of the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getOrgIdpGitlab({\n orgId: data.zitadel_org[\"default\"].id,\n id: \"123456789012345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_org_idp_gitlab(org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n id=\"123456789012345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetOrgIdpGitlab.Invoke(new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n Id = \"123456789012345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.LookupOrgIdpGitlab(ctx, \u0026zitadel.LookupOrgIdpGitlabArgs{\n\t\t\tOrgId: pulumi.StringRef(data.Zitadel_org.Default.Id),\n\t\t\tId: \"123456789012345678\",\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.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetOrgIdpGitlabArgs;\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 default = ZitadelFunctions.getOrgIdpGitlab(GetOrgIdpGitlabArgs.builder()\n .orgId(data.zitadel_org().default().id())\n .id(\"123456789012345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getOrgIdpGitlab\n Arguments:\n orgId: ${data.zitadel_org.default.id}\n id: '123456789012345678'\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getOrgIdpGitlab.\n", "properties": { @@ -10205,7 +10205,7 @@ } }, "zitadel:index/getOrgIdpGitlabSelfHosted:getOrgIdpGitlabSelfHosted": { - "description": "Datasource representing a GitLab Self Hosted IdP of the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getOrgIdpGitlabSelfHosted({\n orgId: data.zitadel_org[\"default\"].id,\n id: \"123456789012345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_org_idp_gitlab_self_hosted(org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n id=\"123456789012345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetOrgIdpGitlabSelfHosted.Invoke(new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n Id = \"123456789012345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.LookupOrgIdpGitlabSelfHosted(ctx, \u0026zitadel.LookupOrgIdpGitlabSelfHostedArgs{\n\t\t\tOrgId: pulumi.StringRef(data.Zitadel_org.Default.Id),\n\t\t\tId: \"123456789012345678\",\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.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetOrgIdpGitlabSelfHostedArgs;\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 default = ZitadelFunctions.getOrgIdpGitlabSelfHosted(GetOrgIdpGitlabSelfHostedArgs.builder()\n .orgId(data.zitadel_org().default().id())\n .id(\"123456789012345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getOrgIdpGitlabSelfHosted\n Arguments:\n orgId: ${data.zitadel_org.default.id}\n id: '123456789012345678'\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Datasource representing a GitLab Self Hosted IdP of the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getOrgIdpGitlabSelfHosted({\n orgId: data.zitadel_org[\"default\"].id,\n id: \"123456789012345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_org_idp_gitlab_self_hosted(org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n id=\"123456789012345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetOrgIdpGitlabSelfHosted.Invoke(new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n Id = \"123456789012345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.LookupOrgIdpGitlabSelfHosted(ctx, \u0026zitadel.LookupOrgIdpGitlabSelfHostedArgs{\n\t\t\tOrgId: pulumi.StringRef(data.Zitadel_org.Default.Id),\n\t\t\tId: \"123456789012345678\",\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.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetOrgIdpGitlabSelfHostedArgs;\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 default = ZitadelFunctions.getOrgIdpGitlabSelfHosted(GetOrgIdpGitlabSelfHostedArgs.builder()\n .orgId(data.zitadel_org().default().id())\n .id(\"123456789012345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getOrgIdpGitlabSelfHosted\n Arguments:\n orgId: ${data.zitadel_org.default.id}\n id: '123456789012345678'\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getOrgIdpGitlabSelfHosted.\n", "properties": { @@ -10291,7 +10291,7 @@ } }, "zitadel:index/getOrgIdpGoogle:getOrgIdpGoogle": { - "description": "Datasource representing a Google IdP of the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getOrgIdpGoogle({\n orgId: data.zitadel_org[\"default\"].id,\n id: \"123456789012345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_org_idp_google(org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n id=\"123456789012345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetOrgIdpGoogle.Invoke(new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n Id = \"123456789012345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.LookupOrgIdpGoogle(ctx, \u0026zitadel.LookupOrgIdpGoogleArgs{\n\t\t\tOrgId: pulumi.StringRef(data.Zitadel_org.Default.Id),\n\t\t\tId: \"123456789012345678\",\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.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetOrgIdpGoogleArgs;\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 default = ZitadelFunctions.getOrgIdpGoogle(GetOrgIdpGoogleArgs.builder()\n .orgId(data.zitadel_org().default().id())\n .id(\"123456789012345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getOrgIdpGoogle\n Arguments:\n orgId: ${data.zitadel_org.default.id}\n id: '123456789012345678'\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Datasource representing a Google IdP of the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getOrgIdpGoogle({\n orgId: data.zitadel_org[\"default\"].id,\n id: \"123456789012345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_org_idp_google(org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n id=\"123456789012345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetOrgIdpGoogle.Invoke(new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n Id = \"123456789012345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.LookupOrgIdpGoogle(ctx, \u0026zitadel.LookupOrgIdpGoogleArgs{\n\t\t\tOrgId: pulumi.StringRef(data.Zitadel_org.Default.Id),\n\t\t\tId: \"123456789012345678\",\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.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetOrgIdpGoogleArgs;\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 default = ZitadelFunctions.getOrgIdpGoogle(GetOrgIdpGoogleArgs.builder()\n .orgId(data.zitadel_org().default().id())\n .id(\"123456789012345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getOrgIdpGoogle\n Arguments:\n orgId: ${data.zitadel_org.default.id}\n id: '123456789012345678'\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getOrgIdpGoogle.\n", "properties": { @@ -10372,7 +10372,7 @@ } }, "zitadel:index/getOrgIdpLdap:getOrgIdpLdap": { - "description": "Datasource representing an LDAP IdP on the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getOrgIdpLdap({\n orgId: data.zitadel_org[\"default\"].id,\n id: \"123456789012345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_org_idp_ldap(org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n id=\"123456789012345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetOrgIdpLdap.Invoke(new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n Id = \"123456789012345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.LookupOrgIdpLdap(ctx, \u0026zitadel.LookupOrgIdpLdapArgs{\n\t\t\tOrgId: pulumi.StringRef(data.Zitadel_org.Default.Id),\n\t\t\tId: \"123456789012345678\",\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.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetOrgIdpLdapArgs;\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 default = ZitadelFunctions.getOrgIdpLdap(GetOrgIdpLdapArgs.builder()\n .orgId(data.zitadel_org().default().id())\n .id(\"123456789012345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getOrgIdpLdap\n Arguments:\n orgId: ${data.zitadel_org.default.id}\n id: '123456789012345678'\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Datasource representing an LDAP IdP on the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getOrgIdpLdap({\n orgId: data.zitadel_org[\"default\"].id,\n id: \"123456789012345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_org_idp_ldap(org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n id=\"123456789012345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetOrgIdpLdap.Invoke(new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n Id = \"123456789012345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.LookupOrgIdpLdap(ctx, \u0026zitadel.LookupOrgIdpLdapArgs{\n\t\t\tOrgId: pulumi.StringRef(data.Zitadel_org.Default.Id),\n\t\t\tId: \"123456789012345678\",\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.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetOrgIdpLdapArgs;\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 default = ZitadelFunctions.getOrgIdpLdap(GetOrgIdpLdapArgs.builder()\n .orgId(data.zitadel_org().default().id())\n .id(\"123456789012345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getOrgIdpLdap\n Arguments:\n orgId: ${data.zitadel_org.default.id}\n id: '123456789012345678'\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getOrgIdpLdap.\n", "properties": { @@ -10554,7 +10554,7 @@ } }, "zitadel:index/getOrgIdpOauth:getOrgIdpOauth": { - "description": "Datasource representing a generic OAuth2 IDP of the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getOrgIdpOauth({\n orgId: data.zitadel_org[\"default\"].id,\n id: \"123456789012345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_org_idp_oauth(org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n id=\"123456789012345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetOrgIdpOauth.Invoke(new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n Id = \"123456789012345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.LookupOrgIdpOauth(ctx, \u0026zitadel.LookupOrgIdpOauthArgs{\n\t\t\tOrgId: pulumi.StringRef(data.Zitadel_org.Default.Id),\n\t\t\tId: \"123456789012345678\",\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.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetOrgIdpOauthArgs;\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 default = ZitadelFunctions.getOrgIdpOauth(GetOrgIdpOauthArgs.builder()\n .orgId(data.zitadel_org().default().id())\n .id(\"123456789012345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getOrgIdpOauth\n Arguments:\n orgId: ${data.zitadel_org.default.id}\n id: '123456789012345678'\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Datasource representing a generic OAuth2 IDP of the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getOrgIdpOauth({\n orgId: data.zitadel_org[\"default\"].id,\n id: \"123456789012345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_org_idp_oauth(org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n id=\"123456789012345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetOrgIdpOauth.Invoke(new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n Id = \"123456789012345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.LookupOrgIdpOauth(ctx, \u0026zitadel.LookupOrgIdpOauthArgs{\n\t\t\tOrgId: pulumi.StringRef(data.Zitadel_org.Default.Id),\n\t\t\tId: \"123456789012345678\",\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.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetOrgIdpOauthArgs;\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 default = ZitadelFunctions.getOrgIdpOauth(GetOrgIdpOauthArgs.builder()\n .orgId(data.zitadel_org().default().id())\n .id(\"123456789012345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getOrgIdpOauth\n Arguments:\n orgId: ${data.zitadel_org.default.id}\n id: '123456789012345678'\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getOrgIdpOauth.\n", "properties": { @@ -10655,7 +10655,7 @@ } }, "zitadel:index/getOrgIdpSaml:getOrgIdpSaml": { - "description": "Datasource representing a SAML IdP of the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getOrgIdpSaml({\n orgId: data.zitadel_org[\"default\"].id,\n id: \"123456789012345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_org_idp_saml(org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n id=\"123456789012345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetOrgIdpSaml.Invoke(new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n Id = \"123456789012345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.LookupOrgIdpSaml(ctx, \u0026zitadel.LookupOrgIdpSamlArgs{\n\t\t\tOrgId: pulumi.StringRef(data.Zitadel_org.Default.Id),\n\t\t\tId: \"123456789012345678\",\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.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetOrgIdpSamlArgs;\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 default = ZitadelFunctions.getOrgIdpSaml(GetOrgIdpSamlArgs.builder()\n .orgId(data.zitadel_org().default().id())\n .id(\"123456789012345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getOrgIdpSaml\n Arguments:\n orgId: ${data.zitadel_org.default.id}\n id: '123456789012345678'\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Datasource representing a SAML IdP of the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getOrgIdpSaml({\n orgId: data.zitadel_org[\"default\"].id,\n id: \"123456789012345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_org_idp_saml(org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n id=\"123456789012345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetOrgIdpSaml.Invoke(new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n Id = \"123456789012345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.LookupOrgIdpSaml(ctx, \u0026zitadel.LookupOrgIdpSamlArgs{\n\t\t\tOrgId: pulumi.StringRef(data.Zitadel_org.Default.Id),\n\t\t\tId: \"123456789012345678\",\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.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetOrgIdpSamlArgs;\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 default = ZitadelFunctions.getOrgIdpSaml(GetOrgIdpSamlArgs.builder()\n .orgId(data.zitadel_org().default().id())\n .id(\"123456789012345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getOrgIdpSaml\n Arguments:\n orgId: ${data.zitadel_org.default.id}\n id: '123456789012345678'\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getOrgIdpSaml.\n", "properties": { @@ -10811,7 +10811,7 @@ } }, "zitadel:index/getOrgOidcIdp:getOrgOidcIdp": { - "description": "Datasource representing a generic OIDC IdP on the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getOrgOidcIdp({\n orgId: data.zitadel_org[\"default\"].id,\n id: \"123456789012345678\",\n});\nexport const orgOidcIdp = _default;\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_org_oidc_idp(org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n id=\"123456789012345678\")\npulumi.export(\"orgOidcIdp\", default)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetOrgOidcIdp.Invoke(new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n Id = \"123456789012345678\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"orgOidcIdp\"] = @default,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := zitadel.GetOrgOidcIdp(ctx, \u0026zitadel.GetOrgOidcIdpArgs{\n\t\t\tOrgId: pulumi.StringRef(data.Zitadel_org.Default.Id),\n\t\t\tId: \"123456789012345678\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"orgOidcIdp\", _default)\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.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetOrgOidcIdpArgs;\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 default = ZitadelFunctions.getOrgOidcIdp(GetOrgOidcIdpArgs.builder()\n .orgId(data.zitadel_org().default().id())\n .id(\"123456789012345678\")\n .build());\n\n ctx.export(\"orgOidcIdp\", default_);\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getOrgOidcIdp\n Arguments:\n orgId: ${data.zitadel_org.default.id}\n id: '123456789012345678'\noutputs:\n orgOidcIdp: ${default}\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Datasource representing a generic OIDC IdP on the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getOrgOidcIdp({\n orgId: data.zitadel_org[\"default\"].id,\n id: \"123456789012345678\",\n});\nexport const orgOidcIdp = _default;\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_org_oidc_idp(org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n id=\"123456789012345678\")\npulumi.export(\"orgOidcIdp\", default)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetOrgOidcIdp.Invoke(new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n Id = \"123456789012345678\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"orgOidcIdp\"] = @default,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := zitadel.GetOrgOidcIdp(ctx, \u0026zitadel.GetOrgOidcIdpArgs{\n\t\t\tOrgId: pulumi.StringRef(data.Zitadel_org.Default.Id),\n\t\t\tId: \"123456789012345678\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"orgOidcIdp\", _default)\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.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetOrgOidcIdpArgs;\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 default = ZitadelFunctions.getOrgOidcIdp(GetOrgOidcIdpArgs.builder()\n .orgId(data.zitadel_org().default().id())\n .id(\"123456789012345678\")\n .build());\n\n ctx.export(\"orgOidcIdp\", default_);\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getOrgOidcIdp\n Arguments:\n orgId: ${data.zitadel_org.default.id}\n id: '123456789012345678'\noutputs:\n orgOidcIdp: ${default}\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getOrgOidcIdp.\n", "properties": { @@ -10977,7 +10977,7 @@ } }, "zitadel:index/getProject:getProject": { - "description": "Datasource representing the project, which can then be granted to different organizations or users directly, containing different applications.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getProject({\n orgId: data.zitadel_org[\"default\"].id,\n projectId: \"123456789012345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_project(org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n project_id=\"123456789012345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetProject.Invoke(new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ProjectId = \"123456789012345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.LookupProject(ctx, \u0026zitadel.LookupProjectArgs{\n\t\t\tOrgId: pulumi.StringRef(data.Zitadel_org.Default.Id),\n\t\t\tProjectId: \"123456789012345678\",\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.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetProjectArgs;\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 default = ZitadelFunctions.getProject(GetProjectArgs.builder()\n .orgId(data.zitadel_org().default().id())\n .projectId(\"123456789012345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getProject\n Arguments:\n orgId: ${data.zitadel_org.default.id}\n projectId: '123456789012345678'\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Datasource representing the project, which can then be granted to different organizations or users directly, containing different applications.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getProject({\n orgId: data.zitadel_org[\"default\"].id,\n projectId: \"123456789012345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_project(org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n project_id=\"123456789012345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetProject.Invoke(new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ProjectId = \"123456789012345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.LookupProject(ctx, \u0026zitadel.LookupProjectArgs{\n\t\t\tOrgId: pulumi.StringRef(data.Zitadel_org.Default.Id),\n\t\t\tProjectId: \"123456789012345678\",\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.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetProjectArgs;\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 default = ZitadelFunctions.getProject(GetProjectArgs.builder()\n .orgId(data.zitadel_org().default().id())\n .projectId(\"123456789012345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getProject\n Arguments:\n orgId: ${data.zitadel_org.default.id}\n projectId: '123456789012345678'\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getProject.\n", "properties": { @@ -11050,7 +11050,7 @@ } }, "zitadel:index/getProjectRole:getProjectRole": { - "description": "Datasource representing the project roles, which can be given as authorizations to users.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getProjectRole({\n orgId: data.zitadel_org[\"default\"].id,\n projectId: data.zitadel_project[\"default\"].id,\n roleKey: \"key\",\n});\nexport const projectRole = _default;\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_project_role(org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n project_id=data[\"zitadel_project\"][\"default\"][\"id\"],\n role_key=\"key\")\npulumi.export(\"projectRole\", default)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetProjectRole.Invoke(new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ProjectId = data.Zitadel_project.Default.Id,\n RoleKey = \"key\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"projectRole\"] = @default,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := zitadel.LookupProjectRole(ctx, \u0026zitadel.LookupProjectRoleArgs{\n\t\t\tOrgId: data.Zitadel_org.Default.Id,\n\t\t\tProjectId: data.Zitadel_project.Default.Id,\n\t\t\tRoleKey: \"key\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"projectRole\", _default)\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.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetProjectRoleArgs;\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 default = ZitadelFunctions.getProjectRole(GetProjectRoleArgs.builder()\n .orgId(data.zitadel_org().default().id())\n .projectId(data.zitadel_project().default().id())\n .roleKey(\"key\")\n .build());\n\n ctx.export(\"projectRole\", default_);\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getProjectRole\n Arguments:\n orgId: ${data.zitadel_org.default.id}\n projectId: ${data.zitadel_project.default.id}\n roleKey: key\noutputs:\n projectRole: ${default}\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Datasource representing the project roles, which can be given as authorizations to users.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getProjectRole({\n orgId: data.zitadel_org[\"default\"].id,\n projectId: data.zitadel_project[\"default\"].id,\n roleKey: \"key\",\n});\nexport const projectRole = _default;\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_project_role(org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n project_id=data[\"zitadel_project\"][\"default\"][\"id\"],\n role_key=\"key\")\npulumi.export(\"projectRole\", default)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetProjectRole.Invoke(new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ProjectId = data.Zitadel_project.Default.Id,\n RoleKey = \"key\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"projectRole\"] = @default,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := zitadel.LookupProjectRole(ctx, \u0026zitadel.LookupProjectRoleArgs{\n\t\t\tOrgId: data.Zitadel_org.Default.Id,\n\t\t\tProjectId: data.Zitadel_project.Default.Id,\n\t\t\tRoleKey: \"key\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"projectRole\", _default)\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.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetProjectRoleArgs;\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 default = ZitadelFunctions.getProjectRole(GetProjectRoleArgs.builder()\n .orgId(data.zitadel_org().default().id())\n .projectId(data.zitadel_project().default().id())\n .roleKey(\"key\")\n .build());\n\n ctx.export(\"projectRole\", default_);\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getProjectRole\n Arguments:\n orgId: ${data.zitadel_org.default.id}\n projectId: ${data.zitadel_project.default.id}\n roleKey: key\noutputs:\n projectRole: ${default}\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getProjectRole.\n", "properties": { @@ -11173,7 +11173,7 @@ } }, "zitadel:index/getTriggerActions:getTriggerActions": { - "description": "Resource representing triggers, when actions get started\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getTriggerActions({\n orgId: data.zitadel_org[\"default\"].id,\n flowType: \"FLOW_TYPE_EXTERNAL_AUTHENTICATION\",\n triggerType: \"TRIGGER_TYPE_POST_AUTHENTICATION\",\n});\nexport const triggerActions = _default;\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_trigger_actions(org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n flow_type=\"FLOW_TYPE_EXTERNAL_AUTHENTICATION\",\n trigger_type=\"TRIGGER_TYPE_POST_AUTHENTICATION\")\npulumi.export(\"triggerActions\", default)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetTriggerActions.Invoke(new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n FlowType = \"FLOW_TYPE_EXTERNAL_AUTHENTICATION\",\n TriggerType = \"TRIGGER_TYPE_POST_AUTHENTICATION\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"triggerActions\"] = @default,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := zitadel.LookupTriggerActions(ctx, \u0026zitadel.LookupTriggerActionsArgs{\n\t\t\tOrgId: pulumi.StringRef(data.Zitadel_org.Default.Id),\n\t\t\tFlowType: \"FLOW_TYPE_EXTERNAL_AUTHENTICATION\",\n\t\t\tTriggerType: \"TRIGGER_TYPE_POST_AUTHENTICATION\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"triggerActions\", _default)\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.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetTriggerActionsArgs;\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 default = ZitadelFunctions.getTriggerActions(GetTriggerActionsArgs.builder()\n .orgId(data.zitadel_org().default().id())\n .flowType(\"FLOW_TYPE_EXTERNAL_AUTHENTICATION\")\n .triggerType(\"TRIGGER_TYPE_POST_AUTHENTICATION\")\n .build());\n\n ctx.export(\"triggerActions\", default_);\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getTriggerActions\n Arguments:\n orgId: ${data.zitadel_org.default.id}\n flowType: FLOW_TYPE_EXTERNAL_AUTHENTICATION\n triggerType: TRIGGER_TYPE_POST_AUTHENTICATION\noutputs:\n triggerActions: ${default}\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Resource representing triggers, when actions get started\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getTriggerActions({\n orgId: data.zitadel_org[\"default\"].id,\n flowType: \"FLOW_TYPE_EXTERNAL_AUTHENTICATION\",\n triggerType: \"TRIGGER_TYPE_POST_AUTHENTICATION\",\n});\nexport const triggerActions = _default;\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_trigger_actions(org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n flow_type=\"FLOW_TYPE_EXTERNAL_AUTHENTICATION\",\n trigger_type=\"TRIGGER_TYPE_POST_AUTHENTICATION\")\npulumi.export(\"triggerActions\", default)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetTriggerActions.Invoke(new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n FlowType = \"FLOW_TYPE_EXTERNAL_AUTHENTICATION\",\n TriggerType = \"TRIGGER_TYPE_POST_AUTHENTICATION\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"triggerActions\"] = @default,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := zitadel.LookupTriggerActions(ctx, \u0026zitadel.LookupTriggerActionsArgs{\n\t\t\tOrgId: pulumi.StringRef(data.Zitadel_org.Default.Id),\n\t\t\tFlowType: \"FLOW_TYPE_EXTERNAL_AUTHENTICATION\",\n\t\t\tTriggerType: \"TRIGGER_TYPE_POST_AUTHENTICATION\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"triggerActions\", _default)\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.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetTriggerActionsArgs;\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 default = ZitadelFunctions.getTriggerActions(GetTriggerActionsArgs.builder()\n .orgId(data.zitadel_org().default().id())\n .flowType(\"FLOW_TYPE_EXTERNAL_AUTHENTICATION\")\n .triggerType(\"TRIGGER_TYPE_POST_AUTHENTICATION\")\n .build());\n\n ctx.export(\"triggerActions\", default_);\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getTriggerActions\n Arguments:\n orgId: ${data.zitadel_org.default.id}\n flowType: FLOW_TYPE_EXTERNAL_AUTHENTICATION\n triggerType: TRIGGER_TYPE_POST_AUTHENTICATION\noutputs:\n triggerActions: ${default}\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getTriggerActions.\n", "properties": { diff --git a/provider/cmd/pulumi-tfgen-zitadel/main.go b/provider/cmd/pulumi-tfgen-zitadel/main.go index 5371755..dd67f8d 100644 --- a/provider/cmd/pulumi-tfgen-zitadel/main.go +++ b/provider/cmd/pulumi-tfgen-zitadel/main.go @@ -16,8 +16,8 @@ package main import ( "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfgen" - zitadel "github.com/pulumiverse/pulumi-zitadel/provider" - "github.com/pulumiverse/pulumi-zitadel/provider/pkg/version" + zitadel "github.com/scoretechnologies/pulumi-zitadel/provider" + "github.com/scoretechnologies/pulumi-zitadel/provider/pkg/version" ) func main() { diff --git a/provider/go.mod b/provider/go.mod index 026727f..8ca376b 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -1,4 +1,4 @@ -module github.com/pulumiverse/pulumi-zitadel/provider +module github.com/scoretechnologies/pulumi-zitadel/provider go 1.21 diff --git a/provider/resources.go b/provider/resources.go index e29171a..2728464 100644 --- a/provider/resources.go +++ b/provider/resources.go @@ -22,7 +22,7 @@ import ( shim "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim" shimv2 "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim/sdk-v2" "github.com/pulumi/pulumi/sdk/v3/go/common/resource" - "github.com/pulumiverse/pulumi-zitadel/provider/pkg/version" + "github.com/scoretechnologies/pulumi-zitadel/provider/pkg/version" "github.com/zitadel/terraform-provider-zitadel/zitadel" ) @@ -59,7 +59,7 @@ func Provider() tfbridge.ProviderInfo { // Change this to your personal name (or a company name) that you // would like to be shown in the Pulumi Registry if this package is published // there. - Publisher: "pulumiverse", + Publisher: "scoretechnologies", // LogoURL is optional but useful to help identify your package in the Pulumi Registry // if this package is published there. // @@ -69,7 +69,7 @@ func Provider() tfbridge.ProviderInfo { // PluginDownloadURL is an optional URL used to download the Provider // for use in Pulumi programs // e.g https://github.com/org/pulumi-provider-name/releases/ - PluginDownloadURL: "github://api.github.com/pulumiverse", + PluginDownloadURL: "github://api.github.com/scoretechnologies", Description: "A Pulumi package for creating and managing zitadel cloud resources.", // category/cloud tag helps with categorizing the package in the Pulumi Registry. // For all available categories, see `Keywords` in @@ -77,7 +77,7 @@ func Provider() tfbridge.ProviderInfo { Keywords: []string{"pulumi", "zitadel", "category/cloud"}, License: "Apache-2.0", Homepage: "https://www.pulumi.com", - Repository: "https://github.com/pulumiverse/pulumi-zitadel", + Repository: "https://github.com/scoretechnologies/pulumi-zitadel", // The GitHub Org for the provider - defaults to `terraform-providers`. Note that this // should match the TF provider module's require directive, not any replace directives. GitHubOrg: "zitadel", @@ -195,7 +195,7 @@ func Provider() tfbridge.ProviderInfo { "zitadel_org_idp_saml": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getOrgIdpSaml")}, }, JavaScript: &tfbridge.JavaScriptInfo{ - PackageName: "@pulumiverse/zitadel", + PackageName: "@scoretechnologies/zitadel", // List any npm dependencies and their versions Dependencies: map[string]string{ "@pulumi/pulumi": "^3.0.0", @@ -211,7 +211,7 @@ func Provider() tfbridge.ProviderInfo { //Overlay: &tfbridge.OverlayInfo{}, }, Python: &tfbridge.PythonInfo{ - PackageName: "pulumiverse_zitadel", + PackageName: "scoretechnologies_zitadel", // List any Python dependencies and their version ranges Requires: map[string]string{ "pulumi": ">=3.0.0,<4.0.0", @@ -219,7 +219,7 @@ func Provider() tfbridge.ProviderInfo { }, Golang: &tfbridge.GolangInfo{ ImportBasePath: filepath.Join( - fmt.Sprintf("github.com/pulumiverse/pulumi-%[1]s/sdk/", mainPkg), + fmt.Sprintf("github.com/scoretechnologies/pulumi-%[1]s/sdk/", mainPkg), tfbridge.GetModuleMajorVersion(version.Version), "go", mainPkg, @@ -227,7 +227,7 @@ func Provider() tfbridge.ProviderInfo { GenerateResourceContainerTypes: true, }, CSharp: &tfbridge.CSharpInfo{ - RootNamespace: "Pulumiverse", + RootNamespace: "scoretechnologies", PackageReferences: map[string]string{ "Pulumi": "3.*", }, diff --git a/sdk/dotnet/Action.cs b/sdk/dotnet/Action.cs index f3fc8b9..aa979f4 100644 --- a/sdk/dotnet/Action.cs +++ b/sdk/dotnet/Action.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { /// /// Resource representing an action belonging to an organization. @@ -19,7 +19,7 @@ namespace Pulumiverse.Zitadel /// using System.Collections.Generic; /// using System.Linq; /// using Pulumi; - /// using Zitadel = Pulumiverse.Zitadel; + /// using Zitadel = scoretechnologies.Zitadel; /// /// return await Deployment.RunAsync(() => /// { @@ -98,7 +98,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? var defaultOptions = new CustomResourceOptions { Version = Utilities.Version, - PluginDownloadURL = "github://api.github.com/pulumiverse", + PluginDownloadURL = "github://api.github.com/scoretechnologies", }; var merged = CustomResourceOptions.Merge(defaultOptions, options); // Override the ID if one was specified for consistency with other language SDKs. diff --git a/sdk/dotnet/ApplicationApi.cs b/sdk/dotnet/ApplicationApi.cs index 2452131..d0cbfe9 100644 --- a/sdk/dotnet/ApplicationApi.cs +++ b/sdk/dotnet/ApplicationApi.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { /// /// Resource representing an API application belonging to a project, with all configuration possibilities. @@ -19,7 +19,7 @@ namespace Pulumiverse.Zitadel /// using System.Collections.Generic; /// using System.Linq; /// using Pulumi; - /// using Zitadel = Pulumiverse.Zitadel; + /// using Zitadel = scoretechnologies.Zitadel; /// /// return await Deployment.RunAsync(() => /// { @@ -103,7 +103,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? var defaultOptions = new CustomResourceOptions { Version = Utilities.Version, - PluginDownloadURL = "github://api.github.com/pulumiverse", + PluginDownloadURL = "github://api.github.com/scoretechnologies", AdditionalSecretOutputs = { "clientId", diff --git a/sdk/dotnet/ApplicationKey.cs b/sdk/dotnet/ApplicationKey.cs index bb258e0..b2f751d 100644 --- a/sdk/dotnet/ApplicationKey.cs +++ b/sdk/dotnet/ApplicationKey.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { /// /// Resource representing a app key @@ -19,7 +19,7 @@ namespace Pulumiverse.Zitadel /// using System.Collections.Generic; /// using System.Linq; /// using Pulumi; - /// using Zitadel = Pulumiverse.Zitadel; + /// using Zitadel = scoretechnologies.Zitadel; /// /// return await Deployment.RunAsync(() => /// { @@ -105,7 +105,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? var defaultOptions = new CustomResourceOptions { Version = Utilities.Version, - PluginDownloadURL = "github://api.github.com/pulumiverse", + PluginDownloadURL = "github://api.github.com/scoretechnologies", AdditionalSecretOutputs = { "keyDetails", diff --git a/sdk/dotnet/ApplicationOidc.cs b/sdk/dotnet/ApplicationOidc.cs index 18e60e9..c995d56 100644 --- a/sdk/dotnet/ApplicationOidc.cs +++ b/sdk/dotnet/ApplicationOidc.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { /// /// Resource representing an OIDC application belonging to a project, with all configuration possibilities. @@ -19,7 +19,7 @@ namespace Pulumiverse.Zitadel /// using System.Collections.Generic; /// using System.Linq; /// using Pulumi; - /// using Zitadel = Pulumiverse.Zitadel; + /// using Zitadel = scoretechnologies.Zitadel; /// /// return await Deployment.RunAsync(() => /// { @@ -206,7 +206,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? var defaultOptions = new CustomResourceOptions { Version = Utilities.Version, - PluginDownloadURL = "github://api.github.com/pulumiverse", + PluginDownloadURL = "github://api.github.com/scoretechnologies", AdditionalSecretOutputs = { "clientId", diff --git a/sdk/dotnet/ApplicationSaml.cs b/sdk/dotnet/ApplicationSaml.cs index aa178b8..ac1e9d5 100644 --- a/sdk/dotnet/ApplicationSaml.cs +++ b/sdk/dotnet/ApplicationSaml.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { /// /// Resource representing a SAML application belonging to a project, with all configuration possibilities. @@ -19,7 +19,7 @@ namespace Pulumiverse.Zitadel /// using System.Collections.Generic; /// using System.Linq; /// using Pulumi; - /// using Zitadel = Pulumiverse.Zitadel; + /// using Zitadel = scoretechnologies.Zitadel; /// /// return await Deployment.RunAsync(() => /// { @@ -103,7 +103,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? var defaultOptions = new CustomResourceOptions { Version = Utilities.Version, - PluginDownloadURL = "github://api.github.com/pulumiverse", + PluginDownloadURL = "github://api.github.com/scoretechnologies", AdditionalSecretOutputs = { "metadataXml", diff --git a/sdk/dotnet/Config/Config.cs b/sdk/dotnet/Config/Config.cs index c874098..0aea0e1 100644 --- a/sdk/dotnet/Config/Config.cs +++ b/sdk/dotnet/Config/Config.cs @@ -4,7 +4,7 @@ using System; using System.Collections.Immutable; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { public static class Config { diff --git a/sdk/dotnet/DefaultDomainPolicy.cs b/sdk/dotnet/DefaultDomainPolicy.cs index 89d12de..c6a64df 100644 --- a/sdk/dotnet/DefaultDomainPolicy.cs +++ b/sdk/dotnet/DefaultDomainPolicy.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { /// /// Resource representing the default domain policy. @@ -19,7 +19,7 @@ namespace Pulumiverse.Zitadel /// using System.Collections.Generic; /// using System.Linq; /// using Pulumi; - /// using Zitadel = Pulumiverse.Zitadel; + /// using Zitadel = scoretechnologies.Zitadel; /// /// return await Deployment.RunAsync(() => /// { @@ -82,7 +82,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? var defaultOptions = new CustomResourceOptions { Version = Utilities.Version, - PluginDownloadURL = "github://api.github.com/pulumiverse", + PluginDownloadURL = "github://api.github.com/scoretechnologies", }; var merged = CustomResourceOptions.Merge(defaultOptions, options); // Override the ID if one was specified for consistency with other language SDKs. diff --git a/sdk/dotnet/DefaultLabelPolicy.cs b/sdk/dotnet/DefaultLabelPolicy.cs index 3365fa9..3304b9f 100644 --- a/sdk/dotnet/DefaultLabelPolicy.cs +++ b/sdk/dotnet/DefaultLabelPolicy.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { /// /// Resource representing the default label policy. @@ -164,7 +164,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? var defaultOptions = new CustomResourceOptions { Version = Utilities.Version, - PluginDownloadURL = "github://api.github.com/pulumiverse", + PluginDownloadURL = "github://api.github.com/scoretechnologies", }; var merged = CustomResourceOptions.Merge(defaultOptions, options); // Override the ID if one was specified for consistency with other language SDKs. diff --git a/sdk/dotnet/DefaultLockoutPolicy.cs b/sdk/dotnet/DefaultLockoutPolicy.cs index 9fa135d..e61c978 100644 --- a/sdk/dotnet/DefaultLockoutPolicy.cs +++ b/sdk/dotnet/DefaultLockoutPolicy.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { /// /// Resource representing the default lockout policy. @@ -19,7 +19,7 @@ namespace Pulumiverse.Zitadel /// using System.Collections.Generic; /// using System.Linq; /// using Pulumi; - /// using Zitadel = Pulumiverse.Zitadel; + /// using Zitadel = scoretechnologies.Zitadel; /// /// return await Deployment.RunAsync(() => /// { @@ -71,7 +71,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? var defaultOptions = new CustomResourceOptions { Version = Utilities.Version, - PluginDownloadURL = "github://api.github.com/pulumiverse", + PluginDownloadURL = "github://api.github.com/scoretechnologies", }; var merged = CustomResourceOptions.Merge(defaultOptions, options); // Override the ID if one was specified for consistency with other language SDKs. diff --git a/sdk/dotnet/DefaultLoginPolicy.cs b/sdk/dotnet/DefaultLoginPolicy.cs index 5403e42..173b0ff 100644 --- a/sdk/dotnet/DefaultLoginPolicy.cs +++ b/sdk/dotnet/DefaultLoginPolicy.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { /// /// Resource representing the default login policy. @@ -19,7 +19,7 @@ namespace Pulumiverse.Zitadel /// using System.Collections.Generic; /// using System.Linq; /// using Pulumi; - /// using Zitadel = Pulumiverse.Zitadel; + /// using Zitadel = scoretechnologies.Zitadel; /// /// return await Deployment.RunAsync(() => /// { @@ -200,7 +200,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? var defaultOptions = new CustomResourceOptions { Version = Utilities.Version, - PluginDownloadURL = "github://api.github.com/pulumiverse", + PluginDownloadURL = "github://api.github.com/scoretechnologies", }; var merged = CustomResourceOptions.Merge(defaultOptions, options); // Override the ID if one was specified for consistency with other language SDKs. diff --git a/sdk/dotnet/DefaultNotificationPolicy.cs b/sdk/dotnet/DefaultNotificationPolicy.cs index 4133299..68ce404 100644 --- a/sdk/dotnet/DefaultNotificationPolicy.cs +++ b/sdk/dotnet/DefaultNotificationPolicy.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { /// /// Resource representing the default notification policy. @@ -19,7 +19,7 @@ namespace Pulumiverse.Zitadel /// using System.Collections.Generic; /// using System.Linq; /// using Pulumi; - /// using Zitadel = Pulumiverse.Zitadel; + /// using Zitadel = scoretechnologies.Zitadel; /// /// return await Deployment.RunAsync(() => /// { @@ -71,7 +71,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? var defaultOptions = new CustomResourceOptions { Version = Utilities.Version, - PluginDownloadURL = "github://api.github.com/pulumiverse", + PluginDownloadURL = "github://api.github.com/scoretechnologies", }; var merged = CustomResourceOptions.Merge(defaultOptions, options); // Override the ID if one was specified for consistency with other language SDKs. diff --git a/sdk/dotnet/DefaultOidcSettings.cs b/sdk/dotnet/DefaultOidcSettings.cs index 3b7ffbb..ddebb53 100644 --- a/sdk/dotnet/DefaultOidcSettings.cs +++ b/sdk/dotnet/DefaultOidcSettings.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { /// /// Resource representing the default oidc settings. @@ -19,7 +19,7 @@ namespace Pulumiverse.Zitadel /// using System.Collections.Generic; /// using System.Linq; /// using Pulumi; - /// using Zitadel = Pulumiverse.Zitadel; + /// using Zitadel = scoretechnologies.Zitadel; /// /// return await Deployment.RunAsync(() => /// { @@ -84,7 +84,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? var defaultOptions = new CustomResourceOptions { Version = Utilities.Version, - PluginDownloadURL = "github://api.github.com/pulumiverse", + PluginDownloadURL = "github://api.github.com/scoretechnologies", }; var merged = CustomResourceOptions.Merge(defaultOptions, options); // Override the ID if one was specified for consistency with other language SDKs. diff --git a/sdk/dotnet/DefaultPasswordComplexityPolicy.cs b/sdk/dotnet/DefaultPasswordComplexityPolicy.cs index b2646d4..be3810e 100644 --- a/sdk/dotnet/DefaultPasswordComplexityPolicy.cs +++ b/sdk/dotnet/DefaultPasswordComplexityPolicy.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { /// /// Resource representing the default password complexity policy. @@ -19,7 +19,7 @@ namespace Pulumiverse.Zitadel /// using System.Collections.Generic; /// using System.Linq; /// using Pulumi; - /// using Zitadel = Pulumiverse.Zitadel; + /// using Zitadel = scoretechnologies.Zitadel; /// /// return await Deployment.RunAsync(() => /// { @@ -99,7 +99,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? var defaultOptions = new CustomResourceOptions { Version = Utilities.Version, - PluginDownloadURL = "github://api.github.com/pulumiverse", + PluginDownloadURL = "github://api.github.com/scoretechnologies", }; var merged = CustomResourceOptions.Merge(defaultOptions, options); // Override the ID if one was specified for consistency with other language SDKs. diff --git a/sdk/dotnet/DefaultPrivacyPolicy.cs b/sdk/dotnet/DefaultPrivacyPolicy.cs index 84120f3..bed8ad0 100644 --- a/sdk/dotnet/DefaultPrivacyPolicy.cs +++ b/sdk/dotnet/DefaultPrivacyPolicy.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { /// /// Resource representing the default privacy policy. @@ -19,7 +19,7 @@ namespace Pulumiverse.Zitadel /// using System.Collections.Generic; /// using System.Linq; /// using Pulumi; - /// using Zitadel = Pulumiverse.Zitadel; + /// using Zitadel = scoretechnologies.Zitadel; /// /// return await Deployment.RunAsync(() => /// { @@ -80,7 +80,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? var defaultOptions = new CustomResourceOptions { Version = Utilities.Version, - PluginDownloadURL = "github://api.github.com/pulumiverse", + PluginDownloadURL = "github://api.github.com/scoretechnologies", }; var merged = CustomResourceOptions.Merge(defaultOptions, options); // Override the ID if one was specified for consistency with other language SDKs. diff --git a/sdk/dotnet/Domain.cs b/sdk/dotnet/Domain.cs index 64364cd..a8535e2 100644 --- a/sdk/dotnet/Domain.cs +++ b/sdk/dotnet/Domain.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { /// /// Resource representing a domain of the organization. @@ -19,7 +19,7 @@ namespace Pulumiverse.Zitadel /// using System.Collections.Generic; /// using System.Linq; /// using Pulumi; - /// using Zitadel = Pulumiverse.Zitadel; + /// using Zitadel = scoretechnologies.Zitadel; /// /// return await Deployment.RunAsync(() => /// { @@ -96,7 +96,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? var defaultOptions = new CustomResourceOptions { Version = Utilities.Version, - PluginDownloadURL = "github://api.github.com/pulumiverse", + PluginDownloadURL = "github://api.github.com/scoretechnologies", }; var merged = CustomResourceOptions.Merge(defaultOptions, options); // Override the ID if one was specified for consistency with other language SDKs. diff --git a/sdk/dotnet/DomainPolicy.cs b/sdk/dotnet/DomainPolicy.cs index 4f767e4..17e2aa7 100644 --- a/sdk/dotnet/DomainPolicy.cs +++ b/sdk/dotnet/DomainPolicy.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { /// /// Resource representing the custom domain policy of an organization. @@ -19,7 +19,7 @@ namespace Pulumiverse.Zitadel /// using System.Collections.Generic; /// using System.Linq; /// using Pulumi; - /// using Zitadel = Pulumiverse.Zitadel; + /// using Zitadel = scoretechnologies.Zitadel; /// /// return await Deployment.RunAsync(() => /// { @@ -89,7 +89,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? var defaultOptions = new CustomResourceOptions { Version = Utilities.Version, - PluginDownloadURL = "github://api.github.com/pulumiverse", + PluginDownloadURL = "github://api.github.com/scoretechnologies", }; var merged = CustomResourceOptions.Merge(defaultOptions, options); // Override the ID if one was specified for consistency with other language SDKs. diff --git a/sdk/dotnet/GetAction.cs b/sdk/dotnet/GetAction.cs index 248b6a9..2a264dd 100644 --- a/sdk/dotnet/GetAction.cs +++ b/sdk/dotnet/GetAction.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { public static class GetAction { diff --git a/sdk/dotnet/GetApplicationApi.cs b/sdk/dotnet/GetApplicationApi.cs index 7c88a1d..7260851 100644 --- a/sdk/dotnet/GetApplicationApi.cs +++ b/sdk/dotnet/GetApplicationApi.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { public static class GetApplicationApi { diff --git a/sdk/dotnet/GetApplicationApis.cs b/sdk/dotnet/GetApplicationApis.cs index d59c90a..3f2b496 100644 --- a/sdk/dotnet/GetApplicationApis.cs +++ b/sdk/dotnet/GetApplicationApis.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { public static class GetApplicationApis { diff --git a/sdk/dotnet/GetApplicationOidc.cs b/sdk/dotnet/GetApplicationOidc.cs index 2dec9e7..2fff68c 100644 --- a/sdk/dotnet/GetApplicationOidc.cs +++ b/sdk/dotnet/GetApplicationOidc.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { public static class GetApplicationOidc { diff --git a/sdk/dotnet/GetApplicationOidcs.cs b/sdk/dotnet/GetApplicationOidcs.cs index 7a8c6c9..0c298d1 100644 --- a/sdk/dotnet/GetApplicationOidcs.cs +++ b/sdk/dotnet/GetApplicationOidcs.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { public static class GetApplicationOidcs { diff --git a/sdk/dotnet/GetApplicationSaml.cs b/sdk/dotnet/GetApplicationSaml.cs index c649ea0..1196403 100644 --- a/sdk/dotnet/GetApplicationSaml.cs +++ b/sdk/dotnet/GetApplicationSaml.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { public static class GetApplicationSaml { diff --git a/sdk/dotnet/GetApplicationSamls.cs b/sdk/dotnet/GetApplicationSamls.cs index 8940de4..e74dfb8 100644 --- a/sdk/dotnet/GetApplicationSamls.cs +++ b/sdk/dotnet/GetApplicationSamls.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { public static class GetApplicationSamls { diff --git a/sdk/dotnet/GetDefaultOidcSettings.cs b/sdk/dotnet/GetDefaultOidcSettings.cs index 4a51097..9ab550a 100644 --- a/sdk/dotnet/GetDefaultOidcSettings.cs +++ b/sdk/dotnet/GetDefaultOidcSettings.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { public static class GetDefaultOidcSettings { diff --git a/sdk/dotnet/GetHumanUser.cs b/sdk/dotnet/GetHumanUser.cs index bcbf71b..0c20337 100644 --- a/sdk/dotnet/GetHumanUser.cs +++ b/sdk/dotnet/GetHumanUser.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { public static class GetHumanUser { diff --git a/sdk/dotnet/GetIdpAzureAd.cs b/sdk/dotnet/GetIdpAzureAd.cs index ffba147..7ab6b9a 100644 --- a/sdk/dotnet/GetIdpAzureAd.cs +++ b/sdk/dotnet/GetIdpAzureAd.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { public static class GetIdpAzureAd { diff --git a/sdk/dotnet/GetIdpGithub.cs b/sdk/dotnet/GetIdpGithub.cs index 7e2ba65..bc83e12 100644 --- a/sdk/dotnet/GetIdpGithub.cs +++ b/sdk/dotnet/GetIdpGithub.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { public static class GetIdpGithub { diff --git a/sdk/dotnet/GetIdpGithubEs.cs b/sdk/dotnet/GetIdpGithubEs.cs index aeb7618..f668ad8 100644 --- a/sdk/dotnet/GetIdpGithubEs.cs +++ b/sdk/dotnet/GetIdpGithubEs.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { public static class GetIdpGithubEs { diff --git a/sdk/dotnet/GetIdpGitlab.cs b/sdk/dotnet/GetIdpGitlab.cs index e1857d9..aa5dede 100644 --- a/sdk/dotnet/GetIdpGitlab.cs +++ b/sdk/dotnet/GetIdpGitlab.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { public static class GetIdpGitlab { diff --git a/sdk/dotnet/GetIdpGitlabSelfHosted.cs b/sdk/dotnet/GetIdpGitlabSelfHosted.cs index 19d117c..922289b 100644 --- a/sdk/dotnet/GetIdpGitlabSelfHosted.cs +++ b/sdk/dotnet/GetIdpGitlabSelfHosted.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { public static class GetIdpGitlabSelfHosted { diff --git a/sdk/dotnet/GetIdpGoogle.cs b/sdk/dotnet/GetIdpGoogle.cs index 71ef7f2..3d16323 100644 --- a/sdk/dotnet/GetIdpGoogle.cs +++ b/sdk/dotnet/GetIdpGoogle.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { public static class GetIdpGoogle { diff --git a/sdk/dotnet/GetIdpLdap.cs b/sdk/dotnet/GetIdpLdap.cs index e86734b..52ac558 100644 --- a/sdk/dotnet/GetIdpLdap.cs +++ b/sdk/dotnet/GetIdpLdap.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { public static class GetIdpLdap { diff --git a/sdk/dotnet/GetIdpOauth.cs b/sdk/dotnet/GetIdpOauth.cs index a34ccfc..3fd46db 100644 --- a/sdk/dotnet/GetIdpOauth.cs +++ b/sdk/dotnet/GetIdpOauth.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { public static class GetIdpOauth { diff --git a/sdk/dotnet/GetIdpSaml.cs b/sdk/dotnet/GetIdpSaml.cs index c372e0b..9d30910 100644 --- a/sdk/dotnet/GetIdpSaml.cs +++ b/sdk/dotnet/GetIdpSaml.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { public static class GetIdpSaml { diff --git a/sdk/dotnet/GetMachineUser.cs b/sdk/dotnet/GetMachineUser.cs index c28d092..b6e7eb9 100644 --- a/sdk/dotnet/GetMachineUser.cs +++ b/sdk/dotnet/GetMachineUser.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { public static class GetMachineUser { diff --git a/sdk/dotnet/GetMachineUsers.cs b/sdk/dotnet/GetMachineUsers.cs index 3b245b4..d77ad35 100644 --- a/sdk/dotnet/GetMachineUsers.cs +++ b/sdk/dotnet/GetMachineUsers.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { public static class GetMachineUsers { diff --git a/sdk/dotnet/GetOrg.cs b/sdk/dotnet/GetOrg.cs index 7fcbf2a..98dba4d 100644 --- a/sdk/dotnet/GetOrg.cs +++ b/sdk/dotnet/GetOrg.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { public static class GetOrg { diff --git a/sdk/dotnet/GetOrgIdpAzureAd.cs b/sdk/dotnet/GetOrgIdpAzureAd.cs index d8b4892..9579b18 100644 --- a/sdk/dotnet/GetOrgIdpAzureAd.cs +++ b/sdk/dotnet/GetOrgIdpAzureAd.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { public static class GetOrgIdpAzureAd { diff --git a/sdk/dotnet/GetOrgIdpGithub.cs b/sdk/dotnet/GetOrgIdpGithub.cs index d9f0ecd..7e22d5b 100644 --- a/sdk/dotnet/GetOrgIdpGithub.cs +++ b/sdk/dotnet/GetOrgIdpGithub.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { public static class GetOrgIdpGithub { diff --git a/sdk/dotnet/GetOrgIdpGithubEs.cs b/sdk/dotnet/GetOrgIdpGithubEs.cs index 46ec70a..6e2b526 100644 --- a/sdk/dotnet/GetOrgIdpGithubEs.cs +++ b/sdk/dotnet/GetOrgIdpGithubEs.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { public static class GetOrgIdpGithubEs { diff --git a/sdk/dotnet/GetOrgIdpGitlab.cs b/sdk/dotnet/GetOrgIdpGitlab.cs index 7597c42..9f43796 100644 --- a/sdk/dotnet/GetOrgIdpGitlab.cs +++ b/sdk/dotnet/GetOrgIdpGitlab.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { public static class GetOrgIdpGitlab { diff --git a/sdk/dotnet/GetOrgIdpGitlabSelfHosted.cs b/sdk/dotnet/GetOrgIdpGitlabSelfHosted.cs index 28280eb..023678a 100644 --- a/sdk/dotnet/GetOrgIdpGitlabSelfHosted.cs +++ b/sdk/dotnet/GetOrgIdpGitlabSelfHosted.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { public static class GetOrgIdpGitlabSelfHosted { diff --git a/sdk/dotnet/GetOrgIdpGoogle.cs b/sdk/dotnet/GetOrgIdpGoogle.cs index d7b3b28..89d06b4 100644 --- a/sdk/dotnet/GetOrgIdpGoogle.cs +++ b/sdk/dotnet/GetOrgIdpGoogle.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { public static class GetOrgIdpGoogle { diff --git a/sdk/dotnet/GetOrgIdpLdap.cs b/sdk/dotnet/GetOrgIdpLdap.cs index 257d138..f16b020 100644 --- a/sdk/dotnet/GetOrgIdpLdap.cs +++ b/sdk/dotnet/GetOrgIdpLdap.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { public static class GetOrgIdpLdap { diff --git a/sdk/dotnet/GetOrgIdpOauth.cs b/sdk/dotnet/GetOrgIdpOauth.cs index b9fe3d9..5967621 100644 --- a/sdk/dotnet/GetOrgIdpOauth.cs +++ b/sdk/dotnet/GetOrgIdpOauth.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { public static class GetOrgIdpOauth { diff --git a/sdk/dotnet/GetOrgIdpSaml.cs b/sdk/dotnet/GetOrgIdpSaml.cs index 656c49f..8e835c7 100644 --- a/sdk/dotnet/GetOrgIdpSaml.cs +++ b/sdk/dotnet/GetOrgIdpSaml.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { public static class GetOrgIdpSaml { diff --git a/sdk/dotnet/GetOrgJwtIdp.cs b/sdk/dotnet/GetOrgJwtIdp.cs index 6b013fd..246d0bc 100644 --- a/sdk/dotnet/GetOrgJwtIdp.cs +++ b/sdk/dotnet/GetOrgJwtIdp.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { public static class GetOrgJwtIdp { diff --git a/sdk/dotnet/GetOrgOidcIdp.cs b/sdk/dotnet/GetOrgOidcIdp.cs index 801c218..4a94b4e 100644 --- a/sdk/dotnet/GetOrgOidcIdp.cs +++ b/sdk/dotnet/GetOrgOidcIdp.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { public static class GetOrgOidcIdp { diff --git a/sdk/dotnet/GetOrgs.cs b/sdk/dotnet/GetOrgs.cs index 1c0f669..4e56532 100644 --- a/sdk/dotnet/GetOrgs.cs +++ b/sdk/dotnet/GetOrgs.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { public static class GetOrgs { diff --git a/sdk/dotnet/GetProject.cs b/sdk/dotnet/GetProject.cs index 2848213..9ccf337 100644 --- a/sdk/dotnet/GetProject.cs +++ b/sdk/dotnet/GetProject.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { public static class GetProject { diff --git a/sdk/dotnet/GetProjectRole.cs b/sdk/dotnet/GetProjectRole.cs index ea8cf5a..dbda42a 100644 --- a/sdk/dotnet/GetProjectRole.cs +++ b/sdk/dotnet/GetProjectRole.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { public static class GetProjectRole { diff --git a/sdk/dotnet/GetProjects.cs b/sdk/dotnet/GetProjects.cs index 0c77c87..d6c823a 100644 --- a/sdk/dotnet/GetProjects.cs +++ b/sdk/dotnet/GetProjects.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { public static class GetProjects { diff --git a/sdk/dotnet/GetTriggerActions.cs b/sdk/dotnet/GetTriggerActions.cs index 8d160ce..db006c8 100644 --- a/sdk/dotnet/GetTriggerActions.cs +++ b/sdk/dotnet/GetTriggerActions.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { public static class GetTriggerActions { diff --git a/sdk/dotnet/HumanUser.cs b/sdk/dotnet/HumanUser.cs index 6bce7ac..d4e723c 100644 --- a/sdk/dotnet/HumanUser.cs +++ b/sdk/dotnet/HumanUser.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { /// /// **Caution: Email can only be set verified if a password is set for the user, either with initial_password or during runtime** @@ -21,7 +21,7 @@ namespace Pulumiverse.Zitadel /// using System.Collections.Generic; /// using System.Linq; /// using Pulumi; - /// using Zitadel = Pulumiverse.Zitadel; + /// using Zitadel = scoretechnologies.Zitadel; /// /// return await Deployment.RunAsync(() => /// { @@ -175,7 +175,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? var defaultOptions = new CustomResourceOptions { Version = Utilities.Version, - PluginDownloadURL = "github://api.github.com/pulumiverse", + PluginDownloadURL = "github://api.github.com/scoretechnologies", AdditionalSecretOutputs = { "initialPassword", diff --git a/sdk/dotnet/IdpAzureAd.cs b/sdk/dotnet/IdpAzureAd.cs index 620179a..f403a90 100644 --- a/sdk/dotnet/IdpAzureAd.cs +++ b/sdk/dotnet/IdpAzureAd.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { /// /// Resource representing an Azure AD IDP on the instance. @@ -19,7 +19,7 @@ namespace Pulumiverse.Zitadel /// using System.Collections.Generic; /// using System.Linq; /// using Pulumi; - /// using Zitadel = Pulumiverse.Zitadel; + /// using Zitadel = scoretechnologies.Zitadel; /// /// return await Deployment.RunAsync(() => /// { @@ -145,7 +145,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? var defaultOptions = new CustomResourceOptions { Version = Utilities.Version, - PluginDownloadURL = "github://api.github.com/pulumiverse", + PluginDownloadURL = "github://api.github.com/scoretechnologies", AdditionalSecretOutputs = { "clientSecret", diff --git a/sdk/dotnet/IdpGithub.cs b/sdk/dotnet/IdpGithub.cs index 314197a..7346b43 100644 --- a/sdk/dotnet/IdpGithub.cs +++ b/sdk/dotnet/IdpGithub.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { /// /// Resource representing a GitHub IDP on the instance. @@ -19,7 +19,7 @@ namespace Pulumiverse.Zitadel /// using System.Collections.Generic; /// using System.Linq; /// using Pulumi; - /// using Zitadel = Pulumiverse.Zitadel; + /// using Zitadel = scoretechnologies.Zitadel; /// /// return await Deployment.RunAsync(() => /// { @@ -124,7 +124,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? var defaultOptions = new CustomResourceOptions { Version = Utilities.Version, - PluginDownloadURL = "github://api.github.com/pulumiverse", + PluginDownloadURL = "github://api.github.com/scoretechnologies", AdditionalSecretOutputs = { "clientSecret", diff --git a/sdk/dotnet/IdpGithubEs.cs b/sdk/dotnet/IdpGithubEs.cs index 3e65c2f..ef93d16 100644 --- a/sdk/dotnet/IdpGithubEs.cs +++ b/sdk/dotnet/IdpGithubEs.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { /// /// Resource representing a GitHub Enterprise IDP on the instance. @@ -19,7 +19,7 @@ namespace Pulumiverse.Zitadel /// using System.Collections.Generic; /// using System.Linq; /// using Pulumi; - /// using Zitadel = Pulumiverse.Zitadel; + /// using Zitadel = scoretechnologies.Zitadel; /// /// return await Deployment.RunAsync(() => /// { @@ -145,7 +145,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? var defaultOptions = new CustomResourceOptions { Version = Utilities.Version, - PluginDownloadURL = "github://api.github.com/pulumiverse", + PluginDownloadURL = "github://api.github.com/scoretechnologies", AdditionalSecretOutputs = { "clientSecret", diff --git a/sdk/dotnet/IdpGitlab.cs b/sdk/dotnet/IdpGitlab.cs index d1bd098..cd40652 100644 --- a/sdk/dotnet/IdpGitlab.cs +++ b/sdk/dotnet/IdpGitlab.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { /// /// Resource representing a GitLab IDP on the instance. @@ -19,7 +19,7 @@ namespace Pulumiverse.Zitadel /// using System.Collections.Generic; /// using System.Linq; /// using Pulumi; - /// using Zitadel = Pulumiverse.Zitadel; + /// using Zitadel = scoretechnologies.Zitadel; /// /// return await Deployment.RunAsync(() => /// { @@ -124,7 +124,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? var defaultOptions = new CustomResourceOptions { Version = Utilities.Version, - PluginDownloadURL = "github://api.github.com/pulumiverse", + PluginDownloadURL = "github://api.github.com/scoretechnologies", AdditionalSecretOutputs = { "clientSecret", diff --git a/sdk/dotnet/IdpGitlabSelfHosted.cs b/sdk/dotnet/IdpGitlabSelfHosted.cs index c048cea..6993f2b 100644 --- a/sdk/dotnet/IdpGitlabSelfHosted.cs +++ b/sdk/dotnet/IdpGitlabSelfHosted.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { /// /// Resource representing a GitLab Self Hosted IDP on the instance. @@ -19,7 +19,7 @@ namespace Pulumiverse.Zitadel /// using System.Collections.Generic; /// using System.Linq; /// using Pulumi; - /// using Zitadel = Pulumiverse.Zitadel; + /// using Zitadel = scoretechnologies.Zitadel; /// /// return await Deployment.RunAsync(() => /// { @@ -131,7 +131,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? var defaultOptions = new CustomResourceOptions { Version = Utilities.Version, - PluginDownloadURL = "github://api.github.com/pulumiverse", + PluginDownloadURL = "github://api.github.com/scoretechnologies", AdditionalSecretOutputs = { "clientSecret", diff --git a/sdk/dotnet/IdpGoogle.cs b/sdk/dotnet/IdpGoogle.cs index cedb506..c86dd95 100644 --- a/sdk/dotnet/IdpGoogle.cs +++ b/sdk/dotnet/IdpGoogle.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { /// /// Resource representing a Google IDP on the instance. @@ -19,7 +19,7 @@ namespace Pulumiverse.Zitadel /// using System.Collections.Generic; /// using System.Linq; /// using Pulumi; - /// using Zitadel = Pulumiverse.Zitadel; + /// using Zitadel = scoretechnologies.Zitadel; /// /// return await Deployment.RunAsync(() => /// { @@ -124,7 +124,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? var defaultOptions = new CustomResourceOptions { Version = Utilities.Version, - PluginDownloadURL = "github://api.github.com/pulumiverse", + PluginDownloadURL = "github://api.github.com/scoretechnologies", AdditionalSecretOutputs = { "clientSecret", diff --git a/sdk/dotnet/IdpLdap.cs b/sdk/dotnet/IdpLdap.cs index 8618f7a..84b8cee 100644 --- a/sdk/dotnet/IdpLdap.cs +++ b/sdk/dotnet/IdpLdap.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { /// /// Resource representing an LDAP IDP on the instance. @@ -19,7 +19,7 @@ namespace Pulumiverse.Zitadel /// using System.Collections.Generic; /// using System.Linq; /// using Pulumi; - /// using Zitadel = Pulumiverse.Zitadel; + /// using Zitadel = scoretechnologies.Zitadel; /// /// return await Deployment.RunAsync(() => /// { @@ -253,7 +253,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? var defaultOptions = new CustomResourceOptions { Version = Utilities.Version, - PluginDownloadURL = "github://api.github.com/pulumiverse", + PluginDownloadURL = "github://api.github.com/scoretechnologies", AdditionalSecretOutputs = { "bindPassword", diff --git a/sdk/dotnet/IdpOauth.cs b/sdk/dotnet/IdpOauth.cs index 56e3eda..02350e6 100644 --- a/sdk/dotnet/IdpOauth.cs +++ b/sdk/dotnet/IdpOauth.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { /// /// Resource representing a generic OAuth2 IDP on the instance. @@ -19,7 +19,7 @@ namespace Pulumiverse.Zitadel /// using System.Collections.Generic; /// using System.Linq; /// using Pulumi; - /// using Zitadel = Pulumiverse.Zitadel; + /// using Zitadel = scoretechnologies.Zitadel; /// /// return await Deployment.RunAsync(() => /// { @@ -152,7 +152,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? var defaultOptions = new CustomResourceOptions { Version = Utilities.Version, - PluginDownloadURL = "github://api.github.com/pulumiverse", + PluginDownloadURL = "github://api.github.com/scoretechnologies", AdditionalSecretOutputs = { "clientSecret", diff --git a/sdk/dotnet/IdpSaml.cs b/sdk/dotnet/IdpSaml.cs index 7620a35..616da54 100644 --- a/sdk/dotnet/IdpSaml.cs +++ b/sdk/dotnet/IdpSaml.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { /// /// Resource representing a SAML IDP on the instance. @@ -19,7 +19,7 @@ namespace Pulumiverse.Zitadel /// using System.Collections.Generic; /// using System.Linq; /// using Pulumi; - /// using Zitadel = Pulumiverse.Zitadel; + /// using Zitadel = scoretechnologies.Zitadel; /// /// return await Deployment.RunAsync(() => /// { @@ -157,7 +157,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? var defaultOptions = new CustomResourceOptions { Version = Utilities.Version, - PluginDownloadURL = "github://api.github.com/pulumiverse", + PluginDownloadURL = "github://api.github.com/scoretechnologies", }; var merged = CustomResourceOptions.Merge(defaultOptions, options); // Override the ID if one was specified for consistency with other language SDKs. diff --git a/sdk/dotnet/InstanceMember.cs b/sdk/dotnet/InstanceMember.cs index dcf7a26..aeead4a 100644 --- a/sdk/dotnet/InstanceMember.cs +++ b/sdk/dotnet/InstanceMember.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { /// /// Resource representing the membership of a user on an instance, defined with the given role. @@ -19,7 +19,7 @@ namespace Pulumiverse.Zitadel /// using System.Collections.Generic; /// using System.Linq; /// using Pulumi; - /// using Zitadel = Pulumiverse.Zitadel; + /// using Zitadel = scoretechnologies.Zitadel; /// /// return await Deployment.RunAsync(() => /// { @@ -81,7 +81,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? var defaultOptions = new CustomResourceOptions { Version = Utilities.Version, - PluginDownloadURL = "github://api.github.com/pulumiverse", + PluginDownloadURL = "github://api.github.com/scoretechnologies", }; var merged = CustomResourceOptions.Merge(defaultOptions, options); // Override the ID if one was specified for consistency with other language SDKs. diff --git a/sdk/dotnet/LabelPolicy.cs b/sdk/dotnet/LabelPolicy.cs index 0e1a686..99b732a 100644 --- a/sdk/dotnet/LabelPolicy.cs +++ b/sdk/dotnet/LabelPolicy.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { /// /// Resource representing the custom label policy of an organization. @@ -170,7 +170,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? var defaultOptions = new CustomResourceOptions { Version = Utilities.Version, - PluginDownloadURL = "github://api.github.com/pulumiverse", + PluginDownloadURL = "github://api.github.com/scoretechnologies", }; var merged = CustomResourceOptions.Merge(defaultOptions, options); // Override the ID if one was specified for consistency with other language SDKs. diff --git a/sdk/dotnet/LockoutPolicy.cs b/sdk/dotnet/LockoutPolicy.cs index 814a45d..6b89434 100644 --- a/sdk/dotnet/LockoutPolicy.cs +++ b/sdk/dotnet/LockoutPolicy.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { /// /// Resource representing the custom lockout policy of an organization. @@ -19,7 +19,7 @@ namespace Pulumiverse.Zitadel /// using System.Collections.Generic; /// using System.Linq; /// using Pulumi; - /// using Zitadel = Pulumiverse.Zitadel; + /// using Zitadel = scoretechnologies.Zitadel; /// /// return await Deployment.RunAsync(() => /// { @@ -78,7 +78,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? var defaultOptions = new CustomResourceOptions { Version = Utilities.Version, - PluginDownloadURL = "github://api.github.com/pulumiverse", + PluginDownloadURL = "github://api.github.com/scoretechnologies", }; var merged = CustomResourceOptions.Merge(defaultOptions, options); // Override the ID if one was specified for consistency with other language SDKs. diff --git a/sdk/dotnet/LoginPolicy.cs b/sdk/dotnet/LoginPolicy.cs index a45f57c..bdc0ec3 100644 --- a/sdk/dotnet/LoginPolicy.cs +++ b/sdk/dotnet/LoginPolicy.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { /// /// Resource representing the custom login policy of an organization. @@ -19,7 +19,7 @@ namespace Pulumiverse.Zitadel /// using System.Collections.Generic; /// using System.Linq; /// using Pulumi; - /// using Zitadel = Pulumiverse.Zitadel; + /// using Zitadel = scoretechnologies.Zitadel; /// /// return await Deployment.RunAsync(() => /// { @@ -207,7 +207,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? var defaultOptions = new CustomResourceOptions { Version = Utilities.Version, - PluginDownloadURL = "github://api.github.com/pulumiverse", + PluginDownloadURL = "github://api.github.com/scoretechnologies", }; var merged = CustomResourceOptions.Merge(defaultOptions, options); // Override the ID if one was specified for consistency with other language SDKs. diff --git a/sdk/dotnet/MachineKey.cs b/sdk/dotnet/MachineKey.cs index f9d6e7c..bb67b5b 100644 --- a/sdk/dotnet/MachineKey.cs +++ b/sdk/dotnet/MachineKey.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { /// /// Resource representing a machine key @@ -19,7 +19,7 @@ namespace Pulumiverse.Zitadel /// using System.Collections.Generic; /// using System.Linq; /// using Pulumi; - /// using Zitadel = Pulumiverse.Zitadel; + /// using Zitadel = scoretechnologies.Zitadel; /// /// return await Deployment.RunAsync(() => /// { @@ -98,7 +98,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? var defaultOptions = new CustomResourceOptions { Version = Utilities.Version, - PluginDownloadURL = "github://api.github.com/pulumiverse", + PluginDownloadURL = "github://api.github.com/scoretechnologies", AdditionalSecretOutputs = { "keyDetails", diff --git a/sdk/dotnet/MachineUser.cs b/sdk/dotnet/MachineUser.cs index 5bb5701..7fdb4c9 100644 --- a/sdk/dotnet/MachineUser.cs +++ b/sdk/dotnet/MachineUser.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { /// /// Resource representing a serviceaccount situated under an organization, which then can be authorized through memberships or direct grants on other resources. @@ -19,7 +19,7 @@ namespace Pulumiverse.Zitadel /// using System.Collections.Generic; /// using System.Linq; /// using Pulumi; - /// using Zitadel = Pulumiverse.Zitadel; + /// using Zitadel = scoretechnologies.Zitadel; /// /// return await Deployment.RunAsync(() => /// { @@ -134,7 +134,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? var defaultOptions = new CustomResourceOptions { Version = Utilities.Version, - PluginDownloadURL = "github://api.github.com/pulumiverse", + PluginDownloadURL = "github://api.github.com/scoretechnologies", AdditionalSecretOutputs = { "clientId", diff --git a/sdk/dotnet/NotificationPolicy.cs b/sdk/dotnet/NotificationPolicy.cs index 55437d3..3b65f6e 100644 --- a/sdk/dotnet/NotificationPolicy.cs +++ b/sdk/dotnet/NotificationPolicy.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { /// /// Resource representing the custom notification policy of an organization. @@ -19,7 +19,7 @@ namespace Pulumiverse.Zitadel /// using System.Collections.Generic; /// using System.Linq; /// using Pulumi; - /// using Zitadel = Pulumiverse.Zitadel; + /// using Zitadel = scoretechnologies.Zitadel; /// /// return await Deployment.RunAsync(() => /// { @@ -78,7 +78,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? var defaultOptions = new CustomResourceOptions { Version = Utilities.Version, - PluginDownloadURL = "github://api.github.com/pulumiverse", + PluginDownloadURL = "github://api.github.com/scoretechnologies", }; var merged = CustomResourceOptions.Merge(defaultOptions, options); // Override the ID if one was specified for consistency with other language SDKs. diff --git a/sdk/dotnet/Org.cs b/sdk/dotnet/Org.cs index 811bde9..9440da8 100644 --- a/sdk/dotnet/Org.cs +++ b/sdk/dotnet/Org.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { /// /// Resource representing an organization in ZITADEL, which is the highest level after the instance and contains several other resource including policies if the configuration differs to the default policies on the instance. @@ -19,7 +19,7 @@ namespace Pulumiverse.Zitadel /// using System.Collections.Generic; /// using System.Linq; /// using Pulumi; - /// using Zitadel = Pulumiverse.Zitadel; + /// using Zitadel = scoretechnologies.Zitadel; /// /// return await Deployment.RunAsync(() => /// { @@ -86,7 +86,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? var defaultOptions = new CustomResourceOptions { Version = Utilities.Version, - PluginDownloadURL = "github://api.github.com/pulumiverse", + PluginDownloadURL = "github://api.github.com/scoretechnologies", }; var merged = CustomResourceOptions.Merge(defaultOptions, options); // Override the ID if one was specified for consistency with other language SDKs. diff --git a/sdk/dotnet/OrgIdpAzureAd.cs b/sdk/dotnet/OrgIdpAzureAd.cs index 2db18ab..9dc67f7 100644 --- a/sdk/dotnet/OrgIdpAzureAd.cs +++ b/sdk/dotnet/OrgIdpAzureAd.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { /// /// Resource representing an Azure AD IdP on the organization. @@ -19,7 +19,7 @@ namespace Pulumiverse.Zitadel /// using System.Collections.Generic; /// using System.Linq; /// using Pulumi; - /// using Zitadel = Pulumiverse.Zitadel; + /// using Zitadel = scoretechnologies.Zitadel; /// /// return await Deployment.RunAsync(() => /// { @@ -152,7 +152,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? var defaultOptions = new CustomResourceOptions { Version = Utilities.Version, - PluginDownloadURL = "github://api.github.com/pulumiverse", + PluginDownloadURL = "github://api.github.com/scoretechnologies", AdditionalSecretOutputs = { "clientSecret", diff --git a/sdk/dotnet/OrgIdpGithub.cs b/sdk/dotnet/OrgIdpGithub.cs index 29ddc08..aabe39b 100644 --- a/sdk/dotnet/OrgIdpGithub.cs +++ b/sdk/dotnet/OrgIdpGithub.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { /// /// Resource representing a GitHub IdP on the organization. @@ -19,7 +19,7 @@ namespace Pulumiverse.Zitadel /// using System.Collections.Generic; /// using System.Linq; /// using Pulumi; - /// using Zitadel = Pulumiverse.Zitadel; + /// using Zitadel = scoretechnologies.Zitadel; /// /// return await Deployment.RunAsync(() => /// { @@ -131,7 +131,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? var defaultOptions = new CustomResourceOptions { Version = Utilities.Version, - PluginDownloadURL = "github://api.github.com/pulumiverse", + PluginDownloadURL = "github://api.github.com/scoretechnologies", AdditionalSecretOutputs = { "clientSecret", diff --git a/sdk/dotnet/OrgIdpGithubEs.cs b/sdk/dotnet/OrgIdpGithubEs.cs index 31aa07e..c76c43b 100644 --- a/sdk/dotnet/OrgIdpGithubEs.cs +++ b/sdk/dotnet/OrgIdpGithubEs.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { /// /// Resource representing a GitHub Enterprise IdP on the organization. @@ -19,7 +19,7 @@ namespace Pulumiverse.Zitadel /// using System.Collections.Generic; /// using System.Linq; /// using Pulumi; - /// using Zitadel = Pulumiverse.Zitadel; + /// using Zitadel = scoretechnologies.Zitadel; /// /// return await Deployment.RunAsync(() => /// { @@ -152,7 +152,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? var defaultOptions = new CustomResourceOptions { Version = Utilities.Version, - PluginDownloadURL = "github://api.github.com/pulumiverse", + PluginDownloadURL = "github://api.github.com/scoretechnologies", AdditionalSecretOutputs = { "clientSecret", diff --git a/sdk/dotnet/OrgIdpGitlab.cs b/sdk/dotnet/OrgIdpGitlab.cs index d63fcab..6684d76 100644 --- a/sdk/dotnet/OrgIdpGitlab.cs +++ b/sdk/dotnet/OrgIdpGitlab.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { /// /// Resource representing a GitLab IdP on the organization. @@ -19,7 +19,7 @@ namespace Pulumiverse.Zitadel /// using System.Collections.Generic; /// using System.Linq; /// using Pulumi; - /// using Zitadel = Pulumiverse.Zitadel; + /// using Zitadel = scoretechnologies.Zitadel; /// /// return await Deployment.RunAsync(() => /// { @@ -131,7 +131,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? var defaultOptions = new CustomResourceOptions { Version = Utilities.Version, - PluginDownloadURL = "github://api.github.com/pulumiverse", + PluginDownloadURL = "github://api.github.com/scoretechnologies", AdditionalSecretOutputs = { "clientSecret", diff --git a/sdk/dotnet/OrgIdpGitlabSelfHosted.cs b/sdk/dotnet/OrgIdpGitlabSelfHosted.cs index fe7ec1e..2a9032d 100644 --- a/sdk/dotnet/OrgIdpGitlabSelfHosted.cs +++ b/sdk/dotnet/OrgIdpGitlabSelfHosted.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { /// /// Resource representing a GitLab Self Hosted IdP on the organization. @@ -19,7 +19,7 @@ namespace Pulumiverse.Zitadel /// using System.Collections.Generic; /// using System.Linq; /// using Pulumi; - /// using Zitadel = Pulumiverse.Zitadel; + /// using Zitadel = scoretechnologies.Zitadel; /// /// return await Deployment.RunAsync(() => /// { @@ -138,7 +138,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? var defaultOptions = new CustomResourceOptions { Version = Utilities.Version, - PluginDownloadURL = "github://api.github.com/pulumiverse", + PluginDownloadURL = "github://api.github.com/scoretechnologies", AdditionalSecretOutputs = { "clientSecret", diff --git a/sdk/dotnet/OrgIdpGoogle.cs b/sdk/dotnet/OrgIdpGoogle.cs index c7605f6..34ea64c 100644 --- a/sdk/dotnet/OrgIdpGoogle.cs +++ b/sdk/dotnet/OrgIdpGoogle.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { /// /// Resource representing a Google IdP on the organization. @@ -19,7 +19,7 @@ namespace Pulumiverse.Zitadel /// using System.Collections.Generic; /// using System.Linq; /// using Pulumi; - /// using Zitadel = Pulumiverse.Zitadel; + /// using Zitadel = scoretechnologies.Zitadel; /// /// return await Deployment.RunAsync(() => /// { @@ -131,7 +131,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? var defaultOptions = new CustomResourceOptions { Version = Utilities.Version, - PluginDownloadURL = "github://api.github.com/pulumiverse", + PluginDownloadURL = "github://api.github.com/scoretechnologies", AdditionalSecretOutputs = { "clientSecret", diff --git a/sdk/dotnet/OrgIdpJwt.cs b/sdk/dotnet/OrgIdpJwt.cs index cb17e4e..d17700d 100644 --- a/sdk/dotnet/OrgIdpJwt.cs +++ b/sdk/dotnet/OrgIdpJwt.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { /// /// Resource representing a generic JWT IdP of the organization. @@ -19,7 +19,7 @@ namespace Pulumiverse.Zitadel /// using System.Collections.Generic; /// using System.Linq; /// using Pulumi; - /// using Zitadel = Pulumiverse.Zitadel; + /// using Zitadel = scoretechnologies.Zitadel; /// /// return await Deployment.RunAsync(() => /// { @@ -119,7 +119,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? var defaultOptions = new CustomResourceOptions { Version = Utilities.Version, - PluginDownloadURL = "github://api.github.com/pulumiverse", + PluginDownloadURL = "github://api.github.com/scoretechnologies", }; var merged = CustomResourceOptions.Merge(defaultOptions, options); // Override the ID if one was specified for consistency with other language SDKs. diff --git a/sdk/dotnet/OrgIdpLdap.cs b/sdk/dotnet/OrgIdpLdap.cs index eaf1a5d..cf27f92 100644 --- a/sdk/dotnet/OrgIdpLdap.cs +++ b/sdk/dotnet/OrgIdpLdap.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { /// /// Resource representing an LDAP IdP on the organization. @@ -19,7 +19,7 @@ namespace Pulumiverse.Zitadel /// using System.Collections.Generic; /// using System.Linq; /// using Pulumi; - /// using Zitadel = Pulumiverse.Zitadel; + /// using Zitadel = scoretechnologies.Zitadel; /// /// return await Deployment.RunAsync(() => /// { @@ -260,7 +260,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? var defaultOptions = new CustomResourceOptions { Version = Utilities.Version, - PluginDownloadURL = "github://api.github.com/pulumiverse", + PluginDownloadURL = "github://api.github.com/scoretechnologies", AdditionalSecretOutputs = { "bindPassword", diff --git a/sdk/dotnet/OrgIdpOauth.cs b/sdk/dotnet/OrgIdpOauth.cs index 3636b64..59c3279 100644 --- a/sdk/dotnet/OrgIdpOauth.cs +++ b/sdk/dotnet/OrgIdpOauth.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { /// /// Resource representing a generic OAuth2 IDP on the organization. @@ -19,7 +19,7 @@ namespace Pulumiverse.Zitadel /// using System.Collections.Generic; /// using System.Linq; /// using Pulumi; - /// using Zitadel = Pulumiverse.Zitadel; + /// using Zitadel = scoretechnologies.Zitadel; /// /// return await Deployment.RunAsync(() => /// { @@ -159,7 +159,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? var defaultOptions = new CustomResourceOptions { Version = Utilities.Version, - PluginDownloadURL = "github://api.github.com/pulumiverse", + PluginDownloadURL = "github://api.github.com/scoretechnologies", AdditionalSecretOutputs = { "clientSecret", diff --git a/sdk/dotnet/OrgIdpOidc.cs b/sdk/dotnet/OrgIdpOidc.cs index 92d5173..55c1f78 100644 --- a/sdk/dotnet/OrgIdpOidc.cs +++ b/sdk/dotnet/OrgIdpOidc.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { /// /// Resource representing a generic OIDC IdP on the organization. @@ -19,7 +19,7 @@ namespace Pulumiverse.Zitadel /// using System.Collections.Generic; /// using System.Linq; /// using Pulumi; - /// using Zitadel = Pulumiverse.Zitadel; + /// using Zitadel = scoretechnologies.Zitadel; /// /// return await Deployment.RunAsync(() => /// { @@ -145,7 +145,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? var defaultOptions = new CustomResourceOptions { Version = Utilities.Version, - PluginDownloadURL = "github://api.github.com/pulumiverse", + PluginDownloadURL = "github://api.github.com/scoretechnologies", AdditionalSecretOutputs = { "clientSecret", diff --git a/sdk/dotnet/OrgIdpSaml.cs b/sdk/dotnet/OrgIdpSaml.cs index 4fb16a4..a49baee 100644 --- a/sdk/dotnet/OrgIdpSaml.cs +++ b/sdk/dotnet/OrgIdpSaml.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { /// /// Resource representing a SAML IdP on the organization. @@ -19,7 +19,7 @@ namespace Pulumiverse.Zitadel /// using System.Collections.Generic; /// using System.Linq; /// using Pulumi; - /// using Zitadel = Pulumiverse.Zitadel; + /// using Zitadel = scoretechnologies.Zitadel; /// /// return await Deployment.RunAsync(() => /// { @@ -163,7 +163,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? var defaultOptions = new CustomResourceOptions { Version = Utilities.Version, - PluginDownloadURL = "github://api.github.com/pulumiverse", + PluginDownloadURL = "github://api.github.com/scoretechnologies", }; var merged = CustomResourceOptions.Merge(defaultOptions, options); // Override the ID if one was specified for consistency with other language SDKs. diff --git a/sdk/dotnet/OrgMember.cs b/sdk/dotnet/OrgMember.cs index 4587746..fa53d00 100644 --- a/sdk/dotnet/OrgMember.cs +++ b/sdk/dotnet/OrgMember.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { /// /// Resource representing the membership of a user on an organization, defined with the given role. @@ -19,7 +19,7 @@ namespace Pulumiverse.Zitadel /// using System.Collections.Generic; /// using System.Linq; /// using Pulumi; - /// using Zitadel = Pulumiverse.Zitadel; + /// using Zitadel = scoretechnologies.Zitadel; /// /// return await Deployment.RunAsync(() => /// { @@ -88,7 +88,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? var defaultOptions = new CustomResourceOptions { Version = Utilities.Version, - PluginDownloadURL = "github://api.github.com/pulumiverse", + PluginDownloadURL = "github://api.github.com/scoretechnologies", }; var merged = CustomResourceOptions.Merge(defaultOptions, options); // Override the ID if one was specified for consistency with other language SDKs. diff --git a/sdk/dotnet/OrgMetadata.cs b/sdk/dotnet/OrgMetadata.cs index 6d7c9a7..9dcee81 100644 --- a/sdk/dotnet/OrgMetadata.cs +++ b/sdk/dotnet/OrgMetadata.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { /// /// ## Example Usage @@ -17,7 +17,7 @@ namespace Pulumiverse.Zitadel /// using System.Collections.Generic; /// using System.Linq; /// using Pulumi; - /// using Zitadel = Pulumiverse.Zitadel; + /// using Zitadel = scoretechnologies.Zitadel; /// /// return await Deployment.RunAsync(() => /// { @@ -83,7 +83,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? var defaultOptions = new CustomResourceOptions { Version = Utilities.Version, - PluginDownloadURL = "github://api.github.com/pulumiverse", + PluginDownloadURL = "github://api.github.com/scoretechnologies", }; var merged = CustomResourceOptions.Merge(defaultOptions, options); // Override the ID if one was specified for consistency with other language SDKs. diff --git a/sdk/dotnet/PasswordComplexityPolicy.cs b/sdk/dotnet/PasswordComplexityPolicy.cs index 1796429..f3e9c23 100644 --- a/sdk/dotnet/PasswordComplexityPolicy.cs +++ b/sdk/dotnet/PasswordComplexityPolicy.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { /// /// Resource representing the custom password complexity policy of an organization. @@ -19,7 +19,7 @@ namespace Pulumiverse.Zitadel /// using System.Collections.Generic; /// using System.Linq; /// using Pulumi; - /// using Zitadel = Pulumiverse.Zitadel; + /// using Zitadel = scoretechnologies.Zitadel; /// /// return await Deployment.RunAsync(() => /// { @@ -98,7 +98,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? var defaultOptions = new CustomResourceOptions { Version = Utilities.Version, - PluginDownloadURL = "github://api.github.com/pulumiverse", + PluginDownloadURL = "github://api.github.com/scoretechnologies", }; var merged = CustomResourceOptions.Merge(defaultOptions, options); // Override the ID if one was specified for consistency with other language SDKs. diff --git a/sdk/dotnet/PersonalAccessToken.cs b/sdk/dotnet/PersonalAccessToken.cs index dd619f2..36495ec 100644 --- a/sdk/dotnet/PersonalAccessToken.cs +++ b/sdk/dotnet/PersonalAccessToken.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { /// /// Resource representing a personal access token of a user @@ -19,7 +19,7 @@ namespace Pulumiverse.Zitadel /// using System.Collections.Generic; /// using System.Linq; /// using Pulumi; - /// using Zitadel = Pulumiverse.Zitadel; + /// using Zitadel = scoretechnologies.Zitadel; /// /// return await Deployment.RunAsync(() => /// { @@ -91,7 +91,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? var defaultOptions = new CustomResourceOptions { Version = Utilities.Version, - PluginDownloadURL = "github://api.github.com/pulumiverse", + PluginDownloadURL = "github://api.github.com/scoretechnologies", AdditionalSecretOutputs = { "token", diff --git a/sdk/dotnet/PrivacyPolicy.cs b/sdk/dotnet/PrivacyPolicy.cs index 16c5ae9..4eead2d 100644 --- a/sdk/dotnet/PrivacyPolicy.cs +++ b/sdk/dotnet/PrivacyPolicy.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { /// /// Resource representing the custom privacy policy of an organization. @@ -19,7 +19,7 @@ namespace Pulumiverse.Zitadel /// using System.Collections.Generic; /// using System.Linq; /// using Pulumi; - /// using Zitadel = Pulumiverse.Zitadel; + /// using Zitadel = scoretechnologies.Zitadel; /// /// return await Deployment.RunAsync(() => /// { @@ -87,7 +87,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? var defaultOptions = new CustomResourceOptions { Version = Utilities.Version, - PluginDownloadURL = "github://api.github.com/pulumiverse", + PluginDownloadURL = "github://api.github.com/scoretechnologies", }; var merged = CustomResourceOptions.Merge(defaultOptions, options); // Override the ID if one was specified for consistency with other language SDKs. diff --git a/sdk/dotnet/Project.cs b/sdk/dotnet/Project.cs index ff8ee86..bcd6d21 100644 --- a/sdk/dotnet/Project.cs +++ b/sdk/dotnet/Project.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { /// /// Resource representing the project, which can then be granted to different organizations or users directly, containing different applications. @@ -19,7 +19,7 @@ namespace Pulumiverse.Zitadel /// using System.Collections.Generic; /// using System.Linq; /// using Pulumi; - /// using Zitadel = Pulumiverse.Zitadel; + /// using Zitadel = scoretechnologies.Zitadel; /// /// return await Deployment.RunAsync(() => /// { @@ -111,7 +111,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? var defaultOptions = new CustomResourceOptions { Version = Utilities.Version, - PluginDownloadURL = "github://api.github.com/pulumiverse", + PluginDownloadURL = "github://api.github.com/scoretechnologies", }; var merged = CustomResourceOptions.Merge(defaultOptions, options); // Override the ID if one was specified for consistency with other language SDKs. diff --git a/sdk/dotnet/ProjectGrant.cs b/sdk/dotnet/ProjectGrant.cs index b164362..24814ab 100644 --- a/sdk/dotnet/ProjectGrant.cs +++ b/sdk/dotnet/ProjectGrant.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { /// /// Resource representing the grant of a project to a different organization, also containing the available roles which can be given to the members of the projectgrant. @@ -19,7 +19,7 @@ namespace Pulumiverse.Zitadel /// using System.Collections.Generic; /// using System.Linq; /// using Pulumi; - /// using Zitadel = Pulumiverse.Zitadel; + /// using Zitadel = scoretechnologies.Zitadel; /// /// return await Deployment.RunAsync(() => /// { @@ -95,7 +95,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? var defaultOptions = new CustomResourceOptions { Version = Utilities.Version, - PluginDownloadURL = "github://api.github.com/pulumiverse", + PluginDownloadURL = "github://api.github.com/scoretechnologies", }; var merged = CustomResourceOptions.Merge(defaultOptions, options); // Override the ID if one was specified for consistency with other language SDKs. diff --git a/sdk/dotnet/ProjectGrantMember.cs b/sdk/dotnet/ProjectGrantMember.cs index 3644b8d..3d6aca3 100644 --- a/sdk/dotnet/ProjectGrantMember.cs +++ b/sdk/dotnet/ProjectGrantMember.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { /// /// Resource representing the membership of a user on an granted project, defined with the given role. @@ -19,7 +19,7 @@ namespace Pulumiverse.Zitadel /// using System.Collections.Generic; /// using System.Linq; /// using Pulumi; - /// using Zitadel = Pulumiverse.Zitadel; + /// using Zitadel = scoretechnologies.Zitadel; /// /// return await Deployment.RunAsync(() => /// { @@ -102,7 +102,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? var defaultOptions = new CustomResourceOptions { Version = Utilities.Version, - PluginDownloadURL = "github://api.github.com/pulumiverse", + PluginDownloadURL = "github://api.github.com/scoretechnologies", }; var merged = CustomResourceOptions.Merge(defaultOptions, options); // Override the ID if one was specified for consistency with other language SDKs. diff --git a/sdk/dotnet/ProjectMember.cs b/sdk/dotnet/ProjectMember.cs index 72085b0..d64e19a 100644 --- a/sdk/dotnet/ProjectMember.cs +++ b/sdk/dotnet/ProjectMember.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { /// /// Resource representing the membership of a user on an project, defined with the given role. @@ -19,7 +19,7 @@ namespace Pulumiverse.Zitadel /// using System.Collections.Generic; /// using System.Linq; /// using Pulumi; - /// using Zitadel = Pulumiverse.Zitadel; + /// using Zitadel = scoretechnologies.Zitadel; /// /// return await Deployment.RunAsync(() => /// { @@ -95,7 +95,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? var defaultOptions = new CustomResourceOptions { Version = Utilities.Version, - PluginDownloadURL = "github://api.github.com/pulumiverse", + PluginDownloadURL = "github://api.github.com/scoretechnologies", }; var merged = CustomResourceOptions.Merge(defaultOptions, options); // Override the ID if one was specified for consistency with other language SDKs. diff --git a/sdk/dotnet/ProjectRole.cs b/sdk/dotnet/ProjectRole.cs index 68180fd..6aac985 100644 --- a/sdk/dotnet/ProjectRole.cs +++ b/sdk/dotnet/ProjectRole.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { /// /// Resource representing the project roles, which can be given as authorizations to users. @@ -19,7 +19,7 @@ namespace Pulumiverse.Zitadel /// using System.Collections.Generic; /// using System.Linq; /// using Pulumi; - /// using Zitadel = Pulumiverse.Zitadel; + /// using Zitadel = scoretechnologies.Zitadel; /// /// return await Deployment.RunAsync(() => /// { @@ -99,7 +99,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? var defaultOptions = new CustomResourceOptions { Version = Utilities.Version, - PluginDownloadURL = "github://api.github.com/pulumiverse", + PluginDownloadURL = "github://api.github.com/scoretechnologies", }; var merged = CustomResourceOptions.Merge(defaultOptions, options); // Override the ID if one was specified for consistency with other language SDKs. diff --git a/sdk/dotnet/Provider.cs b/sdk/dotnet/Provider.cs index c711392..f8eb7c8 100644 --- a/sdk/dotnet/Provider.cs +++ b/sdk/dotnet/Provider.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { /// /// The provider type for the zitadel package. By default, resources use package-wide configuration @@ -68,7 +68,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? var defaultOptions = new CustomResourceOptions { Version = Utilities.Version, - PluginDownloadURL = "github://api.github.com/pulumiverse", + PluginDownloadURL = "github://api.github.com/scoretechnologies", }; var merged = CustomResourceOptions.Merge(defaultOptions, options); // Override the ID if one was specified for consistency with other language SDKs. diff --git a/sdk/dotnet/SmsProviderTwilio.cs b/sdk/dotnet/SmsProviderTwilio.cs index b52054a..a778830 100644 --- a/sdk/dotnet/SmsProviderTwilio.cs +++ b/sdk/dotnet/SmsProviderTwilio.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { /// /// Resource representing the SMS provider Twilio configuration of an instance. @@ -19,7 +19,7 @@ namespace Pulumiverse.Zitadel /// using System.Collections.Generic; /// using System.Linq; /// using Pulumi; - /// using Zitadel = Pulumiverse.Zitadel; + /// using Zitadel = scoretechnologies.Zitadel; /// /// return await Deployment.RunAsync(() => /// { @@ -85,7 +85,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? var defaultOptions = new CustomResourceOptions { Version = Utilities.Version, - PluginDownloadURL = "github://api.github.com/pulumiverse", + PluginDownloadURL = "github://api.github.com/scoretechnologies", AdditionalSecretOutputs = { "token", diff --git a/sdk/dotnet/SmtpConfig.cs b/sdk/dotnet/SmtpConfig.cs index 9541694..54d2c15 100644 --- a/sdk/dotnet/SmtpConfig.cs +++ b/sdk/dotnet/SmtpConfig.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { /// /// Resource representing the SMTP configuration of an instance. @@ -19,7 +19,7 @@ namespace Pulumiverse.Zitadel /// using System.Collections.Generic; /// using System.Linq; /// using Pulumi; - /// using Zitadel = Pulumiverse.Zitadel; + /// using Zitadel = scoretechnologies.Zitadel; /// /// return await Deployment.RunAsync(() => /// { @@ -113,7 +113,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? var defaultOptions = new CustomResourceOptions { Version = Utilities.Version, - PluginDownloadURL = "github://api.github.com/pulumiverse", + PluginDownloadURL = "github://api.github.com/scoretechnologies", AdditionalSecretOutputs = { "password", diff --git a/sdk/dotnet/TriggerActions.cs b/sdk/dotnet/TriggerActions.cs index b0b515e..c229a4e 100644 --- a/sdk/dotnet/TriggerActions.cs +++ b/sdk/dotnet/TriggerActions.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { /// /// Resource representing triggers, when actions get started @@ -19,7 +19,7 @@ namespace Pulumiverse.Zitadel /// using System.Collections.Generic; /// using System.Linq; /// using Pulumi; - /// using Zitadel = Pulumiverse.Zitadel; + /// using Zitadel = scoretechnologies.Zitadel; /// /// return await Deployment.RunAsync(() => /// { @@ -95,7 +95,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? var defaultOptions = new CustomResourceOptions { Version = Utilities.Version, - PluginDownloadURL = "github://api.github.com/pulumiverse", + PluginDownloadURL = "github://api.github.com/scoretechnologies", }; var merged = CustomResourceOptions.Merge(defaultOptions, options); // Override the ID if one was specified for consistency with other language SDKs. diff --git a/sdk/dotnet/UserGrant.cs b/sdk/dotnet/UserGrant.cs index 00052c1..2dd0b62 100644 --- a/sdk/dotnet/UserGrant.cs +++ b/sdk/dotnet/UserGrant.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { /// /// Resource representing the authorization given to a user directly, including the given roles. @@ -19,7 +19,7 @@ namespace Pulumiverse.Zitadel /// using System.Collections.Generic; /// using System.Linq; /// using Pulumi; - /// using Zitadel = Pulumiverse.Zitadel; + /// using Zitadel = scoretechnologies.Zitadel; /// /// return await Deployment.RunAsync(() => /// { @@ -101,7 +101,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? var defaultOptions = new CustomResourceOptions { Version = Utilities.Version, - PluginDownloadURL = "github://api.github.com/pulumiverse", + PluginDownloadURL = "github://api.github.com/scoretechnologies", }; var merged = CustomResourceOptions.Merge(defaultOptions, options); // Override the ID if one was specified for consistency with other language SDKs. diff --git a/sdk/dotnet/UserMetadata.cs b/sdk/dotnet/UserMetadata.cs index 4b79a39..cb9433f 100644 --- a/sdk/dotnet/UserMetadata.cs +++ b/sdk/dotnet/UserMetadata.cs @@ -8,7 +8,7 @@ using Pulumi.Serialization; using Pulumi; -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { /// /// ## Example Usage @@ -17,7 +17,7 @@ namespace Pulumiverse.Zitadel /// using System.Collections.Generic; /// using System.Linq; /// using Pulumi; - /// using Zitadel = Pulumiverse.Zitadel; + /// using Zitadel = scoretechnologies.Zitadel; /// /// return await Deployment.RunAsync(() => /// { @@ -90,7 +90,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? var defaultOptions = new CustomResourceOptions { Version = Utilities.Version, - PluginDownloadURL = "github://api.github.com/pulumiverse", + PluginDownloadURL = "github://api.github.com/scoretechnologies", }; var merged = CustomResourceOptions.Merge(defaultOptions, options); // Override the ID if one was specified for consistency with other language SDKs. diff --git a/sdk/dotnet/Utilities.cs b/sdk/dotnet/Utilities.cs index e942ca1..a78e586 100644 --- a/sdk/dotnet/Utilities.cs +++ b/sdk/dotnet/Utilities.cs @@ -1,7 +1,7 @@ // *** 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! *** -namespace Pulumiverse.Zitadel +namespace scoretechnologies.Zitadel { static class Utilities { @@ -53,7 +53,7 @@ static class Utilities { var dst = src ?? new global::Pulumi.InvokeOptions{}; dst.Version = src?.Version ?? Version; - dst.PluginDownloadURL = src?.PluginDownloadURL ?? "github://api.github.com/pulumiverse"; + dst.PluginDownloadURL = src?.PluginDownloadURL ?? "github://api.github.com/scoretechnologies"; return dst; } @@ -63,7 +63,7 @@ static class Utilities static Utilities() { var assembly = global::System.Reflection.IntrospectionExtensions.GetTypeInfo(typeof(Utilities)).Assembly; - using var stream = assembly.GetManifestResourceStream("Pulumiverse.Zitadel.version.txt"); + using var stream = assembly.GetManifestResourceStream("scoretechnologies.Zitadel.version.txt"); using var reader = new global::System.IO.StreamReader(stream ?? throw new global::System.NotSupportedException("Missing embedded version.txt file")); version = reader.ReadToEnd().Trim(); var parts = version.Split("\n"); diff --git a/sdk/dotnet/pulumi-plugin.json b/sdk/dotnet/pulumi-plugin.json index 6a69d3d..3e745de 100644 --- a/sdk/dotnet/pulumi-plugin.json +++ b/sdk/dotnet/pulumi-plugin.json @@ -1,5 +1,5 @@ { "resource": true, "name": "zitadel", - "server": "github://api.github.com/pulumiverse" + "server": "github://api.github.com/scoretechnologies" } diff --git a/sdk/dotnet/Pulumiverse.Zitadel.csproj b/sdk/dotnet/scoretechnologies.Zitadel.csproj similarity index 91% rename from sdk/dotnet/Pulumiverse.Zitadel.csproj rename to sdk/dotnet/scoretechnologies.Zitadel.csproj index 288497c..642d996 100644 --- a/sdk/dotnet/Pulumiverse.Zitadel.csproj +++ b/sdk/dotnet/scoretechnologies.Zitadel.csproj @@ -2,12 +2,12 @@ true - pulumiverse - pulumiverse + scoretechnologies + scoretechnologies A Pulumi package for creating and managing zitadel cloud resources. Apache-2.0 https://www.pulumi.com - https://github.com/pulumiverse/pulumi-zitadel + https://github.com/scoretechnologies/pulumi-zitadel logo.png net6.0 diff --git a/sdk/go.mod b/sdk/go.mod index 69afbc7..745174e 100644 --- a/sdk/go.mod +++ b/sdk/go.mod @@ -1,4 +1,4 @@ -module github.com/pulumiverse/pulumi-zitadel/sdk +module github.com/scoretechnologies/pulumi-zitadel/sdk go 1.21 diff --git a/sdk/go/zitadel/action.go b/sdk/go/zitadel/action.go index aee1e97..70a1404 100644 --- a/sdk/go/zitadel/action.go +++ b/sdk/go/zitadel/action.go @@ -10,7 +10,7 @@ import ( "errors" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Resource representing an action belonging to an organization. @@ -23,7 +23,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/applicationApi.go b/sdk/go/zitadel/applicationApi.go index cdb312f..4c69fd4 100644 --- a/sdk/go/zitadel/applicationApi.go +++ b/sdk/go/zitadel/applicationApi.go @@ -10,7 +10,7 @@ import ( "errors" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Resource representing an API application belonging to a project, with all configuration possibilities. @@ -23,7 +23,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/applicationKey.go b/sdk/go/zitadel/applicationKey.go index 1e22953..b488501 100644 --- a/sdk/go/zitadel/applicationKey.go +++ b/sdk/go/zitadel/applicationKey.go @@ -10,7 +10,7 @@ import ( "errors" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Resource representing a app key @@ -23,7 +23,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/applicationOidc.go b/sdk/go/zitadel/applicationOidc.go index 6dbfdad..994ca0c 100644 --- a/sdk/go/zitadel/applicationOidc.go +++ b/sdk/go/zitadel/applicationOidc.go @@ -10,7 +10,7 @@ import ( "errors" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Resource representing an OIDC application belonging to a project, with all configuration possibilities. @@ -23,7 +23,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/applicationSaml.go b/sdk/go/zitadel/applicationSaml.go index 93d193d..efe1edb 100644 --- a/sdk/go/zitadel/applicationSaml.go +++ b/sdk/go/zitadel/applicationSaml.go @@ -10,7 +10,7 @@ import ( "errors" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Resource representing a SAML application belonging to a project, with all configuration possibilities. @@ -23,7 +23,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/config/config.go b/sdk/go/zitadel/config/config.go index 07d9779..92f4b34 100644 --- a/sdk/go/zitadel/config/config.go +++ b/sdk/go/zitadel/config/config.go @@ -6,7 +6,7 @@ package config import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumi/config" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) var _ = internal.GetEnvOrDefault diff --git a/sdk/go/zitadel/defaultDomainPolicy.go b/sdk/go/zitadel/defaultDomainPolicy.go index 4e5b178..5712fc4 100644 --- a/sdk/go/zitadel/defaultDomainPolicy.go +++ b/sdk/go/zitadel/defaultDomainPolicy.go @@ -10,7 +10,7 @@ import ( "errors" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Resource representing the default domain policy. @@ -23,7 +23,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/defaultLabelPolicy.go b/sdk/go/zitadel/defaultLabelPolicy.go index 3c27d1f..64a19e2 100644 --- a/sdk/go/zitadel/defaultLabelPolicy.go +++ b/sdk/go/zitadel/defaultLabelPolicy.go @@ -10,7 +10,7 @@ import ( "errors" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Resource representing the default label policy. diff --git a/sdk/go/zitadel/defaultLockoutPolicy.go b/sdk/go/zitadel/defaultLockoutPolicy.go index eda1ef5..61c4b21 100644 --- a/sdk/go/zitadel/defaultLockoutPolicy.go +++ b/sdk/go/zitadel/defaultLockoutPolicy.go @@ -10,7 +10,7 @@ import ( "errors" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Resource representing the default lockout policy. @@ -23,7 +23,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/defaultLoginPolicy.go b/sdk/go/zitadel/defaultLoginPolicy.go index 406b395..657e348 100644 --- a/sdk/go/zitadel/defaultLoginPolicy.go +++ b/sdk/go/zitadel/defaultLoginPolicy.go @@ -10,7 +10,7 @@ import ( "errors" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Resource representing the default login policy. @@ -23,7 +23,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/defaultNotificationPolicy.go b/sdk/go/zitadel/defaultNotificationPolicy.go index 03a759b..5abfe74 100644 --- a/sdk/go/zitadel/defaultNotificationPolicy.go +++ b/sdk/go/zitadel/defaultNotificationPolicy.go @@ -10,7 +10,7 @@ import ( "errors" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Resource representing the default notification policy. @@ -23,7 +23,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/defaultOidcSettings.go b/sdk/go/zitadel/defaultOidcSettings.go index 94be1eb..bee5c46 100644 --- a/sdk/go/zitadel/defaultOidcSettings.go +++ b/sdk/go/zitadel/defaultOidcSettings.go @@ -10,7 +10,7 @@ import ( "errors" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Resource representing the default oidc settings. @@ -23,7 +23,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/defaultPasswordComplexityPolicy.go b/sdk/go/zitadel/defaultPasswordComplexityPolicy.go index 43cb22c..d64ce58 100644 --- a/sdk/go/zitadel/defaultPasswordComplexityPolicy.go +++ b/sdk/go/zitadel/defaultPasswordComplexityPolicy.go @@ -10,7 +10,7 @@ import ( "errors" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Resource representing the default password complexity policy. @@ -23,7 +23,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/defaultPrivacyPolicy.go b/sdk/go/zitadel/defaultPrivacyPolicy.go index 65cf0d5..7f992b4 100644 --- a/sdk/go/zitadel/defaultPrivacyPolicy.go +++ b/sdk/go/zitadel/defaultPrivacyPolicy.go @@ -9,7 +9,7 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Resource representing the default privacy policy. @@ -22,7 +22,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/domain.go b/sdk/go/zitadel/domain.go index 2af3b52..8dea4ae 100644 --- a/sdk/go/zitadel/domain.go +++ b/sdk/go/zitadel/domain.go @@ -9,7 +9,7 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Resource representing a domain of the organization. @@ -22,7 +22,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/domainPolicy.go b/sdk/go/zitadel/domainPolicy.go index 388e08d..e5eb9a4 100644 --- a/sdk/go/zitadel/domainPolicy.go +++ b/sdk/go/zitadel/domainPolicy.go @@ -10,7 +10,7 @@ import ( "errors" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Resource representing the custom domain policy of an organization. @@ -23,7 +23,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/getAction.go b/sdk/go/zitadel/getAction.go index 928e186..e4a283a 100644 --- a/sdk/go/zitadel/getAction.go +++ b/sdk/go/zitadel/getAction.go @@ -9,7 +9,7 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Datasource representing an action belonging to an organization. @@ -22,7 +22,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/getApplicationApi.go b/sdk/go/zitadel/getApplicationApi.go index 2c7edb5..02b8ba1 100644 --- a/sdk/go/zitadel/getApplicationApi.go +++ b/sdk/go/zitadel/getApplicationApi.go @@ -9,7 +9,7 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Datasource representing an API application belonging to a project, with all configuration possibilities. @@ -22,7 +22,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/getApplicationApis.go b/sdk/go/zitadel/getApplicationApis.go index c0be90b..08fc72f 100644 --- a/sdk/go/zitadel/getApplicationApis.go +++ b/sdk/go/zitadel/getApplicationApis.go @@ -9,7 +9,7 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Datasource representing multiple API applications belonging to a project. diff --git a/sdk/go/zitadel/getApplicationOidc.go b/sdk/go/zitadel/getApplicationOidc.go index 84e2321..0da37a0 100644 --- a/sdk/go/zitadel/getApplicationOidc.go +++ b/sdk/go/zitadel/getApplicationOidc.go @@ -9,7 +9,7 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Datasource representing an OIDC application belonging to a project, with all configuration possibilities. @@ -22,7 +22,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/getApplicationOidcs.go b/sdk/go/zitadel/getApplicationOidcs.go index 17d2f6f..947f5a2 100644 --- a/sdk/go/zitadel/getApplicationOidcs.go +++ b/sdk/go/zitadel/getApplicationOidcs.go @@ -9,7 +9,7 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Datasource representing multiple OIDC applications belonging to a project. diff --git a/sdk/go/zitadel/getApplicationSaml.go b/sdk/go/zitadel/getApplicationSaml.go index d142feb..d06d5f4 100644 --- a/sdk/go/zitadel/getApplicationSaml.go +++ b/sdk/go/zitadel/getApplicationSaml.go @@ -9,7 +9,7 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Datasource representing a SAML application belonging to a project, with all configuration possibilities. @@ -22,7 +22,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/getApplicationSamls.go b/sdk/go/zitadel/getApplicationSamls.go index d301f2f..0b78821 100644 --- a/sdk/go/zitadel/getApplicationSamls.go +++ b/sdk/go/zitadel/getApplicationSamls.go @@ -9,7 +9,7 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Datasource representing multiple SAML applications belonging to a project. diff --git a/sdk/go/zitadel/getDefaultOidcSettings.go b/sdk/go/zitadel/getDefaultOidcSettings.go index 9fd67e8..a8d3eaa 100644 --- a/sdk/go/zitadel/getDefaultOidcSettings.go +++ b/sdk/go/zitadel/getDefaultOidcSettings.go @@ -9,7 +9,7 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Datasource representing the default oidc settings. @@ -22,7 +22,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/getHumanUser.go b/sdk/go/zitadel/getHumanUser.go index 69790a0..c4278ac 100644 --- a/sdk/go/zitadel/getHumanUser.go +++ b/sdk/go/zitadel/getHumanUser.go @@ -9,7 +9,7 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Datasource representing a human user situated under an organization, which then can be authorized through memberships or direct grants on other resources. @@ -22,7 +22,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/getIdpAzureAd.go b/sdk/go/zitadel/getIdpAzureAd.go index 96803b6..cbaba26 100644 --- a/sdk/go/zitadel/getIdpAzureAd.go +++ b/sdk/go/zitadel/getIdpAzureAd.go @@ -9,7 +9,7 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Datasource representing an Azure AD IDP on the instance. @@ -22,7 +22,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/getIdpGithub.go b/sdk/go/zitadel/getIdpGithub.go index 0c40c6a..edb326b 100644 --- a/sdk/go/zitadel/getIdpGithub.go +++ b/sdk/go/zitadel/getIdpGithub.go @@ -9,7 +9,7 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Datasource representing a GitHub IDP on the instance. @@ -22,7 +22,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/getIdpGithubEs.go b/sdk/go/zitadel/getIdpGithubEs.go index 3357fec..88661ec 100644 --- a/sdk/go/zitadel/getIdpGithubEs.go +++ b/sdk/go/zitadel/getIdpGithubEs.go @@ -9,7 +9,7 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Datasource representing a GitHub Enterprise IDP on the instance. @@ -22,7 +22,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/getIdpGitlab.go b/sdk/go/zitadel/getIdpGitlab.go index a0a995f..065840f 100644 --- a/sdk/go/zitadel/getIdpGitlab.go +++ b/sdk/go/zitadel/getIdpGitlab.go @@ -9,7 +9,7 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Datasource representing a GitLab IDP on the instance. @@ -22,7 +22,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/getIdpGitlabSelfHosted.go b/sdk/go/zitadel/getIdpGitlabSelfHosted.go index 184cef6..b53ff58 100644 --- a/sdk/go/zitadel/getIdpGitlabSelfHosted.go +++ b/sdk/go/zitadel/getIdpGitlabSelfHosted.go @@ -9,7 +9,7 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Datasource representing a GitLab Self Hosted IDP on the instance. @@ -22,7 +22,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/getIdpGoogle.go b/sdk/go/zitadel/getIdpGoogle.go index 4987131..738205f 100644 --- a/sdk/go/zitadel/getIdpGoogle.go +++ b/sdk/go/zitadel/getIdpGoogle.go @@ -9,7 +9,7 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Datasource representing a Google IDP on the instance. @@ -22,7 +22,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/getIdpLdap.go b/sdk/go/zitadel/getIdpLdap.go index c0825df..7fa1a82 100644 --- a/sdk/go/zitadel/getIdpLdap.go +++ b/sdk/go/zitadel/getIdpLdap.go @@ -9,7 +9,7 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Datasource representing an LDAP IDP on the instance. @@ -22,7 +22,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/getIdpOauth.go b/sdk/go/zitadel/getIdpOauth.go index 4ed3915..a7cdbf6 100644 --- a/sdk/go/zitadel/getIdpOauth.go +++ b/sdk/go/zitadel/getIdpOauth.go @@ -9,7 +9,7 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Datasource representing a generic OAuth2 IDP on the instance. @@ -22,7 +22,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/getIdpSaml.go b/sdk/go/zitadel/getIdpSaml.go index 96a5078..14f5bc7 100644 --- a/sdk/go/zitadel/getIdpSaml.go +++ b/sdk/go/zitadel/getIdpSaml.go @@ -9,7 +9,7 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Datasource representing a SAML IDP on the instance. @@ -22,7 +22,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/getMachineUser.go b/sdk/go/zitadel/getMachineUser.go index c10a451..5265eba 100644 --- a/sdk/go/zitadel/getMachineUser.go +++ b/sdk/go/zitadel/getMachineUser.go @@ -9,7 +9,7 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Datasource representing a serviceaccount situated under an organization, which then can be authorized through memberships or direct grants on other resources. @@ -22,7 +22,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/getMachineUsers.go b/sdk/go/zitadel/getMachineUsers.go index d6060c9..82f325e 100644 --- a/sdk/go/zitadel/getMachineUsers.go +++ b/sdk/go/zitadel/getMachineUsers.go @@ -9,7 +9,7 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Datasource representing a serviceaccount situated under an organization, which then can be authorized through memberships or direct grants on other resources. diff --git a/sdk/go/zitadel/getOrg.go b/sdk/go/zitadel/getOrg.go index b705d4f..4bc2acc 100644 --- a/sdk/go/zitadel/getOrg.go +++ b/sdk/go/zitadel/getOrg.go @@ -9,7 +9,7 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Datasource representing an organization in ZITADEL, which is the highest level after the instance and contains several other resource including policies if the configuration differs to the default policies on the instance. @@ -22,7 +22,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/getOrgIdpAzureAd.go b/sdk/go/zitadel/getOrgIdpAzureAd.go index 892dee3..6e878e9 100644 --- a/sdk/go/zitadel/getOrgIdpAzureAd.go +++ b/sdk/go/zitadel/getOrgIdpAzureAd.go @@ -9,7 +9,7 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Datasource representing an Azure AD IdP of the organization. @@ -22,7 +22,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/getOrgIdpGithub.go b/sdk/go/zitadel/getOrgIdpGithub.go index 45f5671..0f8334a 100644 --- a/sdk/go/zitadel/getOrgIdpGithub.go +++ b/sdk/go/zitadel/getOrgIdpGithub.go @@ -9,7 +9,7 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Datasource representing a GitHub IdP of the organization. @@ -22,7 +22,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/getOrgIdpGithubEs.go b/sdk/go/zitadel/getOrgIdpGithubEs.go index 199db81..66cd764 100644 --- a/sdk/go/zitadel/getOrgIdpGithubEs.go +++ b/sdk/go/zitadel/getOrgIdpGithubEs.go @@ -9,7 +9,7 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Datasource representing a GitHub Enterprise IdP of the organization. @@ -22,7 +22,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/getOrgIdpGitlab.go b/sdk/go/zitadel/getOrgIdpGitlab.go index b42c17b..17212fa 100644 --- a/sdk/go/zitadel/getOrgIdpGitlab.go +++ b/sdk/go/zitadel/getOrgIdpGitlab.go @@ -9,7 +9,7 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Datasource representing a GitLab IdP of the organization. @@ -22,7 +22,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/getOrgIdpGitlabSelfHosted.go b/sdk/go/zitadel/getOrgIdpGitlabSelfHosted.go index df77fb8..1fb3f03 100644 --- a/sdk/go/zitadel/getOrgIdpGitlabSelfHosted.go +++ b/sdk/go/zitadel/getOrgIdpGitlabSelfHosted.go @@ -9,7 +9,7 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Datasource representing a GitLab Self Hosted IdP of the organization. @@ -22,7 +22,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/getOrgIdpGoogle.go b/sdk/go/zitadel/getOrgIdpGoogle.go index 2b0d040..b8f8b9f 100644 --- a/sdk/go/zitadel/getOrgIdpGoogle.go +++ b/sdk/go/zitadel/getOrgIdpGoogle.go @@ -9,7 +9,7 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Datasource representing a Google IdP of the organization. @@ -22,7 +22,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/getOrgIdpLdap.go b/sdk/go/zitadel/getOrgIdpLdap.go index fdaabb4..1c36782 100644 --- a/sdk/go/zitadel/getOrgIdpLdap.go +++ b/sdk/go/zitadel/getOrgIdpLdap.go @@ -9,7 +9,7 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Datasource representing an LDAP IdP on the organization. @@ -22,7 +22,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/getOrgIdpOauth.go b/sdk/go/zitadel/getOrgIdpOauth.go index 6dd1431..843ae31 100644 --- a/sdk/go/zitadel/getOrgIdpOauth.go +++ b/sdk/go/zitadel/getOrgIdpOauth.go @@ -9,7 +9,7 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Datasource representing a generic OAuth2 IDP of the organization. @@ -22,7 +22,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/getOrgIdpSaml.go b/sdk/go/zitadel/getOrgIdpSaml.go index b88dad6..6ea6863 100644 --- a/sdk/go/zitadel/getOrgIdpSaml.go +++ b/sdk/go/zitadel/getOrgIdpSaml.go @@ -9,7 +9,7 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Datasource representing a SAML IdP of the organization. @@ -22,7 +22,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/getOrgJwtIdp.go b/sdk/go/zitadel/getOrgJwtIdp.go index 928ede5..bdbdbbb 100644 --- a/sdk/go/zitadel/getOrgJwtIdp.go +++ b/sdk/go/zitadel/getOrgJwtIdp.go @@ -9,7 +9,7 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Datasource representing a generic JWT IdP on the organization. diff --git a/sdk/go/zitadel/getOrgOidcIdp.go b/sdk/go/zitadel/getOrgOidcIdp.go index 24ea6a8..6a3a321 100644 --- a/sdk/go/zitadel/getOrgOidcIdp.go +++ b/sdk/go/zitadel/getOrgOidcIdp.go @@ -9,7 +9,7 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Datasource representing a generic OIDC IdP on the organization. @@ -22,7 +22,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/getOrgs.go b/sdk/go/zitadel/getOrgs.go index d660534..6b968ca 100644 --- a/sdk/go/zitadel/getOrgs.go +++ b/sdk/go/zitadel/getOrgs.go @@ -9,7 +9,7 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Datasource representing an organization in ZITADEL, which is the highest level after the instance and contains several other resource including policies if the configuration differs to the default policies on the instance. diff --git a/sdk/go/zitadel/getProject.go b/sdk/go/zitadel/getProject.go index 473321d..e06396a 100644 --- a/sdk/go/zitadel/getProject.go +++ b/sdk/go/zitadel/getProject.go @@ -9,7 +9,7 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Datasource representing the project, which can then be granted to different organizations or users directly, containing different applications. @@ -22,7 +22,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/getProjectRole.go b/sdk/go/zitadel/getProjectRole.go index 9b6d99a..a7ce930 100644 --- a/sdk/go/zitadel/getProjectRole.go +++ b/sdk/go/zitadel/getProjectRole.go @@ -9,7 +9,7 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Datasource representing the project roles, which can be given as authorizations to users. @@ -22,7 +22,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/getProjects.go b/sdk/go/zitadel/getProjects.go index 91d6ee8..67ad580 100644 --- a/sdk/go/zitadel/getProjects.go +++ b/sdk/go/zitadel/getProjects.go @@ -9,7 +9,7 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Datasource representing the project, which can then be granted to different organizations or users directly, containing different applications. diff --git a/sdk/go/zitadel/getTriggerActions.go b/sdk/go/zitadel/getTriggerActions.go index 6b50634..b7c4fa7 100644 --- a/sdk/go/zitadel/getTriggerActions.go +++ b/sdk/go/zitadel/getTriggerActions.go @@ -9,7 +9,7 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Resource representing triggers, when actions get started @@ -22,7 +22,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/humanUser.go b/sdk/go/zitadel/humanUser.go index b8f15c0..1e80610 100644 --- a/sdk/go/zitadel/humanUser.go +++ b/sdk/go/zitadel/humanUser.go @@ -10,7 +10,7 @@ import ( "errors" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // **Caution: Email can only be set verified if a password is set for the user, either with initialPassword or during runtime** @@ -25,7 +25,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/idpAzureAd.go b/sdk/go/zitadel/idpAzureAd.go index 7a671fa..2310721 100644 --- a/sdk/go/zitadel/idpAzureAd.go +++ b/sdk/go/zitadel/idpAzureAd.go @@ -10,7 +10,7 @@ import ( "errors" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Resource representing an Azure AD IDP on the instance. @@ -23,7 +23,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/idpGithub.go b/sdk/go/zitadel/idpGithub.go index 2a6f54b..01cf218 100644 --- a/sdk/go/zitadel/idpGithub.go +++ b/sdk/go/zitadel/idpGithub.go @@ -10,7 +10,7 @@ import ( "errors" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Resource representing a GitHub IDP on the instance. @@ -23,7 +23,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/idpGithubEs.go b/sdk/go/zitadel/idpGithubEs.go index 5a89704..93a83a3 100644 --- a/sdk/go/zitadel/idpGithubEs.go +++ b/sdk/go/zitadel/idpGithubEs.go @@ -10,7 +10,7 @@ import ( "errors" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Resource representing a GitHub Enterprise IDP on the instance. @@ -23,7 +23,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/idpGitlab.go b/sdk/go/zitadel/idpGitlab.go index 9c07ce0..628f591 100644 --- a/sdk/go/zitadel/idpGitlab.go +++ b/sdk/go/zitadel/idpGitlab.go @@ -10,7 +10,7 @@ import ( "errors" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Resource representing a GitLab IDP on the instance. @@ -23,7 +23,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/idpGitlabSelfHosted.go b/sdk/go/zitadel/idpGitlabSelfHosted.go index c0a94cc..ec918aa 100644 --- a/sdk/go/zitadel/idpGitlabSelfHosted.go +++ b/sdk/go/zitadel/idpGitlabSelfHosted.go @@ -10,7 +10,7 @@ import ( "errors" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Resource representing a GitLab Self Hosted IDP on the instance. @@ -23,7 +23,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/idpGoogle.go b/sdk/go/zitadel/idpGoogle.go index b6cee6d..d952dd9 100644 --- a/sdk/go/zitadel/idpGoogle.go +++ b/sdk/go/zitadel/idpGoogle.go @@ -10,7 +10,7 @@ import ( "errors" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Resource representing a Google IDP on the instance. @@ -23,7 +23,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/idpLdap.go b/sdk/go/zitadel/idpLdap.go index 3e92752..115d075 100644 --- a/sdk/go/zitadel/idpLdap.go +++ b/sdk/go/zitadel/idpLdap.go @@ -10,7 +10,7 @@ import ( "errors" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Resource representing an LDAP IDP on the instance. @@ -23,7 +23,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/idpOauth.go b/sdk/go/zitadel/idpOauth.go index dbf14e2..a834f52 100644 --- a/sdk/go/zitadel/idpOauth.go +++ b/sdk/go/zitadel/idpOauth.go @@ -10,7 +10,7 @@ import ( "errors" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Resource representing a generic OAuth2 IDP on the instance. @@ -23,7 +23,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/idpSaml.go b/sdk/go/zitadel/idpSaml.go index fdb591b..1f3f158 100644 --- a/sdk/go/zitadel/idpSaml.go +++ b/sdk/go/zitadel/idpSaml.go @@ -10,7 +10,7 @@ import ( "errors" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Resource representing a SAML IDP on the instance. @@ -23,7 +23,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/init.go b/sdk/go/zitadel/init.go index 67ce39a..d50d5af 100644 --- a/sdk/go/zitadel/init.go +++ b/sdk/go/zitadel/init.go @@ -8,7 +8,7 @@ import ( "github.com/blang/semver" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) type module struct { diff --git a/sdk/go/zitadel/instanceMember.go b/sdk/go/zitadel/instanceMember.go index 95f163e..0e3c2c1 100644 --- a/sdk/go/zitadel/instanceMember.go +++ b/sdk/go/zitadel/instanceMember.go @@ -10,7 +10,7 @@ import ( "errors" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Resource representing the membership of a user on an instance, defined with the given role. @@ -23,7 +23,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/internal/pulumiUtilities.go b/sdk/go/zitadel/internal/pulumiUtilities.go index e596b07..1c0a2fe 100644 --- a/sdk/go/zitadel/internal/pulumiUtilities.go +++ b/sdk/go/zitadel/internal/pulumiUtilities.go @@ -93,7 +93,7 @@ func IsZero(v interface{}) bool { // PkgResourceDefaultOpts provides package level defaults to pulumi.OptionResource. func PkgResourceDefaultOpts(opts []pulumi.ResourceOption) []pulumi.ResourceOption { defaults := []pulumi.ResourceOption{} - defaults = append(defaults, pulumi.PluginDownloadURL("github://api.github.com/pulumiverse")) + defaults = append(defaults, pulumi.PluginDownloadURL("github://api.github.com/scoretechnologies")) version := SdkVersion if !version.Equals(semver.Version{}) { defaults = append(defaults, pulumi.Version(version.String())) @@ -104,7 +104,7 @@ func PkgResourceDefaultOpts(opts []pulumi.ResourceOption) []pulumi.ResourceOptio // PkgInvokeDefaultOpts provides package level defaults to pulumi.OptionInvoke. func PkgInvokeDefaultOpts(opts []pulumi.InvokeOption) []pulumi.InvokeOption { defaults := []pulumi.InvokeOption{} - defaults = append(defaults, pulumi.PluginDownloadURL("github://api.github.com/pulumiverse")) + defaults = append(defaults, pulumi.PluginDownloadURL("github://api.github.com/scoretechnologies")) version := SdkVersion if !version.Equals(semver.Version{}) { defaults = append(defaults, pulumi.Version(version.String())) diff --git a/sdk/go/zitadel/labelPolicy.go b/sdk/go/zitadel/labelPolicy.go index 8d1e006..3f9522b 100644 --- a/sdk/go/zitadel/labelPolicy.go +++ b/sdk/go/zitadel/labelPolicy.go @@ -10,7 +10,7 @@ import ( "errors" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Resource representing the custom label policy of an organization. diff --git a/sdk/go/zitadel/lockoutPolicy.go b/sdk/go/zitadel/lockoutPolicy.go index b249675..ec84a79 100644 --- a/sdk/go/zitadel/lockoutPolicy.go +++ b/sdk/go/zitadel/lockoutPolicy.go @@ -10,7 +10,7 @@ import ( "errors" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Resource representing the custom lockout policy of an organization. @@ -23,7 +23,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/loginPolicy.go b/sdk/go/zitadel/loginPolicy.go index f87313b..eb960aa 100644 --- a/sdk/go/zitadel/loginPolicy.go +++ b/sdk/go/zitadel/loginPolicy.go @@ -10,7 +10,7 @@ import ( "errors" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Resource representing the custom login policy of an organization. @@ -23,7 +23,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/machineKey.go b/sdk/go/zitadel/machineKey.go index 0c58726..86f309e 100644 --- a/sdk/go/zitadel/machineKey.go +++ b/sdk/go/zitadel/machineKey.go @@ -10,7 +10,7 @@ import ( "errors" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Resource representing a machine key @@ -23,7 +23,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/machineUser.go b/sdk/go/zitadel/machineUser.go index 6d3f88a..8416ced 100644 --- a/sdk/go/zitadel/machineUser.go +++ b/sdk/go/zitadel/machineUser.go @@ -10,7 +10,7 @@ import ( "errors" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Resource representing a serviceaccount situated under an organization, which then can be authorized through memberships or direct grants on other resources. @@ -23,7 +23,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/notificationPolicy.go b/sdk/go/zitadel/notificationPolicy.go index 67fadb1..3eeed52 100644 --- a/sdk/go/zitadel/notificationPolicy.go +++ b/sdk/go/zitadel/notificationPolicy.go @@ -10,7 +10,7 @@ import ( "errors" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Resource representing the custom notification policy of an organization. @@ -23,7 +23,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/org.go b/sdk/go/zitadel/org.go index 5ade4f4..3f2f551 100644 --- a/sdk/go/zitadel/org.go +++ b/sdk/go/zitadel/org.go @@ -9,7 +9,7 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Resource representing an organization in ZITADEL, which is the highest level after the instance and contains several other resource including policies if the configuration differs to the default policies on the instance. @@ -22,7 +22,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/orgIdpAzureAd.go b/sdk/go/zitadel/orgIdpAzureAd.go index 2a0f3d0..b2ab3a7 100644 --- a/sdk/go/zitadel/orgIdpAzureAd.go +++ b/sdk/go/zitadel/orgIdpAzureAd.go @@ -10,7 +10,7 @@ import ( "errors" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Resource representing an Azure AD IdP on the organization. @@ -23,7 +23,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/orgIdpGithub.go b/sdk/go/zitadel/orgIdpGithub.go index 6c3c763..19510eb 100644 --- a/sdk/go/zitadel/orgIdpGithub.go +++ b/sdk/go/zitadel/orgIdpGithub.go @@ -10,7 +10,7 @@ import ( "errors" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Resource representing a GitHub IdP on the organization. @@ -23,7 +23,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/orgIdpGithubEs.go b/sdk/go/zitadel/orgIdpGithubEs.go index 10c809d..55a7f3c 100644 --- a/sdk/go/zitadel/orgIdpGithubEs.go +++ b/sdk/go/zitadel/orgIdpGithubEs.go @@ -10,7 +10,7 @@ import ( "errors" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Resource representing a GitHub Enterprise IdP on the organization. @@ -23,7 +23,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/orgIdpGitlab.go b/sdk/go/zitadel/orgIdpGitlab.go index 4d90f80..1b5c15b 100644 --- a/sdk/go/zitadel/orgIdpGitlab.go +++ b/sdk/go/zitadel/orgIdpGitlab.go @@ -10,7 +10,7 @@ import ( "errors" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Resource representing a GitLab IdP on the organization. @@ -23,7 +23,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/orgIdpGitlabSelfHosted.go b/sdk/go/zitadel/orgIdpGitlabSelfHosted.go index c0423f6..8156184 100644 --- a/sdk/go/zitadel/orgIdpGitlabSelfHosted.go +++ b/sdk/go/zitadel/orgIdpGitlabSelfHosted.go @@ -10,7 +10,7 @@ import ( "errors" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Resource representing a GitLab Self Hosted IdP on the organization. @@ -23,7 +23,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/orgIdpGoogle.go b/sdk/go/zitadel/orgIdpGoogle.go index e0aacda..760959e 100644 --- a/sdk/go/zitadel/orgIdpGoogle.go +++ b/sdk/go/zitadel/orgIdpGoogle.go @@ -10,7 +10,7 @@ import ( "errors" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Resource representing a Google IdP on the organization. @@ -23,7 +23,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/orgIdpJwt.go b/sdk/go/zitadel/orgIdpJwt.go index 201dec7..7f49c34 100644 --- a/sdk/go/zitadel/orgIdpJwt.go +++ b/sdk/go/zitadel/orgIdpJwt.go @@ -10,7 +10,7 @@ import ( "errors" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Resource representing a generic JWT IdP of the organization. @@ -23,7 +23,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/orgIdpLdap.go b/sdk/go/zitadel/orgIdpLdap.go index f721dbe..f9256ab 100644 --- a/sdk/go/zitadel/orgIdpLdap.go +++ b/sdk/go/zitadel/orgIdpLdap.go @@ -10,7 +10,7 @@ import ( "errors" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Resource representing an LDAP IdP on the organization. @@ -23,7 +23,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/orgIdpOauth.go b/sdk/go/zitadel/orgIdpOauth.go index d5a0b7a..2def243 100644 --- a/sdk/go/zitadel/orgIdpOauth.go +++ b/sdk/go/zitadel/orgIdpOauth.go @@ -10,7 +10,7 @@ import ( "errors" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Resource representing a generic OAuth2 IDP on the organization. @@ -23,7 +23,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/orgIdpOidc.go b/sdk/go/zitadel/orgIdpOidc.go index 8a1a5e8..7e8f8b3 100644 --- a/sdk/go/zitadel/orgIdpOidc.go +++ b/sdk/go/zitadel/orgIdpOidc.go @@ -10,7 +10,7 @@ import ( "errors" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Resource representing a generic OIDC IdP on the organization. @@ -23,7 +23,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/orgIdpSaml.go b/sdk/go/zitadel/orgIdpSaml.go index 78516a6..969814a 100644 --- a/sdk/go/zitadel/orgIdpSaml.go +++ b/sdk/go/zitadel/orgIdpSaml.go @@ -10,7 +10,7 @@ import ( "errors" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Resource representing a SAML IdP on the organization. @@ -23,7 +23,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/orgMember.go b/sdk/go/zitadel/orgMember.go index 9b853fc..3a5dfe2 100644 --- a/sdk/go/zitadel/orgMember.go +++ b/sdk/go/zitadel/orgMember.go @@ -10,7 +10,7 @@ import ( "errors" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Resource representing the membership of a user on an organization, defined with the given role. @@ -23,7 +23,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/orgMetadata.go b/sdk/go/zitadel/orgMetadata.go index d1e2695..6fde9f9 100644 --- a/sdk/go/zitadel/orgMetadata.go +++ b/sdk/go/zitadel/orgMetadata.go @@ -10,7 +10,7 @@ import ( "errors" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // ## Example Usage @@ -21,7 +21,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/passwordComplexityPolicy.go b/sdk/go/zitadel/passwordComplexityPolicy.go index 7d0e85b..0d039f8 100644 --- a/sdk/go/zitadel/passwordComplexityPolicy.go +++ b/sdk/go/zitadel/passwordComplexityPolicy.go @@ -10,7 +10,7 @@ import ( "errors" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Resource representing the custom password complexity policy of an organization. @@ -23,7 +23,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/personalAccessToken.go b/sdk/go/zitadel/personalAccessToken.go index 466a0ca..bb584ba 100644 --- a/sdk/go/zitadel/personalAccessToken.go +++ b/sdk/go/zitadel/personalAccessToken.go @@ -10,7 +10,7 @@ import ( "errors" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Resource representing a personal access token of a user @@ -23,7 +23,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/privacyPolicy.go b/sdk/go/zitadel/privacyPolicy.go index 72327ff..be66732 100644 --- a/sdk/go/zitadel/privacyPolicy.go +++ b/sdk/go/zitadel/privacyPolicy.go @@ -9,7 +9,7 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Resource representing the custom privacy policy of an organization. @@ -22,7 +22,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/project.go b/sdk/go/zitadel/project.go index 2702cb7..300125a 100644 --- a/sdk/go/zitadel/project.go +++ b/sdk/go/zitadel/project.go @@ -9,7 +9,7 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Resource representing the project, which can then be granted to different organizations or users directly, containing different applications. @@ -22,7 +22,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/projectGrant.go b/sdk/go/zitadel/projectGrant.go index 9e30462..be2b2ba 100644 --- a/sdk/go/zitadel/projectGrant.go +++ b/sdk/go/zitadel/projectGrant.go @@ -10,7 +10,7 @@ import ( "errors" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Resource representing the grant of a project to a different organization, also containing the available roles which can be given to the members of the projectgrant. @@ -23,7 +23,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/projectGrantMember.go b/sdk/go/zitadel/projectGrantMember.go index dececd4..6363788 100644 --- a/sdk/go/zitadel/projectGrantMember.go +++ b/sdk/go/zitadel/projectGrantMember.go @@ -10,7 +10,7 @@ import ( "errors" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Resource representing the membership of a user on an granted project, defined with the given role. @@ -23,7 +23,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/projectMember.go b/sdk/go/zitadel/projectMember.go index 892fa01..d9391ae 100644 --- a/sdk/go/zitadel/projectMember.go +++ b/sdk/go/zitadel/projectMember.go @@ -10,7 +10,7 @@ import ( "errors" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Resource representing the membership of a user on an project, defined with the given role. @@ -23,7 +23,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/projectRole.go b/sdk/go/zitadel/projectRole.go index 7159054..d048e3b 100644 --- a/sdk/go/zitadel/projectRole.go +++ b/sdk/go/zitadel/projectRole.go @@ -10,7 +10,7 @@ import ( "errors" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Resource representing the project roles, which can be given as authorizations to users. @@ -23,7 +23,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/provider.go b/sdk/go/zitadel/provider.go index bb4e57c..3321391 100644 --- a/sdk/go/zitadel/provider.go +++ b/sdk/go/zitadel/provider.go @@ -10,7 +10,7 @@ import ( "errors" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // The provider type for the zitadel package. By default, resources use package-wide configuration diff --git a/sdk/go/zitadel/pulumi-plugin.json b/sdk/go/zitadel/pulumi-plugin.json index 6a69d3d..3e745de 100644 --- a/sdk/go/zitadel/pulumi-plugin.json +++ b/sdk/go/zitadel/pulumi-plugin.json @@ -1,5 +1,5 @@ { "resource": true, "name": "zitadel", - "server": "github://api.github.com/pulumiverse" + "server": "github://api.github.com/scoretechnologies" } diff --git a/sdk/go/zitadel/smsProviderTwilio.go b/sdk/go/zitadel/smsProviderTwilio.go index 85b1cce..011587e 100644 --- a/sdk/go/zitadel/smsProviderTwilio.go +++ b/sdk/go/zitadel/smsProviderTwilio.go @@ -10,7 +10,7 @@ import ( "errors" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Resource representing the SMS provider Twilio configuration of an instance. @@ -23,7 +23,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/smtpConfig.go b/sdk/go/zitadel/smtpConfig.go index 5ccd138..c671c54 100644 --- a/sdk/go/zitadel/smtpConfig.go +++ b/sdk/go/zitadel/smtpConfig.go @@ -10,7 +10,7 @@ import ( "errors" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Resource representing the SMTP configuration of an instance. @@ -23,7 +23,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/triggerActions.go b/sdk/go/zitadel/triggerActions.go index 7e783f1..a736d9e 100644 --- a/sdk/go/zitadel/triggerActions.go +++ b/sdk/go/zitadel/triggerActions.go @@ -10,7 +10,7 @@ import ( "errors" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Resource representing triggers, when actions get started @@ -23,7 +23,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/userGrant.go b/sdk/go/zitadel/userGrant.go index 1d09dbe..43316bf 100644 --- a/sdk/go/zitadel/userGrant.go +++ b/sdk/go/zitadel/userGrant.go @@ -10,7 +10,7 @@ import ( "errors" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // Resource representing the authorization given to a user directly, including the given roles. @@ -23,7 +23,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/go/zitadel/userMetadata.go b/sdk/go/zitadel/userMetadata.go index 9e727c0..2b366ea 100644 --- a/sdk/go/zitadel/userMetadata.go +++ b/sdk/go/zitadel/userMetadata.go @@ -10,7 +10,7 @@ import ( "errors" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" - "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel/internal" + "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel/internal" ) // ## Example Usage @@ -21,7 +21,7 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel" +// "github.com/scoretechnologies/pulumi-zitadel/sdk/go/zitadel" // // ) // diff --git a/sdk/nodejs/README.md b/sdk/nodejs/README.md index 6b7ce2b..be5aa98 100644 --- a/sdk/nodejs/README.md +++ b/sdk/nodejs/README.md @@ -1,4 +1,4 @@ > This provider is a derived work of the [Terraform Provider](https://github.com/zitadel/terraform-provider-zitadel) > distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature, -> first check the [`pulumi-zitadel` repo](https://github.com/pulumiverse/pulumi-zitadel/issues); however, if that doesn't turn up anything, +> first check the [`pulumi-zitadel` repo](https://github.com/scoretechnologies/pulumi-zitadel/issues); however, if that doesn't turn up anything, > please consult the source [`terraform-provider-zitadel` repo](https://github.com/zitadel/terraform-provider-zitadel/issues). diff --git a/sdk/nodejs/action.ts b/sdk/nodejs/action.ts index 19ffa11..be3ee75 100644 --- a/sdk/nodejs/action.ts +++ b/sdk/nodejs/action.ts @@ -11,7 +11,7 @@ import * as utilities from "./utilities"; * * ```typescript * import * as pulumi from "@pulumi/pulumi"; - * import * as zitadel from "@pulumiverse/zitadel"; + * import * as zitadel from "@scoretechnologies/zitadel"; * * const _default = new zitadel.Action("default", { * orgId: data.zitadel_org["default"].id, diff --git a/sdk/nodejs/applicationApi.ts b/sdk/nodejs/applicationApi.ts index c924f39..6bddcc2 100644 --- a/sdk/nodejs/applicationApi.ts +++ b/sdk/nodejs/applicationApi.ts @@ -11,7 +11,7 @@ import * as utilities from "./utilities"; * * ```typescript * import * as pulumi from "@pulumi/pulumi"; - * import * as zitadel from "@pulumiverse/zitadel"; + * import * as zitadel from "@scoretechnologies/zitadel"; * * const _default = new zitadel.ApplicationApi("default", { * orgId: data.zitadel_org["default"].id, diff --git a/sdk/nodejs/applicationKey.ts b/sdk/nodejs/applicationKey.ts index 9ee6f97..db1f51a 100644 --- a/sdk/nodejs/applicationKey.ts +++ b/sdk/nodejs/applicationKey.ts @@ -11,7 +11,7 @@ import * as utilities from "./utilities"; * * ```typescript * import * as pulumi from "@pulumi/pulumi"; - * import * as zitadel from "@pulumiverse/zitadel"; + * import * as zitadel from "@scoretechnologies/zitadel"; * * const _default = new zitadel.ApplicationKey("default", { * orgId: data.zitadel_org["default"].id, diff --git a/sdk/nodejs/applicationOidc.ts b/sdk/nodejs/applicationOidc.ts index fcb48c7..4487051 100644 --- a/sdk/nodejs/applicationOidc.ts +++ b/sdk/nodejs/applicationOidc.ts @@ -11,7 +11,7 @@ import * as utilities from "./utilities"; * * ```typescript * import * as pulumi from "@pulumi/pulumi"; - * import * as zitadel from "@pulumiverse/zitadel"; + * import * as zitadel from "@scoretechnologies/zitadel"; * * const _default = new zitadel.ApplicationOidc("default", { * projectId: data.zitadel_project["default"].id, diff --git a/sdk/nodejs/applicationSaml.ts b/sdk/nodejs/applicationSaml.ts index 8b1840e..c3664f8 100644 --- a/sdk/nodejs/applicationSaml.ts +++ b/sdk/nodejs/applicationSaml.ts @@ -11,7 +11,7 @@ import * as utilities from "./utilities"; * * ```typescript * import * as pulumi from "@pulumi/pulumi"; - * import * as zitadel from "@pulumiverse/zitadel"; + * import * as zitadel from "@scoretechnologies/zitadel"; * * const _default = new zitadel.ApplicationSaml("default", { * orgId: data.zitadel_org["default"].id, diff --git a/sdk/nodejs/defaultDomainPolicy.ts b/sdk/nodejs/defaultDomainPolicy.ts index c1345b1..9386aae 100644 --- a/sdk/nodejs/defaultDomainPolicy.ts +++ b/sdk/nodejs/defaultDomainPolicy.ts @@ -11,7 +11,7 @@ import * as utilities from "./utilities"; * * ```typescript * import * as pulumi from "@pulumi/pulumi"; - * import * as zitadel from "@pulumiverse/zitadel"; + * import * as zitadel from "@scoretechnologies/zitadel"; * * const _default = new zitadel.DefaultDomainPolicy("default", { * smtpSenderAddressMatchesInstanceDomain: true, diff --git a/sdk/nodejs/defaultLockoutPolicy.ts b/sdk/nodejs/defaultLockoutPolicy.ts index fe8d281..ffa7e1c 100644 --- a/sdk/nodejs/defaultLockoutPolicy.ts +++ b/sdk/nodejs/defaultLockoutPolicy.ts @@ -11,7 +11,7 @@ import * as utilities from "./utilities"; * * ```typescript * import * as pulumi from "@pulumi/pulumi"; - * import * as zitadel from "@pulumiverse/zitadel"; + * import * as zitadel from "@scoretechnologies/zitadel"; * * const _default = new zitadel.DefaultLockoutPolicy("default", {maxPasswordAttempts: 5}); * ``` diff --git a/sdk/nodejs/defaultLoginPolicy.ts b/sdk/nodejs/defaultLoginPolicy.ts index 3dc00c2..7af570b 100644 --- a/sdk/nodejs/defaultLoginPolicy.ts +++ b/sdk/nodejs/defaultLoginPolicy.ts @@ -11,7 +11,7 @@ import * as utilities from "./utilities"; * * ```typescript * import * as pulumi from "@pulumi/pulumi"; - * import * as zitadel from "@pulumiverse/zitadel"; + * import * as zitadel from "@scoretechnologies/zitadel"; * * const _default = new zitadel.DefaultLoginPolicy("default", { * userLogin: true, diff --git a/sdk/nodejs/defaultNotificationPolicy.ts b/sdk/nodejs/defaultNotificationPolicy.ts index ba6f1e4..86f198e 100644 --- a/sdk/nodejs/defaultNotificationPolicy.ts +++ b/sdk/nodejs/defaultNotificationPolicy.ts @@ -11,7 +11,7 @@ import * as utilities from "./utilities"; * * ```typescript * import * as pulumi from "@pulumi/pulumi"; - * import * as zitadel from "@pulumiverse/zitadel"; + * import * as zitadel from "@scoretechnologies/zitadel"; * * const _default = new zitadel.DefaultNotificationPolicy("default", {passwordChange: false}); * ``` diff --git a/sdk/nodejs/defaultOidcSettings.ts b/sdk/nodejs/defaultOidcSettings.ts index fb113aa..2e62019 100644 --- a/sdk/nodejs/defaultOidcSettings.ts +++ b/sdk/nodejs/defaultOidcSettings.ts @@ -11,7 +11,7 @@ import * as utilities from "./utilities"; * * ```typescript * import * as pulumi from "@pulumi/pulumi"; - * import * as zitadel from "@pulumiverse/zitadel"; + * import * as zitadel from "@scoretechnologies/zitadel"; * * const _default = new zitadel.DefaultOidcSettings("default", { * accessTokenLifetime: "12h0m0s", diff --git a/sdk/nodejs/defaultPasswordComplexityPolicy.ts b/sdk/nodejs/defaultPasswordComplexityPolicy.ts index f746154..cdae98e 100644 --- a/sdk/nodejs/defaultPasswordComplexityPolicy.ts +++ b/sdk/nodejs/defaultPasswordComplexityPolicy.ts @@ -11,7 +11,7 @@ import * as utilities from "./utilities"; * * ```typescript * import * as pulumi from "@pulumi/pulumi"; - * import * as zitadel from "@pulumiverse/zitadel"; + * import * as zitadel from "@scoretechnologies/zitadel"; * * const _default = new zitadel.DefaultPasswordComplexityPolicy("default", { * hasLowercase: true, diff --git a/sdk/nodejs/defaultPrivacyPolicy.ts b/sdk/nodejs/defaultPrivacyPolicy.ts index 7cfdb7b..4c7c7e1 100644 --- a/sdk/nodejs/defaultPrivacyPolicy.ts +++ b/sdk/nodejs/defaultPrivacyPolicy.ts @@ -11,7 +11,7 @@ import * as utilities from "./utilities"; * * ```typescript * import * as pulumi from "@pulumi/pulumi"; - * import * as zitadel from "@pulumiverse/zitadel"; + * import * as zitadel from "@scoretechnologies/zitadel"; * * const _default = new zitadel.DefaultPrivacyPolicy("default", { * helpLink: "https://example.com/help", diff --git a/sdk/nodejs/domain.ts b/sdk/nodejs/domain.ts index 79e44f0..9900806 100644 --- a/sdk/nodejs/domain.ts +++ b/sdk/nodejs/domain.ts @@ -11,7 +11,7 @@ import * as utilities from "./utilities"; * * ```typescript * import * as pulumi from "@pulumi/pulumi"; - * import * as zitadel from "@pulumiverse/zitadel"; + * import * as zitadel from "@scoretechnologies/zitadel"; * * const _default = new zitadel.Domain("default", { * orgId: data.zitadel_org["default"].id, diff --git a/sdk/nodejs/domainPolicy.ts b/sdk/nodejs/domainPolicy.ts index 487890e..b9a9ac7 100644 --- a/sdk/nodejs/domainPolicy.ts +++ b/sdk/nodejs/domainPolicy.ts @@ -11,7 +11,7 @@ import * as utilities from "./utilities"; * * ```typescript * import * as pulumi from "@pulumi/pulumi"; - * import * as zitadel from "@pulumiverse/zitadel"; + * import * as zitadel from "@scoretechnologies/zitadel"; * * const _default = new zitadel.DomainPolicy("default", { * orgId: data.zitadel_org["default"].id, diff --git a/sdk/nodejs/humanUser.ts b/sdk/nodejs/humanUser.ts index df3875b..0c1559b 100644 --- a/sdk/nodejs/humanUser.ts +++ b/sdk/nodejs/humanUser.ts @@ -13,7 +13,7 @@ import * as utilities from "./utilities"; * * ```typescript * import * as pulumi from "@pulumi/pulumi"; - * import * as zitadel from "@pulumiverse/zitadel"; + * import * as zitadel from "@scoretechnologies/zitadel"; * * const _default = new zitadel.HumanUser("default", { * orgId: data.zitadel_org["default"].id, diff --git a/sdk/nodejs/idpAzureAd.ts b/sdk/nodejs/idpAzureAd.ts index 1e56ac1..5d1d6be 100644 --- a/sdk/nodejs/idpAzureAd.ts +++ b/sdk/nodejs/idpAzureAd.ts @@ -11,7 +11,7 @@ import * as utilities from "./utilities"; * * ```typescript * import * as pulumi from "@pulumi/pulumi"; - * import * as zitadel from "@pulumiverse/zitadel"; + * import * as zitadel from "@scoretechnologies/zitadel"; * * const _default = new zitadel.IdpAzureAd("default", { * clientId: "9065bfc8-a08a...", diff --git a/sdk/nodejs/idpGithub.ts b/sdk/nodejs/idpGithub.ts index 73e6789..634959e 100644 --- a/sdk/nodejs/idpGithub.ts +++ b/sdk/nodejs/idpGithub.ts @@ -11,7 +11,7 @@ import * as utilities from "./utilities"; * * ```typescript * import * as pulumi from "@pulumi/pulumi"; - * import * as zitadel from "@pulumiverse/zitadel"; + * import * as zitadel from "@scoretechnologies/zitadel"; * * const _default = new zitadel.IdpGithub("default", { * clientId: "86a165...", diff --git a/sdk/nodejs/idpGithubEs.ts b/sdk/nodejs/idpGithubEs.ts index 437afff..d063a58 100644 --- a/sdk/nodejs/idpGithubEs.ts +++ b/sdk/nodejs/idpGithubEs.ts @@ -11,7 +11,7 @@ import * as utilities from "./utilities"; * * ```typescript * import * as pulumi from "@pulumi/pulumi"; - * import * as zitadel from "@pulumiverse/zitadel"; + * import * as zitadel from "@scoretechnologies/zitadel"; * * const _default = new zitadel.IdpGithubEs("default", { * authorizationEndpoint: "https://auth.endpoint", diff --git a/sdk/nodejs/idpGitlab.ts b/sdk/nodejs/idpGitlab.ts index 6a8d9b6..ab5a533 100644 --- a/sdk/nodejs/idpGitlab.ts +++ b/sdk/nodejs/idpGitlab.ts @@ -11,7 +11,7 @@ import * as utilities from "./utilities"; * * ```typescript * import * as pulumi from "@pulumi/pulumi"; - * import * as zitadel from "@pulumiverse/zitadel"; + * import * as zitadel from "@scoretechnologies/zitadel"; * * const _default = new zitadel.IdpGitlab("default", { * clientId: "15765e...", diff --git a/sdk/nodejs/idpGitlabSelfHosted.ts b/sdk/nodejs/idpGitlabSelfHosted.ts index d6c359c..6c1a74d 100644 --- a/sdk/nodejs/idpGitlabSelfHosted.ts +++ b/sdk/nodejs/idpGitlabSelfHosted.ts @@ -11,7 +11,7 @@ import * as utilities from "./utilities"; * * ```typescript * import * as pulumi from "@pulumi/pulumi"; - * import * as zitadel from "@pulumiverse/zitadel"; + * import * as zitadel from "@scoretechnologies/zitadel"; * * const _default = new zitadel.IdpGitlabSelfHosted("default", { * clientId: "15765e...", diff --git a/sdk/nodejs/idpGoogle.ts b/sdk/nodejs/idpGoogle.ts index 586c33d..56f1dcd 100644 --- a/sdk/nodejs/idpGoogle.ts +++ b/sdk/nodejs/idpGoogle.ts @@ -11,7 +11,7 @@ import * as utilities from "./utilities"; * * ```typescript * import * as pulumi from "@pulumi/pulumi"; - * import * as zitadel from "@pulumiverse/zitadel"; + * import * as zitadel from "@scoretechnologies/zitadel"; * * const _default = new zitadel.IdpGoogle("default", { * clientId: "182902...", diff --git a/sdk/nodejs/idpLdap.ts b/sdk/nodejs/idpLdap.ts index 935a372..aeb9695 100644 --- a/sdk/nodejs/idpLdap.ts +++ b/sdk/nodejs/idpLdap.ts @@ -11,7 +11,7 @@ import * as utilities from "./utilities"; * * ```typescript * import * as pulumi from "@pulumi/pulumi"; - * import * as zitadel from "@pulumiverse/zitadel"; + * import * as zitadel from "@scoretechnologies/zitadel"; * * const _default = new zitadel.IdpLdap("default", { * baseDn: "dc=example,dc=com", diff --git a/sdk/nodejs/idpOauth.ts b/sdk/nodejs/idpOauth.ts index 38ec981..0588295 100644 --- a/sdk/nodejs/idpOauth.ts +++ b/sdk/nodejs/idpOauth.ts @@ -11,7 +11,7 @@ import * as utilities from "./utilities"; * * ```typescript * import * as pulumi from "@pulumi/pulumi"; - * import * as zitadel from "@pulumiverse/zitadel"; + * import * as zitadel from "@scoretechnologies/zitadel"; * * const _default = new zitadel.IdpOauth("default", { * authorizationEndpoint: "https://accounts.google.com/o/oauth2/v2/auth", diff --git a/sdk/nodejs/idpSaml.ts b/sdk/nodejs/idpSaml.ts index bd29731..c59e4d5 100644 --- a/sdk/nodejs/idpSaml.ts +++ b/sdk/nodejs/idpSaml.ts @@ -11,7 +11,7 @@ import * as utilities from "./utilities"; * * ```typescript * import * as pulumi from "@pulumi/pulumi"; - * import * as zitadel from "@pulumiverse/zitadel"; + * import * as zitadel from "@scoretechnologies/zitadel"; * * const _default = new zitadel.IdpSaml("default", { * binding: "SAML_BINDING_POST", diff --git a/sdk/nodejs/instanceMember.ts b/sdk/nodejs/instanceMember.ts index 57be789..be3d03d 100644 --- a/sdk/nodejs/instanceMember.ts +++ b/sdk/nodejs/instanceMember.ts @@ -11,7 +11,7 @@ import * as utilities from "./utilities"; * * ```typescript * import * as pulumi from "@pulumi/pulumi"; - * import * as zitadel from "@pulumiverse/zitadel"; + * import * as zitadel from "@scoretechnologies/zitadel"; * * const _default = new zitadel.InstanceMember("default", { * userId: data.zitadel_human_user["default"].id, diff --git a/sdk/nodejs/lockoutPolicy.ts b/sdk/nodejs/lockoutPolicy.ts index 47de709..8439d73 100644 --- a/sdk/nodejs/lockoutPolicy.ts +++ b/sdk/nodejs/lockoutPolicy.ts @@ -11,7 +11,7 @@ import * as utilities from "./utilities"; * * ```typescript * import * as pulumi from "@pulumi/pulumi"; - * import * as zitadel from "@pulumiverse/zitadel"; + * import * as zitadel from "@scoretechnologies/zitadel"; * * const _default = new zitadel.LockoutPolicy("default", { * orgId: data.zitadel_org["default"].id, diff --git a/sdk/nodejs/loginPolicy.ts b/sdk/nodejs/loginPolicy.ts index 7819a58..25fc3c4 100644 --- a/sdk/nodejs/loginPolicy.ts +++ b/sdk/nodejs/loginPolicy.ts @@ -11,7 +11,7 @@ import * as utilities from "./utilities"; * * ```typescript * import * as pulumi from "@pulumi/pulumi"; - * import * as zitadel from "@pulumiverse/zitadel"; + * import * as zitadel from "@scoretechnologies/zitadel"; * * const _default = new zitadel.LoginPolicy("default", { * orgId: data.zitadel_org["default"].id, diff --git a/sdk/nodejs/machineKey.ts b/sdk/nodejs/machineKey.ts index 2b0f7ee..40d73ca 100644 --- a/sdk/nodejs/machineKey.ts +++ b/sdk/nodejs/machineKey.ts @@ -11,7 +11,7 @@ import * as utilities from "./utilities"; * * ```typescript * import * as pulumi from "@pulumi/pulumi"; - * import * as zitadel from "@pulumiverse/zitadel"; + * import * as zitadel from "@scoretechnologies/zitadel"; * * const _default = new zitadel.MachineKey("default", { * orgId: data.zitadel_org["default"].id, diff --git a/sdk/nodejs/machineUser.ts b/sdk/nodejs/machineUser.ts index 57027fd..f97ae21 100644 --- a/sdk/nodejs/machineUser.ts +++ b/sdk/nodejs/machineUser.ts @@ -11,7 +11,7 @@ import * as utilities from "./utilities"; * * ```typescript * import * as pulumi from "@pulumi/pulumi"; - * import * as zitadel from "@pulumiverse/zitadel"; + * import * as zitadel from "@scoretechnologies/zitadel"; * * const _default = new zitadel.MachineUser("default", { * orgId: data.zitadel_org["default"].id, diff --git a/sdk/nodejs/notificationPolicy.ts b/sdk/nodejs/notificationPolicy.ts index 5f9f8dd..d9eea1f 100644 --- a/sdk/nodejs/notificationPolicy.ts +++ b/sdk/nodejs/notificationPolicy.ts @@ -11,7 +11,7 @@ import * as utilities from "./utilities"; * * ```typescript * import * as pulumi from "@pulumi/pulumi"; - * import * as zitadel from "@pulumiverse/zitadel"; + * import * as zitadel from "@scoretechnologies/zitadel"; * * const _default = new zitadel.NotificationPolicy("default", { * orgId: data.zitadel_org["default"].id, diff --git a/sdk/nodejs/org.ts b/sdk/nodejs/org.ts index fb0fc55..b286909 100644 --- a/sdk/nodejs/org.ts +++ b/sdk/nodejs/org.ts @@ -11,7 +11,7 @@ import * as utilities from "./utilities"; * * ```typescript * import * as pulumi from "@pulumi/pulumi"; - * import * as zitadel from "@pulumiverse/zitadel"; + * import * as zitadel from "@scoretechnologies/zitadel"; * * const _default = new zitadel.Org("default", {}); * ``` diff --git a/sdk/nodejs/orgIdpAzureAd.ts b/sdk/nodejs/orgIdpAzureAd.ts index 4b97042..1d1dffa 100644 --- a/sdk/nodejs/orgIdpAzureAd.ts +++ b/sdk/nodejs/orgIdpAzureAd.ts @@ -11,7 +11,7 @@ import * as utilities from "./utilities"; * * ```typescript * import * as pulumi from "@pulumi/pulumi"; - * import * as zitadel from "@pulumiverse/zitadel"; + * import * as zitadel from "@scoretechnologies/zitadel"; * * const _default = new zitadel.OrgIdpAzureAd("default", { * orgId: data.zitadel_org["default"].id, diff --git a/sdk/nodejs/orgIdpGithub.ts b/sdk/nodejs/orgIdpGithub.ts index 8e7ec60..3877d05 100644 --- a/sdk/nodejs/orgIdpGithub.ts +++ b/sdk/nodejs/orgIdpGithub.ts @@ -11,7 +11,7 @@ import * as utilities from "./utilities"; * * ```typescript * import * as pulumi from "@pulumi/pulumi"; - * import * as zitadel from "@pulumiverse/zitadel"; + * import * as zitadel from "@scoretechnologies/zitadel"; * * const _default = new zitadel.OrgIdpGithub("default", { * orgId: data.zitadel_org["default"].id, diff --git a/sdk/nodejs/orgIdpGithubEs.ts b/sdk/nodejs/orgIdpGithubEs.ts index 576941b..68251cb 100644 --- a/sdk/nodejs/orgIdpGithubEs.ts +++ b/sdk/nodejs/orgIdpGithubEs.ts @@ -11,7 +11,7 @@ import * as utilities from "./utilities"; * * ```typescript * import * as pulumi from "@pulumi/pulumi"; - * import * as zitadel from "@pulumiverse/zitadel"; + * import * as zitadel from "@scoretechnologies/zitadel"; * * const _default = new zitadel.OrgIdpGithubEs("default", { * orgId: data.zitadel_org["default"].id, diff --git a/sdk/nodejs/orgIdpGitlab.ts b/sdk/nodejs/orgIdpGitlab.ts index f4aa3a3..515c19e 100644 --- a/sdk/nodejs/orgIdpGitlab.ts +++ b/sdk/nodejs/orgIdpGitlab.ts @@ -11,7 +11,7 @@ import * as utilities from "./utilities"; * * ```typescript * import * as pulumi from "@pulumi/pulumi"; - * import * as zitadel from "@pulumiverse/zitadel"; + * import * as zitadel from "@scoretechnologies/zitadel"; * * const _default = new zitadel.OrgIdpGitlab("default", { * orgId: data.zitadel_org["default"].id, diff --git a/sdk/nodejs/orgIdpGitlabSelfHosted.ts b/sdk/nodejs/orgIdpGitlabSelfHosted.ts index a111e5c..a702151 100644 --- a/sdk/nodejs/orgIdpGitlabSelfHosted.ts +++ b/sdk/nodejs/orgIdpGitlabSelfHosted.ts @@ -11,7 +11,7 @@ import * as utilities from "./utilities"; * * ```typescript * import * as pulumi from "@pulumi/pulumi"; - * import * as zitadel from "@pulumiverse/zitadel"; + * import * as zitadel from "@scoretechnologies/zitadel"; * * const _default = new zitadel.OrgIdpGitlabSelfHosted("default", { * orgId: data.zitadel_org["default"].id, diff --git a/sdk/nodejs/orgIdpGoogle.ts b/sdk/nodejs/orgIdpGoogle.ts index 785d765..0bb4920 100644 --- a/sdk/nodejs/orgIdpGoogle.ts +++ b/sdk/nodejs/orgIdpGoogle.ts @@ -11,7 +11,7 @@ import * as utilities from "./utilities"; * * ```typescript * import * as pulumi from "@pulumi/pulumi"; - * import * as zitadel from "@pulumiverse/zitadel"; + * import * as zitadel from "@scoretechnologies/zitadel"; * * const _default = new zitadel.OrgIdpGoogle("default", { * orgId: data.zitadel_org["default"].id, diff --git a/sdk/nodejs/orgIdpJwt.ts b/sdk/nodejs/orgIdpJwt.ts index 51e83c7..03702db 100644 --- a/sdk/nodejs/orgIdpJwt.ts +++ b/sdk/nodejs/orgIdpJwt.ts @@ -11,7 +11,7 @@ import * as utilities from "./utilities"; * * ```typescript * import * as pulumi from "@pulumi/pulumi"; - * import * as zitadel from "@pulumiverse/zitadel"; + * import * as zitadel from "@scoretechnologies/zitadel"; * * const _default = new zitadel.OrgIdpJwt("default", { * orgId: data.zitadel_org["default"].id, diff --git a/sdk/nodejs/orgIdpLdap.ts b/sdk/nodejs/orgIdpLdap.ts index f0093d3..5e821e7 100644 --- a/sdk/nodejs/orgIdpLdap.ts +++ b/sdk/nodejs/orgIdpLdap.ts @@ -11,7 +11,7 @@ import * as utilities from "./utilities"; * * ```typescript * import * as pulumi from "@pulumi/pulumi"; - * import * as zitadel from "@pulumiverse/zitadel"; + * import * as zitadel from "@scoretechnologies/zitadel"; * * const _default = new zitadel.OrgIdpLdap("default", { * orgId: data.zitadel_org["default"].id, diff --git a/sdk/nodejs/orgIdpOauth.ts b/sdk/nodejs/orgIdpOauth.ts index d82032c..eb8b574 100644 --- a/sdk/nodejs/orgIdpOauth.ts +++ b/sdk/nodejs/orgIdpOauth.ts @@ -11,7 +11,7 @@ import * as utilities from "./utilities"; * * ```typescript * import * as pulumi from "@pulumi/pulumi"; - * import * as zitadel from "@pulumiverse/zitadel"; + * import * as zitadel from "@scoretechnologies/zitadel"; * * const _default = new zitadel.OrgIdpOauth("default", { * orgId: data.zitadel_org["default"].id, diff --git a/sdk/nodejs/orgIdpOidc.ts b/sdk/nodejs/orgIdpOidc.ts index f46e377..227f82a 100644 --- a/sdk/nodejs/orgIdpOidc.ts +++ b/sdk/nodejs/orgIdpOidc.ts @@ -11,7 +11,7 @@ import * as utilities from "./utilities"; * * ```typescript * import * as pulumi from "@pulumi/pulumi"; - * import * as zitadel from "@pulumiverse/zitadel"; + * import * as zitadel from "@scoretechnologies/zitadel"; * * const _default = new zitadel.OrgIdpOidc("default", { * orgId: data.zitadel_org["default"].id, diff --git a/sdk/nodejs/orgIdpSaml.ts b/sdk/nodejs/orgIdpSaml.ts index ea7c17c..1967d0f 100644 --- a/sdk/nodejs/orgIdpSaml.ts +++ b/sdk/nodejs/orgIdpSaml.ts @@ -11,7 +11,7 @@ import * as utilities from "./utilities"; * * ```typescript * import * as pulumi from "@pulumi/pulumi"; - * import * as zitadel from "@pulumiverse/zitadel"; + * import * as zitadel from "@scoretechnologies/zitadel"; * * const _default = new zitadel.OrgIdpSaml("default", { * orgId: data.zitadel_org["default"].id, diff --git a/sdk/nodejs/orgMember.ts b/sdk/nodejs/orgMember.ts index 92471a5..1a6e96f 100644 --- a/sdk/nodejs/orgMember.ts +++ b/sdk/nodejs/orgMember.ts @@ -11,7 +11,7 @@ import * as utilities from "./utilities"; * * ```typescript * import * as pulumi from "@pulumi/pulumi"; - * import * as zitadel from "@pulumiverse/zitadel"; + * import * as zitadel from "@scoretechnologies/zitadel"; * * const _default = new zitadel.OrgMember("default", { * orgId: data.zitadel_org["default"].id, diff --git a/sdk/nodejs/orgMetadata.ts b/sdk/nodejs/orgMetadata.ts index 08a6fd3..961283f 100644 --- a/sdk/nodejs/orgMetadata.ts +++ b/sdk/nodejs/orgMetadata.ts @@ -9,7 +9,7 @@ import * as utilities from "./utilities"; * * ```typescript * import * as pulumi from "@pulumi/pulumi"; - * import * as zitadel from "@pulumiverse/zitadel"; + * import * as zitadel from "@scoretechnologies/zitadel"; * * const _default = new zitadel.OrgMetadata("default", { * orgId: data.zitadel_org["default"].id, diff --git a/sdk/nodejs/passwordComplexityPolicy.ts b/sdk/nodejs/passwordComplexityPolicy.ts index 770253f..51e1d43 100644 --- a/sdk/nodejs/passwordComplexityPolicy.ts +++ b/sdk/nodejs/passwordComplexityPolicy.ts @@ -11,7 +11,7 @@ import * as utilities from "./utilities"; * * ```typescript * import * as pulumi from "@pulumi/pulumi"; - * import * as zitadel from "@pulumiverse/zitadel"; + * import * as zitadel from "@scoretechnologies/zitadel"; * * const _default = new zitadel.PasswordComplexityPolicy("default", { * orgId: data.zitadel_org["default"].id, diff --git a/sdk/nodejs/personalAccessToken.ts b/sdk/nodejs/personalAccessToken.ts index 92f3998..c87c34e 100644 --- a/sdk/nodejs/personalAccessToken.ts +++ b/sdk/nodejs/personalAccessToken.ts @@ -11,7 +11,7 @@ import * as utilities from "./utilities"; * * ```typescript * import * as pulumi from "@pulumi/pulumi"; - * import * as zitadel from "@pulumiverse/zitadel"; + * import * as zitadel from "@scoretechnologies/zitadel"; * * const _default = new zitadel.PersonalAccessToken("default", { * orgId: data.zitadel_org["default"].id, diff --git a/sdk/nodejs/privacyPolicy.ts b/sdk/nodejs/privacyPolicy.ts index 0c4762f..5527ccd 100644 --- a/sdk/nodejs/privacyPolicy.ts +++ b/sdk/nodejs/privacyPolicy.ts @@ -11,7 +11,7 @@ import * as utilities from "./utilities"; * * ```typescript * import * as pulumi from "@pulumi/pulumi"; - * import * as zitadel from "@pulumiverse/zitadel"; + * import * as zitadel from "@scoretechnologies/zitadel"; * * const _default = new zitadel.PrivacyPolicy("default", { * orgId: data.zitadel_org["default"].id, diff --git a/sdk/nodejs/project.ts b/sdk/nodejs/project.ts index 2382d40..be4ac3b 100644 --- a/sdk/nodejs/project.ts +++ b/sdk/nodejs/project.ts @@ -11,7 +11,7 @@ import * as utilities from "./utilities"; * * ```typescript * import * as pulumi from "@pulumi/pulumi"; - * import * as zitadel from "@pulumiverse/zitadel"; + * import * as zitadel from "@scoretechnologies/zitadel"; * * const _default = new zitadel.Project("default", { * orgId: data.zitadel_org["default"].id, diff --git a/sdk/nodejs/projectGrant.ts b/sdk/nodejs/projectGrant.ts index 6d120d3..a248ff2 100644 --- a/sdk/nodejs/projectGrant.ts +++ b/sdk/nodejs/projectGrant.ts @@ -11,7 +11,7 @@ import * as utilities from "./utilities"; * * ```typescript * import * as pulumi from "@pulumi/pulumi"; - * import * as zitadel from "@pulumiverse/zitadel"; + * import * as zitadel from "@scoretechnologies/zitadel"; * * const _default = new zitadel.ProjectGrant("default", { * orgId: data.zitadel_org["default"].id, diff --git a/sdk/nodejs/projectGrantMember.ts b/sdk/nodejs/projectGrantMember.ts index fef76b2..3b280af 100644 --- a/sdk/nodejs/projectGrantMember.ts +++ b/sdk/nodejs/projectGrantMember.ts @@ -11,7 +11,7 @@ import * as utilities from "./utilities"; * * ```typescript * import * as pulumi from "@pulumi/pulumi"; - * import * as zitadel from "@pulumiverse/zitadel"; + * import * as zitadel from "@scoretechnologies/zitadel"; * * const _default = new zitadel.ProjectGrantMember("default", { * orgId: data.zitadel_org["default"].id, diff --git a/sdk/nodejs/projectMember.ts b/sdk/nodejs/projectMember.ts index a076aeb..7705b4d 100644 --- a/sdk/nodejs/projectMember.ts +++ b/sdk/nodejs/projectMember.ts @@ -11,7 +11,7 @@ import * as utilities from "./utilities"; * * ```typescript * import * as pulumi from "@pulumi/pulumi"; - * import * as zitadel from "@pulumiverse/zitadel"; + * import * as zitadel from "@scoretechnologies/zitadel"; * * const _default = new zitadel.ProjectMember("default", { * orgId: data.zitadel_org["default"].id, diff --git a/sdk/nodejs/projectRole.ts b/sdk/nodejs/projectRole.ts index 7cd6c9d..c08fcab 100644 --- a/sdk/nodejs/projectRole.ts +++ b/sdk/nodejs/projectRole.ts @@ -11,7 +11,7 @@ import * as utilities from "./utilities"; * * ```typescript * import * as pulumi from "@pulumi/pulumi"; - * import * as zitadel from "@pulumiverse/zitadel"; + * import * as zitadel from "@scoretechnologies/zitadel"; * * const _default = new zitadel.ProjectRole("default", { * orgId: data.zitadel_org["default"].id, diff --git a/sdk/nodejs/smsProviderTwilio.ts b/sdk/nodejs/smsProviderTwilio.ts index 2443733..590e1d7 100644 --- a/sdk/nodejs/smsProviderTwilio.ts +++ b/sdk/nodejs/smsProviderTwilio.ts @@ -11,7 +11,7 @@ import * as utilities from "./utilities"; * * ```typescript * import * as pulumi from "@pulumi/pulumi"; - * import * as zitadel from "@pulumiverse/zitadel"; + * import * as zitadel from "@scoretechnologies/zitadel"; * * const _default = new zitadel.SmsProviderTwilio("default", { * senderNumber: "019920892", diff --git a/sdk/nodejs/smtpConfig.ts b/sdk/nodejs/smtpConfig.ts index 9d615c3..982bb2f 100644 --- a/sdk/nodejs/smtpConfig.ts +++ b/sdk/nodejs/smtpConfig.ts @@ -11,7 +11,7 @@ import * as utilities from "./utilities"; * * ```typescript * import * as pulumi from "@pulumi/pulumi"; - * import * as zitadel from "@pulumiverse/zitadel"; + * import * as zitadel from "@scoretechnologies/zitadel"; * * const _default = new zitadel.SmtpConfig("default", { * host: "localhost:25", diff --git a/sdk/nodejs/triggerActions.ts b/sdk/nodejs/triggerActions.ts index ffe3433..2ed7c73 100644 --- a/sdk/nodejs/triggerActions.ts +++ b/sdk/nodejs/triggerActions.ts @@ -11,7 +11,7 @@ import * as utilities from "./utilities"; * * ```typescript * import * as pulumi from "@pulumi/pulumi"; - * import * as zitadel from "@pulumiverse/zitadel"; + * import * as zitadel from "@scoretechnologies/zitadel"; * * const _default = new zitadel.TriggerActions("default", { * orgId: data.zitadel_org["default"].id, diff --git a/sdk/nodejs/userGrant.ts b/sdk/nodejs/userGrant.ts index 309ccaf..9cc9cea 100644 --- a/sdk/nodejs/userGrant.ts +++ b/sdk/nodejs/userGrant.ts @@ -11,7 +11,7 @@ import * as utilities from "./utilities"; * * ```typescript * import * as pulumi from "@pulumi/pulumi"; - * import * as zitadel from "@pulumiverse/zitadel"; + * import * as zitadel from "@scoretechnologies/zitadel"; * * const _default = new zitadel.UserGrant("default", { * projectId: data.zitadel_project["default"].id, diff --git a/sdk/nodejs/userMetadata.ts b/sdk/nodejs/userMetadata.ts index 54d40fb..5c87caf 100644 --- a/sdk/nodejs/userMetadata.ts +++ b/sdk/nodejs/userMetadata.ts @@ -9,7 +9,7 @@ import * as utilities from "./utilities"; * * ```typescript * import * as pulumi from "@pulumi/pulumi"; - * import * as zitadel from "@pulumiverse/zitadel"; + * import * as zitadel from "@scoretechnologies/zitadel"; * * const _default = new zitadel.UserMetadata("default", { * orgId: data.zitadel_org["default"].id, diff --git a/sdk/nodejs/utilities.ts b/sdk/nodejs/utilities.ts index ff05d49..831b4b6 100644 --- a/sdk/nodejs/utilities.ts +++ b/sdk/nodejs/utilities.ts @@ -50,7 +50,7 @@ export function getVersion(): string { /** @internal */ export function resourceOptsDefaults(): any { - return { version: getVersion(), pluginDownloadURL: "github://api.github.com/pulumiverse" }; + return { version: getVersion(), pluginDownloadURL: "github://api.github.com/scoretechnologies" }; } /** @internal */ diff --git a/sdk/python/README.md b/sdk/python/README.md index 2f550cc..e08f714 100644 --- a/sdk/python/README.md +++ b/sdk/python/README.md @@ -11,13 +11,13 @@ This package is available for several languages/platforms: To use from JavaScript or TypeScript in Node.js, install using either `npm`: ```bash -npm install @pulumiverse/zitadel +npm install @scoretechnologies/zitadel ``` or `yarn`: ```bash -yarn add @pulumiverse/zitadel +yarn add @scoretechnologies/zitadel ``` ### Python @@ -33,7 +33,7 @@ pip install pulumi_zitadel To use from Go, use `go get` to grab the latest version of the library: ```bash -go get github.com/pulumiverse/pulumi-zitadel/sdk/go/... +go get github.com/scoretechnologies/pulumi-zitadel/sdk/go/... ``` ### .NET @@ -41,7 +41,7 @@ go get github.com/pulumiverse/pulumi-zitadel/sdk/go/... To use from .NET, install using `dotnet add package`: ```bash -dotnet add package Pulumiverse.Zitadel +dotnet add package scoretechnologies.Zitadel ``` ## Configuration diff --git a/sdk/python/pulumiverse_zitadel/README.md b/sdk/python/pulumiverse_zitadel/README.md index b16f119..8e00af3 100644 --- a/sdk/python/pulumiverse_zitadel/README.md +++ b/sdk/python/pulumiverse_zitadel/README.md @@ -1,4 +1,4 @@ > This provider is a derived work of the [Terraform Provider](https://github.com/zitadel/terraform-provider-zitadel) > distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature, -> first check the [`pulumi-zitadel` repo](https://github.com/pulumiverse/pulumi-zitadel/issues); however, if that doesn't turn up anything, +> first check the [`pulumi-zitadel` repo](https://github.com/scoretechnologies/pulumi-zitadel/issues); however, if that doesn't turn up anything, > please consult the source [`terraform-provider-zitadel` repo](https://github.com/zitadel/terraform-provider-zitadel/issues). \ No newline at end of file diff --git a/sdk/python/pulumiverse_zitadel/__init__.py b/sdk/python/pulumiverse_zitadel/__init__.py index 09f916d..a242144 100644 --- a/sdk/python/pulumiverse_zitadel/__init__.py +++ b/sdk/python/pulumiverse_zitadel/__init__.py @@ -105,10 +105,10 @@ # Make subpackages available: if typing.TYPE_CHECKING: - import pulumiverse_zitadel.config as __config + import scoretechnologies_zitadel.config as __config config = __config else: - config = _utilities.lazy_import('pulumiverse_zitadel.config') + config = _utilities.lazy_import('scoretechnologies_zitadel.config') _utilities.register( resource_modules=""" @@ -116,7 +116,7 @@ { "pkg": "zitadel", "mod": "index/action", - "fqn": "pulumiverse_zitadel", + "fqn": "scoretechnologies_zitadel", "classes": { "zitadel:index/action:Action": "Action" } @@ -124,7 +124,7 @@ { "pkg": "zitadel", "mod": "index/applicationApi", - "fqn": "pulumiverse_zitadel", + "fqn": "scoretechnologies_zitadel", "classes": { "zitadel:index/applicationApi:ApplicationApi": "ApplicationApi" } @@ -132,7 +132,7 @@ { "pkg": "zitadel", "mod": "index/applicationKey", - "fqn": "pulumiverse_zitadel", + "fqn": "scoretechnologies_zitadel", "classes": { "zitadel:index/applicationKey:ApplicationKey": "ApplicationKey" } @@ -140,7 +140,7 @@ { "pkg": "zitadel", "mod": "index/applicationOidc", - "fqn": "pulumiverse_zitadel", + "fqn": "scoretechnologies_zitadel", "classes": { "zitadel:index/applicationOidc:ApplicationOidc": "ApplicationOidc" } @@ -148,7 +148,7 @@ { "pkg": "zitadel", "mod": "index/applicationSaml", - "fqn": "pulumiverse_zitadel", + "fqn": "scoretechnologies_zitadel", "classes": { "zitadel:index/applicationSaml:ApplicationSaml": "ApplicationSaml" } @@ -156,7 +156,7 @@ { "pkg": "zitadel", "mod": "index/defaultDomainPolicy", - "fqn": "pulumiverse_zitadel", + "fqn": "scoretechnologies_zitadel", "classes": { "zitadel:index/defaultDomainPolicy:DefaultDomainPolicy": "DefaultDomainPolicy" } @@ -164,7 +164,7 @@ { "pkg": "zitadel", "mod": "index/defaultLabelPolicy", - "fqn": "pulumiverse_zitadel", + "fqn": "scoretechnologies_zitadel", "classes": { "zitadel:index/defaultLabelPolicy:DefaultLabelPolicy": "DefaultLabelPolicy" } @@ -172,7 +172,7 @@ { "pkg": "zitadel", "mod": "index/defaultLockoutPolicy", - "fqn": "pulumiverse_zitadel", + "fqn": "scoretechnologies_zitadel", "classes": { "zitadel:index/defaultLockoutPolicy:DefaultLockoutPolicy": "DefaultLockoutPolicy" } @@ -180,7 +180,7 @@ { "pkg": "zitadel", "mod": "index/defaultLoginPolicy", - "fqn": "pulumiverse_zitadel", + "fqn": "scoretechnologies_zitadel", "classes": { "zitadel:index/defaultLoginPolicy:DefaultLoginPolicy": "DefaultLoginPolicy" } @@ -188,7 +188,7 @@ { "pkg": "zitadel", "mod": "index/defaultNotificationPolicy", - "fqn": "pulumiverse_zitadel", + "fqn": "scoretechnologies_zitadel", "classes": { "zitadel:index/defaultNotificationPolicy:DefaultNotificationPolicy": "DefaultNotificationPolicy" } @@ -196,7 +196,7 @@ { "pkg": "zitadel", "mod": "index/defaultOidcSettings", - "fqn": "pulumiverse_zitadel", + "fqn": "scoretechnologies_zitadel", "classes": { "zitadel:index/defaultOidcSettings:DefaultOidcSettings": "DefaultOidcSettings" } @@ -204,7 +204,7 @@ { "pkg": "zitadel", "mod": "index/defaultPasswordComplexityPolicy", - "fqn": "pulumiverse_zitadel", + "fqn": "scoretechnologies_zitadel", "classes": { "zitadel:index/defaultPasswordComplexityPolicy:DefaultPasswordComplexityPolicy": "DefaultPasswordComplexityPolicy" } @@ -212,7 +212,7 @@ { "pkg": "zitadel", "mod": "index/defaultPrivacyPolicy", - "fqn": "pulumiverse_zitadel", + "fqn": "scoretechnologies_zitadel", "classes": { "zitadel:index/defaultPrivacyPolicy:DefaultPrivacyPolicy": "DefaultPrivacyPolicy" } @@ -220,7 +220,7 @@ { "pkg": "zitadel", "mod": "index/domain", - "fqn": "pulumiverse_zitadel", + "fqn": "scoretechnologies_zitadel", "classes": { "zitadel:index/domain:Domain": "Domain" } @@ -228,7 +228,7 @@ { "pkg": "zitadel", "mod": "index/domainPolicy", - "fqn": "pulumiverse_zitadel", + "fqn": "scoretechnologies_zitadel", "classes": { "zitadel:index/domainPolicy:DomainPolicy": "DomainPolicy" } @@ -236,7 +236,7 @@ { "pkg": "zitadel", "mod": "index/humanUser", - "fqn": "pulumiverse_zitadel", + "fqn": "scoretechnologies_zitadel", "classes": { "zitadel:index/humanUser:HumanUser": "HumanUser" } @@ -244,7 +244,7 @@ { "pkg": "zitadel", "mod": "index/idpAzureAd", - "fqn": "pulumiverse_zitadel", + "fqn": "scoretechnologies_zitadel", "classes": { "zitadel:index/idpAzureAd:IdpAzureAd": "IdpAzureAd" } @@ -252,7 +252,7 @@ { "pkg": "zitadel", "mod": "index/idpGithub", - "fqn": "pulumiverse_zitadel", + "fqn": "scoretechnologies_zitadel", "classes": { "zitadel:index/idpGithub:IdpGithub": "IdpGithub" } @@ -260,7 +260,7 @@ { "pkg": "zitadel", "mod": "index/idpGithubEs", - "fqn": "pulumiverse_zitadel", + "fqn": "scoretechnologies_zitadel", "classes": { "zitadel:index/idpGithubEs:IdpGithubEs": "IdpGithubEs" } @@ -268,7 +268,7 @@ { "pkg": "zitadel", "mod": "index/idpGitlab", - "fqn": "pulumiverse_zitadel", + "fqn": "scoretechnologies_zitadel", "classes": { "zitadel:index/idpGitlab:IdpGitlab": "IdpGitlab" } @@ -276,7 +276,7 @@ { "pkg": "zitadel", "mod": "index/idpGitlabSelfHosted", - "fqn": "pulumiverse_zitadel", + "fqn": "scoretechnologies_zitadel", "classes": { "zitadel:index/idpGitlabSelfHosted:IdpGitlabSelfHosted": "IdpGitlabSelfHosted" } @@ -284,7 +284,7 @@ { "pkg": "zitadel", "mod": "index/idpGoogle", - "fqn": "pulumiverse_zitadel", + "fqn": "scoretechnologies_zitadel", "classes": { "zitadel:index/idpGoogle:IdpGoogle": "IdpGoogle" } @@ -292,7 +292,7 @@ { "pkg": "zitadel", "mod": "index/idpLdap", - "fqn": "pulumiverse_zitadel", + "fqn": "scoretechnologies_zitadel", "classes": { "zitadel:index/idpLdap:IdpLdap": "IdpLdap" } @@ -300,7 +300,7 @@ { "pkg": "zitadel", "mod": "index/idpOauth", - "fqn": "pulumiverse_zitadel", + "fqn": "scoretechnologies_zitadel", "classes": { "zitadel:index/idpOauth:IdpOauth": "IdpOauth" } @@ -308,7 +308,7 @@ { "pkg": "zitadel", "mod": "index/idpSaml", - "fqn": "pulumiverse_zitadel", + "fqn": "scoretechnologies_zitadel", "classes": { "zitadel:index/idpSaml:IdpSaml": "IdpSaml" } @@ -316,7 +316,7 @@ { "pkg": "zitadel", "mod": "index/instanceMember", - "fqn": "pulumiverse_zitadel", + "fqn": "scoretechnologies_zitadel", "classes": { "zitadel:index/instanceMember:InstanceMember": "InstanceMember" } @@ -324,7 +324,7 @@ { "pkg": "zitadel", "mod": "index/labelPolicy", - "fqn": "pulumiverse_zitadel", + "fqn": "scoretechnologies_zitadel", "classes": { "zitadel:index/labelPolicy:LabelPolicy": "LabelPolicy" } @@ -332,7 +332,7 @@ { "pkg": "zitadel", "mod": "index/lockoutPolicy", - "fqn": "pulumiverse_zitadel", + "fqn": "scoretechnologies_zitadel", "classes": { "zitadel:index/lockoutPolicy:LockoutPolicy": "LockoutPolicy" } @@ -340,7 +340,7 @@ { "pkg": "zitadel", "mod": "index/loginPolicy", - "fqn": "pulumiverse_zitadel", + "fqn": "scoretechnologies_zitadel", "classes": { "zitadel:index/loginPolicy:LoginPolicy": "LoginPolicy" } @@ -348,7 +348,7 @@ { "pkg": "zitadel", "mod": "index/machineKey", - "fqn": "pulumiverse_zitadel", + "fqn": "scoretechnologies_zitadel", "classes": { "zitadel:index/machineKey:MachineKey": "MachineKey" } @@ -356,7 +356,7 @@ { "pkg": "zitadel", "mod": "index/machineUser", - "fqn": "pulumiverse_zitadel", + "fqn": "scoretechnologies_zitadel", "classes": { "zitadel:index/machineUser:MachineUser": "MachineUser" } @@ -364,7 +364,7 @@ { "pkg": "zitadel", "mod": "index/notificationPolicy", - "fqn": "pulumiverse_zitadel", + "fqn": "scoretechnologies_zitadel", "classes": { "zitadel:index/notificationPolicy:NotificationPolicy": "NotificationPolicy" } @@ -372,7 +372,7 @@ { "pkg": "zitadel", "mod": "index/org", - "fqn": "pulumiverse_zitadel", + "fqn": "scoretechnologies_zitadel", "classes": { "zitadel:index/org:Org": "Org" } @@ -380,7 +380,7 @@ { "pkg": "zitadel", "mod": "index/orgIdpAzureAd", - "fqn": "pulumiverse_zitadel", + "fqn": "scoretechnologies_zitadel", "classes": { "zitadel:index/orgIdpAzureAd:OrgIdpAzureAd": "OrgIdpAzureAd" } @@ -388,7 +388,7 @@ { "pkg": "zitadel", "mod": "index/orgIdpGithub", - "fqn": "pulumiverse_zitadel", + "fqn": "scoretechnologies_zitadel", "classes": { "zitadel:index/orgIdpGithub:OrgIdpGithub": "OrgIdpGithub" } @@ -396,7 +396,7 @@ { "pkg": "zitadel", "mod": "index/orgIdpGithubEs", - "fqn": "pulumiverse_zitadel", + "fqn": "scoretechnologies_zitadel", "classes": { "zitadel:index/orgIdpGithubEs:OrgIdpGithubEs": "OrgIdpGithubEs" } @@ -404,7 +404,7 @@ { "pkg": "zitadel", "mod": "index/orgIdpGitlab", - "fqn": "pulumiverse_zitadel", + "fqn": "scoretechnologies_zitadel", "classes": { "zitadel:index/orgIdpGitlab:OrgIdpGitlab": "OrgIdpGitlab" } @@ -412,7 +412,7 @@ { "pkg": "zitadel", "mod": "index/orgIdpGitlabSelfHosted", - "fqn": "pulumiverse_zitadel", + "fqn": "scoretechnologies_zitadel", "classes": { "zitadel:index/orgIdpGitlabSelfHosted:OrgIdpGitlabSelfHosted": "OrgIdpGitlabSelfHosted" } @@ -420,7 +420,7 @@ { "pkg": "zitadel", "mod": "index/orgIdpGoogle", - "fqn": "pulumiverse_zitadel", + "fqn": "scoretechnologies_zitadel", "classes": { "zitadel:index/orgIdpGoogle:OrgIdpGoogle": "OrgIdpGoogle" } @@ -428,7 +428,7 @@ { "pkg": "zitadel", "mod": "index/orgIdpJwt", - "fqn": "pulumiverse_zitadel", + "fqn": "scoretechnologies_zitadel", "classes": { "zitadel:index/orgIdpJwt:OrgIdpJwt": "OrgIdpJwt" } @@ -436,7 +436,7 @@ { "pkg": "zitadel", "mod": "index/orgIdpLdap", - "fqn": "pulumiverse_zitadel", + "fqn": "scoretechnologies_zitadel", "classes": { "zitadel:index/orgIdpLdap:OrgIdpLdap": "OrgIdpLdap" } @@ -444,7 +444,7 @@ { "pkg": "zitadel", "mod": "index/orgIdpOauth", - "fqn": "pulumiverse_zitadel", + "fqn": "scoretechnologies_zitadel", "classes": { "zitadel:index/orgIdpOauth:OrgIdpOauth": "OrgIdpOauth" } @@ -452,7 +452,7 @@ { "pkg": "zitadel", "mod": "index/orgIdpOidc", - "fqn": "pulumiverse_zitadel", + "fqn": "scoretechnologies_zitadel", "classes": { "zitadel:index/orgIdpOidc:OrgIdpOidc": "OrgIdpOidc" } @@ -460,7 +460,7 @@ { "pkg": "zitadel", "mod": "index/orgIdpSaml", - "fqn": "pulumiverse_zitadel", + "fqn": "scoretechnologies_zitadel", "classes": { "zitadel:index/orgIdpSaml:OrgIdpSaml": "OrgIdpSaml" } @@ -468,7 +468,7 @@ { "pkg": "zitadel", "mod": "index/orgMember", - "fqn": "pulumiverse_zitadel", + "fqn": "scoretechnologies_zitadel", "classes": { "zitadel:index/orgMember:OrgMember": "OrgMember" } @@ -476,7 +476,7 @@ { "pkg": "zitadel", "mod": "index/orgMetadata", - "fqn": "pulumiverse_zitadel", + "fqn": "scoretechnologies_zitadel", "classes": { "zitadel:index/orgMetadata:OrgMetadata": "OrgMetadata" } @@ -484,7 +484,7 @@ { "pkg": "zitadel", "mod": "index/passwordComplexityPolicy", - "fqn": "pulumiverse_zitadel", + "fqn": "scoretechnologies_zitadel", "classes": { "zitadel:index/passwordComplexityPolicy:PasswordComplexityPolicy": "PasswordComplexityPolicy" } @@ -492,7 +492,7 @@ { "pkg": "zitadel", "mod": "index/personalAccessToken", - "fqn": "pulumiverse_zitadel", + "fqn": "scoretechnologies_zitadel", "classes": { "zitadel:index/personalAccessToken:PersonalAccessToken": "PersonalAccessToken" } @@ -500,7 +500,7 @@ { "pkg": "zitadel", "mod": "index/privacyPolicy", - "fqn": "pulumiverse_zitadel", + "fqn": "scoretechnologies_zitadel", "classes": { "zitadel:index/privacyPolicy:PrivacyPolicy": "PrivacyPolicy" } @@ -508,7 +508,7 @@ { "pkg": "zitadel", "mod": "index/project", - "fqn": "pulumiverse_zitadel", + "fqn": "scoretechnologies_zitadel", "classes": { "zitadel:index/project:Project": "Project" } @@ -516,7 +516,7 @@ { "pkg": "zitadel", "mod": "index/projectGrant", - "fqn": "pulumiverse_zitadel", + "fqn": "scoretechnologies_zitadel", "classes": { "zitadel:index/projectGrant:ProjectGrant": "ProjectGrant" } @@ -524,7 +524,7 @@ { "pkg": "zitadel", "mod": "index/projectGrantMember", - "fqn": "pulumiverse_zitadel", + "fqn": "scoretechnologies_zitadel", "classes": { "zitadel:index/projectGrantMember:ProjectGrantMember": "ProjectGrantMember" } @@ -532,7 +532,7 @@ { "pkg": "zitadel", "mod": "index/projectMember", - "fqn": "pulumiverse_zitadel", + "fqn": "scoretechnologies_zitadel", "classes": { "zitadel:index/projectMember:ProjectMember": "ProjectMember" } @@ -540,7 +540,7 @@ { "pkg": "zitadel", "mod": "index/projectRole", - "fqn": "pulumiverse_zitadel", + "fqn": "scoretechnologies_zitadel", "classes": { "zitadel:index/projectRole:ProjectRole": "ProjectRole" } @@ -548,7 +548,7 @@ { "pkg": "zitadel", "mod": "index/smsProviderTwilio", - "fqn": "pulumiverse_zitadel", + "fqn": "scoretechnologies_zitadel", "classes": { "zitadel:index/smsProviderTwilio:SmsProviderTwilio": "SmsProviderTwilio" } @@ -556,7 +556,7 @@ { "pkg": "zitadel", "mod": "index/smtpConfig", - "fqn": "pulumiverse_zitadel", + "fqn": "scoretechnologies_zitadel", "classes": { "zitadel:index/smtpConfig:SmtpConfig": "SmtpConfig" } @@ -564,7 +564,7 @@ { "pkg": "zitadel", "mod": "index/triggerActions", - "fqn": "pulumiverse_zitadel", + "fqn": "scoretechnologies_zitadel", "classes": { "zitadel:index/triggerActions:TriggerActions": "TriggerActions" } @@ -572,7 +572,7 @@ { "pkg": "zitadel", "mod": "index/userGrant", - "fqn": "pulumiverse_zitadel", + "fqn": "scoretechnologies_zitadel", "classes": { "zitadel:index/userGrant:UserGrant": "UserGrant" } @@ -580,7 +580,7 @@ { "pkg": "zitadel", "mod": "index/userMetadata", - "fqn": "pulumiverse_zitadel", + "fqn": "scoretechnologies_zitadel", "classes": { "zitadel:index/userMetadata:UserMetadata": "UserMetadata" } @@ -592,7 +592,7 @@ { "pkg": "zitadel", "token": "pulumi:providers:zitadel", - "fqn": "pulumiverse_zitadel", + "fqn": "scoretechnologies_zitadel", "class": "Provider" } ] diff --git a/sdk/python/pulumiverse_zitadel/_utilities.py b/sdk/python/pulumiverse_zitadel/_utilities.py index 0bb35cf..fdd520d 100644 --- a/sdk/python/pulumiverse_zitadel/_utilities.py +++ b/sdk/python/pulumiverse_zitadel/_utilities.py @@ -247,4 +247,4 @@ def lifted_func(*args, opts=None, **kwargs): return (lambda _: lifted_func) def get_plugin_download_url(): - return "github://api.github.com/pulumiverse" + return "github://api.github.com/scoretechnologies" diff --git a/sdk/python/pulumiverse_zitadel/action.py b/sdk/python/pulumiverse_zitadel/action.py index eb8bede..77d716e 100644 --- a/sdk/python/pulumiverse_zitadel/action.py +++ b/sdk/python/pulumiverse_zitadel/action.py @@ -250,7 +250,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.Action("default", org_id=data["zitadel_org"]["default"]["id"], @@ -286,7 +286,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.Action("default", org_id=data["zitadel_org"]["default"]["id"], diff --git a/sdk/python/pulumiverse_zitadel/application_api.py b/sdk/python/pulumiverse_zitadel/application_api.py index f16e11c..214f373 100644 --- a/sdk/python/pulumiverse_zitadel/application_api.py +++ b/sdk/python/pulumiverse_zitadel/application_api.py @@ -257,7 +257,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.ApplicationApi("default", org_id=data["zitadel_org"]["default"]["id"], @@ -293,7 +293,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.ApplicationApi("default", org_id=data["zitadel_org"]["default"]["id"], diff --git a/sdk/python/pulumiverse_zitadel/application_key.py b/sdk/python/pulumiverse_zitadel/application_key.py index fda84e6..6ef4125 100644 --- a/sdk/python/pulumiverse_zitadel/application_key.py +++ b/sdk/python/pulumiverse_zitadel/application_key.py @@ -279,7 +279,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.ApplicationKey("default", org_id=data["zitadel_org"]["default"]["id"], @@ -318,7 +318,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.ApplicationKey("default", org_id=data["zitadel_org"]["default"]["id"], diff --git a/sdk/python/pulumiverse_zitadel/application_oidc.py b/sdk/python/pulumiverse_zitadel/application_oidc.py index 9ebd061..c2a51c3 100644 --- a/sdk/python/pulumiverse_zitadel/application_oidc.py +++ b/sdk/python/pulumiverse_zitadel/application_oidc.py @@ -783,7 +783,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.ApplicationOidc("default", project_id=data["zitadel_project"]["default"]["id"], @@ -845,7 +845,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.ApplicationOidc("default", project_id=data["zitadel_project"]["default"]["id"], diff --git a/sdk/python/pulumiverse_zitadel/application_saml.py b/sdk/python/pulumiverse_zitadel/application_saml.py index 5aba8e7..0910606 100644 --- a/sdk/python/pulumiverse_zitadel/application_saml.py +++ b/sdk/python/pulumiverse_zitadel/application_saml.py @@ -216,7 +216,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.ApplicationSaml("default", org_id=data["zitadel_org"]["default"]["id"], @@ -264,7 +264,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.ApplicationSaml("default", org_id=data["zitadel_org"]["default"]["id"], diff --git a/sdk/python/pulumiverse_zitadel/default_domain_policy.py b/sdk/python/pulumiverse_zitadel/default_domain_policy.py index 80749b9..47f649b 100644 --- a/sdk/python/pulumiverse_zitadel/default_domain_policy.py +++ b/sdk/python/pulumiverse_zitadel/default_domain_policy.py @@ -170,7 +170,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.DefaultDomainPolicy("default", smtp_sender_address_matches_instance_domain=True, @@ -204,7 +204,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.DefaultDomainPolicy("default", smtp_sender_address_matches_instance_domain=True, diff --git a/sdk/python/pulumiverse_zitadel/default_lockout_policy.py b/sdk/python/pulumiverse_zitadel/default_lockout_policy.py index 22ec75b..7e15c91 100644 --- a/sdk/python/pulumiverse_zitadel/default_lockout_policy.py +++ b/sdk/python/pulumiverse_zitadel/default_lockout_policy.py @@ -98,7 +98,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.DefaultLockoutPolicy("default", max_password_attempts=5) ``` @@ -128,7 +128,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.DefaultLockoutPolicy("default", max_password_attempts=5) ``` diff --git a/sdk/python/pulumiverse_zitadel/default_login_policy.py b/sdk/python/pulumiverse_zitadel/default_login_policy.py index 6223cc8..eb228c0 100644 --- a/sdk/python/pulumiverse_zitadel/default_login_policy.py +++ b/sdk/python/pulumiverse_zitadel/default_login_policy.py @@ -820,7 +820,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.DefaultLoginPolicy("default", user_login=True, @@ -890,7 +890,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.DefaultLoginPolicy("default", user_login=True, diff --git a/sdk/python/pulumiverse_zitadel/default_notification_policy.py b/sdk/python/pulumiverse_zitadel/default_notification_policy.py index 8e03b2a..6375b95 100644 --- a/sdk/python/pulumiverse_zitadel/default_notification_policy.py +++ b/sdk/python/pulumiverse_zitadel/default_notification_policy.py @@ -98,7 +98,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.DefaultNotificationPolicy("default", password_change=False) ``` @@ -128,7 +128,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.DefaultNotificationPolicy("default", password_change=False) ``` diff --git a/sdk/python/pulumiverse_zitadel/default_oidc_settings.py b/sdk/python/pulumiverse_zitadel/default_oidc_settings.py index df4d895..a8e4ad0 100644 --- a/sdk/python/pulumiverse_zitadel/default_oidc_settings.py +++ b/sdk/python/pulumiverse_zitadel/default_oidc_settings.py @@ -218,7 +218,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.DefaultOidcSettings("default", access_token_lifetime="12h0m0s", @@ -247,7 +247,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.DefaultOidcSettings("default", access_token_lifetime="12h0m0s", diff --git a/sdk/python/pulumiverse_zitadel/default_password_complexity_policy.py b/sdk/python/pulumiverse_zitadel/default_password_complexity_policy.py index 95e4da0..8d125b8 100644 --- a/sdk/python/pulumiverse_zitadel/default_password_complexity_policy.py +++ b/sdk/python/pulumiverse_zitadel/default_password_complexity_policy.py @@ -258,7 +258,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.DefaultPasswordComplexityPolicy("default", has_lowercase=True, @@ -297,7 +297,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.DefaultPasswordComplexityPolicy("default", has_lowercase=True, diff --git a/sdk/python/pulumiverse_zitadel/default_privacy_policy.py b/sdk/python/pulumiverse_zitadel/default_privacy_policy.py index 080710b..f08a6e1 100644 --- a/sdk/python/pulumiverse_zitadel/default_privacy_policy.py +++ b/sdk/python/pulumiverse_zitadel/default_privacy_policy.py @@ -190,7 +190,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.DefaultPrivacyPolicy("default", help_link="https://example.com/help", @@ -223,7 +223,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.DefaultPrivacyPolicy("default", help_link="https://example.com/help", diff --git a/sdk/python/pulumiverse_zitadel/domain.py b/sdk/python/pulumiverse_zitadel/domain.py index 4d3e6e6..81fb7a3 100644 --- a/sdk/python/pulumiverse_zitadel/domain.py +++ b/sdk/python/pulumiverse_zitadel/domain.py @@ -217,7 +217,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.Domain("default", org_id=data["zitadel_org"]["default"]["id"], @@ -251,7 +251,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.Domain("default", org_id=data["zitadel_org"]["default"]["id"], diff --git a/sdk/python/pulumiverse_zitadel/domain_policy.py b/sdk/python/pulumiverse_zitadel/domain_policy.py index e2ff440..1a9c6cb 100644 --- a/sdk/python/pulumiverse_zitadel/domain_policy.py +++ b/sdk/python/pulumiverse_zitadel/domain_policy.py @@ -211,7 +211,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.DomainPolicy("default", org_id=data["zitadel_org"]["default"]["id"], @@ -247,7 +247,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.DomainPolicy("default", org_id=data["zitadel_org"]["default"]["id"], diff --git a/sdk/python/pulumiverse_zitadel/human_user.py b/sdk/python/pulumiverse_zitadel/human_user.py index 5e36392..f4df00c 100644 --- a/sdk/python/pulumiverse_zitadel/human_user.py +++ b/sdk/python/pulumiverse_zitadel/human_user.py @@ -635,7 +635,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.HumanUser("default", org_id=data["zitadel_org"]["default"]["id"], @@ -692,7 +692,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.HumanUser("default", org_id=data["zitadel_org"]["default"]["id"], diff --git a/sdk/python/pulumiverse_zitadel/idp_azure_ad.py b/sdk/python/pulumiverse_zitadel/idp_azure_ad.py index fe9294a..7861c5e 100644 --- a/sdk/python/pulumiverse_zitadel/idp_azure_ad.py +++ b/sdk/python/pulumiverse_zitadel/idp_azure_ad.py @@ -494,7 +494,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.IdpAzureAd("default", client_id="9065bfc8-a08a...", @@ -548,7 +548,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.IdpAzureAd("default", client_id="9065bfc8-a08a...", diff --git a/sdk/python/pulumiverse_zitadel/idp_github.py b/sdk/python/pulumiverse_zitadel/idp_github.py index 9b776dc..0b3c4b2 100644 --- a/sdk/python/pulumiverse_zitadel/idp_github.py +++ b/sdk/python/pulumiverse_zitadel/idp_github.py @@ -372,7 +372,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.IdpGithub("default", client_id="86a165...", @@ -420,7 +420,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.IdpGithub("default", client_id="86a165...", diff --git a/sdk/python/pulumiverse_zitadel/idp_github_es.py b/sdk/python/pulumiverse_zitadel/idp_github_es.py index 71aa785..bcd61be 100644 --- a/sdk/python/pulumiverse_zitadel/idp_github_es.py +++ b/sdk/python/pulumiverse_zitadel/idp_github_es.py @@ -492,7 +492,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.IdpGithubEs("default", authorization_endpoint="https://auth.endpoint", @@ -546,7 +546,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.IdpGithubEs("default", authorization_endpoint="https://auth.endpoint", diff --git a/sdk/python/pulumiverse_zitadel/idp_gitlab.py b/sdk/python/pulumiverse_zitadel/idp_gitlab.py index b1ce3ca..636ea63 100644 --- a/sdk/python/pulumiverse_zitadel/idp_gitlab.py +++ b/sdk/python/pulumiverse_zitadel/idp_gitlab.py @@ -372,7 +372,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.IdpGitlab("default", client_id="15765e...", @@ -420,7 +420,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.IdpGitlab("default", client_id="15765e...", diff --git a/sdk/python/pulumiverse_zitadel/idp_gitlab_self_hosted.py b/sdk/python/pulumiverse_zitadel/idp_gitlab_self_hosted.py index cb56594..0c06800 100644 --- a/sdk/python/pulumiverse_zitadel/idp_gitlab_self_hosted.py +++ b/sdk/python/pulumiverse_zitadel/idp_gitlab_self_hosted.py @@ -408,7 +408,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.IdpGitlabSelfHosted("default", client_id="15765e...", @@ -458,7 +458,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.IdpGitlabSelfHosted("default", client_id="15765e...", diff --git a/sdk/python/pulumiverse_zitadel/idp_google.py b/sdk/python/pulumiverse_zitadel/idp_google.py index fdad3d1..03ec4ea 100644 --- a/sdk/python/pulumiverse_zitadel/idp_google.py +++ b/sdk/python/pulumiverse_zitadel/idp_google.py @@ -372,7 +372,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.IdpGoogle("default", client_id="182902...", @@ -420,7 +420,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.IdpGoogle("default", client_id="182902...", diff --git a/sdk/python/pulumiverse_zitadel/idp_ldap.py b/sdk/python/pulumiverse_zitadel/idp_ldap.py index f5fdffc..c5831b9 100644 --- a/sdk/python/pulumiverse_zitadel/idp_ldap.py +++ b/sdk/python/pulumiverse_zitadel/idp_ldap.py @@ -1140,7 +1140,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.IdpLdap("default", base_dn="dc=example,dc=com", @@ -1218,7 +1218,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.IdpLdap("default", base_dn="dc=example,dc=com", diff --git a/sdk/python/pulumiverse_zitadel/idp_oauth.py b/sdk/python/pulumiverse_zitadel/idp_oauth.py index d8c59b7..826a4f9 100644 --- a/sdk/python/pulumiverse_zitadel/idp_oauth.py +++ b/sdk/python/pulumiverse_zitadel/idp_oauth.py @@ -532,7 +532,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.IdpOauth("default", authorization_endpoint="https://accounts.google.com/o/oauth2/v2/auth", @@ -588,7 +588,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.IdpOauth("default", authorization_endpoint="https://accounts.google.com/o/oauth2/v2/auth", diff --git a/sdk/python/pulumiverse_zitadel/idp_saml.py b/sdk/python/pulumiverse_zitadel/idp_saml.py index cffd583..0fd1faf 100644 --- a/sdk/python/pulumiverse_zitadel/idp_saml.py +++ b/sdk/python/pulumiverse_zitadel/idp_saml.py @@ -373,7 +373,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.IdpSaml("default", binding="SAML_BINDING_POST", @@ -455,7 +455,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.IdpSaml("default", binding="SAML_BINDING_POST", diff --git a/sdk/python/pulumiverse_zitadel/instance_member.py b/sdk/python/pulumiverse_zitadel/instance_member.py index 816bfcf..0db34c2 100644 --- a/sdk/python/pulumiverse_zitadel/instance_member.py +++ b/sdk/python/pulumiverse_zitadel/instance_member.py @@ -134,7 +134,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.InstanceMember("default", user_id=data["zitadel_human_user"]["default"]["id"], @@ -167,7 +167,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.InstanceMember("default", user_id=data["zitadel_human_user"]["default"]["id"], diff --git a/sdk/python/pulumiverse_zitadel/lockout_policy.py b/sdk/python/pulumiverse_zitadel/lockout_policy.py index 571d161..d1c15e7 100644 --- a/sdk/python/pulumiverse_zitadel/lockout_policy.py +++ b/sdk/python/pulumiverse_zitadel/lockout_policy.py @@ -139,7 +139,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.LockoutPolicy("default", org_id=data["zitadel_org"]["default"]["id"], @@ -172,7 +172,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.LockoutPolicy("default", org_id=data["zitadel_org"]["default"]["id"], diff --git a/sdk/python/pulumiverse_zitadel/login_policy.py b/sdk/python/pulumiverse_zitadel/login_policy.py index 1b51306..2de1724 100644 --- a/sdk/python/pulumiverse_zitadel/login_policy.py +++ b/sdk/python/pulumiverse_zitadel/login_policy.py @@ -861,7 +861,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.LoginPolicy("default", org_id=data["zitadel_org"]["default"]["id"], @@ -933,7 +933,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.LoginPolicy("default", org_id=data["zitadel_org"]["default"]["id"], diff --git a/sdk/python/pulumiverse_zitadel/machine_key.py b/sdk/python/pulumiverse_zitadel/machine_key.py index be68975..9713f68 100644 --- a/sdk/python/pulumiverse_zitadel/machine_key.py +++ b/sdk/python/pulumiverse_zitadel/machine_key.py @@ -240,7 +240,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.MachineKey("default", org_id=data["zitadel_org"]["default"]["id"], @@ -277,7 +277,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.MachineKey("default", org_id=data["zitadel_org"]["default"]["id"], diff --git a/sdk/python/pulumiverse_zitadel/machine_user.py b/sdk/python/pulumiverse_zitadel/machine_user.py index e5ed3c2..8f22bc5 100644 --- a/sdk/python/pulumiverse_zitadel/machine_user.py +++ b/sdk/python/pulumiverse_zitadel/machine_user.py @@ -393,7 +393,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.MachineUser("default", org_id=data["zitadel_org"]["default"]["id"], @@ -432,7 +432,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.MachineUser("default", org_id=data["zitadel_org"]["default"]["id"], diff --git a/sdk/python/pulumiverse_zitadel/notification_policy.py b/sdk/python/pulumiverse_zitadel/notification_policy.py index bea7676..9592727 100644 --- a/sdk/python/pulumiverse_zitadel/notification_policy.py +++ b/sdk/python/pulumiverse_zitadel/notification_policy.py @@ -139,7 +139,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.NotificationPolicy("default", org_id=data["zitadel_org"]["default"]["id"], @@ -172,7 +172,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.NotificationPolicy("default", org_id=data["zitadel_org"]["default"]["id"], diff --git a/sdk/python/pulumiverse_zitadel/org.py b/sdk/python/pulumiverse_zitadel/org.py index 1bf5c6d..ad2fe4e 100644 --- a/sdk/python/pulumiverse_zitadel/org.py +++ b/sdk/python/pulumiverse_zitadel/org.py @@ -174,7 +174,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.Org("default") ``` @@ -205,7 +205,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.Org("default") ``` diff --git a/sdk/python/pulumiverse_zitadel/org_idp_azure_ad.py b/sdk/python/pulumiverse_zitadel/org_idp_azure_ad.py index b8f085e..0e6a5e9 100644 --- a/sdk/python/pulumiverse_zitadel/org_idp_azure_ad.py +++ b/sdk/python/pulumiverse_zitadel/org_idp_azure_ad.py @@ -535,7 +535,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.OrgIdpAzureAd("default", org_id=data["zitadel_org"]["default"]["id"], @@ -591,7 +591,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.OrgIdpAzureAd("default", org_id=data["zitadel_org"]["default"]["id"], diff --git a/sdk/python/pulumiverse_zitadel/org_idp_github.py b/sdk/python/pulumiverse_zitadel/org_idp_github.py index 2af3786..4c7778b 100644 --- a/sdk/python/pulumiverse_zitadel/org_idp_github.py +++ b/sdk/python/pulumiverse_zitadel/org_idp_github.py @@ -413,7 +413,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.OrgIdpGithub("default", org_id=data["zitadel_org"]["default"]["id"], @@ -463,7 +463,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.OrgIdpGithub("default", org_id=data["zitadel_org"]["default"]["id"], diff --git a/sdk/python/pulumiverse_zitadel/org_idp_github_es.py b/sdk/python/pulumiverse_zitadel/org_idp_github_es.py index 58a9196..ce3c00a 100644 --- a/sdk/python/pulumiverse_zitadel/org_idp_github_es.py +++ b/sdk/python/pulumiverse_zitadel/org_idp_github_es.py @@ -533,7 +533,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.OrgIdpGithubEs("default", org_id=data["zitadel_org"]["default"]["id"], @@ -589,7 +589,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.OrgIdpGithubEs("default", org_id=data["zitadel_org"]["default"]["id"], diff --git a/sdk/python/pulumiverse_zitadel/org_idp_gitlab.py b/sdk/python/pulumiverse_zitadel/org_idp_gitlab.py index 5c0b189..3653b2e 100644 --- a/sdk/python/pulumiverse_zitadel/org_idp_gitlab.py +++ b/sdk/python/pulumiverse_zitadel/org_idp_gitlab.py @@ -413,7 +413,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.OrgIdpGitlab("default", org_id=data["zitadel_org"]["default"]["id"], @@ -463,7 +463,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.OrgIdpGitlab("default", org_id=data["zitadel_org"]["default"]["id"], diff --git a/sdk/python/pulumiverse_zitadel/org_idp_gitlab_self_hosted.py b/sdk/python/pulumiverse_zitadel/org_idp_gitlab_self_hosted.py index 16d7029..975b653 100644 --- a/sdk/python/pulumiverse_zitadel/org_idp_gitlab_self_hosted.py +++ b/sdk/python/pulumiverse_zitadel/org_idp_gitlab_self_hosted.py @@ -449,7 +449,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.OrgIdpGitlabSelfHosted("default", org_id=data["zitadel_org"]["default"]["id"], @@ -501,7 +501,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.OrgIdpGitlabSelfHosted("default", org_id=data["zitadel_org"]["default"]["id"], diff --git a/sdk/python/pulumiverse_zitadel/org_idp_google.py b/sdk/python/pulumiverse_zitadel/org_idp_google.py index c4bf923..a25f30c 100644 --- a/sdk/python/pulumiverse_zitadel/org_idp_google.py +++ b/sdk/python/pulumiverse_zitadel/org_idp_google.py @@ -413,7 +413,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.OrgIdpGoogle("default", org_id=data["zitadel_org"]["default"]["id"], @@ -463,7 +463,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.OrgIdpGoogle("default", org_id=data["zitadel_org"]["default"]["id"], diff --git a/sdk/python/pulumiverse_zitadel/org_idp_jwt.py b/sdk/python/pulumiverse_zitadel/org_idp_jwt.py index 0d1dc31..a44c460 100644 --- a/sdk/python/pulumiverse_zitadel/org_idp_jwt.py +++ b/sdk/python/pulumiverse_zitadel/org_idp_jwt.py @@ -372,7 +372,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.OrgIdpJwt("default", org_id=data["zitadel_org"]["default"]["id"], @@ -416,7 +416,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.OrgIdpJwt("default", org_id=data["zitadel_org"]["default"]["id"], diff --git a/sdk/python/pulumiverse_zitadel/org_idp_ldap.py b/sdk/python/pulumiverse_zitadel/org_idp_ldap.py index 812e5de..5af6582 100644 --- a/sdk/python/pulumiverse_zitadel/org_idp_ldap.py +++ b/sdk/python/pulumiverse_zitadel/org_idp_ldap.py @@ -1181,7 +1181,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.OrgIdpLdap("default", org_id=data["zitadel_org"]["default"]["id"], @@ -1261,7 +1261,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.OrgIdpLdap("default", org_id=data["zitadel_org"]["default"]["id"], diff --git a/sdk/python/pulumiverse_zitadel/org_idp_oauth.py b/sdk/python/pulumiverse_zitadel/org_idp_oauth.py index 4a77db2..9e269ac 100644 --- a/sdk/python/pulumiverse_zitadel/org_idp_oauth.py +++ b/sdk/python/pulumiverse_zitadel/org_idp_oauth.py @@ -573,7 +573,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.OrgIdpOauth("default", org_id=data["zitadel_org"]["default"]["id"], @@ -631,7 +631,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.OrgIdpOauth("default", org_id=data["zitadel_org"]["default"]["id"], diff --git a/sdk/python/pulumiverse_zitadel/org_idp_oidc.py b/sdk/python/pulumiverse_zitadel/org_idp_oidc.py index 267f2f2..d3bb7d7 100644 --- a/sdk/python/pulumiverse_zitadel/org_idp_oidc.py +++ b/sdk/python/pulumiverse_zitadel/org_idp_oidc.py @@ -489,7 +489,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.OrgIdpOidc("default", org_id=data["zitadel_org"]["default"]["id"], @@ -543,7 +543,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.OrgIdpOidc("default", org_id=data["zitadel_org"]["default"]["id"], diff --git a/sdk/python/pulumiverse_zitadel/org_idp_saml.py b/sdk/python/pulumiverse_zitadel/org_idp_saml.py index a32eaa3..df1b93e 100644 --- a/sdk/python/pulumiverse_zitadel/org_idp_saml.py +++ b/sdk/python/pulumiverse_zitadel/org_idp_saml.py @@ -414,7 +414,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.OrgIdpSaml("default", org_id=data["zitadel_org"]["default"]["id"], @@ -497,7 +497,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.OrgIdpSaml("default", org_id=data["zitadel_org"]["default"]["id"], diff --git a/sdk/python/pulumiverse_zitadel/org_member.py b/sdk/python/pulumiverse_zitadel/org_member.py index 6c21590..2e3cb09 100644 --- a/sdk/python/pulumiverse_zitadel/org_member.py +++ b/sdk/python/pulumiverse_zitadel/org_member.py @@ -175,7 +175,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.OrgMember("default", org_id=data["zitadel_org"]["default"]["id"], @@ -210,7 +210,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.OrgMember("default", org_id=data["zitadel_org"]["default"]["id"], diff --git a/sdk/python/pulumiverse_zitadel/org_metadata.py b/sdk/python/pulumiverse_zitadel/org_metadata.py index f9ca4e0..5ecaa48 100644 --- a/sdk/python/pulumiverse_zitadel/org_metadata.py +++ b/sdk/python/pulumiverse_zitadel/org_metadata.py @@ -169,7 +169,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.OrgMetadata("default", org_id=data["zitadel_org"]["default"]["id"], @@ -202,7 +202,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.OrgMetadata("default", org_id=data["zitadel_org"]["default"]["id"], diff --git a/sdk/python/pulumiverse_zitadel/password_complexity_policy.py b/sdk/python/pulumiverse_zitadel/password_complexity_policy.py index 3f429f1..23b73d2 100644 --- a/sdk/python/pulumiverse_zitadel/password_complexity_policy.py +++ b/sdk/python/pulumiverse_zitadel/password_complexity_policy.py @@ -299,7 +299,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.PasswordComplexityPolicy("default", org_id=data["zitadel_org"]["default"]["id"], @@ -332,7 +332,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.PasswordComplexityPolicy("default", org_id=data["zitadel_org"]["default"]["id"], diff --git a/sdk/python/pulumiverse_zitadel/personal_access_token.py b/sdk/python/pulumiverse_zitadel/personal_access_token.py index 76e9ff5..fbeeaaa 100644 --- a/sdk/python/pulumiverse_zitadel/personal_access_token.py +++ b/sdk/python/pulumiverse_zitadel/personal_access_token.py @@ -198,7 +198,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.PersonalAccessToken("default", org_id=data["zitadel_org"]["default"]["id"], @@ -233,7 +233,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.PersonalAccessToken("default", org_id=data["zitadel_org"]["default"]["id"], diff --git a/sdk/python/pulumiverse_zitadel/privacy_policy.py b/sdk/python/pulumiverse_zitadel/privacy_policy.py index c52a39e..ab6682e 100644 --- a/sdk/python/pulumiverse_zitadel/privacy_policy.py +++ b/sdk/python/pulumiverse_zitadel/privacy_policy.py @@ -231,7 +231,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.PrivacyPolicy("default", org_id=data["zitadel_org"]["default"]["id"], @@ -266,7 +266,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.PrivacyPolicy("default", org_id=data["zitadel_org"]["default"]["id"], diff --git a/sdk/python/pulumiverse_zitadel/project.py b/sdk/python/pulumiverse_zitadel/project.py index 3b9eb5e..c6fe57a 100644 --- a/sdk/python/pulumiverse_zitadel/project.py +++ b/sdk/python/pulumiverse_zitadel/project.py @@ -318,7 +318,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.Project("default", org_id=data["zitadel_org"]["default"]["id"], @@ -358,7 +358,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.Project("default", org_id=data["zitadel_org"]["default"]["id"], diff --git a/sdk/python/pulumiverse_zitadel/project_grant.py b/sdk/python/pulumiverse_zitadel/project_grant.py index 1327f71..59d576c 100644 --- a/sdk/python/pulumiverse_zitadel/project_grant.py +++ b/sdk/python/pulumiverse_zitadel/project_grant.py @@ -220,7 +220,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.ProjectGrant("default", org_id=data["zitadel_org"]["default"]["id"], @@ -257,7 +257,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.ProjectGrant("default", org_id=data["zitadel_org"]["default"]["id"], diff --git a/sdk/python/pulumiverse_zitadel/project_grant_member.py b/sdk/python/pulumiverse_zitadel/project_grant_member.py index 6c4bb1f..9779e2a 100644 --- a/sdk/python/pulumiverse_zitadel/project_grant_member.py +++ b/sdk/python/pulumiverse_zitadel/project_grant_member.py @@ -255,7 +255,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.ProjectGrantMember("default", org_id=data["zitadel_org"]["default"]["id"], @@ -294,7 +294,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.ProjectGrantMember("default", org_id=data["zitadel_org"]["default"]["id"], diff --git a/sdk/python/pulumiverse_zitadel/project_member.py b/sdk/python/pulumiverse_zitadel/project_member.py index c55c772..fe0b1ca 100644 --- a/sdk/python/pulumiverse_zitadel/project_member.py +++ b/sdk/python/pulumiverse_zitadel/project_member.py @@ -215,7 +215,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.ProjectMember("default", org_id=data["zitadel_org"]["default"]["id"], @@ -252,7 +252,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.ProjectMember("default", org_id=data["zitadel_org"]["default"]["id"], diff --git a/sdk/python/pulumiverse_zitadel/project_role.py b/sdk/python/pulumiverse_zitadel/project_role.py index e2a651f..23e1b59 100644 --- a/sdk/python/pulumiverse_zitadel/project_role.py +++ b/sdk/python/pulumiverse_zitadel/project_role.py @@ -256,7 +256,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.ProjectRole("default", org_id=data["zitadel_org"]["default"]["id"], @@ -295,7 +295,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.ProjectRole("default", org_id=data["zitadel_org"]["default"]["id"], diff --git a/sdk/python/pulumiverse_zitadel/pulumi-plugin.json b/sdk/python/pulumiverse_zitadel/pulumi-plugin.json index 6a69d3d..3e745de 100644 --- a/sdk/python/pulumiverse_zitadel/pulumi-plugin.json +++ b/sdk/python/pulumiverse_zitadel/pulumi-plugin.json @@ -1,5 +1,5 @@ { "resource": true, "name": "zitadel", - "server": "github://api.github.com/pulumiverse" + "server": "github://api.github.com/scoretechnologies" } diff --git a/sdk/python/pulumiverse_zitadel/sms_provider_twilio.py b/sdk/python/pulumiverse_zitadel/sms_provider_twilio.py index 766906a..2a3b330 100644 --- a/sdk/python/pulumiverse_zitadel/sms_provider_twilio.py +++ b/sdk/python/pulumiverse_zitadel/sms_provider_twilio.py @@ -170,7 +170,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.SmsProviderTwilio("default", sender_number="019920892", @@ -205,7 +205,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.SmsProviderTwilio("default", sender_number="019920892", diff --git a/sdk/python/pulumiverse_zitadel/smtp_config.py b/sdk/python/pulumiverse_zitadel/smtp_config.py index de0e295..8fde0e3 100644 --- a/sdk/python/pulumiverse_zitadel/smtp_config.py +++ b/sdk/python/pulumiverse_zitadel/smtp_config.py @@ -326,7 +326,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.SmtpConfig("default", host="localhost:25", @@ -369,7 +369,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.SmtpConfig("default", host="localhost:25", diff --git a/sdk/python/pulumiverse_zitadel/trigger_actions.py b/sdk/python/pulumiverse_zitadel/trigger_actions.py index b8bfd03..682559e 100644 --- a/sdk/python/pulumiverse_zitadel/trigger_actions.py +++ b/sdk/python/pulumiverse_zitadel/trigger_actions.py @@ -219,7 +219,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.TriggerActions("default", org_id=data["zitadel_org"]["default"]["id"], @@ -256,7 +256,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.TriggerActions("default", org_id=data["zitadel_org"]["default"]["id"], diff --git a/sdk/python/pulumiverse_zitadel/user_grant.py b/sdk/python/pulumiverse_zitadel/user_grant.py index cab201e..b7c0735 100644 --- a/sdk/python/pulumiverse_zitadel/user_grant.py +++ b/sdk/python/pulumiverse_zitadel/user_grant.py @@ -262,7 +262,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.UserGrant("default", project_id=data["zitadel_project"]["default"]["id"], @@ -300,7 +300,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.UserGrant("default", project_id=data["zitadel_project"]["default"]["id"], diff --git a/sdk/python/pulumiverse_zitadel/user_metadata.py b/sdk/python/pulumiverse_zitadel/user_metadata.py index 6028aef..2a10770 100644 --- a/sdk/python/pulumiverse_zitadel/user_metadata.py +++ b/sdk/python/pulumiverse_zitadel/user_metadata.py @@ -209,7 +209,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.UserMetadata("default", org_id=data["zitadel_org"]["default"]["id"], @@ -244,7 +244,7 @@ def __init__(__self__, ```python import pulumi - import pulumiverse_zitadel as zitadel + import scoretechnologies_zitadel as zitadel default = zitadel.UserMetadata("default", org_id=data["zitadel_org"]["default"]["id"], diff --git a/sdk/python/scoretechnologies_zitadel/README.md b/sdk/python/scoretechnologies_zitadel/README.md new file mode 100644 index 0000000..8e00af3 --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/README.md @@ -0,0 +1,4 @@ +> This provider is a derived work of the [Terraform Provider](https://github.com/zitadel/terraform-provider-zitadel) +> distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature, +> first check the [`pulumi-zitadel` repo](https://github.com/scoretechnologies/pulumi-zitadel/issues); however, if that doesn't turn up anything, +> please consult the source [`terraform-provider-zitadel` repo](https://github.com/zitadel/terraform-provider-zitadel/issues). \ No newline at end of file diff --git a/sdk/python/scoretechnologies_zitadel/__init__.py b/sdk/python/scoretechnologies_zitadel/__init__.py new file mode 100644 index 0000000..a242144 --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/__init__.py @@ -0,0 +1,600 @@ +# 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! *** + +from . import _utilities +import typing +# Export this package's modules as members: +from .action import * +from .application_api import * +from .application_key import * +from .application_oidc import * +from .application_saml import * +from .default_domain_policy import * +from .default_label_policy import * +from .default_lockout_policy import * +from .default_login_policy import * +from .default_notification_policy import * +from .default_oidc_settings import * +from .default_password_complexity_policy import * +from .default_privacy_policy import * +from .domain import * +from .domain_policy import * +from .get_action import * +from .get_application_api import * +from .get_application_apis import * +from .get_application_oidc import * +from .get_application_oidcs import * +from .get_application_saml import * +from .get_application_samls import * +from .get_default_oidc_settings import * +from .get_human_user import * +from .get_idp_azure_ad import * +from .get_idp_github import * +from .get_idp_github_es import * +from .get_idp_gitlab import * +from .get_idp_gitlab_self_hosted import * +from .get_idp_google import * +from .get_idp_ldap import * +from .get_idp_oauth import * +from .get_idp_saml import * +from .get_machine_user import * +from .get_machine_users import * +from .get_org import * +from .get_org_idp_azure_ad import * +from .get_org_idp_github import * +from .get_org_idp_github_es import * +from .get_org_idp_gitlab import * +from .get_org_idp_gitlab_self_hosted import * +from .get_org_idp_google import * +from .get_org_idp_ldap import * +from .get_org_idp_oauth import * +from .get_org_idp_saml import * +from .get_org_jwt_idp import * +from .get_org_oidc_idp import * +from .get_orgs import * +from .get_project import * +from .get_project_role import * +from .get_projects import * +from .get_trigger_actions import * +from .human_user import * +from .idp_azure_ad import * +from .idp_github import * +from .idp_github_es import * +from .idp_gitlab import * +from .idp_gitlab_self_hosted import * +from .idp_google import * +from .idp_ldap import * +from .idp_oauth import * +from .idp_saml import * +from .instance_member import * +from .label_policy import * +from .lockout_policy import * +from .login_policy import * +from .machine_key import * +from .machine_user import * +from .notification_policy import * +from .org import * +from .org_idp_azure_ad import * +from .org_idp_github import * +from .org_idp_github_es import * +from .org_idp_gitlab import * +from .org_idp_gitlab_self_hosted import * +from .org_idp_google import * +from .org_idp_jwt import * +from .org_idp_ldap import * +from .org_idp_oauth import * +from .org_idp_oidc import * +from .org_idp_saml import * +from .org_member import * +from .org_metadata import * +from .password_complexity_policy import * +from .personal_access_token import * +from .privacy_policy import * +from .project import * +from .project_grant import * +from .project_grant_member import * +from .project_member import * +from .project_role import * +from .provider import * +from .sms_provider_twilio import * +from .smtp_config import * +from .trigger_actions import * +from .user_grant import * +from .user_metadata import * + +# Make subpackages available: +if typing.TYPE_CHECKING: + import scoretechnologies_zitadel.config as __config + config = __config +else: + config = _utilities.lazy_import('scoretechnologies_zitadel.config') + +_utilities.register( + resource_modules=""" +[ + { + "pkg": "zitadel", + "mod": "index/action", + "fqn": "scoretechnologies_zitadel", + "classes": { + "zitadel:index/action:Action": "Action" + } + }, + { + "pkg": "zitadel", + "mod": "index/applicationApi", + "fqn": "scoretechnologies_zitadel", + "classes": { + "zitadel:index/applicationApi:ApplicationApi": "ApplicationApi" + } + }, + { + "pkg": "zitadel", + "mod": "index/applicationKey", + "fqn": "scoretechnologies_zitadel", + "classes": { + "zitadel:index/applicationKey:ApplicationKey": "ApplicationKey" + } + }, + { + "pkg": "zitadel", + "mod": "index/applicationOidc", + "fqn": "scoretechnologies_zitadel", + "classes": { + "zitadel:index/applicationOidc:ApplicationOidc": "ApplicationOidc" + } + }, + { + "pkg": "zitadel", + "mod": "index/applicationSaml", + "fqn": "scoretechnologies_zitadel", + "classes": { + "zitadel:index/applicationSaml:ApplicationSaml": "ApplicationSaml" + } + }, + { + "pkg": "zitadel", + "mod": "index/defaultDomainPolicy", + "fqn": "scoretechnologies_zitadel", + "classes": { + "zitadel:index/defaultDomainPolicy:DefaultDomainPolicy": "DefaultDomainPolicy" + } + }, + { + "pkg": "zitadel", + "mod": "index/defaultLabelPolicy", + "fqn": "scoretechnologies_zitadel", + "classes": { + "zitadel:index/defaultLabelPolicy:DefaultLabelPolicy": "DefaultLabelPolicy" + } + }, + { + "pkg": "zitadel", + "mod": "index/defaultLockoutPolicy", + "fqn": "scoretechnologies_zitadel", + "classes": { + "zitadel:index/defaultLockoutPolicy:DefaultLockoutPolicy": "DefaultLockoutPolicy" + } + }, + { + "pkg": "zitadel", + "mod": "index/defaultLoginPolicy", + "fqn": "scoretechnologies_zitadel", + "classes": { + "zitadel:index/defaultLoginPolicy:DefaultLoginPolicy": "DefaultLoginPolicy" + } + }, + { + "pkg": "zitadel", + "mod": "index/defaultNotificationPolicy", + "fqn": "scoretechnologies_zitadel", + "classes": { + "zitadel:index/defaultNotificationPolicy:DefaultNotificationPolicy": "DefaultNotificationPolicy" + } + }, + { + "pkg": "zitadel", + "mod": "index/defaultOidcSettings", + "fqn": "scoretechnologies_zitadel", + "classes": { + "zitadel:index/defaultOidcSettings:DefaultOidcSettings": "DefaultOidcSettings" + } + }, + { + "pkg": "zitadel", + "mod": "index/defaultPasswordComplexityPolicy", + "fqn": "scoretechnologies_zitadel", + "classes": { + "zitadel:index/defaultPasswordComplexityPolicy:DefaultPasswordComplexityPolicy": "DefaultPasswordComplexityPolicy" + } + }, + { + "pkg": "zitadel", + "mod": "index/defaultPrivacyPolicy", + "fqn": "scoretechnologies_zitadel", + "classes": { + "zitadel:index/defaultPrivacyPolicy:DefaultPrivacyPolicy": "DefaultPrivacyPolicy" + } + }, + { + "pkg": "zitadel", + "mod": "index/domain", + "fqn": "scoretechnologies_zitadel", + "classes": { + "zitadel:index/domain:Domain": "Domain" + } + }, + { + "pkg": "zitadel", + "mod": "index/domainPolicy", + "fqn": "scoretechnologies_zitadel", + "classes": { + "zitadel:index/domainPolicy:DomainPolicy": "DomainPolicy" + } + }, + { + "pkg": "zitadel", + "mod": "index/humanUser", + "fqn": "scoretechnologies_zitadel", + "classes": { + "zitadel:index/humanUser:HumanUser": "HumanUser" + } + }, + { + "pkg": "zitadel", + "mod": "index/idpAzureAd", + "fqn": "scoretechnologies_zitadel", + "classes": { + "zitadel:index/idpAzureAd:IdpAzureAd": "IdpAzureAd" + } + }, + { + "pkg": "zitadel", + "mod": "index/idpGithub", + "fqn": "scoretechnologies_zitadel", + "classes": { + "zitadel:index/idpGithub:IdpGithub": "IdpGithub" + } + }, + { + "pkg": "zitadel", + "mod": "index/idpGithubEs", + "fqn": "scoretechnologies_zitadel", + "classes": { + "zitadel:index/idpGithubEs:IdpGithubEs": "IdpGithubEs" + } + }, + { + "pkg": "zitadel", + "mod": "index/idpGitlab", + "fqn": "scoretechnologies_zitadel", + "classes": { + "zitadel:index/idpGitlab:IdpGitlab": "IdpGitlab" + } + }, + { + "pkg": "zitadel", + "mod": "index/idpGitlabSelfHosted", + "fqn": "scoretechnologies_zitadel", + "classes": { + "zitadel:index/idpGitlabSelfHosted:IdpGitlabSelfHosted": "IdpGitlabSelfHosted" + } + }, + { + "pkg": "zitadel", + "mod": "index/idpGoogle", + "fqn": "scoretechnologies_zitadel", + "classes": { + "zitadel:index/idpGoogle:IdpGoogle": "IdpGoogle" + } + }, + { + "pkg": "zitadel", + "mod": "index/idpLdap", + "fqn": "scoretechnologies_zitadel", + "classes": { + "zitadel:index/idpLdap:IdpLdap": "IdpLdap" + } + }, + { + "pkg": "zitadel", + "mod": "index/idpOauth", + "fqn": "scoretechnologies_zitadel", + "classes": { + "zitadel:index/idpOauth:IdpOauth": "IdpOauth" + } + }, + { + "pkg": "zitadel", + "mod": "index/idpSaml", + "fqn": "scoretechnologies_zitadel", + "classes": { + "zitadel:index/idpSaml:IdpSaml": "IdpSaml" + } + }, + { + "pkg": "zitadel", + "mod": "index/instanceMember", + "fqn": "scoretechnologies_zitadel", + "classes": { + "zitadel:index/instanceMember:InstanceMember": "InstanceMember" + } + }, + { + "pkg": "zitadel", + "mod": "index/labelPolicy", + "fqn": "scoretechnologies_zitadel", + "classes": { + "zitadel:index/labelPolicy:LabelPolicy": "LabelPolicy" + } + }, + { + "pkg": "zitadel", + "mod": "index/lockoutPolicy", + "fqn": "scoretechnologies_zitadel", + "classes": { + "zitadel:index/lockoutPolicy:LockoutPolicy": "LockoutPolicy" + } + }, + { + "pkg": "zitadel", + "mod": "index/loginPolicy", + "fqn": "scoretechnologies_zitadel", + "classes": { + "zitadel:index/loginPolicy:LoginPolicy": "LoginPolicy" + } + }, + { + "pkg": "zitadel", + "mod": "index/machineKey", + "fqn": "scoretechnologies_zitadel", + "classes": { + "zitadel:index/machineKey:MachineKey": "MachineKey" + } + }, + { + "pkg": "zitadel", + "mod": "index/machineUser", + "fqn": "scoretechnologies_zitadel", + "classes": { + "zitadel:index/machineUser:MachineUser": "MachineUser" + } + }, + { + "pkg": "zitadel", + "mod": "index/notificationPolicy", + "fqn": "scoretechnologies_zitadel", + "classes": { + "zitadel:index/notificationPolicy:NotificationPolicy": "NotificationPolicy" + } + }, + { + "pkg": "zitadel", + "mod": "index/org", + "fqn": "scoretechnologies_zitadel", + "classes": { + "zitadel:index/org:Org": "Org" + } + }, + { + "pkg": "zitadel", + "mod": "index/orgIdpAzureAd", + "fqn": "scoretechnologies_zitadel", + "classes": { + "zitadel:index/orgIdpAzureAd:OrgIdpAzureAd": "OrgIdpAzureAd" + } + }, + { + "pkg": "zitadel", + "mod": "index/orgIdpGithub", + "fqn": "scoretechnologies_zitadel", + "classes": { + "zitadel:index/orgIdpGithub:OrgIdpGithub": "OrgIdpGithub" + } + }, + { + "pkg": "zitadel", + "mod": "index/orgIdpGithubEs", + "fqn": "scoretechnologies_zitadel", + "classes": { + "zitadel:index/orgIdpGithubEs:OrgIdpGithubEs": "OrgIdpGithubEs" + } + }, + { + "pkg": "zitadel", + "mod": "index/orgIdpGitlab", + "fqn": "scoretechnologies_zitadel", + "classes": { + "zitadel:index/orgIdpGitlab:OrgIdpGitlab": "OrgIdpGitlab" + } + }, + { + "pkg": "zitadel", + "mod": "index/orgIdpGitlabSelfHosted", + "fqn": "scoretechnologies_zitadel", + "classes": { + "zitadel:index/orgIdpGitlabSelfHosted:OrgIdpGitlabSelfHosted": "OrgIdpGitlabSelfHosted" + } + }, + { + "pkg": "zitadel", + "mod": "index/orgIdpGoogle", + "fqn": "scoretechnologies_zitadel", + "classes": { + "zitadel:index/orgIdpGoogle:OrgIdpGoogle": "OrgIdpGoogle" + } + }, + { + "pkg": "zitadel", + "mod": "index/orgIdpJwt", + "fqn": "scoretechnologies_zitadel", + "classes": { + "zitadel:index/orgIdpJwt:OrgIdpJwt": "OrgIdpJwt" + } + }, + { + "pkg": "zitadel", + "mod": "index/orgIdpLdap", + "fqn": "scoretechnologies_zitadel", + "classes": { + "zitadel:index/orgIdpLdap:OrgIdpLdap": "OrgIdpLdap" + } + }, + { + "pkg": "zitadel", + "mod": "index/orgIdpOauth", + "fqn": "scoretechnologies_zitadel", + "classes": { + "zitadel:index/orgIdpOauth:OrgIdpOauth": "OrgIdpOauth" + } + }, + { + "pkg": "zitadel", + "mod": "index/orgIdpOidc", + "fqn": "scoretechnologies_zitadel", + "classes": { + "zitadel:index/orgIdpOidc:OrgIdpOidc": "OrgIdpOidc" + } + }, + { + "pkg": "zitadel", + "mod": "index/orgIdpSaml", + "fqn": "scoretechnologies_zitadel", + "classes": { + "zitadel:index/orgIdpSaml:OrgIdpSaml": "OrgIdpSaml" + } + }, + { + "pkg": "zitadel", + "mod": "index/orgMember", + "fqn": "scoretechnologies_zitadel", + "classes": { + "zitadel:index/orgMember:OrgMember": "OrgMember" + } + }, + { + "pkg": "zitadel", + "mod": "index/orgMetadata", + "fqn": "scoretechnologies_zitadel", + "classes": { + "zitadel:index/orgMetadata:OrgMetadata": "OrgMetadata" + } + }, + { + "pkg": "zitadel", + "mod": "index/passwordComplexityPolicy", + "fqn": "scoretechnologies_zitadel", + "classes": { + "zitadel:index/passwordComplexityPolicy:PasswordComplexityPolicy": "PasswordComplexityPolicy" + } + }, + { + "pkg": "zitadel", + "mod": "index/personalAccessToken", + "fqn": "scoretechnologies_zitadel", + "classes": { + "zitadel:index/personalAccessToken:PersonalAccessToken": "PersonalAccessToken" + } + }, + { + "pkg": "zitadel", + "mod": "index/privacyPolicy", + "fqn": "scoretechnologies_zitadel", + "classes": { + "zitadel:index/privacyPolicy:PrivacyPolicy": "PrivacyPolicy" + } + }, + { + "pkg": "zitadel", + "mod": "index/project", + "fqn": "scoretechnologies_zitadel", + "classes": { + "zitadel:index/project:Project": "Project" + } + }, + { + "pkg": "zitadel", + "mod": "index/projectGrant", + "fqn": "scoretechnologies_zitadel", + "classes": { + "zitadel:index/projectGrant:ProjectGrant": "ProjectGrant" + } + }, + { + "pkg": "zitadel", + "mod": "index/projectGrantMember", + "fqn": "scoretechnologies_zitadel", + "classes": { + "zitadel:index/projectGrantMember:ProjectGrantMember": "ProjectGrantMember" + } + }, + { + "pkg": "zitadel", + "mod": "index/projectMember", + "fqn": "scoretechnologies_zitadel", + "classes": { + "zitadel:index/projectMember:ProjectMember": "ProjectMember" + } + }, + { + "pkg": "zitadel", + "mod": "index/projectRole", + "fqn": "scoretechnologies_zitadel", + "classes": { + "zitadel:index/projectRole:ProjectRole": "ProjectRole" + } + }, + { + "pkg": "zitadel", + "mod": "index/smsProviderTwilio", + "fqn": "scoretechnologies_zitadel", + "classes": { + "zitadel:index/smsProviderTwilio:SmsProviderTwilio": "SmsProviderTwilio" + } + }, + { + "pkg": "zitadel", + "mod": "index/smtpConfig", + "fqn": "scoretechnologies_zitadel", + "classes": { + "zitadel:index/smtpConfig:SmtpConfig": "SmtpConfig" + } + }, + { + "pkg": "zitadel", + "mod": "index/triggerActions", + "fqn": "scoretechnologies_zitadel", + "classes": { + "zitadel:index/triggerActions:TriggerActions": "TriggerActions" + } + }, + { + "pkg": "zitadel", + "mod": "index/userGrant", + "fqn": "scoretechnologies_zitadel", + "classes": { + "zitadel:index/userGrant:UserGrant": "UserGrant" + } + }, + { + "pkg": "zitadel", + "mod": "index/userMetadata", + "fqn": "scoretechnologies_zitadel", + "classes": { + "zitadel:index/userMetadata:UserMetadata": "UserMetadata" + } + } +] +""", + resource_packages=""" +[ + { + "pkg": "zitadel", + "token": "pulumi:providers:zitadel", + "fqn": "scoretechnologies_zitadel", + "class": "Provider" + } +] +""" +) diff --git a/sdk/python/scoretechnologies_zitadel/_utilities.py b/sdk/python/scoretechnologies_zitadel/_utilities.py new file mode 100644 index 0000000..fdd520d --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/_utilities.py @@ -0,0 +1,250 @@ +# 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 importlib.util +import inspect +import json +import os +import pkg_resources +import sys +import typing + +import pulumi +import pulumi.runtime + +from semver import VersionInfo as SemverVersion +from parver import Version as PEP440Version + + +def get_env(*args): + for v in args: + value = os.getenv(v) + if value is not None: + return value + return None + + +def get_env_bool(*args): + str = get_env(*args) + if str is not None: + # NOTE: these values are taken from https://golang.org/src/strconv/atob.go?s=351:391#L1, which is what + # Terraform uses internally when parsing boolean values. + if str in ["1", "t", "T", "true", "TRUE", "True"]: + return True + if str in ["0", "f", "F", "false", "FALSE", "False"]: + return False + return None + + +def get_env_int(*args): + str = get_env(*args) + if str is not None: + try: + return int(str) + except: + return None + return None + + +def get_env_float(*args): + str = get_env(*args) + if str is not None: + try: + return float(str) + except: + return None + return None + + +def _get_semver_version(): + # __name__ is set to the fully-qualified name of the current module, In our case, it will be + # ._utilities. is the module we want to query the version for. + root_package, *rest = __name__.split('.') + + # pkg_resources uses setuptools to inspect the set of installed packages. We use it here to ask + # for the currently installed version of the root package (i.e. us) and get its version. + + # Unfortunately, PEP440 and semver differ slightly in incompatible ways. The Pulumi engine expects + # to receive a valid semver string when receiving requests from the language host, so it's our + # responsibility as the library to convert our own PEP440 version into a valid semver string. + + pep440_version_string = pkg_resources.require(root_package)[0].version + pep440_version = PEP440Version.parse(pep440_version_string) + (major, minor, patch) = pep440_version.release + prerelease = None + if pep440_version.pre_tag == 'a': + prerelease = f"alpha.{pep440_version.pre}" + elif pep440_version.pre_tag == 'b': + prerelease = f"beta.{pep440_version.pre}" + elif pep440_version.pre_tag == 'rc': + prerelease = f"rc.{pep440_version.pre}" + elif pep440_version.dev is not None: + prerelease = f"dev.{pep440_version.dev}" + + # The only significant difference between PEP440 and semver as it pertains to us is that PEP440 has explicit support + # for dev builds, while semver encodes them as "prerelease" versions. In order to bridge between the two, we convert + # our dev build version into a prerelease tag. This matches what all of our other packages do when constructing + # their own semver string. + return SemverVersion(major=major, minor=minor, patch=patch, prerelease=prerelease) + + +# Determine the version once and cache the value, which measurably improves program performance. +_version = _get_semver_version() +_version_str = str(_version) + + +def get_version(): + return _version_str + +def get_resource_opts_defaults() -> pulumi.ResourceOptions: + return pulumi.ResourceOptions( + version=get_version(), + plugin_download_url=get_plugin_download_url(), + ) + +def get_invoke_opts_defaults() -> pulumi.InvokeOptions: + return pulumi.InvokeOptions( + version=get_version(), + plugin_download_url=get_plugin_download_url(), + ) + +def get_resource_args_opts(resource_args_type, resource_options_type, *args, **kwargs): + """ + Return the resource args and options given the *args and **kwargs of a resource's + __init__ method. + """ + + resource_args, opts = None, None + + # If the first item is the resource args type, save it and remove it from the args list. + if args and isinstance(args[0], resource_args_type): + resource_args, args = args[0], args[1:] + + # Now look at the first item in the args list again. + # If the first item is the resource options class, save it. + if args and isinstance(args[0], resource_options_type): + opts = args[0] + + # If resource_args is None, see if "args" is in kwargs, and, if so, if it's typed as the + # the resource args type. + if resource_args is None: + a = kwargs.get("args") + if isinstance(a, resource_args_type): + resource_args = a + + # If opts is None, look it up in kwargs. + if opts is None: + opts = kwargs.get("opts") + + return resource_args, opts + + +# Temporary: just use pulumi._utils.lazy_import once everyone upgrades. +def lazy_import(fullname): + + import pulumi._utils as u + f = getattr(u, 'lazy_import', None) + if f is None: + f = _lazy_import_temp + + return f(fullname) + + +# Copied from pulumi._utils.lazy_import, see comments there. +def _lazy_import_temp(fullname): + m = sys.modules.get(fullname, None) + if m is not None: + return m + + spec = importlib.util.find_spec(fullname) + + m = sys.modules.get(fullname, None) + if m is not None: + return m + + loader = importlib.util.LazyLoader(spec.loader) + spec.loader = loader + module = importlib.util.module_from_spec(spec) + + m = sys.modules.get(fullname, None) + if m is not None: + return m + + sys.modules[fullname] = module + loader.exec_module(module) + return module + + +class Package(pulumi.runtime.ResourcePackage): + def __init__(self, pkg_info): + super().__init__() + self.pkg_info = pkg_info + + def version(self): + return _version + + def construct_provider(self, name: str, typ: str, urn: str) -> pulumi.ProviderResource: + if typ != self.pkg_info['token']: + raise Exception(f"unknown provider type {typ}") + Provider = getattr(lazy_import(self.pkg_info['fqn']), self.pkg_info['class']) + return Provider(name, pulumi.ResourceOptions(urn=urn)) + + +class Module(pulumi.runtime.ResourceModule): + def __init__(self, mod_info): + super().__init__() + self.mod_info = mod_info + + def version(self): + return _version + + def construct(self, name: str, typ: str, urn: str) -> pulumi.Resource: + class_name = self.mod_info['classes'].get(typ, None) + + if class_name is None: + raise Exception(f"unknown resource type {typ}") + + TheClass = getattr(lazy_import(self.mod_info['fqn']), class_name) + return TheClass(name, pulumi.ResourceOptions(urn=urn)) + + +def register(resource_modules, resource_packages): + resource_modules = json.loads(resource_modules) + resource_packages = json.loads(resource_packages) + + for pkg_info in resource_packages: + pulumi.runtime.register_resource_package(pkg_info['pkg'], Package(pkg_info)) + + for mod_info in resource_modules: + pulumi.runtime.register_resource_module( + mod_info['pkg'], + mod_info['mod'], + Module(mod_info)) + + +_F = typing.TypeVar('_F', bound=typing.Callable[..., typing.Any]) + + +def lift_output_func(func: typing.Any) -> typing.Callable[[_F], _F]: + """Decorator internally used on {fn}_output lifted function versions + to implement them automatically from the un-lifted function.""" + + func_sig = inspect.signature(func) + + def lifted_func(*args, opts=None, **kwargs): + bound_args = func_sig.bind(*args, **kwargs) + # Convert tuple to list, see pulumi/pulumi#8172 + args_list = list(bound_args.args) + return pulumi.Output.from_input({ + 'args': args_list, + 'kwargs': bound_args.kwargs + }).apply(lambda resolved_args: func(*resolved_args['args'], + opts=opts, + **resolved_args['kwargs'])) + + return (lambda _: lifted_func) + +def get_plugin_download_url(): + return "github://api.github.com/scoretechnologies" diff --git a/sdk/python/scoretechnologies_zitadel/action.py b/sdk/python/scoretechnologies_zitadel/action.py new file mode 100644 index 0000000..77d716e --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/action.py @@ -0,0 +1,432 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['ActionArgs', 'Action'] + +@pulumi.input_type +class ActionArgs: + def __init__(__self__, *, + allowed_to_fail: pulumi.Input[bool], + script: pulumi.Input[str], + timeout: pulumi.Input[str], + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a Action resource. + :param pulumi.Input[bool] allowed_to_fail: when true, the next action will be called even if this action fails + :param pulumi.Input[str] timeout: after which time the action will be terminated if not finished + :param pulumi.Input[str] org_id: ID of the organization + """ + ActionArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + allowed_to_fail=allowed_to_fail, + script=script, + timeout=timeout, + name=name, + org_id=org_id, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + allowed_to_fail: pulumi.Input[bool], + script: pulumi.Input[str], + timeout: pulumi.Input[str], + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'allowedToFail' in kwargs: + allowed_to_fail = kwargs['allowedToFail'] + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + + _setter("allowed_to_fail", allowed_to_fail) + _setter("script", script) + _setter("timeout", timeout) + if name is not None: + _setter("name", name) + if org_id is not None: + _setter("org_id", org_id) + + @property + @pulumi.getter(name="allowedToFail") + def allowed_to_fail(self) -> pulumi.Input[bool]: + """ + when true, the next action will be called even if this action fails + """ + return pulumi.get(self, "allowed_to_fail") + + @allowed_to_fail.setter + def allowed_to_fail(self, value: pulumi.Input[bool]): + pulumi.set(self, "allowed_to_fail", value) + + @property + @pulumi.getter + def script(self) -> pulumi.Input[str]: + return pulumi.get(self, "script") + + @script.setter + def script(self, value: pulumi.Input[str]): + pulumi.set(self, "script", value) + + @property + @pulumi.getter + def timeout(self) -> pulumi.Input[str]: + """ + after which time the action will be terminated if not finished + """ + return pulumi.get(self, "timeout") + + @timeout.setter + def timeout(self, value: pulumi.Input[str]): + pulumi.set(self, "timeout", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + +@pulumi.input_type +class _ActionState: + def __init__(__self__, *, + allowed_to_fail: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + script: Optional[pulumi.Input[str]] = None, + state: Optional[pulumi.Input[int]] = None, + timeout: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering Action resources. + :param pulumi.Input[bool] allowed_to_fail: when true, the next action will be called even if this action fails + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[int] state: the state of the action + :param pulumi.Input[str] timeout: after which time the action will be terminated if not finished + """ + _ActionState._configure( + lambda key, value: pulumi.set(__self__, key, value), + allowed_to_fail=allowed_to_fail, + name=name, + org_id=org_id, + script=script, + state=state, + timeout=timeout, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + allowed_to_fail: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + script: Optional[pulumi.Input[str]] = None, + state: Optional[pulumi.Input[int]] = None, + timeout: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'allowedToFail' in kwargs: + allowed_to_fail = kwargs['allowedToFail'] + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + + if allowed_to_fail is not None: + _setter("allowed_to_fail", allowed_to_fail) + if name is not None: + _setter("name", name) + if org_id is not None: + _setter("org_id", org_id) + if script is not None: + _setter("script", script) + if state is not None: + _setter("state", state) + if timeout is not None: + _setter("timeout", timeout) + + @property + @pulumi.getter(name="allowedToFail") + def allowed_to_fail(self) -> Optional[pulumi.Input[bool]]: + """ + when true, the next action will be called even if this action fails + """ + return pulumi.get(self, "allowed_to_fail") + + @allowed_to_fail.setter + def allowed_to_fail(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "allowed_to_fail", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + @property + @pulumi.getter + def script(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "script") + + @script.setter + def script(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "script", value) + + @property + @pulumi.getter + def state(self) -> Optional[pulumi.Input[int]]: + """ + the state of the action + """ + return pulumi.get(self, "state") + + @state.setter + def state(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "state", value) + + @property + @pulumi.getter + def timeout(self) -> Optional[pulumi.Input[str]]: + """ + after which time the action will be terminated if not finished + """ + return pulumi.get(self, "timeout") + + @timeout.setter + def timeout(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "timeout", value) + + +class Action(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + allowed_to_fail: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + script: Optional[pulumi.Input[str]] = None, + timeout: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Resource representing an action belonging to an organization. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.Action("default", + org_id=data["zitadel_org"]["default"]["id"], + script="testscript", + timeout="10s", + allowed_to_fail=True) + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/action:Action imported '123456789012345678:123456789012345678' + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[bool] allowed_to_fail: when true, the next action will be called even if this action fails + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[str] timeout: after which time the action will be terminated if not finished + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: ActionArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource representing an action belonging to an organization. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.Action("default", + org_id=data["zitadel_org"]["default"]["id"], + script="testscript", + timeout="10s", + allowed_to_fail=True) + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/action:Action imported '123456789012345678:123456789012345678' + ``` + + :param str resource_name: The name of the resource. + :param ActionArgs 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(ActionArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + ActionArgs._configure(_setter, **kwargs) + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + allowed_to_fail: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + script: Optional[pulumi.Input[str]] = None, + timeout: 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__ = ActionArgs.__new__(ActionArgs) + + if allowed_to_fail is None and not opts.urn: + raise TypeError("Missing required property 'allowed_to_fail'") + __props__.__dict__["allowed_to_fail"] = allowed_to_fail + __props__.__dict__["name"] = name + __props__.__dict__["org_id"] = org_id + if script is None and not opts.urn: + raise TypeError("Missing required property 'script'") + __props__.__dict__["script"] = script + if timeout is None and not opts.urn: + raise TypeError("Missing required property 'timeout'") + __props__.__dict__["timeout"] = timeout + __props__.__dict__["state"] = None + super(Action, __self__).__init__( + 'zitadel:index/action:Action', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + allowed_to_fail: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + script: Optional[pulumi.Input[str]] = None, + state: Optional[pulumi.Input[int]] = None, + timeout: Optional[pulumi.Input[str]] = None) -> 'Action': + """ + Get an existing Action 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] allowed_to_fail: when true, the next action will be called even if this action fails + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[int] state: the state of the action + :param pulumi.Input[str] timeout: after which time the action will be terminated if not finished + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _ActionState.__new__(_ActionState) + + __props__.__dict__["allowed_to_fail"] = allowed_to_fail + __props__.__dict__["name"] = name + __props__.__dict__["org_id"] = org_id + __props__.__dict__["script"] = script + __props__.__dict__["state"] = state + __props__.__dict__["timeout"] = timeout + return Action(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="allowedToFail") + def allowed_to_fail(self) -> pulumi.Output[bool]: + """ + when true, the next action will be called even if this action fails + """ + return pulumi.get(self, "allowed_to_fail") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> pulumi.Output[Optional[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @property + @pulumi.getter + def script(self) -> pulumi.Output[str]: + return pulumi.get(self, "script") + + @property + @pulumi.getter + def state(self) -> pulumi.Output[int]: + """ + the state of the action + """ + return pulumi.get(self, "state") + + @property + @pulumi.getter + def timeout(self) -> pulumi.Output[str]: + """ + after which time the action will be terminated if not finished + """ + return pulumi.get(self, "timeout") + diff --git a/sdk/python/scoretechnologies_zitadel/application_api.py b/sdk/python/scoretechnologies_zitadel/application_api.py new file mode 100644 index 0000000..214f373 --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/application_api.py @@ -0,0 +1,443 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['ApplicationApiArgs', 'ApplicationApi'] + +@pulumi.input_type +class ApplicationApiArgs: + def __init__(__self__, *, + project_id: pulumi.Input[str], + auth_method_type: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a ApplicationApi resource. + :param pulumi.Input[str] project_id: ID of the project + :param pulumi.Input[str] auth_method_type: Auth method type, supported values: API*AUTH*METHOD*TYPE*BASIC, API*AUTH*METHOD*TYPE*PRIVATE*KEY*JWT + :param pulumi.Input[str] name: Name of the application + :param pulumi.Input[str] org_id: ID of the organization + """ + ApplicationApiArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + project_id=project_id, + auth_method_type=auth_method_type, + name=name, + org_id=org_id, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + project_id: pulumi.Input[str], + auth_method_type: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'projectId' in kwargs: + project_id = kwargs['projectId'] + if 'authMethodType' in kwargs: + auth_method_type = kwargs['authMethodType'] + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + + _setter("project_id", project_id) + if auth_method_type is not None: + _setter("auth_method_type", auth_method_type) + if name is not None: + _setter("name", name) + if org_id is not None: + _setter("org_id", org_id) + + @property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Input[str]: + """ + ID of the project + """ + return pulumi.get(self, "project_id") + + @project_id.setter + def project_id(self, value: pulumi.Input[str]): + pulumi.set(self, "project_id", value) + + @property + @pulumi.getter(name="authMethodType") + def auth_method_type(self) -> Optional[pulumi.Input[str]]: + """ + Auth method type, supported values: API*AUTH*METHOD*TYPE*BASIC, API*AUTH*METHOD*TYPE*PRIVATE*KEY*JWT + """ + return pulumi.get(self, "auth_method_type") + + @auth_method_type.setter + def auth_method_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "auth_method_type", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the application + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + +@pulumi.input_type +class _ApplicationApiState: + def __init__(__self__, *, + auth_method_type: Optional[pulumi.Input[str]] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + project_id: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering ApplicationApi resources. + :param pulumi.Input[str] auth_method_type: Auth method type, supported values: API*AUTH*METHOD*TYPE*BASIC, API*AUTH*METHOD*TYPE*PRIVATE*KEY*JWT + :param pulumi.Input[str] client_id: generated ID for this config + :param pulumi.Input[str] client_secret: generated secret for this config + :param pulumi.Input[str] name: Name of the application + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[str] project_id: ID of the project + """ + _ApplicationApiState._configure( + lambda key, value: pulumi.set(__self__, key, value), + auth_method_type=auth_method_type, + client_id=client_id, + client_secret=client_secret, + name=name, + org_id=org_id, + project_id=project_id, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + auth_method_type: Optional[pulumi.Input[str]] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + project_id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'authMethodType' in kwargs: + auth_method_type = kwargs['authMethodType'] + if 'clientId' in kwargs: + client_id = kwargs['clientId'] + if 'clientSecret' in kwargs: + client_secret = kwargs['clientSecret'] + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + if 'projectId' in kwargs: + project_id = kwargs['projectId'] + + if auth_method_type is not None: + _setter("auth_method_type", auth_method_type) + if client_id is not None: + _setter("client_id", client_id) + if client_secret is not None: + _setter("client_secret", client_secret) + if name is not None: + _setter("name", name) + if org_id is not None: + _setter("org_id", org_id) + if project_id is not None: + _setter("project_id", project_id) + + @property + @pulumi.getter(name="authMethodType") + def auth_method_type(self) -> Optional[pulumi.Input[str]]: + """ + Auth method type, supported values: API*AUTH*METHOD*TYPE*BASIC, API*AUTH*METHOD*TYPE*PRIVATE*KEY*JWT + """ + return pulumi.get(self, "auth_method_type") + + @auth_method_type.setter + def auth_method_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "auth_method_type", value) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> Optional[pulumi.Input[str]]: + """ + generated ID for this config + """ + return pulumi.get(self, "client_id") + + @client_id.setter + def client_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "client_id", value) + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> Optional[pulumi.Input[str]]: + """ + generated secret for this config + """ + return pulumi.get(self, "client_secret") + + @client_secret.setter + def client_secret(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "client_secret", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the application + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + @property + @pulumi.getter(name="projectId") + def project_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the project + """ + return pulumi.get(self, "project_id") + + @project_id.setter + def project_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "project_id", value) + + +class ApplicationApi(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + auth_method_type: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + project_id: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Resource representing an API application belonging to a project, with all configuration possibilities. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.ApplicationApi("default", + org_id=data["zitadel_org"]["default"]["id"], + project_id=data["zitadel_project"]["default"]["id"], + auth_method_type="API_AUTH_METHOD_TYPE_BASIC") + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/applicationApi:ApplicationApi imported '123456789012345678:123456789012345678:123456789012345678:123456789012345678@zitadel:JuaDFFeOak5DGE655KCYPSAclSkbMVEJXXuX1lEMBT14eLMSs0A0qhafKX5SA2Df' + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] auth_method_type: Auth method type, supported values: API*AUTH*METHOD*TYPE*BASIC, API*AUTH*METHOD*TYPE*PRIVATE*KEY*JWT + :param pulumi.Input[str] name: Name of the application + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[str] project_id: ID of the project + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: ApplicationApiArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource representing an API application belonging to a project, with all configuration possibilities. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.ApplicationApi("default", + org_id=data["zitadel_org"]["default"]["id"], + project_id=data["zitadel_project"]["default"]["id"], + auth_method_type="API_AUTH_METHOD_TYPE_BASIC") + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/applicationApi:ApplicationApi imported '123456789012345678:123456789012345678:123456789012345678:123456789012345678@zitadel:JuaDFFeOak5DGE655KCYPSAclSkbMVEJXXuX1lEMBT14eLMSs0A0qhafKX5SA2Df' + ``` + + :param str resource_name: The name of the resource. + :param ApplicationApiArgs 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(ApplicationApiArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + ApplicationApiArgs._configure(_setter, **kwargs) + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + auth_method_type: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + project_id: 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__ = ApplicationApiArgs.__new__(ApplicationApiArgs) + + __props__.__dict__["auth_method_type"] = auth_method_type + __props__.__dict__["name"] = name + __props__.__dict__["org_id"] = org_id + if project_id is None and not opts.urn: + raise TypeError("Missing required property 'project_id'") + __props__.__dict__["project_id"] = project_id + __props__.__dict__["client_id"] = None + __props__.__dict__["client_secret"] = None + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["clientId", "clientSecret"]) + opts = pulumi.ResourceOptions.merge(opts, secret_opts) + super(ApplicationApi, __self__).__init__( + 'zitadel:index/applicationApi:ApplicationApi', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + auth_method_type: Optional[pulumi.Input[str]] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + project_id: Optional[pulumi.Input[str]] = None) -> 'ApplicationApi': + """ + Get an existing ApplicationApi 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[str] auth_method_type: Auth method type, supported values: API*AUTH*METHOD*TYPE*BASIC, API*AUTH*METHOD*TYPE*PRIVATE*KEY*JWT + :param pulumi.Input[str] client_id: generated ID for this config + :param pulumi.Input[str] client_secret: generated secret for this config + :param pulumi.Input[str] name: Name of the application + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[str] project_id: ID of the project + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _ApplicationApiState.__new__(_ApplicationApiState) + + __props__.__dict__["auth_method_type"] = auth_method_type + __props__.__dict__["client_id"] = client_id + __props__.__dict__["client_secret"] = client_secret + __props__.__dict__["name"] = name + __props__.__dict__["org_id"] = org_id + __props__.__dict__["project_id"] = project_id + return ApplicationApi(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="authMethodType") + def auth_method_type(self) -> pulumi.Output[Optional[str]]: + """ + Auth method type, supported values: API*AUTH*METHOD*TYPE*BASIC, API*AUTH*METHOD*TYPE*PRIVATE*KEY*JWT + """ + return pulumi.get(self, "auth_method_type") + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> pulumi.Output[str]: + """ + generated ID for this config + """ + return pulumi.get(self, "client_id") + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> pulumi.Output[str]: + """ + generated secret for this config + """ + return pulumi.get(self, "client_secret") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Name of the application + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> pulumi.Output[Optional[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Output[str]: + """ + ID of the project + """ + return pulumi.get(self, "project_id") + diff --git a/sdk/python/scoretechnologies_zitadel/application_key.py b/sdk/python/scoretechnologies_zitadel/application_key.py new file mode 100644 index 0000000..6ef4125 --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/application_key.py @@ -0,0 +1,477 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['ApplicationKeyArgs', 'ApplicationKey'] + +@pulumi.input_type +class ApplicationKeyArgs: + def __init__(__self__, *, + app_id: pulumi.Input[str], + expiration_date: pulumi.Input[str], + key_type: pulumi.Input[str], + project_id: pulumi.Input[str], + org_id: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a ApplicationKey resource. + :param pulumi.Input[str] app_id: ID of the application + :param pulumi.Input[str] expiration_date: Expiration date of the app key in the RFC3339 format + :param pulumi.Input[str] key_type: Type of the app key, supported values: KEY*TYPE*UNSPECIFIED, KEY*TYPE*JSON + :param pulumi.Input[str] project_id: ID of the project + :param pulumi.Input[str] org_id: ID of the organization + """ + ApplicationKeyArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + app_id=app_id, + expiration_date=expiration_date, + key_type=key_type, + project_id=project_id, + org_id=org_id, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + app_id: pulumi.Input[str], + expiration_date: pulumi.Input[str], + key_type: pulumi.Input[str], + project_id: pulumi.Input[str], + org_id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'appId' in kwargs: + app_id = kwargs['appId'] + if 'expirationDate' in kwargs: + expiration_date = kwargs['expirationDate'] + if 'keyType' in kwargs: + key_type = kwargs['keyType'] + if 'projectId' in kwargs: + project_id = kwargs['projectId'] + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + + _setter("app_id", app_id) + _setter("expiration_date", expiration_date) + _setter("key_type", key_type) + _setter("project_id", project_id) + if org_id is not None: + _setter("org_id", org_id) + + @property + @pulumi.getter(name="appId") + def app_id(self) -> pulumi.Input[str]: + """ + ID of the application + """ + return pulumi.get(self, "app_id") + + @app_id.setter + def app_id(self, value: pulumi.Input[str]): + pulumi.set(self, "app_id", value) + + @property + @pulumi.getter(name="expirationDate") + def expiration_date(self) -> pulumi.Input[str]: + """ + Expiration date of the app key in the RFC3339 format + """ + return pulumi.get(self, "expiration_date") + + @expiration_date.setter + def expiration_date(self, value: pulumi.Input[str]): + pulumi.set(self, "expiration_date", value) + + @property + @pulumi.getter(name="keyType") + def key_type(self) -> pulumi.Input[str]: + """ + Type of the app key, supported values: KEY*TYPE*UNSPECIFIED, KEY*TYPE*JSON + """ + return pulumi.get(self, "key_type") + + @key_type.setter + def key_type(self, value: pulumi.Input[str]): + pulumi.set(self, "key_type", value) + + @property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Input[str]: + """ + ID of the project + """ + return pulumi.get(self, "project_id") + + @project_id.setter + def project_id(self, value: pulumi.Input[str]): + pulumi.set(self, "project_id", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + +@pulumi.input_type +class _ApplicationKeyState: + def __init__(__self__, *, + app_id: Optional[pulumi.Input[str]] = None, + expiration_date: Optional[pulumi.Input[str]] = None, + key_details: Optional[pulumi.Input[str]] = None, + key_type: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + project_id: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering ApplicationKey resources. + :param pulumi.Input[str] app_id: ID of the application + :param pulumi.Input[str] expiration_date: Expiration date of the app key in the RFC3339 format + :param pulumi.Input[str] key_details: Value of the app key + :param pulumi.Input[str] key_type: Type of the app key, supported values: KEY*TYPE*UNSPECIFIED, KEY*TYPE*JSON + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[str] project_id: ID of the project + """ + _ApplicationKeyState._configure( + lambda key, value: pulumi.set(__self__, key, value), + app_id=app_id, + expiration_date=expiration_date, + key_details=key_details, + key_type=key_type, + org_id=org_id, + project_id=project_id, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + app_id: Optional[pulumi.Input[str]] = None, + expiration_date: Optional[pulumi.Input[str]] = None, + key_details: Optional[pulumi.Input[str]] = None, + key_type: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + project_id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'appId' in kwargs: + app_id = kwargs['appId'] + if 'expirationDate' in kwargs: + expiration_date = kwargs['expirationDate'] + if 'keyDetails' in kwargs: + key_details = kwargs['keyDetails'] + if 'keyType' in kwargs: + key_type = kwargs['keyType'] + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + if 'projectId' in kwargs: + project_id = kwargs['projectId'] + + if app_id is not None: + _setter("app_id", app_id) + if expiration_date is not None: + _setter("expiration_date", expiration_date) + if key_details is not None: + _setter("key_details", key_details) + if key_type is not None: + _setter("key_type", key_type) + if org_id is not None: + _setter("org_id", org_id) + if project_id is not None: + _setter("project_id", project_id) + + @property + @pulumi.getter(name="appId") + def app_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the application + """ + return pulumi.get(self, "app_id") + + @app_id.setter + def app_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "app_id", value) + + @property + @pulumi.getter(name="expirationDate") + def expiration_date(self) -> Optional[pulumi.Input[str]]: + """ + Expiration date of the app key in the RFC3339 format + """ + return pulumi.get(self, "expiration_date") + + @expiration_date.setter + def expiration_date(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "expiration_date", value) + + @property + @pulumi.getter(name="keyDetails") + def key_details(self) -> Optional[pulumi.Input[str]]: + """ + Value of the app key + """ + return pulumi.get(self, "key_details") + + @key_details.setter + def key_details(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "key_details", value) + + @property + @pulumi.getter(name="keyType") + def key_type(self) -> Optional[pulumi.Input[str]]: + """ + Type of the app key, supported values: KEY*TYPE*UNSPECIFIED, KEY*TYPE*JSON + """ + return pulumi.get(self, "key_type") + + @key_type.setter + def key_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "key_type", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + @property + @pulumi.getter(name="projectId") + def project_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the project + """ + return pulumi.get(self, "project_id") + + @project_id.setter + def project_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "project_id", value) + + +class ApplicationKey(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + app_id: Optional[pulumi.Input[str]] = None, + expiration_date: Optional[pulumi.Input[str]] = None, + key_type: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + project_id: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Resource representing a app key + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.ApplicationKey("default", + org_id=data["zitadel_org"]["default"]["id"], + project_id=data["zitadel_project"]["default"]["id"], + app_id=data["zitadel_application_api"]["default"]["id"], + key_type="KEY_TYPE_JSON", + expiration_date="2519-04-01T08:45:00Z") + ``` + + ## Import + + bash The resource can be imported using the ID format ``. You can use __SEMICOLON__ to escape :, e.g. + + ```sh + $ pulumi import zitadel:index/applicationKey:ApplicationKey imported "123456789012345678:123456789012345678:123456789012345678:123456789012345678:$(cat ~/Downloads/123456789012345678.json | sed -e 's/:/__SEMICOLON__/g')" + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] app_id: ID of the application + :param pulumi.Input[str] expiration_date: Expiration date of the app key in the RFC3339 format + :param pulumi.Input[str] key_type: Type of the app key, supported values: KEY*TYPE*UNSPECIFIED, KEY*TYPE*JSON + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[str] project_id: ID of the project + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: ApplicationKeyArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource representing a app key + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.ApplicationKey("default", + org_id=data["zitadel_org"]["default"]["id"], + project_id=data["zitadel_project"]["default"]["id"], + app_id=data["zitadel_application_api"]["default"]["id"], + key_type="KEY_TYPE_JSON", + expiration_date="2519-04-01T08:45:00Z") + ``` + + ## Import + + bash The resource can be imported using the ID format ``. You can use __SEMICOLON__ to escape :, e.g. + + ```sh + $ pulumi import zitadel:index/applicationKey:ApplicationKey imported "123456789012345678:123456789012345678:123456789012345678:123456789012345678:$(cat ~/Downloads/123456789012345678.json | sed -e 's/:/__SEMICOLON__/g')" + ``` + + :param str resource_name: The name of the resource. + :param ApplicationKeyArgs 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(ApplicationKeyArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + ApplicationKeyArgs._configure(_setter, **kwargs) + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + app_id: Optional[pulumi.Input[str]] = None, + expiration_date: Optional[pulumi.Input[str]] = None, + key_type: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + project_id: 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__ = ApplicationKeyArgs.__new__(ApplicationKeyArgs) + + if app_id is None and not opts.urn: + raise TypeError("Missing required property 'app_id'") + __props__.__dict__["app_id"] = app_id + if expiration_date is None and not opts.urn: + raise TypeError("Missing required property 'expiration_date'") + __props__.__dict__["expiration_date"] = expiration_date + if key_type is None and not opts.urn: + raise TypeError("Missing required property 'key_type'") + __props__.__dict__["key_type"] = key_type + __props__.__dict__["org_id"] = org_id + if project_id is None and not opts.urn: + raise TypeError("Missing required property 'project_id'") + __props__.__dict__["project_id"] = project_id + __props__.__dict__["key_details"] = None + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["keyDetails"]) + opts = pulumi.ResourceOptions.merge(opts, secret_opts) + super(ApplicationKey, __self__).__init__( + 'zitadel:index/applicationKey:ApplicationKey', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + app_id: Optional[pulumi.Input[str]] = None, + expiration_date: Optional[pulumi.Input[str]] = None, + key_details: Optional[pulumi.Input[str]] = None, + key_type: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + project_id: Optional[pulumi.Input[str]] = None) -> 'ApplicationKey': + """ + Get an existing ApplicationKey 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[str] app_id: ID of the application + :param pulumi.Input[str] expiration_date: Expiration date of the app key in the RFC3339 format + :param pulumi.Input[str] key_details: Value of the app key + :param pulumi.Input[str] key_type: Type of the app key, supported values: KEY*TYPE*UNSPECIFIED, KEY*TYPE*JSON + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[str] project_id: ID of the project + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _ApplicationKeyState.__new__(_ApplicationKeyState) + + __props__.__dict__["app_id"] = app_id + __props__.__dict__["expiration_date"] = expiration_date + __props__.__dict__["key_details"] = key_details + __props__.__dict__["key_type"] = key_type + __props__.__dict__["org_id"] = org_id + __props__.__dict__["project_id"] = project_id + return ApplicationKey(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="appId") + def app_id(self) -> pulumi.Output[str]: + """ + ID of the application + """ + return pulumi.get(self, "app_id") + + @property + @pulumi.getter(name="expirationDate") + def expiration_date(self) -> pulumi.Output[str]: + """ + Expiration date of the app key in the RFC3339 format + """ + return pulumi.get(self, "expiration_date") + + @property + @pulumi.getter(name="keyDetails") + def key_details(self) -> pulumi.Output[str]: + """ + Value of the app key + """ + return pulumi.get(self, "key_details") + + @property + @pulumi.getter(name="keyType") + def key_type(self) -> pulumi.Output[str]: + """ + Type of the app key, supported values: KEY*TYPE*UNSPECIFIED, KEY*TYPE*JSON + """ + return pulumi.get(self, "key_type") + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> pulumi.Output[Optional[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Output[str]: + """ + ID of the project + """ + return pulumi.get(self, "project_id") + diff --git a/sdk/python/scoretechnologies_zitadel/application_oidc.py b/sdk/python/scoretechnologies_zitadel/application_oidc.py new file mode 100644 index 0000000..c2a51c3 --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/application_oidc.py @@ -0,0 +1,1183 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['ApplicationOidcArgs', 'ApplicationOidc'] + +@pulumi.input_type +class ApplicationOidcArgs: + def __init__(__self__, *, + grant_types: pulumi.Input[Sequence[pulumi.Input[str]]], + project_id: pulumi.Input[str], + redirect_uris: pulumi.Input[Sequence[pulumi.Input[str]]], + response_types: pulumi.Input[Sequence[pulumi.Input[str]]], + access_token_role_assertion: Optional[pulumi.Input[bool]] = None, + access_token_type: Optional[pulumi.Input[str]] = None, + additional_origins: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + app_type: Optional[pulumi.Input[str]] = None, + auth_method_type: Optional[pulumi.Input[str]] = None, + clock_skew: Optional[pulumi.Input[str]] = None, + dev_mode: Optional[pulumi.Input[bool]] = None, + id_token_role_assertion: Optional[pulumi.Input[bool]] = None, + id_token_userinfo_assertion: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + post_logout_redirect_uris: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + version: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a ApplicationOidc resource. + :param pulumi.Input[Sequence[pulumi.Input[str]]] grant_types: Grant types, supported values: OIDC*GRANT*TYPE*AUTHORIZATION*CODE, OIDC*GRANT*TYPE*IMPLICIT, OIDC*GRANT*TYPE*REFRESH*TOKEN, OIDC*GRANT*TYPE*DEVICE_CODE + :param pulumi.Input[str] project_id: ID of the project + :param pulumi.Input[Sequence[pulumi.Input[str]]] redirect_uris: RedirectURIs + :param pulumi.Input[Sequence[pulumi.Input[str]]] response_types: Response type, supported values: OIDC*RESPONSE*TYPE*CODE, OIDC*RESPONSE*TYPE*ID*TOKEN, OIDC*RESPONSE*TYPE*ID*TOKEN*TOKEN + :param pulumi.Input[bool] access_token_role_assertion: Access token role assertion + :param pulumi.Input[str] access_token_type: Access token type, supported values: OIDC*TOKEN*TYPE*BEARER, OIDC*TOKEN*TYPE*JWT + :param pulumi.Input[Sequence[pulumi.Input[str]]] additional_origins: Additional origins + :param pulumi.Input[str] app_type: App type, supported values: OIDC*APP*TYPE*WEB, OIDC*APP*TYPE*USER*AGENT, OIDC*APP*TYPE*NATIVE + :param pulumi.Input[str] auth_method_type: Auth method type, supported values: OIDC*AUTH*METHOD*TYPE*BASIC, OIDC*AUTH*METHOD*TYPE*POST, OIDC*AUTH*METHOD*TYPE*NONE, OIDC*AUTH*METHOD*TYPE*PRIVATE*KEY*JWT + :param pulumi.Input[str] clock_skew: Clockskew + :param pulumi.Input[bool] dev_mode: Dev mode + :param pulumi.Input[bool] id_token_role_assertion: ID token role assertion + :param pulumi.Input[bool] id_token_userinfo_assertion: Token userinfo assertion + :param pulumi.Input[str] name: Name of the application + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[Sequence[pulumi.Input[str]]] post_logout_redirect_uris: Post logout redirect URIs + :param pulumi.Input[str] version: Version, supported values: OIDC*VERSION*1_0 + """ + ApplicationOidcArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + grant_types=grant_types, + project_id=project_id, + redirect_uris=redirect_uris, + response_types=response_types, + access_token_role_assertion=access_token_role_assertion, + access_token_type=access_token_type, + additional_origins=additional_origins, + app_type=app_type, + auth_method_type=auth_method_type, + clock_skew=clock_skew, + dev_mode=dev_mode, + id_token_role_assertion=id_token_role_assertion, + id_token_userinfo_assertion=id_token_userinfo_assertion, + name=name, + org_id=org_id, + post_logout_redirect_uris=post_logout_redirect_uris, + version=version, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + grant_types: pulumi.Input[Sequence[pulumi.Input[str]]], + project_id: pulumi.Input[str], + redirect_uris: pulumi.Input[Sequence[pulumi.Input[str]]], + response_types: pulumi.Input[Sequence[pulumi.Input[str]]], + access_token_role_assertion: Optional[pulumi.Input[bool]] = None, + access_token_type: Optional[pulumi.Input[str]] = None, + additional_origins: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + app_type: Optional[pulumi.Input[str]] = None, + auth_method_type: Optional[pulumi.Input[str]] = None, + clock_skew: Optional[pulumi.Input[str]] = None, + dev_mode: Optional[pulumi.Input[bool]] = None, + id_token_role_assertion: Optional[pulumi.Input[bool]] = None, + id_token_userinfo_assertion: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + post_logout_redirect_uris: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + version: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'grantTypes' in kwargs: + grant_types = kwargs['grantTypes'] + if 'projectId' in kwargs: + project_id = kwargs['projectId'] + if 'redirectUris' in kwargs: + redirect_uris = kwargs['redirectUris'] + if 'responseTypes' in kwargs: + response_types = kwargs['responseTypes'] + if 'accessTokenRoleAssertion' in kwargs: + access_token_role_assertion = kwargs['accessTokenRoleAssertion'] + if 'accessTokenType' in kwargs: + access_token_type = kwargs['accessTokenType'] + if 'additionalOrigins' in kwargs: + additional_origins = kwargs['additionalOrigins'] + if 'appType' in kwargs: + app_type = kwargs['appType'] + if 'authMethodType' in kwargs: + auth_method_type = kwargs['authMethodType'] + if 'clockSkew' in kwargs: + clock_skew = kwargs['clockSkew'] + if 'devMode' in kwargs: + dev_mode = kwargs['devMode'] + if 'idTokenRoleAssertion' in kwargs: + id_token_role_assertion = kwargs['idTokenRoleAssertion'] + if 'idTokenUserinfoAssertion' in kwargs: + id_token_userinfo_assertion = kwargs['idTokenUserinfoAssertion'] + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + if 'postLogoutRedirectUris' in kwargs: + post_logout_redirect_uris = kwargs['postLogoutRedirectUris'] + + _setter("grant_types", grant_types) + _setter("project_id", project_id) + _setter("redirect_uris", redirect_uris) + _setter("response_types", response_types) + if access_token_role_assertion is not None: + _setter("access_token_role_assertion", access_token_role_assertion) + if access_token_type is not None: + _setter("access_token_type", access_token_type) + if additional_origins is not None: + _setter("additional_origins", additional_origins) + if app_type is not None: + _setter("app_type", app_type) + if auth_method_type is not None: + _setter("auth_method_type", auth_method_type) + if clock_skew is not None: + _setter("clock_skew", clock_skew) + if dev_mode is not None: + _setter("dev_mode", dev_mode) + if id_token_role_assertion is not None: + _setter("id_token_role_assertion", id_token_role_assertion) + if id_token_userinfo_assertion is not None: + _setter("id_token_userinfo_assertion", id_token_userinfo_assertion) + if name is not None: + _setter("name", name) + if org_id is not None: + _setter("org_id", org_id) + if post_logout_redirect_uris is not None: + _setter("post_logout_redirect_uris", post_logout_redirect_uris) + if version is not None: + _setter("version", version) + + @property + @pulumi.getter(name="grantTypes") + def grant_types(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + Grant types, supported values: OIDC*GRANT*TYPE*AUTHORIZATION*CODE, OIDC*GRANT*TYPE*IMPLICIT, OIDC*GRANT*TYPE*REFRESH*TOKEN, OIDC*GRANT*TYPE*DEVICE_CODE + """ + return pulumi.get(self, "grant_types") + + @grant_types.setter + def grant_types(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "grant_types", value) + + @property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Input[str]: + """ + ID of the project + """ + return pulumi.get(self, "project_id") + + @project_id.setter + def project_id(self, value: pulumi.Input[str]): + pulumi.set(self, "project_id", value) + + @property + @pulumi.getter(name="redirectUris") + def redirect_uris(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + RedirectURIs + """ + return pulumi.get(self, "redirect_uris") + + @redirect_uris.setter + def redirect_uris(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "redirect_uris", value) + + @property + @pulumi.getter(name="responseTypes") + def response_types(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + Response type, supported values: OIDC*RESPONSE*TYPE*CODE, OIDC*RESPONSE*TYPE*ID*TOKEN, OIDC*RESPONSE*TYPE*ID*TOKEN*TOKEN + """ + return pulumi.get(self, "response_types") + + @response_types.setter + def response_types(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "response_types", value) + + @property + @pulumi.getter(name="accessTokenRoleAssertion") + def access_token_role_assertion(self) -> Optional[pulumi.Input[bool]]: + """ + Access token role assertion + """ + return pulumi.get(self, "access_token_role_assertion") + + @access_token_role_assertion.setter + def access_token_role_assertion(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "access_token_role_assertion", value) + + @property + @pulumi.getter(name="accessTokenType") + def access_token_type(self) -> Optional[pulumi.Input[str]]: + """ + Access token type, supported values: OIDC*TOKEN*TYPE*BEARER, OIDC*TOKEN*TYPE*JWT + """ + return pulumi.get(self, "access_token_type") + + @access_token_type.setter + def access_token_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "access_token_type", value) + + @property + @pulumi.getter(name="additionalOrigins") + def additional_origins(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Additional origins + """ + return pulumi.get(self, "additional_origins") + + @additional_origins.setter + def additional_origins(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "additional_origins", value) + + @property + @pulumi.getter(name="appType") + def app_type(self) -> Optional[pulumi.Input[str]]: + """ + App type, supported values: OIDC*APP*TYPE*WEB, OIDC*APP*TYPE*USER*AGENT, OIDC*APP*TYPE*NATIVE + """ + return pulumi.get(self, "app_type") + + @app_type.setter + def app_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "app_type", value) + + @property + @pulumi.getter(name="authMethodType") + def auth_method_type(self) -> Optional[pulumi.Input[str]]: + """ + Auth method type, supported values: OIDC*AUTH*METHOD*TYPE*BASIC, OIDC*AUTH*METHOD*TYPE*POST, OIDC*AUTH*METHOD*TYPE*NONE, OIDC*AUTH*METHOD*TYPE*PRIVATE*KEY*JWT + """ + return pulumi.get(self, "auth_method_type") + + @auth_method_type.setter + def auth_method_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "auth_method_type", value) + + @property + @pulumi.getter(name="clockSkew") + def clock_skew(self) -> Optional[pulumi.Input[str]]: + """ + Clockskew + """ + return pulumi.get(self, "clock_skew") + + @clock_skew.setter + def clock_skew(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "clock_skew", value) + + @property + @pulumi.getter(name="devMode") + def dev_mode(self) -> Optional[pulumi.Input[bool]]: + """ + Dev mode + """ + return pulumi.get(self, "dev_mode") + + @dev_mode.setter + def dev_mode(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "dev_mode", value) + + @property + @pulumi.getter(name="idTokenRoleAssertion") + def id_token_role_assertion(self) -> Optional[pulumi.Input[bool]]: + """ + ID token role assertion + """ + return pulumi.get(self, "id_token_role_assertion") + + @id_token_role_assertion.setter + def id_token_role_assertion(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "id_token_role_assertion", value) + + @property + @pulumi.getter(name="idTokenUserinfoAssertion") + def id_token_userinfo_assertion(self) -> Optional[pulumi.Input[bool]]: + """ + Token userinfo assertion + """ + return pulumi.get(self, "id_token_userinfo_assertion") + + @id_token_userinfo_assertion.setter + def id_token_userinfo_assertion(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "id_token_userinfo_assertion", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the application + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + @property + @pulumi.getter(name="postLogoutRedirectUris") + def post_logout_redirect_uris(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Post logout redirect URIs + """ + return pulumi.get(self, "post_logout_redirect_uris") + + @post_logout_redirect_uris.setter + def post_logout_redirect_uris(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "post_logout_redirect_uris", value) + + @property + @pulumi.getter + def version(self) -> Optional[pulumi.Input[str]]: + """ + Version, supported values: OIDC*VERSION*1_0 + """ + return pulumi.get(self, "version") + + @version.setter + def version(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "version", value) + + +@pulumi.input_type +class _ApplicationOidcState: + def __init__(__self__, *, + access_token_role_assertion: Optional[pulumi.Input[bool]] = None, + access_token_type: Optional[pulumi.Input[str]] = None, + additional_origins: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + app_type: Optional[pulumi.Input[str]] = None, + auth_method_type: Optional[pulumi.Input[str]] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + clock_skew: Optional[pulumi.Input[str]] = None, + dev_mode: Optional[pulumi.Input[bool]] = None, + grant_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + id_token_role_assertion: Optional[pulumi.Input[bool]] = None, + id_token_userinfo_assertion: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + post_logout_redirect_uris: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + project_id: Optional[pulumi.Input[str]] = None, + redirect_uris: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + response_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + version: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering ApplicationOidc resources. + :param pulumi.Input[bool] access_token_role_assertion: Access token role assertion + :param pulumi.Input[str] access_token_type: Access token type, supported values: OIDC*TOKEN*TYPE*BEARER, OIDC*TOKEN*TYPE*JWT + :param pulumi.Input[Sequence[pulumi.Input[str]]] additional_origins: Additional origins + :param pulumi.Input[str] app_type: App type, supported values: OIDC*APP*TYPE*WEB, OIDC*APP*TYPE*USER*AGENT, OIDC*APP*TYPE*NATIVE + :param pulumi.Input[str] auth_method_type: Auth method type, supported values: OIDC*AUTH*METHOD*TYPE*BASIC, OIDC*AUTH*METHOD*TYPE*POST, OIDC*AUTH*METHOD*TYPE*NONE, OIDC*AUTH*METHOD*TYPE*PRIVATE*KEY*JWT + :param pulumi.Input[str] client_id: generated ID for this config + :param pulumi.Input[str] client_secret: generated secret for this config + :param pulumi.Input[str] clock_skew: Clockskew + :param pulumi.Input[bool] dev_mode: Dev mode + :param pulumi.Input[Sequence[pulumi.Input[str]]] grant_types: Grant types, supported values: OIDC*GRANT*TYPE*AUTHORIZATION*CODE, OIDC*GRANT*TYPE*IMPLICIT, OIDC*GRANT*TYPE*REFRESH*TOKEN, OIDC*GRANT*TYPE*DEVICE_CODE + :param pulumi.Input[bool] id_token_role_assertion: ID token role assertion + :param pulumi.Input[bool] id_token_userinfo_assertion: Token userinfo assertion + :param pulumi.Input[str] name: Name of the application + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[Sequence[pulumi.Input[str]]] post_logout_redirect_uris: Post logout redirect URIs + :param pulumi.Input[str] project_id: ID of the project + :param pulumi.Input[Sequence[pulumi.Input[str]]] redirect_uris: RedirectURIs + :param pulumi.Input[Sequence[pulumi.Input[str]]] response_types: Response type, supported values: OIDC*RESPONSE*TYPE*CODE, OIDC*RESPONSE*TYPE*ID*TOKEN, OIDC*RESPONSE*TYPE*ID*TOKEN*TOKEN + :param pulumi.Input[str] version: Version, supported values: OIDC*VERSION*1_0 + """ + _ApplicationOidcState._configure( + lambda key, value: pulumi.set(__self__, key, value), + access_token_role_assertion=access_token_role_assertion, + access_token_type=access_token_type, + additional_origins=additional_origins, + app_type=app_type, + auth_method_type=auth_method_type, + client_id=client_id, + client_secret=client_secret, + clock_skew=clock_skew, + dev_mode=dev_mode, + grant_types=grant_types, + id_token_role_assertion=id_token_role_assertion, + id_token_userinfo_assertion=id_token_userinfo_assertion, + name=name, + org_id=org_id, + post_logout_redirect_uris=post_logout_redirect_uris, + project_id=project_id, + redirect_uris=redirect_uris, + response_types=response_types, + version=version, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + access_token_role_assertion: Optional[pulumi.Input[bool]] = None, + access_token_type: Optional[pulumi.Input[str]] = None, + additional_origins: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + app_type: Optional[pulumi.Input[str]] = None, + auth_method_type: Optional[pulumi.Input[str]] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + clock_skew: Optional[pulumi.Input[str]] = None, + dev_mode: Optional[pulumi.Input[bool]] = None, + grant_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + id_token_role_assertion: Optional[pulumi.Input[bool]] = None, + id_token_userinfo_assertion: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + post_logout_redirect_uris: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + project_id: Optional[pulumi.Input[str]] = None, + redirect_uris: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + response_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + version: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'accessTokenRoleAssertion' in kwargs: + access_token_role_assertion = kwargs['accessTokenRoleAssertion'] + if 'accessTokenType' in kwargs: + access_token_type = kwargs['accessTokenType'] + if 'additionalOrigins' in kwargs: + additional_origins = kwargs['additionalOrigins'] + if 'appType' in kwargs: + app_type = kwargs['appType'] + if 'authMethodType' in kwargs: + auth_method_type = kwargs['authMethodType'] + if 'clientId' in kwargs: + client_id = kwargs['clientId'] + if 'clientSecret' in kwargs: + client_secret = kwargs['clientSecret'] + if 'clockSkew' in kwargs: + clock_skew = kwargs['clockSkew'] + if 'devMode' in kwargs: + dev_mode = kwargs['devMode'] + if 'grantTypes' in kwargs: + grant_types = kwargs['grantTypes'] + if 'idTokenRoleAssertion' in kwargs: + id_token_role_assertion = kwargs['idTokenRoleAssertion'] + if 'idTokenUserinfoAssertion' in kwargs: + id_token_userinfo_assertion = kwargs['idTokenUserinfoAssertion'] + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + if 'postLogoutRedirectUris' in kwargs: + post_logout_redirect_uris = kwargs['postLogoutRedirectUris'] + if 'projectId' in kwargs: + project_id = kwargs['projectId'] + if 'redirectUris' in kwargs: + redirect_uris = kwargs['redirectUris'] + if 'responseTypes' in kwargs: + response_types = kwargs['responseTypes'] + + if access_token_role_assertion is not None: + _setter("access_token_role_assertion", access_token_role_assertion) + if access_token_type is not None: + _setter("access_token_type", access_token_type) + if additional_origins is not None: + _setter("additional_origins", additional_origins) + if app_type is not None: + _setter("app_type", app_type) + if auth_method_type is not None: + _setter("auth_method_type", auth_method_type) + if client_id is not None: + _setter("client_id", client_id) + if client_secret is not None: + _setter("client_secret", client_secret) + if clock_skew is not None: + _setter("clock_skew", clock_skew) + if dev_mode is not None: + _setter("dev_mode", dev_mode) + if grant_types is not None: + _setter("grant_types", grant_types) + if id_token_role_assertion is not None: + _setter("id_token_role_assertion", id_token_role_assertion) + if id_token_userinfo_assertion is not None: + _setter("id_token_userinfo_assertion", id_token_userinfo_assertion) + if name is not None: + _setter("name", name) + if org_id is not None: + _setter("org_id", org_id) + if post_logout_redirect_uris is not None: + _setter("post_logout_redirect_uris", post_logout_redirect_uris) + if project_id is not None: + _setter("project_id", project_id) + if redirect_uris is not None: + _setter("redirect_uris", redirect_uris) + if response_types is not None: + _setter("response_types", response_types) + if version is not None: + _setter("version", version) + + @property + @pulumi.getter(name="accessTokenRoleAssertion") + def access_token_role_assertion(self) -> Optional[pulumi.Input[bool]]: + """ + Access token role assertion + """ + return pulumi.get(self, "access_token_role_assertion") + + @access_token_role_assertion.setter + def access_token_role_assertion(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "access_token_role_assertion", value) + + @property + @pulumi.getter(name="accessTokenType") + def access_token_type(self) -> Optional[pulumi.Input[str]]: + """ + Access token type, supported values: OIDC*TOKEN*TYPE*BEARER, OIDC*TOKEN*TYPE*JWT + """ + return pulumi.get(self, "access_token_type") + + @access_token_type.setter + def access_token_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "access_token_type", value) + + @property + @pulumi.getter(name="additionalOrigins") + def additional_origins(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Additional origins + """ + return pulumi.get(self, "additional_origins") + + @additional_origins.setter + def additional_origins(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "additional_origins", value) + + @property + @pulumi.getter(name="appType") + def app_type(self) -> Optional[pulumi.Input[str]]: + """ + App type, supported values: OIDC*APP*TYPE*WEB, OIDC*APP*TYPE*USER*AGENT, OIDC*APP*TYPE*NATIVE + """ + return pulumi.get(self, "app_type") + + @app_type.setter + def app_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "app_type", value) + + @property + @pulumi.getter(name="authMethodType") + def auth_method_type(self) -> Optional[pulumi.Input[str]]: + """ + Auth method type, supported values: OIDC*AUTH*METHOD*TYPE*BASIC, OIDC*AUTH*METHOD*TYPE*POST, OIDC*AUTH*METHOD*TYPE*NONE, OIDC*AUTH*METHOD*TYPE*PRIVATE*KEY*JWT + """ + return pulumi.get(self, "auth_method_type") + + @auth_method_type.setter + def auth_method_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "auth_method_type", value) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> Optional[pulumi.Input[str]]: + """ + generated ID for this config + """ + return pulumi.get(self, "client_id") + + @client_id.setter + def client_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "client_id", value) + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> Optional[pulumi.Input[str]]: + """ + generated secret for this config + """ + return pulumi.get(self, "client_secret") + + @client_secret.setter + def client_secret(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "client_secret", value) + + @property + @pulumi.getter(name="clockSkew") + def clock_skew(self) -> Optional[pulumi.Input[str]]: + """ + Clockskew + """ + return pulumi.get(self, "clock_skew") + + @clock_skew.setter + def clock_skew(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "clock_skew", value) + + @property + @pulumi.getter(name="devMode") + def dev_mode(self) -> Optional[pulumi.Input[bool]]: + """ + Dev mode + """ + return pulumi.get(self, "dev_mode") + + @dev_mode.setter + def dev_mode(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "dev_mode", value) + + @property + @pulumi.getter(name="grantTypes") + def grant_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Grant types, supported values: OIDC*GRANT*TYPE*AUTHORIZATION*CODE, OIDC*GRANT*TYPE*IMPLICIT, OIDC*GRANT*TYPE*REFRESH*TOKEN, OIDC*GRANT*TYPE*DEVICE_CODE + """ + return pulumi.get(self, "grant_types") + + @grant_types.setter + def grant_types(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "grant_types", value) + + @property + @pulumi.getter(name="idTokenRoleAssertion") + def id_token_role_assertion(self) -> Optional[pulumi.Input[bool]]: + """ + ID token role assertion + """ + return pulumi.get(self, "id_token_role_assertion") + + @id_token_role_assertion.setter + def id_token_role_assertion(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "id_token_role_assertion", value) + + @property + @pulumi.getter(name="idTokenUserinfoAssertion") + def id_token_userinfo_assertion(self) -> Optional[pulumi.Input[bool]]: + """ + Token userinfo assertion + """ + return pulumi.get(self, "id_token_userinfo_assertion") + + @id_token_userinfo_assertion.setter + def id_token_userinfo_assertion(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "id_token_userinfo_assertion", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the application + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + @property + @pulumi.getter(name="postLogoutRedirectUris") + def post_logout_redirect_uris(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Post logout redirect URIs + """ + return pulumi.get(self, "post_logout_redirect_uris") + + @post_logout_redirect_uris.setter + def post_logout_redirect_uris(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "post_logout_redirect_uris", value) + + @property + @pulumi.getter(name="projectId") + def project_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the project + """ + return pulumi.get(self, "project_id") + + @project_id.setter + def project_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "project_id", value) + + @property + @pulumi.getter(name="redirectUris") + def redirect_uris(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + RedirectURIs + """ + return pulumi.get(self, "redirect_uris") + + @redirect_uris.setter + def redirect_uris(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "redirect_uris", value) + + @property + @pulumi.getter(name="responseTypes") + def response_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Response type, supported values: OIDC*RESPONSE*TYPE*CODE, OIDC*RESPONSE*TYPE*ID*TOKEN, OIDC*RESPONSE*TYPE*ID*TOKEN*TOKEN + """ + return pulumi.get(self, "response_types") + + @response_types.setter + def response_types(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "response_types", value) + + @property + @pulumi.getter + def version(self) -> Optional[pulumi.Input[str]]: + """ + Version, supported values: OIDC*VERSION*1_0 + """ + return pulumi.get(self, "version") + + @version.setter + def version(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "version", value) + + +class ApplicationOidc(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + access_token_role_assertion: Optional[pulumi.Input[bool]] = None, + access_token_type: Optional[pulumi.Input[str]] = None, + additional_origins: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + app_type: Optional[pulumi.Input[str]] = None, + auth_method_type: Optional[pulumi.Input[str]] = None, + clock_skew: Optional[pulumi.Input[str]] = None, + dev_mode: Optional[pulumi.Input[bool]] = None, + grant_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + id_token_role_assertion: Optional[pulumi.Input[bool]] = None, + id_token_userinfo_assertion: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + post_logout_redirect_uris: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + project_id: Optional[pulumi.Input[str]] = None, + redirect_uris: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + response_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + version: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Resource representing an OIDC application belonging to a project, with all configuration possibilities. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.ApplicationOidc("default", + project_id=data["zitadel_project"]["default"]["id"], + org_id=data["zitadel_org"]["default"]["id"], + redirect_uris=["https://localhost.com"], + response_types=["OIDC_RESPONSE_TYPE_CODE"], + grant_types=["OIDC_GRANT_TYPE_AUTHORIZATION_CODE"], + post_logout_redirect_uris=["https://localhost.com"], + app_type="OIDC_APP_TYPE_WEB", + auth_method_type="OIDC_AUTH_METHOD_TYPE_BASIC", + version="OIDC_VERSION_1_0", + clock_skew="0s", + dev_mode=True, + access_token_type="OIDC_TOKEN_TYPE_BEARER", + access_token_role_assertion=False, + id_token_role_assertion=False, + id_token_userinfo_assertion=False, + additional_origins=[]) + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/applicationOidc:ApplicationOidc imported '123456789012345678:123456789012345678:123456789012345678:123456789012345678@zitadel:JuaDFFeOak5DGE655KCYPSAclSkbMVEJXXuX1lEMBT14eLMSs0A0qhafKX5SA2Df' + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[bool] access_token_role_assertion: Access token role assertion + :param pulumi.Input[str] access_token_type: Access token type, supported values: OIDC*TOKEN*TYPE*BEARER, OIDC*TOKEN*TYPE*JWT + :param pulumi.Input[Sequence[pulumi.Input[str]]] additional_origins: Additional origins + :param pulumi.Input[str] app_type: App type, supported values: OIDC*APP*TYPE*WEB, OIDC*APP*TYPE*USER*AGENT, OIDC*APP*TYPE*NATIVE + :param pulumi.Input[str] auth_method_type: Auth method type, supported values: OIDC*AUTH*METHOD*TYPE*BASIC, OIDC*AUTH*METHOD*TYPE*POST, OIDC*AUTH*METHOD*TYPE*NONE, OIDC*AUTH*METHOD*TYPE*PRIVATE*KEY*JWT + :param pulumi.Input[str] clock_skew: Clockskew + :param pulumi.Input[bool] dev_mode: Dev mode + :param pulumi.Input[Sequence[pulumi.Input[str]]] grant_types: Grant types, supported values: OIDC*GRANT*TYPE*AUTHORIZATION*CODE, OIDC*GRANT*TYPE*IMPLICIT, OIDC*GRANT*TYPE*REFRESH*TOKEN, OIDC*GRANT*TYPE*DEVICE_CODE + :param pulumi.Input[bool] id_token_role_assertion: ID token role assertion + :param pulumi.Input[bool] id_token_userinfo_assertion: Token userinfo assertion + :param pulumi.Input[str] name: Name of the application + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[Sequence[pulumi.Input[str]]] post_logout_redirect_uris: Post logout redirect URIs + :param pulumi.Input[str] project_id: ID of the project + :param pulumi.Input[Sequence[pulumi.Input[str]]] redirect_uris: RedirectURIs + :param pulumi.Input[Sequence[pulumi.Input[str]]] response_types: Response type, supported values: OIDC*RESPONSE*TYPE*CODE, OIDC*RESPONSE*TYPE*ID*TOKEN, OIDC*RESPONSE*TYPE*ID*TOKEN*TOKEN + :param pulumi.Input[str] version: Version, supported values: OIDC*VERSION*1_0 + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: ApplicationOidcArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource representing an OIDC application belonging to a project, with all configuration possibilities. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.ApplicationOidc("default", + project_id=data["zitadel_project"]["default"]["id"], + org_id=data["zitadel_org"]["default"]["id"], + redirect_uris=["https://localhost.com"], + response_types=["OIDC_RESPONSE_TYPE_CODE"], + grant_types=["OIDC_GRANT_TYPE_AUTHORIZATION_CODE"], + post_logout_redirect_uris=["https://localhost.com"], + app_type="OIDC_APP_TYPE_WEB", + auth_method_type="OIDC_AUTH_METHOD_TYPE_BASIC", + version="OIDC_VERSION_1_0", + clock_skew="0s", + dev_mode=True, + access_token_type="OIDC_TOKEN_TYPE_BEARER", + access_token_role_assertion=False, + id_token_role_assertion=False, + id_token_userinfo_assertion=False, + additional_origins=[]) + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/applicationOidc:ApplicationOidc imported '123456789012345678:123456789012345678:123456789012345678:123456789012345678@zitadel:JuaDFFeOak5DGE655KCYPSAclSkbMVEJXXuX1lEMBT14eLMSs0A0qhafKX5SA2Df' + ``` + + :param str resource_name: The name of the resource. + :param ApplicationOidcArgs 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(ApplicationOidcArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + ApplicationOidcArgs._configure(_setter, **kwargs) + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + access_token_role_assertion: Optional[pulumi.Input[bool]] = None, + access_token_type: Optional[pulumi.Input[str]] = None, + additional_origins: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + app_type: Optional[pulumi.Input[str]] = None, + auth_method_type: Optional[pulumi.Input[str]] = None, + clock_skew: Optional[pulumi.Input[str]] = None, + dev_mode: Optional[pulumi.Input[bool]] = None, + grant_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + id_token_role_assertion: Optional[pulumi.Input[bool]] = None, + id_token_userinfo_assertion: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + post_logout_redirect_uris: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + project_id: Optional[pulumi.Input[str]] = None, + redirect_uris: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + response_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + version: 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__ = ApplicationOidcArgs.__new__(ApplicationOidcArgs) + + __props__.__dict__["access_token_role_assertion"] = access_token_role_assertion + __props__.__dict__["access_token_type"] = access_token_type + __props__.__dict__["additional_origins"] = additional_origins + __props__.__dict__["app_type"] = app_type + __props__.__dict__["auth_method_type"] = auth_method_type + __props__.__dict__["clock_skew"] = clock_skew + __props__.__dict__["dev_mode"] = dev_mode + if grant_types is None and not opts.urn: + raise TypeError("Missing required property 'grant_types'") + __props__.__dict__["grant_types"] = grant_types + __props__.__dict__["id_token_role_assertion"] = id_token_role_assertion + __props__.__dict__["id_token_userinfo_assertion"] = id_token_userinfo_assertion + __props__.__dict__["name"] = name + __props__.__dict__["org_id"] = org_id + __props__.__dict__["post_logout_redirect_uris"] = post_logout_redirect_uris + if project_id is None and not opts.urn: + raise TypeError("Missing required property 'project_id'") + __props__.__dict__["project_id"] = project_id + if redirect_uris is None and not opts.urn: + raise TypeError("Missing required property 'redirect_uris'") + __props__.__dict__["redirect_uris"] = redirect_uris + if response_types is None and not opts.urn: + raise TypeError("Missing required property 'response_types'") + __props__.__dict__["response_types"] = response_types + __props__.__dict__["version"] = version + __props__.__dict__["client_id"] = None + __props__.__dict__["client_secret"] = None + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["clientId", "clientSecret"]) + opts = pulumi.ResourceOptions.merge(opts, secret_opts) + super(ApplicationOidc, __self__).__init__( + 'zitadel:index/applicationOidc:ApplicationOidc', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + access_token_role_assertion: Optional[pulumi.Input[bool]] = None, + access_token_type: Optional[pulumi.Input[str]] = None, + additional_origins: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + app_type: Optional[pulumi.Input[str]] = None, + auth_method_type: Optional[pulumi.Input[str]] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + clock_skew: Optional[pulumi.Input[str]] = None, + dev_mode: Optional[pulumi.Input[bool]] = None, + grant_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + id_token_role_assertion: Optional[pulumi.Input[bool]] = None, + id_token_userinfo_assertion: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + post_logout_redirect_uris: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + project_id: Optional[pulumi.Input[str]] = None, + redirect_uris: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + response_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + version: Optional[pulumi.Input[str]] = None) -> 'ApplicationOidc': + """ + Get an existing ApplicationOidc 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] access_token_role_assertion: Access token role assertion + :param pulumi.Input[str] access_token_type: Access token type, supported values: OIDC*TOKEN*TYPE*BEARER, OIDC*TOKEN*TYPE*JWT + :param pulumi.Input[Sequence[pulumi.Input[str]]] additional_origins: Additional origins + :param pulumi.Input[str] app_type: App type, supported values: OIDC*APP*TYPE*WEB, OIDC*APP*TYPE*USER*AGENT, OIDC*APP*TYPE*NATIVE + :param pulumi.Input[str] auth_method_type: Auth method type, supported values: OIDC*AUTH*METHOD*TYPE*BASIC, OIDC*AUTH*METHOD*TYPE*POST, OIDC*AUTH*METHOD*TYPE*NONE, OIDC*AUTH*METHOD*TYPE*PRIVATE*KEY*JWT + :param pulumi.Input[str] client_id: generated ID for this config + :param pulumi.Input[str] client_secret: generated secret for this config + :param pulumi.Input[str] clock_skew: Clockskew + :param pulumi.Input[bool] dev_mode: Dev mode + :param pulumi.Input[Sequence[pulumi.Input[str]]] grant_types: Grant types, supported values: OIDC*GRANT*TYPE*AUTHORIZATION*CODE, OIDC*GRANT*TYPE*IMPLICIT, OIDC*GRANT*TYPE*REFRESH*TOKEN, OIDC*GRANT*TYPE*DEVICE_CODE + :param pulumi.Input[bool] id_token_role_assertion: ID token role assertion + :param pulumi.Input[bool] id_token_userinfo_assertion: Token userinfo assertion + :param pulumi.Input[str] name: Name of the application + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[Sequence[pulumi.Input[str]]] post_logout_redirect_uris: Post logout redirect URIs + :param pulumi.Input[str] project_id: ID of the project + :param pulumi.Input[Sequence[pulumi.Input[str]]] redirect_uris: RedirectURIs + :param pulumi.Input[Sequence[pulumi.Input[str]]] response_types: Response type, supported values: OIDC*RESPONSE*TYPE*CODE, OIDC*RESPONSE*TYPE*ID*TOKEN, OIDC*RESPONSE*TYPE*ID*TOKEN*TOKEN + :param pulumi.Input[str] version: Version, supported values: OIDC*VERSION*1_0 + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _ApplicationOidcState.__new__(_ApplicationOidcState) + + __props__.__dict__["access_token_role_assertion"] = access_token_role_assertion + __props__.__dict__["access_token_type"] = access_token_type + __props__.__dict__["additional_origins"] = additional_origins + __props__.__dict__["app_type"] = app_type + __props__.__dict__["auth_method_type"] = auth_method_type + __props__.__dict__["client_id"] = client_id + __props__.__dict__["client_secret"] = client_secret + __props__.__dict__["clock_skew"] = clock_skew + __props__.__dict__["dev_mode"] = dev_mode + __props__.__dict__["grant_types"] = grant_types + __props__.__dict__["id_token_role_assertion"] = id_token_role_assertion + __props__.__dict__["id_token_userinfo_assertion"] = id_token_userinfo_assertion + __props__.__dict__["name"] = name + __props__.__dict__["org_id"] = org_id + __props__.__dict__["post_logout_redirect_uris"] = post_logout_redirect_uris + __props__.__dict__["project_id"] = project_id + __props__.__dict__["redirect_uris"] = redirect_uris + __props__.__dict__["response_types"] = response_types + __props__.__dict__["version"] = version + return ApplicationOidc(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="accessTokenRoleAssertion") + def access_token_role_assertion(self) -> pulumi.Output[Optional[bool]]: + """ + Access token role assertion + """ + return pulumi.get(self, "access_token_role_assertion") + + @property + @pulumi.getter(name="accessTokenType") + def access_token_type(self) -> pulumi.Output[Optional[str]]: + """ + Access token type, supported values: OIDC*TOKEN*TYPE*BEARER, OIDC*TOKEN*TYPE*JWT + """ + return pulumi.get(self, "access_token_type") + + @property + @pulumi.getter(name="additionalOrigins") + def additional_origins(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + Additional origins + """ + return pulumi.get(self, "additional_origins") + + @property + @pulumi.getter(name="appType") + def app_type(self) -> pulumi.Output[Optional[str]]: + """ + App type, supported values: OIDC*APP*TYPE*WEB, OIDC*APP*TYPE*USER*AGENT, OIDC*APP*TYPE*NATIVE + """ + return pulumi.get(self, "app_type") + + @property + @pulumi.getter(name="authMethodType") + def auth_method_type(self) -> pulumi.Output[Optional[str]]: + """ + Auth method type, supported values: OIDC*AUTH*METHOD*TYPE*BASIC, OIDC*AUTH*METHOD*TYPE*POST, OIDC*AUTH*METHOD*TYPE*NONE, OIDC*AUTH*METHOD*TYPE*PRIVATE*KEY*JWT + """ + return pulumi.get(self, "auth_method_type") + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> pulumi.Output[str]: + """ + generated ID for this config + """ + return pulumi.get(self, "client_id") + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> pulumi.Output[str]: + """ + generated secret for this config + """ + return pulumi.get(self, "client_secret") + + @property + @pulumi.getter(name="clockSkew") + def clock_skew(self) -> pulumi.Output[Optional[str]]: + """ + Clockskew + """ + return pulumi.get(self, "clock_skew") + + @property + @pulumi.getter(name="devMode") + def dev_mode(self) -> pulumi.Output[Optional[bool]]: + """ + Dev mode + """ + return pulumi.get(self, "dev_mode") + + @property + @pulumi.getter(name="grantTypes") + def grant_types(self) -> pulumi.Output[Sequence[str]]: + """ + Grant types, supported values: OIDC*GRANT*TYPE*AUTHORIZATION*CODE, OIDC*GRANT*TYPE*IMPLICIT, OIDC*GRANT*TYPE*REFRESH*TOKEN, OIDC*GRANT*TYPE*DEVICE_CODE + """ + return pulumi.get(self, "grant_types") + + @property + @pulumi.getter(name="idTokenRoleAssertion") + def id_token_role_assertion(self) -> pulumi.Output[Optional[bool]]: + """ + ID token role assertion + """ + return pulumi.get(self, "id_token_role_assertion") + + @property + @pulumi.getter(name="idTokenUserinfoAssertion") + def id_token_userinfo_assertion(self) -> pulumi.Output[Optional[bool]]: + """ + Token userinfo assertion + """ + return pulumi.get(self, "id_token_userinfo_assertion") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Name of the application + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> pulumi.Output[Optional[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @property + @pulumi.getter(name="postLogoutRedirectUris") + def post_logout_redirect_uris(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + Post logout redirect URIs + """ + return pulumi.get(self, "post_logout_redirect_uris") + + @property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Output[str]: + """ + ID of the project + """ + return pulumi.get(self, "project_id") + + @property + @pulumi.getter(name="redirectUris") + def redirect_uris(self) -> pulumi.Output[Sequence[str]]: + """ + RedirectURIs + """ + return pulumi.get(self, "redirect_uris") + + @property + @pulumi.getter(name="responseTypes") + def response_types(self) -> pulumi.Output[Sequence[str]]: + """ + Response type, supported values: OIDC*RESPONSE*TYPE*CODE, OIDC*RESPONSE*TYPE*ID*TOKEN, OIDC*RESPONSE*TYPE*ID*TOKEN*TOKEN + """ + return pulumi.get(self, "response_types") + + @property + @pulumi.getter + def version(self) -> pulumi.Output[Optional[str]]: + """ + Version, supported values: OIDC*VERSION*1_0 + """ + return pulumi.get(self, "version") + diff --git a/sdk/python/scoretechnologies_zitadel/application_saml.py b/sdk/python/scoretechnologies_zitadel/application_saml.py new file mode 100644 index 0000000..0910606 --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/application_saml.py @@ -0,0 +1,404 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['ApplicationSamlArgs', 'ApplicationSaml'] + +@pulumi.input_type +class ApplicationSamlArgs: + def __init__(__self__, *, + metadata_xml: pulumi.Input[str], + project_id: pulumi.Input[str], + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a ApplicationSaml resource. + :param pulumi.Input[str] metadata_xml: Metadata as XML file + :param pulumi.Input[str] project_id: ID of the project + :param pulumi.Input[str] name: Name of the application + :param pulumi.Input[str] org_id: ID of the organization + """ + ApplicationSamlArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + metadata_xml=metadata_xml, + project_id=project_id, + name=name, + org_id=org_id, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + metadata_xml: pulumi.Input[str], + project_id: pulumi.Input[str], + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'metadataXml' in kwargs: + metadata_xml = kwargs['metadataXml'] + if 'projectId' in kwargs: + project_id = kwargs['projectId'] + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + + _setter("metadata_xml", metadata_xml) + _setter("project_id", project_id) + if name is not None: + _setter("name", name) + if org_id is not None: + _setter("org_id", org_id) + + @property + @pulumi.getter(name="metadataXml") + def metadata_xml(self) -> pulumi.Input[str]: + """ + Metadata as XML file + """ + return pulumi.get(self, "metadata_xml") + + @metadata_xml.setter + def metadata_xml(self, value: pulumi.Input[str]): + pulumi.set(self, "metadata_xml", value) + + @property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Input[str]: + """ + ID of the project + """ + return pulumi.get(self, "project_id") + + @project_id.setter + def project_id(self, value: pulumi.Input[str]): + pulumi.set(self, "project_id", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the application + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + +@pulumi.input_type +class _ApplicationSamlState: + def __init__(__self__, *, + metadata_xml: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + project_id: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering ApplicationSaml resources. + :param pulumi.Input[str] metadata_xml: Metadata as XML file + :param pulumi.Input[str] name: Name of the application + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[str] project_id: ID of the project + """ + _ApplicationSamlState._configure( + lambda key, value: pulumi.set(__self__, key, value), + metadata_xml=metadata_xml, + name=name, + org_id=org_id, + project_id=project_id, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + metadata_xml: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + project_id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'metadataXml' in kwargs: + metadata_xml = kwargs['metadataXml'] + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + if 'projectId' in kwargs: + project_id = kwargs['projectId'] + + if metadata_xml is not None: + _setter("metadata_xml", metadata_xml) + if name is not None: + _setter("name", name) + if org_id is not None: + _setter("org_id", org_id) + if project_id is not None: + _setter("project_id", project_id) + + @property + @pulumi.getter(name="metadataXml") + def metadata_xml(self) -> Optional[pulumi.Input[str]]: + """ + Metadata as XML file + """ + return pulumi.get(self, "metadata_xml") + + @metadata_xml.setter + def metadata_xml(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "metadata_xml", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the application + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + @property + @pulumi.getter(name="projectId") + def project_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the project + """ + return pulumi.get(self, "project_id") + + @project_id.setter + def project_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "project_id", value) + + +class ApplicationSaml(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + metadata_xml: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + project_id: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Resource representing a SAML application belonging to a project, with all configuration possibilities. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.ApplicationSaml("default", + org_id=data["zitadel_org"]["default"]["id"], + project_id=data["zitadel_project"]["default"]["id"], + metadata_xml=\"\"\" + + + urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified + + + + \"\"\") + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/applicationSaml:ApplicationSaml imported '123456789012345678:123456789012345678:123456789012345678' + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] metadata_xml: Metadata as XML file + :param pulumi.Input[str] name: Name of the application + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[str] project_id: ID of the project + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: ApplicationSamlArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource representing a SAML application belonging to a project, with all configuration possibilities. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.ApplicationSaml("default", + org_id=data["zitadel_org"]["default"]["id"], + project_id=data["zitadel_project"]["default"]["id"], + metadata_xml=\"\"\" + + + urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified + + + + \"\"\") + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/applicationSaml:ApplicationSaml imported '123456789012345678:123456789012345678:123456789012345678' + ``` + + :param str resource_name: The name of the resource. + :param ApplicationSamlArgs 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(ApplicationSamlArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + ApplicationSamlArgs._configure(_setter, **kwargs) + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + metadata_xml: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + project_id: 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__ = ApplicationSamlArgs.__new__(ApplicationSamlArgs) + + if metadata_xml is None and not opts.urn: + raise TypeError("Missing required property 'metadata_xml'") + __props__.__dict__["metadata_xml"] = None if metadata_xml is None else pulumi.Output.secret(metadata_xml) + __props__.__dict__["name"] = name + __props__.__dict__["org_id"] = org_id + if project_id is None and not opts.urn: + raise TypeError("Missing required property 'project_id'") + __props__.__dict__["project_id"] = project_id + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["metadataXml"]) + opts = pulumi.ResourceOptions.merge(opts, secret_opts) + super(ApplicationSaml, __self__).__init__( + 'zitadel:index/applicationSaml:ApplicationSaml', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + metadata_xml: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + project_id: Optional[pulumi.Input[str]] = None) -> 'ApplicationSaml': + """ + Get an existing ApplicationSaml 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[str] metadata_xml: Metadata as XML file + :param pulumi.Input[str] name: Name of the application + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[str] project_id: ID of the project + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _ApplicationSamlState.__new__(_ApplicationSamlState) + + __props__.__dict__["metadata_xml"] = metadata_xml + __props__.__dict__["name"] = name + __props__.__dict__["org_id"] = org_id + __props__.__dict__["project_id"] = project_id + return ApplicationSaml(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="metadataXml") + def metadata_xml(self) -> pulumi.Output[str]: + """ + Metadata as XML file + """ + return pulumi.get(self, "metadata_xml") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Name of the application + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> pulumi.Output[Optional[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Output[str]: + """ + ID of the project + """ + return pulumi.get(self, "project_id") + diff --git a/sdk/python/scoretechnologies_zitadel/config/__init__.py b/sdk/python/scoretechnologies_zitadel/config/__init__.py new file mode 100644 index 0000000..18853fc --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/config/__init__.py @@ -0,0 +1,8 @@ +# 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 sys +from .vars import _ExportableConfig + +sys.modules[__name__].__class__ = _ExportableConfig diff --git a/sdk/python/scoretechnologies_zitadel/config/__init__.pyi b/sdk/python/scoretechnologies_zitadel/config/__init__.pyi new file mode 100644 index 0000000..171782c --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/config/__init__.pyi @@ -0,0 +1,42 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from .. import _utilities + +domain: Optional[str] +""" +Domain used to connect to the ZITADEL instance +""" + +insecure: Optional[bool] +""" +Use insecure connection +""" + +jwtProfileFile: Optional[str] +""" +Path to the file containing credentials to connect to ZITADEL. Either 'jwt_profile_file' or 'jwt_profile_json' is +required +""" + +jwtProfileJson: Optional[str] +""" +JSON value of credentials to connect to ZITADEL. Either 'jwt_profile_file' or 'jwt_profile_json' is required +""" + +port: Optional[str] +""" +Used port if not the default ports 80 or 443 are configured +""" + +token: Optional[str] +""" +Path to the file containing credentials to connect to ZITADEL +""" + diff --git a/sdk/python/scoretechnologies_zitadel/config/vars.py b/sdk/python/scoretechnologies_zitadel/config/vars.py new file mode 100644 index 0000000..6043a4b --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/config/vars.py @@ -0,0 +1,60 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from .. import _utilities + +import types + +__config__ = pulumi.Config('zitadel') + + +class _ExportableConfig(types.ModuleType): + @property + def domain(self) -> Optional[str]: + """ + Domain used to connect to the ZITADEL instance + """ + return __config__.get('domain') + + @property + def insecure(self) -> Optional[bool]: + """ + Use insecure connection + """ + return __config__.get_bool('insecure') + + @property + def jwt_profile_file(self) -> Optional[str]: + """ + Path to the file containing credentials to connect to ZITADEL. Either 'jwt_profile_file' or 'jwt_profile_json' is + required + """ + return __config__.get('jwtProfileFile') + + @property + def jwt_profile_json(self) -> Optional[str]: + """ + JSON value of credentials to connect to ZITADEL. Either 'jwt_profile_file' or 'jwt_profile_json' is required + """ + return __config__.get('jwtProfileJson') + + @property + def port(self) -> Optional[str]: + """ + Used port if not the default ports 80 or 443 are configured + """ + return __config__.get('port') + + @property + def token(self) -> Optional[str]: + """ + Path to the file containing credentials to connect to ZITADEL + """ + return __config__.get('token') + diff --git a/sdk/python/scoretechnologies_zitadel/default_domain_policy.py b/sdk/python/scoretechnologies_zitadel/default_domain_policy.py new file mode 100644 index 0000000..47f649b --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/default_domain_policy.py @@ -0,0 +1,315 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['DefaultDomainPolicyArgs', 'DefaultDomainPolicy'] + +@pulumi.input_type +class DefaultDomainPolicyArgs: + def __init__(__self__, *, + smtp_sender_address_matches_instance_domain: pulumi.Input[bool], + user_login_must_be_domain: pulumi.Input[bool], + validate_org_domains: pulumi.Input[bool]): + """ + The set of arguments for constructing a DefaultDomainPolicy resource. + :param pulumi.Input[bool] user_login_must_be_domain: User login must be domain + :param pulumi.Input[bool] validate_org_domains: Validate organization domains + """ + DefaultDomainPolicyArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + smtp_sender_address_matches_instance_domain=smtp_sender_address_matches_instance_domain, + user_login_must_be_domain=user_login_must_be_domain, + validate_org_domains=validate_org_domains, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + smtp_sender_address_matches_instance_domain: pulumi.Input[bool], + user_login_must_be_domain: pulumi.Input[bool], + validate_org_domains: pulumi.Input[bool], + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'smtpSenderAddressMatchesInstanceDomain' in kwargs: + smtp_sender_address_matches_instance_domain = kwargs['smtpSenderAddressMatchesInstanceDomain'] + if 'userLoginMustBeDomain' in kwargs: + user_login_must_be_domain = kwargs['userLoginMustBeDomain'] + if 'validateOrgDomains' in kwargs: + validate_org_domains = kwargs['validateOrgDomains'] + + _setter("smtp_sender_address_matches_instance_domain", smtp_sender_address_matches_instance_domain) + _setter("user_login_must_be_domain", user_login_must_be_domain) + _setter("validate_org_domains", validate_org_domains) + + @property + @pulumi.getter(name="smtpSenderAddressMatchesInstanceDomain") + def smtp_sender_address_matches_instance_domain(self) -> pulumi.Input[bool]: + return pulumi.get(self, "smtp_sender_address_matches_instance_domain") + + @smtp_sender_address_matches_instance_domain.setter + def smtp_sender_address_matches_instance_domain(self, value: pulumi.Input[bool]): + pulumi.set(self, "smtp_sender_address_matches_instance_domain", value) + + @property + @pulumi.getter(name="userLoginMustBeDomain") + def user_login_must_be_domain(self) -> pulumi.Input[bool]: + """ + User login must be domain + """ + return pulumi.get(self, "user_login_must_be_domain") + + @user_login_must_be_domain.setter + def user_login_must_be_domain(self, value: pulumi.Input[bool]): + pulumi.set(self, "user_login_must_be_domain", value) + + @property + @pulumi.getter(name="validateOrgDomains") + def validate_org_domains(self) -> pulumi.Input[bool]: + """ + Validate organization domains + """ + return pulumi.get(self, "validate_org_domains") + + @validate_org_domains.setter + def validate_org_domains(self, value: pulumi.Input[bool]): + pulumi.set(self, "validate_org_domains", value) + + +@pulumi.input_type +class _DefaultDomainPolicyState: + def __init__(__self__, *, + smtp_sender_address_matches_instance_domain: Optional[pulumi.Input[bool]] = None, + user_login_must_be_domain: Optional[pulumi.Input[bool]] = None, + validate_org_domains: Optional[pulumi.Input[bool]] = None): + """ + Input properties used for looking up and filtering DefaultDomainPolicy resources. + :param pulumi.Input[bool] user_login_must_be_domain: User login must be domain + :param pulumi.Input[bool] validate_org_domains: Validate organization domains + """ + _DefaultDomainPolicyState._configure( + lambda key, value: pulumi.set(__self__, key, value), + smtp_sender_address_matches_instance_domain=smtp_sender_address_matches_instance_domain, + user_login_must_be_domain=user_login_must_be_domain, + validate_org_domains=validate_org_domains, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + smtp_sender_address_matches_instance_domain: Optional[pulumi.Input[bool]] = None, + user_login_must_be_domain: Optional[pulumi.Input[bool]] = None, + validate_org_domains: Optional[pulumi.Input[bool]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'smtpSenderAddressMatchesInstanceDomain' in kwargs: + smtp_sender_address_matches_instance_domain = kwargs['smtpSenderAddressMatchesInstanceDomain'] + if 'userLoginMustBeDomain' in kwargs: + user_login_must_be_domain = kwargs['userLoginMustBeDomain'] + if 'validateOrgDomains' in kwargs: + validate_org_domains = kwargs['validateOrgDomains'] + + if smtp_sender_address_matches_instance_domain is not None: + _setter("smtp_sender_address_matches_instance_domain", smtp_sender_address_matches_instance_domain) + if user_login_must_be_domain is not None: + _setter("user_login_must_be_domain", user_login_must_be_domain) + if validate_org_domains is not None: + _setter("validate_org_domains", validate_org_domains) + + @property + @pulumi.getter(name="smtpSenderAddressMatchesInstanceDomain") + def smtp_sender_address_matches_instance_domain(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "smtp_sender_address_matches_instance_domain") + + @smtp_sender_address_matches_instance_domain.setter + def smtp_sender_address_matches_instance_domain(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "smtp_sender_address_matches_instance_domain", value) + + @property + @pulumi.getter(name="userLoginMustBeDomain") + def user_login_must_be_domain(self) -> Optional[pulumi.Input[bool]]: + """ + User login must be domain + """ + return pulumi.get(self, "user_login_must_be_domain") + + @user_login_must_be_domain.setter + def user_login_must_be_domain(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "user_login_must_be_domain", value) + + @property + @pulumi.getter(name="validateOrgDomains") + def validate_org_domains(self) -> Optional[pulumi.Input[bool]]: + """ + Validate organization domains + """ + return pulumi.get(self, "validate_org_domains") + + @validate_org_domains.setter + def validate_org_domains(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "validate_org_domains", value) + + +class DefaultDomainPolicy(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + smtp_sender_address_matches_instance_domain: Optional[pulumi.Input[bool]] = None, + user_login_must_be_domain: Optional[pulumi.Input[bool]] = None, + validate_org_domains: Optional[pulumi.Input[bool]] = None, + __props__=None): + """ + Resource representing the default domain policy. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.DefaultDomainPolicy("default", + smtp_sender_address_matches_instance_domain=True, + user_login_must_be_domain=False, + validate_org_domains=True) + ``` + + ## Import + + bash The resource can be imported using the ID format `<>`, e.g. + + ```sh + $ pulumi import zitadel:index/defaultDomainPolicy:DefaultDomainPolicy imported '' + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[bool] user_login_must_be_domain: User login must be domain + :param pulumi.Input[bool] validate_org_domains: Validate organization domains + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: DefaultDomainPolicyArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource representing the default domain policy. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.DefaultDomainPolicy("default", + smtp_sender_address_matches_instance_domain=True, + user_login_must_be_domain=False, + validate_org_domains=True) + ``` + + ## Import + + bash The resource can be imported using the ID format `<>`, e.g. + + ```sh + $ pulumi import zitadel:index/defaultDomainPolicy:DefaultDomainPolicy imported '' + ``` + + :param str resource_name: The name of the resource. + :param DefaultDomainPolicyArgs 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(DefaultDomainPolicyArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + DefaultDomainPolicyArgs._configure(_setter, **kwargs) + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + smtp_sender_address_matches_instance_domain: Optional[pulumi.Input[bool]] = None, + user_login_must_be_domain: Optional[pulumi.Input[bool]] = None, + validate_org_domains: Optional[pulumi.Input[bool]] = 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__ = DefaultDomainPolicyArgs.__new__(DefaultDomainPolicyArgs) + + if smtp_sender_address_matches_instance_domain is None and not opts.urn: + raise TypeError("Missing required property 'smtp_sender_address_matches_instance_domain'") + __props__.__dict__["smtp_sender_address_matches_instance_domain"] = smtp_sender_address_matches_instance_domain + if user_login_must_be_domain is None and not opts.urn: + raise TypeError("Missing required property 'user_login_must_be_domain'") + __props__.__dict__["user_login_must_be_domain"] = user_login_must_be_domain + if validate_org_domains is None and not opts.urn: + raise TypeError("Missing required property 'validate_org_domains'") + __props__.__dict__["validate_org_domains"] = validate_org_domains + super(DefaultDomainPolicy, __self__).__init__( + 'zitadel:index/defaultDomainPolicy:DefaultDomainPolicy', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + smtp_sender_address_matches_instance_domain: Optional[pulumi.Input[bool]] = None, + user_login_must_be_domain: Optional[pulumi.Input[bool]] = None, + validate_org_domains: Optional[pulumi.Input[bool]] = None) -> 'DefaultDomainPolicy': + """ + Get an existing DefaultDomainPolicy 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] user_login_must_be_domain: User login must be domain + :param pulumi.Input[bool] validate_org_domains: Validate organization domains + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _DefaultDomainPolicyState.__new__(_DefaultDomainPolicyState) + + __props__.__dict__["smtp_sender_address_matches_instance_domain"] = smtp_sender_address_matches_instance_domain + __props__.__dict__["user_login_must_be_domain"] = user_login_must_be_domain + __props__.__dict__["validate_org_domains"] = validate_org_domains + return DefaultDomainPolicy(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="smtpSenderAddressMatchesInstanceDomain") + def smtp_sender_address_matches_instance_domain(self) -> pulumi.Output[bool]: + return pulumi.get(self, "smtp_sender_address_matches_instance_domain") + + @property + @pulumi.getter(name="userLoginMustBeDomain") + def user_login_must_be_domain(self) -> pulumi.Output[bool]: + """ + User login must be domain + """ + return pulumi.get(self, "user_login_must_be_domain") + + @property + @pulumi.getter(name="validateOrgDomains") + def validate_org_domains(self) -> pulumi.Output[bool]: + """ + Validate organization domains + """ + return pulumi.get(self, "validate_org_domains") + diff --git a/sdk/python/scoretechnologies_zitadel/default_label_policy.py b/sdk/python/scoretechnologies_zitadel/default_label_policy.py new file mode 100644 index 0000000..e2a3b7e --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/default_label_policy.py @@ -0,0 +1,1346 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['DefaultLabelPolicyArgs', 'DefaultLabelPolicy'] + +@pulumi.input_type +class DefaultLabelPolicyArgs: + def __init__(__self__, *, + background_color: pulumi.Input[str], + background_color_dark: pulumi.Input[str], + disable_watermark: pulumi.Input[bool], + font_color: pulumi.Input[str], + font_color_dark: pulumi.Input[str], + hide_login_name_suffix: pulumi.Input[bool], + primary_color: pulumi.Input[str], + primary_color_dark: pulumi.Input[str], + warn_color: pulumi.Input[str], + warn_color_dark: pulumi.Input[str], + font_hash: Optional[pulumi.Input[str]] = None, + font_path: Optional[pulumi.Input[str]] = None, + icon_dark_hash: Optional[pulumi.Input[str]] = None, + icon_dark_path: Optional[pulumi.Input[str]] = None, + icon_hash: Optional[pulumi.Input[str]] = None, + icon_path: Optional[pulumi.Input[str]] = None, + logo_dark_hash: Optional[pulumi.Input[str]] = None, + logo_dark_path: Optional[pulumi.Input[str]] = None, + logo_hash: Optional[pulumi.Input[str]] = None, + logo_path: Optional[pulumi.Input[str]] = None, + set_active: Optional[pulumi.Input[bool]] = None, + theme_mode: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a DefaultLabelPolicy resource. + :param pulumi.Input[str] background_color: hex value for background color + :param pulumi.Input[str] background_color_dark: hex value for background color dark theme + :param pulumi.Input[bool] disable_watermark: disable watermark + :param pulumi.Input[str] font_color: hex value for font color + :param pulumi.Input[str] font_color_dark: hex value for font color dark theme + :param pulumi.Input[bool] hide_login_name_suffix: hides the org suffix on the login form if the scope "urn:zitadel:iam:org:domain:primary:{domainname}" is set. Details about this scope in https://zitadel.ch/docs/concepts#Reserved_Scopes + :param pulumi.Input[str] primary_color: hex value for primary color + :param pulumi.Input[str] primary_color_dark: hex value for primary color dark theme + :param pulumi.Input[str] warn_color: hex value for warn color + :param pulumi.Input[str] warn_color_dark: hex value for warn color dark theme + :param pulumi.Input[bool] set_active: set the label policy active after creating/updating + :param pulumi.Input[str] theme_mode: theme mode, supported values: THEME*MODE*UNSPECIFIED, THEME*MODE*AUTO, THEME*MODE*DARK, THEME*MODE*LIGHT + """ + DefaultLabelPolicyArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + background_color=background_color, + background_color_dark=background_color_dark, + disable_watermark=disable_watermark, + font_color=font_color, + font_color_dark=font_color_dark, + hide_login_name_suffix=hide_login_name_suffix, + primary_color=primary_color, + primary_color_dark=primary_color_dark, + warn_color=warn_color, + warn_color_dark=warn_color_dark, + font_hash=font_hash, + font_path=font_path, + icon_dark_hash=icon_dark_hash, + icon_dark_path=icon_dark_path, + icon_hash=icon_hash, + icon_path=icon_path, + logo_dark_hash=logo_dark_hash, + logo_dark_path=logo_dark_path, + logo_hash=logo_hash, + logo_path=logo_path, + set_active=set_active, + theme_mode=theme_mode, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + background_color: pulumi.Input[str], + background_color_dark: pulumi.Input[str], + disable_watermark: pulumi.Input[bool], + font_color: pulumi.Input[str], + font_color_dark: pulumi.Input[str], + hide_login_name_suffix: pulumi.Input[bool], + primary_color: pulumi.Input[str], + primary_color_dark: pulumi.Input[str], + warn_color: pulumi.Input[str], + warn_color_dark: pulumi.Input[str], + font_hash: Optional[pulumi.Input[str]] = None, + font_path: Optional[pulumi.Input[str]] = None, + icon_dark_hash: Optional[pulumi.Input[str]] = None, + icon_dark_path: Optional[pulumi.Input[str]] = None, + icon_hash: Optional[pulumi.Input[str]] = None, + icon_path: Optional[pulumi.Input[str]] = None, + logo_dark_hash: Optional[pulumi.Input[str]] = None, + logo_dark_path: Optional[pulumi.Input[str]] = None, + logo_hash: Optional[pulumi.Input[str]] = None, + logo_path: Optional[pulumi.Input[str]] = None, + set_active: Optional[pulumi.Input[bool]] = None, + theme_mode: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'backgroundColor' in kwargs: + background_color = kwargs['backgroundColor'] + if 'backgroundColorDark' in kwargs: + background_color_dark = kwargs['backgroundColorDark'] + if 'disableWatermark' in kwargs: + disable_watermark = kwargs['disableWatermark'] + if 'fontColor' in kwargs: + font_color = kwargs['fontColor'] + if 'fontColorDark' in kwargs: + font_color_dark = kwargs['fontColorDark'] + if 'hideLoginNameSuffix' in kwargs: + hide_login_name_suffix = kwargs['hideLoginNameSuffix'] + if 'primaryColor' in kwargs: + primary_color = kwargs['primaryColor'] + if 'primaryColorDark' in kwargs: + primary_color_dark = kwargs['primaryColorDark'] + if 'warnColor' in kwargs: + warn_color = kwargs['warnColor'] + if 'warnColorDark' in kwargs: + warn_color_dark = kwargs['warnColorDark'] + if 'fontHash' in kwargs: + font_hash = kwargs['fontHash'] + if 'fontPath' in kwargs: + font_path = kwargs['fontPath'] + if 'iconDarkHash' in kwargs: + icon_dark_hash = kwargs['iconDarkHash'] + if 'iconDarkPath' in kwargs: + icon_dark_path = kwargs['iconDarkPath'] + if 'iconHash' in kwargs: + icon_hash = kwargs['iconHash'] + if 'iconPath' in kwargs: + icon_path = kwargs['iconPath'] + if 'logoDarkHash' in kwargs: + logo_dark_hash = kwargs['logoDarkHash'] + if 'logoDarkPath' in kwargs: + logo_dark_path = kwargs['logoDarkPath'] + if 'logoHash' in kwargs: + logo_hash = kwargs['logoHash'] + if 'logoPath' in kwargs: + logo_path = kwargs['logoPath'] + if 'setActive' in kwargs: + set_active = kwargs['setActive'] + if 'themeMode' in kwargs: + theme_mode = kwargs['themeMode'] + + _setter("background_color", background_color) + _setter("background_color_dark", background_color_dark) + _setter("disable_watermark", disable_watermark) + _setter("font_color", font_color) + _setter("font_color_dark", font_color_dark) + _setter("hide_login_name_suffix", hide_login_name_suffix) + _setter("primary_color", primary_color) + _setter("primary_color_dark", primary_color_dark) + _setter("warn_color", warn_color) + _setter("warn_color_dark", warn_color_dark) + if font_hash is not None: + _setter("font_hash", font_hash) + if font_path is not None: + _setter("font_path", font_path) + if icon_dark_hash is not None: + _setter("icon_dark_hash", icon_dark_hash) + if icon_dark_path is not None: + _setter("icon_dark_path", icon_dark_path) + if icon_hash is not None: + _setter("icon_hash", icon_hash) + if icon_path is not None: + _setter("icon_path", icon_path) + if logo_dark_hash is not None: + _setter("logo_dark_hash", logo_dark_hash) + if logo_dark_path is not None: + _setter("logo_dark_path", logo_dark_path) + if logo_hash is not None: + _setter("logo_hash", logo_hash) + if logo_path is not None: + _setter("logo_path", logo_path) + if set_active is not None: + _setter("set_active", set_active) + if theme_mode is not None: + _setter("theme_mode", theme_mode) + + @property + @pulumi.getter(name="backgroundColor") + def background_color(self) -> pulumi.Input[str]: + """ + hex value for background color + """ + return pulumi.get(self, "background_color") + + @background_color.setter + def background_color(self, value: pulumi.Input[str]): + pulumi.set(self, "background_color", value) + + @property + @pulumi.getter(name="backgroundColorDark") + def background_color_dark(self) -> pulumi.Input[str]: + """ + hex value for background color dark theme + """ + return pulumi.get(self, "background_color_dark") + + @background_color_dark.setter + def background_color_dark(self, value: pulumi.Input[str]): + pulumi.set(self, "background_color_dark", value) + + @property + @pulumi.getter(name="disableWatermark") + def disable_watermark(self) -> pulumi.Input[bool]: + """ + disable watermark + """ + return pulumi.get(self, "disable_watermark") + + @disable_watermark.setter + def disable_watermark(self, value: pulumi.Input[bool]): + pulumi.set(self, "disable_watermark", value) + + @property + @pulumi.getter(name="fontColor") + def font_color(self) -> pulumi.Input[str]: + """ + hex value for font color + """ + return pulumi.get(self, "font_color") + + @font_color.setter + def font_color(self, value: pulumi.Input[str]): + pulumi.set(self, "font_color", value) + + @property + @pulumi.getter(name="fontColorDark") + def font_color_dark(self) -> pulumi.Input[str]: + """ + hex value for font color dark theme + """ + return pulumi.get(self, "font_color_dark") + + @font_color_dark.setter + def font_color_dark(self, value: pulumi.Input[str]): + pulumi.set(self, "font_color_dark", value) + + @property + @pulumi.getter(name="hideLoginNameSuffix") + def hide_login_name_suffix(self) -> pulumi.Input[bool]: + """ + hides the org suffix on the login form if the scope "urn:zitadel:iam:org:domain:primary:{domainname}" is set. Details about this scope in https://zitadel.ch/docs/concepts#Reserved_Scopes + """ + return pulumi.get(self, "hide_login_name_suffix") + + @hide_login_name_suffix.setter + def hide_login_name_suffix(self, value: pulumi.Input[bool]): + pulumi.set(self, "hide_login_name_suffix", value) + + @property + @pulumi.getter(name="primaryColor") + def primary_color(self) -> pulumi.Input[str]: + """ + hex value for primary color + """ + return pulumi.get(self, "primary_color") + + @primary_color.setter + def primary_color(self, value: pulumi.Input[str]): + pulumi.set(self, "primary_color", value) + + @property + @pulumi.getter(name="primaryColorDark") + def primary_color_dark(self) -> pulumi.Input[str]: + """ + hex value for primary color dark theme + """ + return pulumi.get(self, "primary_color_dark") + + @primary_color_dark.setter + def primary_color_dark(self, value: pulumi.Input[str]): + pulumi.set(self, "primary_color_dark", value) + + @property + @pulumi.getter(name="warnColor") + def warn_color(self) -> pulumi.Input[str]: + """ + hex value for warn color + """ + return pulumi.get(self, "warn_color") + + @warn_color.setter + def warn_color(self, value: pulumi.Input[str]): + pulumi.set(self, "warn_color", value) + + @property + @pulumi.getter(name="warnColorDark") + def warn_color_dark(self) -> pulumi.Input[str]: + """ + hex value for warn color dark theme + """ + return pulumi.get(self, "warn_color_dark") + + @warn_color_dark.setter + def warn_color_dark(self, value: pulumi.Input[str]): + pulumi.set(self, "warn_color_dark", value) + + @property + @pulumi.getter(name="fontHash") + def font_hash(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "font_hash") + + @font_hash.setter + def font_hash(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "font_hash", value) + + @property + @pulumi.getter(name="fontPath") + def font_path(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "font_path") + + @font_path.setter + def font_path(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "font_path", value) + + @property + @pulumi.getter(name="iconDarkHash") + def icon_dark_hash(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "icon_dark_hash") + + @icon_dark_hash.setter + def icon_dark_hash(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "icon_dark_hash", value) + + @property + @pulumi.getter(name="iconDarkPath") + def icon_dark_path(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "icon_dark_path") + + @icon_dark_path.setter + def icon_dark_path(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "icon_dark_path", value) + + @property + @pulumi.getter(name="iconHash") + def icon_hash(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "icon_hash") + + @icon_hash.setter + def icon_hash(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "icon_hash", value) + + @property + @pulumi.getter(name="iconPath") + def icon_path(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "icon_path") + + @icon_path.setter + def icon_path(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "icon_path", value) + + @property + @pulumi.getter(name="logoDarkHash") + def logo_dark_hash(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "logo_dark_hash") + + @logo_dark_hash.setter + def logo_dark_hash(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "logo_dark_hash", value) + + @property + @pulumi.getter(name="logoDarkPath") + def logo_dark_path(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "logo_dark_path") + + @logo_dark_path.setter + def logo_dark_path(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "logo_dark_path", value) + + @property + @pulumi.getter(name="logoHash") + def logo_hash(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "logo_hash") + + @logo_hash.setter + def logo_hash(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "logo_hash", value) + + @property + @pulumi.getter(name="logoPath") + def logo_path(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "logo_path") + + @logo_path.setter + def logo_path(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "logo_path", value) + + @property + @pulumi.getter(name="setActive") + def set_active(self) -> Optional[pulumi.Input[bool]]: + """ + set the label policy active after creating/updating + """ + return pulumi.get(self, "set_active") + + @set_active.setter + def set_active(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "set_active", value) + + @property + @pulumi.getter(name="themeMode") + def theme_mode(self) -> Optional[pulumi.Input[str]]: + """ + theme mode, supported values: THEME*MODE*UNSPECIFIED, THEME*MODE*AUTO, THEME*MODE*DARK, THEME*MODE*LIGHT + """ + return pulumi.get(self, "theme_mode") + + @theme_mode.setter + def theme_mode(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "theme_mode", value) + + +@pulumi.input_type +class _DefaultLabelPolicyState: + def __init__(__self__, *, + background_color: Optional[pulumi.Input[str]] = None, + background_color_dark: Optional[pulumi.Input[str]] = None, + disable_watermark: Optional[pulumi.Input[bool]] = None, + font_color: Optional[pulumi.Input[str]] = None, + font_color_dark: Optional[pulumi.Input[str]] = None, + font_hash: Optional[pulumi.Input[str]] = None, + font_path: Optional[pulumi.Input[str]] = None, + font_url: Optional[pulumi.Input[str]] = None, + hide_login_name_suffix: Optional[pulumi.Input[bool]] = None, + icon_dark_hash: Optional[pulumi.Input[str]] = None, + icon_dark_path: Optional[pulumi.Input[str]] = None, + icon_hash: Optional[pulumi.Input[str]] = None, + icon_path: Optional[pulumi.Input[str]] = None, + icon_url: Optional[pulumi.Input[str]] = None, + icon_url_dark: Optional[pulumi.Input[str]] = None, + logo_dark_hash: Optional[pulumi.Input[str]] = None, + logo_dark_path: Optional[pulumi.Input[str]] = None, + logo_hash: Optional[pulumi.Input[str]] = None, + logo_path: Optional[pulumi.Input[str]] = None, + logo_url: Optional[pulumi.Input[str]] = None, + logo_url_dark: Optional[pulumi.Input[str]] = None, + primary_color: Optional[pulumi.Input[str]] = None, + primary_color_dark: Optional[pulumi.Input[str]] = None, + set_active: Optional[pulumi.Input[bool]] = None, + theme_mode: Optional[pulumi.Input[str]] = None, + warn_color: Optional[pulumi.Input[str]] = None, + warn_color_dark: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering DefaultLabelPolicy resources. + :param pulumi.Input[str] background_color: hex value for background color + :param pulumi.Input[str] background_color_dark: hex value for background color dark theme + :param pulumi.Input[bool] disable_watermark: disable watermark + :param pulumi.Input[str] font_color: hex value for font color + :param pulumi.Input[str] font_color_dark: hex value for font color dark theme + :param pulumi.Input[bool] hide_login_name_suffix: hides the org suffix on the login form if the scope "urn:zitadel:iam:org:domain:primary:{domainname}" is set. Details about this scope in https://zitadel.ch/docs/concepts#Reserved_Scopes + :param pulumi.Input[str] primary_color: hex value for primary color + :param pulumi.Input[str] primary_color_dark: hex value for primary color dark theme + :param pulumi.Input[bool] set_active: set the label policy active after creating/updating + :param pulumi.Input[str] theme_mode: theme mode, supported values: THEME*MODE*UNSPECIFIED, THEME*MODE*AUTO, THEME*MODE*DARK, THEME*MODE*LIGHT + :param pulumi.Input[str] warn_color: hex value for warn color + :param pulumi.Input[str] warn_color_dark: hex value for warn color dark theme + """ + _DefaultLabelPolicyState._configure( + lambda key, value: pulumi.set(__self__, key, value), + background_color=background_color, + background_color_dark=background_color_dark, + disable_watermark=disable_watermark, + font_color=font_color, + font_color_dark=font_color_dark, + font_hash=font_hash, + font_path=font_path, + font_url=font_url, + hide_login_name_suffix=hide_login_name_suffix, + icon_dark_hash=icon_dark_hash, + icon_dark_path=icon_dark_path, + icon_hash=icon_hash, + icon_path=icon_path, + icon_url=icon_url, + icon_url_dark=icon_url_dark, + logo_dark_hash=logo_dark_hash, + logo_dark_path=logo_dark_path, + logo_hash=logo_hash, + logo_path=logo_path, + logo_url=logo_url, + logo_url_dark=logo_url_dark, + primary_color=primary_color, + primary_color_dark=primary_color_dark, + set_active=set_active, + theme_mode=theme_mode, + warn_color=warn_color, + warn_color_dark=warn_color_dark, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + background_color: Optional[pulumi.Input[str]] = None, + background_color_dark: Optional[pulumi.Input[str]] = None, + disable_watermark: Optional[pulumi.Input[bool]] = None, + font_color: Optional[pulumi.Input[str]] = None, + font_color_dark: Optional[pulumi.Input[str]] = None, + font_hash: Optional[pulumi.Input[str]] = None, + font_path: Optional[pulumi.Input[str]] = None, + font_url: Optional[pulumi.Input[str]] = None, + hide_login_name_suffix: Optional[pulumi.Input[bool]] = None, + icon_dark_hash: Optional[pulumi.Input[str]] = None, + icon_dark_path: Optional[pulumi.Input[str]] = None, + icon_hash: Optional[pulumi.Input[str]] = None, + icon_path: Optional[pulumi.Input[str]] = None, + icon_url: Optional[pulumi.Input[str]] = None, + icon_url_dark: Optional[pulumi.Input[str]] = None, + logo_dark_hash: Optional[pulumi.Input[str]] = None, + logo_dark_path: Optional[pulumi.Input[str]] = None, + logo_hash: Optional[pulumi.Input[str]] = None, + logo_path: Optional[pulumi.Input[str]] = None, + logo_url: Optional[pulumi.Input[str]] = None, + logo_url_dark: Optional[pulumi.Input[str]] = None, + primary_color: Optional[pulumi.Input[str]] = None, + primary_color_dark: Optional[pulumi.Input[str]] = None, + set_active: Optional[pulumi.Input[bool]] = None, + theme_mode: Optional[pulumi.Input[str]] = None, + warn_color: Optional[pulumi.Input[str]] = None, + warn_color_dark: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'backgroundColor' in kwargs: + background_color = kwargs['backgroundColor'] + if 'backgroundColorDark' in kwargs: + background_color_dark = kwargs['backgroundColorDark'] + if 'disableWatermark' in kwargs: + disable_watermark = kwargs['disableWatermark'] + if 'fontColor' in kwargs: + font_color = kwargs['fontColor'] + if 'fontColorDark' in kwargs: + font_color_dark = kwargs['fontColorDark'] + if 'fontHash' in kwargs: + font_hash = kwargs['fontHash'] + if 'fontPath' in kwargs: + font_path = kwargs['fontPath'] + if 'fontUrl' in kwargs: + font_url = kwargs['fontUrl'] + if 'hideLoginNameSuffix' in kwargs: + hide_login_name_suffix = kwargs['hideLoginNameSuffix'] + if 'iconDarkHash' in kwargs: + icon_dark_hash = kwargs['iconDarkHash'] + if 'iconDarkPath' in kwargs: + icon_dark_path = kwargs['iconDarkPath'] + if 'iconHash' in kwargs: + icon_hash = kwargs['iconHash'] + if 'iconPath' in kwargs: + icon_path = kwargs['iconPath'] + if 'iconUrl' in kwargs: + icon_url = kwargs['iconUrl'] + if 'iconUrlDark' in kwargs: + icon_url_dark = kwargs['iconUrlDark'] + if 'logoDarkHash' in kwargs: + logo_dark_hash = kwargs['logoDarkHash'] + if 'logoDarkPath' in kwargs: + logo_dark_path = kwargs['logoDarkPath'] + if 'logoHash' in kwargs: + logo_hash = kwargs['logoHash'] + if 'logoPath' in kwargs: + logo_path = kwargs['logoPath'] + if 'logoUrl' in kwargs: + logo_url = kwargs['logoUrl'] + if 'logoUrlDark' in kwargs: + logo_url_dark = kwargs['logoUrlDark'] + if 'primaryColor' in kwargs: + primary_color = kwargs['primaryColor'] + if 'primaryColorDark' in kwargs: + primary_color_dark = kwargs['primaryColorDark'] + if 'setActive' in kwargs: + set_active = kwargs['setActive'] + if 'themeMode' in kwargs: + theme_mode = kwargs['themeMode'] + if 'warnColor' in kwargs: + warn_color = kwargs['warnColor'] + if 'warnColorDark' in kwargs: + warn_color_dark = kwargs['warnColorDark'] + + if background_color is not None: + _setter("background_color", background_color) + if background_color_dark is not None: + _setter("background_color_dark", background_color_dark) + if disable_watermark is not None: + _setter("disable_watermark", disable_watermark) + if font_color is not None: + _setter("font_color", font_color) + if font_color_dark is not None: + _setter("font_color_dark", font_color_dark) + if font_hash is not None: + _setter("font_hash", font_hash) + if font_path is not None: + _setter("font_path", font_path) + if font_url is not None: + _setter("font_url", font_url) + if hide_login_name_suffix is not None: + _setter("hide_login_name_suffix", hide_login_name_suffix) + if icon_dark_hash is not None: + _setter("icon_dark_hash", icon_dark_hash) + if icon_dark_path is not None: + _setter("icon_dark_path", icon_dark_path) + if icon_hash is not None: + _setter("icon_hash", icon_hash) + if icon_path is not None: + _setter("icon_path", icon_path) + if icon_url is not None: + _setter("icon_url", icon_url) + if icon_url_dark is not None: + _setter("icon_url_dark", icon_url_dark) + if logo_dark_hash is not None: + _setter("logo_dark_hash", logo_dark_hash) + if logo_dark_path is not None: + _setter("logo_dark_path", logo_dark_path) + if logo_hash is not None: + _setter("logo_hash", logo_hash) + if logo_path is not None: + _setter("logo_path", logo_path) + if logo_url is not None: + _setter("logo_url", logo_url) + if logo_url_dark is not None: + _setter("logo_url_dark", logo_url_dark) + if primary_color is not None: + _setter("primary_color", primary_color) + if primary_color_dark is not None: + _setter("primary_color_dark", primary_color_dark) + if set_active is not None: + _setter("set_active", set_active) + if theme_mode is not None: + _setter("theme_mode", theme_mode) + if warn_color is not None: + _setter("warn_color", warn_color) + if warn_color_dark is not None: + _setter("warn_color_dark", warn_color_dark) + + @property + @pulumi.getter(name="backgroundColor") + def background_color(self) -> Optional[pulumi.Input[str]]: + """ + hex value for background color + """ + return pulumi.get(self, "background_color") + + @background_color.setter + def background_color(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "background_color", value) + + @property + @pulumi.getter(name="backgroundColorDark") + def background_color_dark(self) -> Optional[pulumi.Input[str]]: + """ + hex value for background color dark theme + """ + return pulumi.get(self, "background_color_dark") + + @background_color_dark.setter + def background_color_dark(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "background_color_dark", value) + + @property + @pulumi.getter(name="disableWatermark") + def disable_watermark(self) -> Optional[pulumi.Input[bool]]: + """ + disable watermark + """ + return pulumi.get(self, "disable_watermark") + + @disable_watermark.setter + def disable_watermark(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "disable_watermark", value) + + @property + @pulumi.getter(name="fontColor") + def font_color(self) -> Optional[pulumi.Input[str]]: + """ + hex value for font color + """ + return pulumi.get(self, "font_color") + + @font_color.setter + def font_color(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "font_color", value) + + @property + @pulumi.getter(name="fontColorDark") + def font_color_dark(self) -> Optional[pulumi.Input[str]]: + """ + hex value for font color dark theme + """ + return pulumi.get(self, "font_color_dark") + + @font_color_dark.setter + def font_color_dark(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "font_color_dark", value) + + @property + @pulumi.getter(name="fontHash") + def font_hash(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "font_hash") + + @font_hash.setter + def font_hash(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "font_hash", value) + + @property + @pulumi.getter(name="fontPath") + def font_path(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "font_path") + + @font_path.setter + def font_path(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "font_path", value) + + @property + @pulumi.getter(name="fontUrl") + def font_url(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "font_url") + + @font_url.setter + def font_url(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "font_url", value) + + @property + @pulumi.getter(name="hideLoginNameSuffix") + def hide_login_name_suffix(self) -> Optional[pulumi.Input[bool]]: + """ + hides the org suffix on the login form if the scope "urn:zitadel:iam:org:domain:primary:{domainname}" is set. Details about this scope in https://zitadel.ch/docs/concepts#Reserved_Scopes + """ + return pulumi.get(self, "hide_login_name_suffix") + + @hide_login_name_suffix.setter + def hide_login_name_suffix(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "hide_login_name_suffix", value) + + @property + @pulumi.getter(name="iconDarkHash") + def icon_dark_hash(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "icon_dark_hash") + + @icon_dark_hash.setter + def icon_dark_hash(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "icon_dark_hash", value) + + @property + @pulumi.getter(name="iconDarkPath") + def icon_dark_path(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "icon_dark_path") + + @icon_dark_path.setter + def icon_dark_path(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "icon_dark_path", value) + + @property + @pulumi.getter(name="iconHash") + def icon_hash(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "icon_hash") + + @icon_hash.setter + def icon_hash(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "icon_hash", value) + + @property + @pulumi.getter(name="iconPath") + def icon_path(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "icon_path") + + @icon_path.setter + def icon_path(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "icon_path", value) + + @property + @pulumi.getter(name="iconUrl") + def icon_url(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "icon_url") + + @icon_url.setter + def icon_url(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "icon_url", value) + + @property + @pulumi.getter(name="iconUrlDark") + def icon_url_dark(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "icon_url_dark") + + @icon_url_dark.setter + def icon_url_dark(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "icon_url_dark", value) + + @property + @pulumi.getter(name="logoDarkHash") + def logo_dark_hash(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "logo_dark_hash") + + @logo_dark_hash.setter + def logo_dark_hash(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "logo_dark_hash", value) + + @property + @pulumi.getter(name="logoDarkPath") + def logo_dark_path(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "logo_dark_path") + + @logo_dark_path.setter + def logo_dark_path(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "logo_dark_path", value) + + @property + @pulumi.getter(name="logoHash") + def logo_hash(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "logo_hash") + + @logo_hash.setter + def logo_hash(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "logo_hash", value) + + @property + @pulumi.getter(name="logoPath") + def logo_path(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "logo_path") + + @logo_path.setter + def logo_path(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "logo_path", value) + + @property + @pulumi.getter(name="logoUrl") + def logo_url(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "logo_url") + + @logo_url.setter + def logo_url(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "logo_url", value) + + @property + @pulumi.getter(name="logoUrlDark") + def logo_url_dark(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "logo_url_dark") + + @logo_url_dark.setter + def logo_url_dark(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "logo_url_dark", value) + + @property + @pulumi.getter(name="primaryColor") + def primary_color(self) -> Optional[pulumi.Input[str]]: + """ + hex value for primary color + """ + return pulumi.get(self, "primary_color") + + @primary_color.setter + def primary_color(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "primary_color", value) + + @property + @pulumi.getter(name="primaryColorDark") + def primary_color_dark(self) -> Optional[pulumi.Input[str]]: + """ + hex value for primary color dark theme + """ + return pulumi.get(self, "primary_color_dark") + + @primary_color_dark.setter + def primary_color_dark(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "primary_color_dark", value) + + @property + @pulumi.getter(name="setActive") + def set_active(self) -> Optional[pulumi.Input[bool]]: + """ + set the label policy active after creating/updating + """ + return pulumi.get(self, "set_active") + + @set_active.setter + def set_active(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "set_active", value) + + @property + @pulumi.getter(name="themeMode") + def theme_mode(self) -> Optional[pulumi.Input[str]]: + """ + theme mode, supported values: THEME*MODE*UNSPECIFIED, THEME*MODE*AUTO, THEME*MODE*DARK, THEME*MODE*LIGHT + """ + return pulumi.get(self, "theme_mode") + + @theme_mode.setter + def theme_mode(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "theme_mode", value) + + @property + @pulumi.getter(name="warnColor") + def warn_color(self) -> Optional[pulumi.Input[str]]: + """ + hex value for warn color + """ + return pulumi.get(self, "warn_color") + + @warn_color.setter + def warn_color(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "warn_color", value) + + @property + @pulumi.getter(name="warnColorDark") + def warn_color_dark(self) -> Optional[pulumi.Input[str]]: + """ + hex value for warn color dark theme + """ + return pulumi.get(self, "warn_color_dark") + + @warn_color_dark.setter + def warn_color_dark(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "warn_color_dark", value) + + +class DefaultLabelPolicy(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + background_color: Optional[pulumi.Input[str]] = None, + background_color_dark: Optional[pulumi.Input[str]] = None, + disable_watermark: Optional[pulumi.Input[bool]] = None, + font_color: Optional[pulumi.Input[str]] = None, + font_color_dark: Optional[pulumi.Input[str]] = None, + font_hash: Optional[pulumi.Input[str]] = None, + font_path: Optional[pulumi.Input[str]] = None, + hide_login_name_suffix: Optional[pulumi.Input[bool]] = None, + icon_dark_hash: Optional[pulumi.Input[str]] = None, + icon_dark_path: Optional[pulumi.Input[str]] = None, + icon_hash: Optional[pulumi.Input[str]] = None, + icon_path: Optional[pulumi.Input[str]] = None, + logo_dark_hash: Optional[pulumi.Input[str]] = None, + logo_dark_path: Optional[pulumi.Input[str]] = None, + logo_hash: Optional[pulumi.Input[str]] = None, + logo_path: Optional[pulumi.Input[str]] = None, + primary_color: Optional[pulumi.Input[str]] = None, + primary_color_dark: Optional[pulumi.Input[str]] = None, + set_active: Optional[pulumi.Input[bool]] = None, + theme_mode: Optional[pulumi.Input[str]] = None, + warn_color: Optional[pulumi.Input[str]] = None, + warn_color_dark: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Resource representing the default label policy. + + ## Import + + bash The resource can be imported using the ID format `<>`, e.g. + + ```sh + $ pulumi import zitadel:index/defaultLabelPolicy:DefaultLabelPolicy imported '' + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] background_color: hex value for background color + :param pulumi.Input[str] background_color_dark: hex value for background color dark theme + :param pulumi.Input[bool] disable_watermark: disable watermark + :param pulumi.Input[str] font_color: hex value for font color + :param pulumi.Input[str] font_color_dark: hex value for font color dark theme + :param pulumi.Input[bool] hide_login_name_suffix: hides the org suffix on the login form if the scope "urn:zitadel:iam:org:domain:primary:{domainname}" is set. Details about this scope in https://zitadel.ch/docs/concepts#Reserved_Scopes + :param pulumi.Input[str] primary_color: hex value for primary color + :param pulumi.Input[str] primary_color_dark: hex value for primary color dark theme + :param pulumi.Input[bool] set_active: set the label policy active after creating/updating + :param pulumi.Input[str] theme_mode: theme mode, supported values: THEME*MODE*UNSPECIFIED, THEME*MODE*AUTO, THEME*MODE*DARK, THEME*MODE*LIGHT + :param pulumi.Input[str] warn_color: hex value for warn color + :param pulumi.Input[str] warn_color_dark: hex value for warn color dark theme + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: DefaultLabelPolicyArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource representing the default label policy. + + ## Import + + bash The resource can be imported using the ID format `<>`, e.g. + + ```sh + $ pulumi import zitadel:index/defaultLabelPolicy:DefaultLabelPolicy imported '' + ``` + + :param str resource_name: The name of the resource. + :param DefaultLabelPolicyArgs 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(DefaultLabelPolicyArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + DefaultLabelPolicyArgs._configure(_setter, **kwargs) + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + background_color: Optional[pulumi.Input[str]] = None, + background_color_dark: Optional[pulumi.Input[str]] = None, + disable_watermark: Optional[pulumi.Input[bool]] = None, + font_color: Optional[pulumi.Input[str]] = None, + font_color_dark: Optional[pulumi.Input[str]] = None, + font_hash: Optional[pulumi.Input[str]] = None, + font_path: Optional[pulumi.Input[str]] = None, + hide_login_name_suffix: Optional[pulumi.Input[bool]] = None, + icon_dark_hash: Optional[pulumi.Input[str]] = None, + icon_dark_path: Optional[pulumi.Input[str]] = None, + icon_hash: Optional[pulumi.Input[str]] = None, + icon_path: Optional[pulumi.Input[str]] = None, + logo_dark_hash: Optional[pulumi.Input[str]] = None, + logo_dark_path: Optional[pulumi.Input[str]] = None, + logo_hash: Optional[pulumi.Input[str]] = None, + logo_path: Optional[pulumi.Input[str]] = None, + primary_color: Optional[pulumi.Input[str]] = None, + primary_color_dark: Optional[pulumi.Input[str]] = None, + set_active: Optional[pulumi.Input[bool]] = None, + theme_mode: Optional[pulumi.Input[str]] = None, + warn_color: Optional[pulumi.Input[str]] = None, + warn_color_dark: 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__ = DefaultLabelPolicyArgs.__new__(DefaultLabelPolicyArgs) + + if background_color is None and not opts.urn: + raise TypeError("Missing required property 'background_color'") + __props__.__dict__["background_color"] = background_color + if background_color_dark is None and not opts.urn: + raise TypeError("Missing required property 'background_color_dark'") + __props__.__dict__["background_color_dark"] = background_color_dark + if disable_watermark is None and not opts.urn: + raise TypeError("Missing required property 'disable_watermark'") + __props__.__dict__["disable_watermark"] = disable_watermark + if font_color is None and not opts.urn: + raise TypeError("Missing required property 'font_color'") + __props__.__dict__["font_color"] = font_color + if font_color_dark is None and not opts.urn: + raise TypeError("Missing required property 'font_color_dark'") + __props__.__dict__["font_color_dark"] = font_color_dark + __props__.__dict__["font_hash"] = font_hash + __props__.__dict__["font_path"] = font_path + if hide_login_name_suffix is None and not opts.urn: + raise TypeError("Missing required property 'hide_login_name_suffix'") + __props__.__dict__["hide_login_name_suffix"] = hide_login_name_suffix + __props__.__dict__["icon_dark_hash"] = icon_dark_hash + __props__.__dict__["icon_dark_path"] = icon_dark_path + __props__.__dict__["icon_hash"] = icon_hash + __props__.__dict__["icon_path"] = icon_path + __props__.__dict__["logo_dark_hash"] = logo_dark_hash + __props__.__dict__["logo_dark_path"] = logo_dark_path + __props__.__dict__["logo_hash"] = logo_hash + __props__.__dict__["logo_path"] = logo_path + if primary_color is None and not opts.urn: + raise TypeError("Missing required property 'primary_color'") + __props__.__dict__["primary_color"] = primary_color + if primary_color_dark is None and not opts.urn: + raise TypeError("Missing required property 'primary_color_dark'") + __props__.__dict__["primary_color_dark"] = primary_color_dark + __props__.__dict__["set_active"] = set_active + __props__.__dict__["theme_mode"] = theme_mode + if warn_color is None and not opts.urn: + raise TypeError("Missing required property 'warn_color'") + __props__.__dict__["warn_color"] = warn_color + if warn_color_dark is None and not opts.urn: + raise TypeError("Missing required property 'warn_color_dark'") + __props__.__dict__["warn_color_dark"] = warn_color_dark + __props__.__dict__["font_url"] = None + __props__.__dict__["icon_url"] = None + __props__.__dict__["icon_url_dark"] = None + __props__.__dict__["logo_url"] = None + __props__.__dict__["logo_url_dark"] = None + super(DefaultLabelPolicy, __self__).__init__( + 'zitadel:index/defaultLabelPolicy:DefaultLabelPolicy', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + background_color: Optional[pulumi.Input[str]] = None, + background_color_dark: Optional[pulumi.Input[str]] = None, + disable_watermark: Optional[pulumi.Input[bool]] = None, + font_color: Optional[pulumi.Input[str]] = None, + font_color_dark: Optional[pulumi.Input[str]] = None, + font_hash: Optional[pulumi.Input[str]] = None, + font_path: Optional[pulumi.Input[str]] = None, + font_url: Optional[pulumi.Input[str]] = None, + hide_login_name_suffix: Optional[pulumi.Input[bool]] = None, + icon_dark_hash: Optional[pulumi.Input[str]] = None, + icon_dark_path: Optional[pulumi.Input[str]] = None, + icon_hash: Optional[pulumi.Input[str]] = None, + icon_path: Optional[pulumi.Input[str]] = None, + icon_url: Optional[pulumi.Input[str]] = None, + icon_url_dark: Optional[pulumi.Input[str]] = None, + logo_dark_hash: Optional[pulumi.Input[str]] = None, + logo_dark_path: Optional[pulumi.Input[str]] = None, + logo_hash: Optional[pulumi.Input[str]] = None, + logo_path: Optional[pulumi.Input[str]] = None, + logo_url: Optional[pulumi.Input[str]] = None, + logo_url_dark: Optional[pulumi.Input[str]] = None, + primary_color: Optional[pulumi.Input[str]] = None, + primary_color_dark: Optional[pulumi.Input[str]] = None, + set_active: Optional[pulumi.Input[bool]] = None, + theme_mode: Optional[pulumi.Input[str]] = None, + warn_color: Optional[pulumi.Input[str]] = None, + warn_color_dark: Optional[pulumi.Input[str]] = None) -> 'DefaultLabelPolicy': + """ + Get an existing DefaultLabelPolicy 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[str] background_color: hex value for background color + :param pulumi.Input[str] background_color_dark: hex value for background color dark theme + :param pulumi.Input[bool] disable_watermark: disable watermark + :param pulumi.Input[str] font_color: hex value for font color + :param pulumi.Input[str] font_color_dark: hex value for font color dark theme + :param pulumi.Input[bool] hide_login_name_suffix: hides the org suffix on the login form if the scope "urn:zitadel:iam:org:domain:primary:{domainname}" is set. Details about this scope in https://zitadel.ch/docs/concepts#Reserved_Scopes + :param pulumi.Input[str] primary_color: hex value for primary color + :param pulumi.Input[str] primary_color_dark: hex value for primary color dark theme + :param pulumi.Input[bool] set_active: set the label policy active after creating/updating + :param pulumi.Input[str] theme_mode: theme mode, supported values: THEME*MODE*UNSPECIFIED, THEME*MODE*AUTO, THEME*MODE*DARK, THEME*MODE*LIGHT + :param pulumi.Input[str] warn_color: hex value for warn color + :param pulumi.Input[str] warn_color_dark: hex value for warn color dark theme + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _DefaultLabelPolicyState.__new__(_DefaultLabelPolicyState) + + __props__.__dict__["background_color"] = background_color + __props__.__dict__["background_color_dark"] = background_color_dark + __props__.__dict__["disable_watermark"] = disable_watermark + __props__.__dict__["font_color"] = font_color + __props__.__dict__["font_color_dark"] = font_color_dark + __props__.__dict__["font_hash"] = font_hash + __props__.__dict__["font_path"] = font_path + __props__.__dict__["font_url"] = font_url + __props__.__dict__["hide_login_name_suffix"] = hide_login_name_suffix + __props__.__dict__["icon_dark_hash"] = icon_dark_hash + __props__.__dict__["icon_dark_path"] = icon_dark_path + __props__.__dict__["icon_hash"] = icon_hash + __props__.__dict__["icon_path"] = icon_path + __props__.__dict__["icon_url"] = icon_url + __props__.__dict__["icon_url_dark"] = icon_url_dark + __props__.__dict__["logo_dark_hash"] = logo_dark_hash + __props__.__dict__["logo_dark_path"] = logo_dark_path + __props__.__dict__["logo_hash"] = logo_hash + __props__.__dict__["logo_path"] = logo_path + __props__.__dict__["logo_url"] = logo_url + __props__.__dict__["logo_url_dark"] = logo_url_dark + __props__.__dict__["primary_color"] = primary_color + __props__.__dict__["primary_color_dark"] = primary_color_dark + __props__.__dict__["set_active"] = set_active + __props__.__dict__["theme_mode"] = theme_mode + __props__.__dict__["warn_color"] = warn_color + __props__.__dict__["warn_color_dark"] = warn_color_dark + return DefaultLabelPolicy(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="backgroundColor") + def background_color(self) -> pulumi.Output[str]: + """ + hex value for background color + """ + return pulumi.get(self, "background_color") + + @property + @pulumi.getter(name="backgroundColorDark") + def background_color_dark(self) -> pulumi.Output[str]: + """ + hex value for background color dark theme + """ + return pulumi.get(self, "background_color_dark") + + @property + @pulumi.getter(name="disableWatermark") + def disable_watermark(self) -> pulumi.Output[bool]: + """ + disable watermark + """ + return pulumi.get(self, "disable_watermark") + + @property + @pulumi.getter(name="fontColor") + def font_color(self) -> pulumi.Output[str]: + """ + hex value for font color + """ + return pulumi.get(self, "font_color") + + @property + @pulumi.getter(name="fontColorDark") + def font_color_dark(self) -> pulumi.Output[str]: + """ + hex value for font color dark theme + """ + return pulumi.get(self, "font_color_dark") + + @property + @pulumi.getter(name="fontHash") + def font_hash(self) -> pulumi.Output[Optional[str]]: + return pulumi.get(self, "font_hash") + + @property + @pulumi.getter(name="fontPath") + def font_path(self) -> pulumi.Output[Optional[str]]: + return pulumi.get(self, "font_path") + + @property + @pulumi.getter(name="fontUrl") + def font_url(self) -> pulumi.Output[str]: + return pulumi.get(self, "font_url") + + @property + @pulumi.getter(name="hideLoginNameSuffix") + def hide_login_name_suffix(self) -> pulumi.Output[bool]: + """ + hides the org suffix on the login form if the scope "urn:zitadel:iam:org:domain:primary:{domainname}" is set. Details about this scope in https://zitadel.ch/docs/concepts#Reserved_Scopes + """ + return pulumi.get(self, "hide_login_name_suffix") + + @property + @pulumi.getter(name="iconDarkHash") + def icon_dark_hash(self) -> pulumi.Output[Optional[str]]: + return pulumi.get(self, "icon_dark_hash") + + @property + @pulumi.getter(name="iconDarkPath") + def icon_dark_path(self) -> pulumi.Output[Optional[str]]: + return pulumi.get(self, "icon_dark_path") + + @property + @pulumi.getter(name="iconHash") + def icon_hash(self) -> pulumi.Output[Optional[str]]: + return pulumi.get(self, "icon_hash") + + @property + @pulumi.getter(name="iconPath") + def icon_path(self) -> pulumi.Output[Optional[str]]: + return pulumi.get(self, "icon_path") + + @property + @pulumi.getter(name="iconUrl") + def icon_url(self) -> pulumi.Output[str]: + return pulumi.get(self, "icon_url") + + @property + @pulumi.getter(name="iconUrlDark") + def icon_url_dark(self) -> pulumi.Output[str]: + return pulumi.get(self, "icon_url_dark") + + @property + @pulumi.getter(name="logoDarkHash") + def logo_dark_hash(self) -> pulumi.Output[Optional[str]]: + return pulumi.get(self, "logo_dark_hash") + + @property + @pulumi.getter(name="logoDarkPath") + def logo_dark_path(self) -> pulumi.Output[Optional[str]]: + return pulumi.get(self, "logo_dark_path") + + @property + @pulumi.getter(name="logoHash") + def logo_hash(self) -> pulumi.Output[Optional[str]]: + return pulumi.get(self, "logo_hash") + + @property + @pulumi.getter(name="logoPath") + def logo_path(self) -> pulumi.Output[Optional[str]]: + return pulumi.get(self, "logo_path") + + @property + @pulumi.getter(name="logoUrl") + def logo_url(self) -> pulumi.Output[str]: + return pulumi.get(self, "logo_url") + + @property + @pulumi.getter(name="logoUrlDark") + def logo_url_dark(self) -> pulumi.Output[str]: + return pulumi.get(self, "logo_url_dark") + + @property + @pulumi.getter(name="primaryColor") + def primary_color(self) -> pulumi.Output[str]: + """ + hex value for primary color + """ + return pulumi.get(self, "primary_color") + + @property + @pulumi.getter(name="primaryColorDark") + def primary_color_dark(self) -> pulumi.Output[str]: + """ + hex value for primary color dark theme + """ + return pulumi.get(self, "primary_color_dark") + + @property + @pulumi.getter(name="setActive") + def set_active(self) -> pulumi.Output[Optional[bool]]: + """ + set the label policy active after creating/updating + """ + return pulumi.get(self, "set_active") + + @property + @pulumi.getter(name="themeMode") + def theme_mode(self) -> pulumi.Output[Optional[str]]: + """ + theme mode, supported values: THEME*MODE*UNSPECIFIED, THEME*MODE*AUTO, THEME*MODE*DARK, THEME*MODE*LIGHT + """ + return pulumi.get(self, "theme_mode") + + @property + @pulumi.getter(name="warnColor") + def warn_color(self) -> pulumi.Output[str]: + """ + hex value for warn color + """ + return pulumi.get(self, "warn_color") + + @property + @pulumi.getter(name="warnColorDark") + def warn_color_dark(self) -> pulumi.Output[str]: + """ + hex value for warn color dark theme + """ + return pulumi.get(self, "warn_color_dark") + diff --git a/sdk/python/scoretechnologies_zitadel/default_lockout_policy.py b/sdk/python/scoretechnologies_zitadel/default_lockout_policy.py new file mode 100644 index 0000000..7e15c91 --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/default_lockout_policy.py @@ -0,0 +1,210 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['DefaultLockoutPolicyArgs', 'DefaultLockoutPolicy'] + +@pulumi.input_type +class DefaultLockoutPolicyArgs: + def __init__(__self__, *, + max_password_attempts: pulumi.Input[int]): + """ + The set of arguments for constructing a DefaultLockoutPolicy resource. + :param pulumi.Input[int] max_password_attempts: Maximum password check attempts before the account gets locked. Attempts are reset as soon as the password is entered correctly or the password is reset. + """ + DefaultLockoutPolicyArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + max_password_attempts=max_password_attempts, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + max_password_attempts: pulumi.Input[int], + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'maxPasswordAttempts' in kwargs: + max_password_attempts = kwargs['maxPasswordAttempts'] + + _setter("max_password_attempts", max_password_attempts) + + @property + @pulumi.getter(name="maxPasswordAttempts") + def max_password_attempts(self) -> pulumi.Input[int]: + """ + Maximum password check attempts before the account gets locked. Attempts are reset as soon as the password is entered correctly or the password is reset. + """ + return pulumi.get(self, "max_password_attempts") + + @max_password_attempts.setter + def max_password_attempts(self, value: pulumi.Input[int]): + pulumi.set(self, "max_password_attempts", value) + + +@pulumi.input_type +class _DefaultLockoutPolicyState: + def __init__(__self__, *, + max_password_attempts: Optional[pulumi.Input[int]] = None): + """ + Input properties used for looking up and filtering DefaultLockoutPolicy resources. + :param pulumi.Input[int] max_password_attempts: Maximum password check attempts before the account gets locked. Attempts are reset as soon as the password is entered correctly or the password is reset. + """ + _DefaultLockoutPolicyState._configure( + lambda key, value: pulumi.set(__self__, key, value), + max_password_attempts=max_password_attempts, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + max_password_attempts: Optional[pulumi.Input[int]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'maxPasswordAttempts' in kwargs: + max_password_attempts = kwargs['maxPasswordAttempts'] + + if max_password_attempts is not None: + _setter("max_password_attempts", max_password_attempts) + + @property + @pulumi.getter(name="maxPasswordAttempts") + def max_password_attempts(self) -> Optional[pulumi.Input[int]]: + """ + Maximum password check attempts before the account gets locked. Attempts are reset as soon as the password is entered correctly or the password is reset. + """ + return pulumi.get(self, "max_password_attempts") + + @max_password_attempts.setter + def max_password_attempts(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "max_password_attempts", value) + + +class DefaultLockoutPolicy(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + max_password_attempts: Optional[pulumi.Input[int]] = None, + __props__=None): + """ + Resource representing the default lockout policy. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.DefaultLockoutPolicy("default", max_password_attempts=5) + ``` + + ## Import + + bash The resource can be imported using the ID format `<>`, e.g. + + ```sh + $ pulumi import zitadel:index/defaultLockoutPolicy:DefaultLockoutPolicy imported '' + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[int] max_password_attempts: Maximum password check attempts before the account gets locked. Attempts are reset as soon as the password is entered correctly or the password is reset. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: DefaultLockoutPolicyArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource representing the default lockout policy. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.DefaultLockoutPolicy("default", max_password_attempts=5) + ``` + + ## Import + + bash The resource can be imported using the ID format `<>`, e.g. + + ```sh + $ pulumi import zitadel:index/defaultLockoutPolicy:DefaultLockoutPolicy imported '' + ``` + + :param str resource_name: The name of the resource. + :param DefaultLockoutPolicyArgs 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(DefaultLockoutPolicyArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + DefaultLockoutPolicyArgs._configure(_setter, **kwargs) + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + max_password_attempts: Optional[pulumi.Input[int]] = 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__ = DefaultLockoutPolicyArgs.__new__(DefaultLockoutPolicyArgs) + + if max_password_attempts is None and not opts.urn: + raise TypeError("Missing required property 'max_password_attempts'") + __props__.__dict__["max_password_attempts"] = max_password_attempts + super(DefaultLockoutPolicy, __self__).__init__( + 'zitadel:index/defaultLockoutPolicy:DefaultLockoutPolicy', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + max_password_attempts: Optional[pulumi.Input[int]] = None) -> 'DefaultLockoutPolicy': + """ + Get an existing DefaultLockoutPolicy 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[int] max_password_attempts: Maximum password check attempts before the account gets locked. Attempts are reset as soon as the password is entered correctly or the password is reset. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _DefaultLockoutPolicyState.__new__(_DefaultLockoutPolicyState) + + __props__.__dict__["max_password_attempts"] = max_password_attempts + return DefaultLockoutPolicy(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="maxPasswordAttempts") + def max_password_attempts(self) -> pulumi.Output[int]: + """ + Maximum password check attempts before the account gets locked. Attempts are reset as soon as the password is entered correctly or the password is reset. + """ + return pulumi.get(self, "max_password_attempts") + diff --git a/sdk/python/scoretechnologies_zitadel/default_login_policy.py b/sdk/python/scoretechnologies_zitadel/default_login_policy.py new file mode 100644 index 0000000..eb228c0 --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/default_login_policy.py @@ -0,0 +1,1251 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['DefaultLoginPolicyArgs', 'DefaultLoginPolicy'] + +@pulumi.input_type +class DefaultLoginPolicyArgs: + def __init__(__self__, *, + allow_external_idp: pulumi.Input[bool], + allow_register: pulumi.Input[bool], + default_redirect_uri: pulumi.Input[str], + external_login_check_lifetime: pulumi.Input[str], + force_mfa: pulumi.Input[bool], + force_mfa_local_only: pulumi.Input[bool], + hide_password_reset: pulumi.Input[bool], + ignore_unknown_usernames: pulumi.Input[bool], + mfa_init_skip_lifetime: pulumi.Input[str], + multi_factor_check_lifetime: pulumi.Input[str], + password_check_lifetime: pulumi.Input[str], + passwordless_type: pulumi.Input[str], + second_factor_check_lifetime: pulumi.Input[str], + user_login: pulumi.Input[bool], + allow_domain_discovery: Optional[pulumi.Input[bool]] = None, + disable_login_with_email: Optional[pulumi.Input[bool]] = None, + disable_login_with_phone: Optional[pulumi.Input[bool]] = None, + idps: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + multi_factors: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + second_factors: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a DefaultLoginPolicy resource. + :param pulumi.Input[bool] allow_external_idp: defines if a user is allowed to add a defined identity provider. E.g. Google auth + :param pulumi.Input[bool] allow_register: defines if a person is allowed to register a user on this organisation + :param pulumi.Input[str] default_redirect_uri: defines where the user will be redirected to if the login is started without app context (e.g. from mail) + :param pulumi.Input[bool] force_mfa: defines if a user MUST use a multi factor to log in + :param pulumi.Input[bool] force_mfa_local_only: if activated, ZITADEL only enforces MFA on local authentications. On authentications through MFA, ZITADEL won't prompt for MFA. + :param pulumi.Input[bool] hide_password_reset: defines if password reset link should be shown in the login screen + :param pulumi.Input[bool] ignore_unknown_usernames: defines if unknown username on login screen directly return an error or always display the password screen + :param pulumi.Input[str] passwordless_type: defines if passwordless is allowed for users + :param pulumi.Input[bool] user_login: defines if a user is allowed to login with his username and password + :param pulumi.Input[bool] allow_domain_discovery: if set to true, the suffix (@domain.com) of an unknown username input on the login screen will be matched against the org domains and will redirect to the registration of that organisation on success. + :param pulumi.Input[bool] disable_login_with_email: defines if user can additionally (to the loginname) be identified by their verified email address + :param pulumi.Input[bool] disable_login_with_phone: defines if user can additionally (to the loginname) be identified by their verified phone number + :param pulumi.Input[Sequence[pulumi.Input[str]]] idps: allowed idps to login or register + :param pulumi.Input[Sequence[pulumi.Input[str]]] multi_factors: allowed multi factors + :param pulumi.Input[Sequence[pulumi.Input[str]]] second_factors: allowed second factors + """ + DefaultLoginPolicyArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + allow_external_idp=allow_external_idp, + allow_register=allow_register, + default_redirect_uri=default_redirect_uri, + external_login_check_lifetime=external_login_check_lifetime, + force_mfa=force_mfa, + force_mfa_local_only=force_mfa_local_only, + hide_password_reset=hide_password_reset, + ignore_unknown_usernames=ignore_unknown_usernames, + mfa_init_skip_lifetime=mfa_init_skip_lifetime, + multi_factor_check_lifetime=multi_factor_check_lifetime, + password_check_lifetime=password_check_lifetime, + passwordless_type=passwordless_type, + second_factor_check_lifetime=second_factor_check_lifetime, + user_login=user_login, + allow_domain_discovery=allow_domain_discovery, + disable_login_with_email=disable_login_with_email, + disable_login_with_phone=disable_login_with_phone, + idps=idps, + multi_factors=multi_factors, + second_factors=second_factors, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + allow_external_idp: pulumi.Input[bool], + allow_register: pulumi.Input[bool], + default_redirect_uri: pulumi.Input[str], + external_login_check_lifetime: pulumi.Input[str], + force_mfa: pulumi.Input[bool], + force_mfa_local_only: pulumi.Input[bool], + hide_password_reset: pulumi.Input[bool], + ignore_unknown_usernames: pulumi.Input[bool], + mfa_init_skip_lifetime: pulumi.Input[str], + multi_factor_check_lifetime: pulumi.Input[str], + password_check_lifetime: pulumi.Input[str], + passwordless_type: pulumi.Input[str], + second_factor_check_lifetime: pulumi.Input[str], + user_login: pulumi.Input[bool], + allow_domain_discovery: Optional[pulumi.Input[bool]] = None, + disable_login_with_email: Optional[pulumi.Input[bool]] = None, + disable_login_with_phone: Optional[pulumi.Input[bool]] = None, + idps: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + multi_factors: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + second_factors: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'allowExternalIdp' in kwargs: + allow_external_idp = kwargs['allowExternalIdp'] + if 'allowRegister' in kwargs: + allow_register = kwargs['allowRegister'] + if 'defaultRedirectUri' in kwargs: + default_redirect_uri = kwargs['defaultRedirectUri'] + if 'externalLoginCheckLifetime' in kwargs: + external_login_check_lifetime = kwargs['externalLoginCheckLifetime'] + if 'forceMfa' in kwargs: + force_mfa = kwargs['forceMfa'] + if 'forceMfaLocalOnly' in kwargs: + force_mfa_local_only = kwargs['forceMfaLocalOnly'] + if 'hidePasswordReset' in kwargs: + hide_password_reset = kwargs['hidePasswordReset'] + if 'ignoreUnknownUsernames' in kwargs: + ignore_unknown_usernames = kwargs['ignoreUnknownUsernames'] + if 'mfaInitSkipLifetime' in kwargs: + mfa_init_skip_lifetime = kwargs['mfaInitSkipLifetime'] + if 'multiFactorCheckLifetime' in kwargs: + multi_factor_check_lifetime = kwargs['multiFactorCheckLifetime'] + if 'passwordCheckLifetime' in kwargs: + password_check_lifetime = kwargs['passwordCheckLifetime'] + if 'passwordlessType' in kwargs: + passwordless_type = kwargs['passwordlessType'] + if 'secondFactorCheckLifetime' in kwargs: + second_factor_check_lifetime = kwargs['secondFactorCheckLifetime'] + if 'userLogin' in kwargs: + user_login = kwargs['userLogin'] + if 'allowDomainDiscovery' in kwargs: + allow_domain_discovery = kwargs['allowDomainDiscovery'] + if 'disableLoginWithEmail' in kwargs: + disable_login_with_email = kwargs['disableLoginWithEmail'] + if 'disableLoginWithPhone' in kwargs: + disable_login_with_phone = kwargs['disableLoginWithPhone'] + if 'multiFactors' in kwargs: + multi_factors = kwargs['multiFactors'] + if 'secondFactors' in kwargs: + second_factors = kwargs['secondFactors'] + + _setter("allow_external_idp", allow_external_idp) + _setter("allow_register", allow_register) + _setter("default_redirect_uri", default_redirect_uri) + _setter("external_login_check_lifetime", external_login_check_lifetime) + _setter("force_mfa", force_mfa) + _setter("force_mfa_local_only", force_mfa_local_only) + _setter("hide_password_reset", hide_password_reset) + _setter("ignore_unknown_usernames", ignore_unknown_usernames) + _setter("mfa_init_skip_lifetime", mfa_init_skip_lifetime) + _setter("multi_factor_check_lifetime", multi_factor_check_lifetime) + _setter("password_check_lifetime", password_check_lifetime) + _setter("passwordless_type", passwordless_type) + _setter("second_factor_check_lifetime", second_factor_check_lifetime) + _setter("user_login", user_login) + if allow_domain_discovery is not None: + _setter("allow_domain_discovery", allow_domain_discovery) + if disable_login_with_email is not None: + _setter("disable_login_with_email", disable_login_with_email) + if disable_login_with_phone is not None: + _setter("disable_login_with_phone", disable_login_with_phone) + if idps is not None: + _setter("idps", idps) + if multi_factors is not None: + _setter("multi_factors", multi_factors) + if second_factors is not None: + _setter("second_factors", second_factors) + + @property + @pulumi.getter(name="allowExternalIdp") + def allow_external_idp(self) -> pulumi.Input[bool]: + """ + defines if a user is allowed to add a defined identity provider. E.g. Google auth + """ + return pulumi.get(self, "allow_external_idp") + + @allow_external_idp.setter + def allow_external_idp(self, value: pulumi.Input[bool]): + pulumi.set(self, "allow_external_idp", value) + + @property + @pulumi.getter(name="allowRegister") + def allow_register(self) -> pulumi.Input[bool]: + """ + defines if a person is allowed to register a user on this organisation + """ + return pulumi.get(self, "allow_register") + + @allow_register.setter + def allow_register(self, value: pulumi.Input[bool]): + pulumi.set(self, "allow_register", value) + + @property + @pulumi.getter(name="defaultRedirectUri") + def default_redirect_uri(self) -> pulumi.Input[str]: + """ + defines where the user will be redirected to if the login is started without app context (e.g. from mail) + """ + return pulumi.get(self, "default_redirect_uri") + + @default_redirect_uri.setter + def default_redirect_uri(self, value: pulumi.Input[str]): + pulumi.set(self, "default_redirect_uri", value) + + @property + @pulumi.getter(name="externalLoginCheckLifetime") + def external_login_check_lifetime(self) -> pulumi.Input[str]: + return pulumi.get(self, "external_login_check_lifetime") + + @external_login_check_lifetime.setter + def external_login_check_lifetime(self, value: pulumi.Input[str]): + pulumi.set(self, "external_login_check_lifetime", value) + + @property + @pulumi.getter(name="forceMfa") + def force_mfa(self) -> pulumi.Input[bool]: + """ + defines if a user MUST use a multi factor to log in + """ + return pulumi.get(self, "force_mfa") + + @force_mfa.setter + def force_mfa(self, value: pulumi.Input[bool]): + pulumi.set(self, "force_mfa", value) + + @property + @pulumi.getter(name="forceMfaLocalOnly") + def force_mfa_local_only(self) -> pulumi.Input[bool]: + """ + if activated, ZITADEL only enforces MFA on local authentications. On authentications through MFA, ZITADEL won't prompt for MFA. + """ + return pulumi.get(self, "force_mfa_local_only") + + @force_mfa_local_only.setter + def force_mfa_local_only(self, value: pulumi.Input[bool]): + pulumi.set(self, "force_mfa_local_only", value) + + @property + @pulumi.getter(name="hidePasswordReset") + def hide_password_reset(self) -> pulumi.Input[bool]: + """ + defines if password reset link should be shown in the login screen + """ + return pulumi.get(self, "hide_password_reset") + + @hide_password_reset.setter + def hide_password_reset(self, value: pulumi.Input[bool]): + pulumi.set(self, "hide_password_reset", value) + + @property + @pulumi.getter(name="ignoreUnknownUsernames") + def ignore_unknown_usernames(self) -> pulumi.Input[bool]: + """ + defines if unknown username on login screen directly return an error or always display the password screen + """ + return pulumi.get(self, "ignore_unknown_usernames") + + @ignore_unknown_usernames.setter + def ignore_unknown_usernames(self, value: pulumi.Input[bool]): + pulumi.set(self, "ignore_unknown_usernames", value) + + @property + @pulumi.getter(name="mfaInitSkipLifetime") + def mfa_init_skip_lifetime(self) -> pulumi.Input[str]: + return pulumi.get(self, "mfa_init_skip_lifetime") + + @mfa_init_skip_lifetime.setter + def mfa_init_skip_lifetime(self, value: pulumi.Input[str]): + pulumi.set(self, "mfa_init_skip_lifetime", value) + + @property + @pulumi.getter(name="multiFactorCheckLifetime") + def multi_factor_check_lifetime(self) -> pulumi.Input[str]: + return pulumi.get(self, "multi_factor_check_lifetime") + + @multi_factor_check_lifetime.setter + def multi_factor_check_lifetime(self, value: pulumi.Input[str]): + pulumi.set(self, "multi_factor_check_lifetime", value) + + @property + @pulumi.getter(name="passwordCheckLifetime") + def password_check_lifetime(self) -> pulumi.Input[str]: + return pulumi.get(self, "password_check_lifetime") + + @password_check_lifetime.setter + def password_check_lifetime(self, value: pulumi.Input[str]): + pulumi.set(self, "password_check_lifetime", value) + + @property + @pulumi.getter(name="passwordlessType") + def passwordless_type(self) -> pulumi.Input[str]: + """ + defines if passwordless is allowed for users + """ + return pulumi.get(self, "passwordless_type") + + @passwordless_type.setter + def passwordless_type(self, value: pulumi.Input[str]): + pulumi.set(self, "passwordless_type", value) + + @property + @pulumi.getter(name="secondFactorCheckLifetime") + def second_factor_check_lifetime(self) -> pulumi.Input[str]: + return pulumi.get(self, "second_factor_check_lifetime") + + @second_factor_check_lifetime.setter + def second_factor_check_lifetime(self, value: pulumi.Input[str]): + pulumi.set(self, "second_factor_check_lifetime", value) + + @property + @pulumi.getter(name="userLogin") + def user_login(self) -> pulumi.Input[bool]: + """ + defines if a user is allowed to login with his username and password + """ + return pulumi.get(self, "user_login") + + @user_login.setter + def user_login(self, value: pulumi.Input[bool]): + pulumi.set(self, "user_login", value) + + @property + @pulumi.getter(name="allowDomainDiscovery") + def allow_domain_discovery(self) -> Optional[pulumi.Input[bool]]: + """ + if set to true, the suffix (@domain.com) of an unknown username input on the login screen will be matched against the org domains and will redirect to the registration of that organisation on success. + """ + return pulumi.get(self, "allow_domain_discovery") + + @allow_domain_discovery.setter + def allow_domain_discovery(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "allow_domain_discovery", value) + + @property + @pulumi.getter(name="disableLoginWithEmail") + def disable_login_with_email(self) -> Optional[pulumi.Input[bool]]: + """ + defines if user can additionally (to the loginname) be identified by their verified email address + """ + return pulumi.get(self, "disable_login_with_email") + + @disable_login_with_email.setter + def disable_login_with_email(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "disable_login_with_email", value) + + @property + @pulumi.getter(name="disableLoginWithPhone") + def disable_login_with_phone(self) -> Optional[pulumi.Input[bool]]: + """ + defines if user can additionally (to the loginname) be identified by their verified phone number + """ + return pulumi.get(self, "disable_login_with_phone") + + @disable_login_with_phone.setter + def disable_login_with_phone(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "disable_login_with_phone", value) + + @property + @pulumi.getter + def idps(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + allowed idps to login or register + """ + return pulumi.get(self, "idps") + + @idps.setter + def idps(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "idps", value) + + @property + @pulumi.getter(name="multiFactors") + def multi_factors(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + allowed multi factors + """ + return pulumi.get(self, "multi_factors") + + @multi_factors.setter + def multi_factors(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "multi_factors", value) + + @property + @pulumi.getter(name="secondFactors") + def second_factors(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + allowed second factors + """ + return pulumi.get(self, "second_factors") + + @second_factors.setter + def second_factors(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "second_factors", value) + + +@pulumi.input_type +class _DefaultLoginPolicyState: + def __init__(__self__, *, + allow_domain_discovery: Optional[pulumi.Input[bool]] = None, + allow_external_idp: Optional[pulumi.Input[bool]] = None, + allow_register: Optional[pulumi.Input[bool]] = None, + default_redirect_uri: Optional[pulumi.Input[str]] = None, + disable_login_with_email: Optional[pulumi.Input[bool]] = None, + disable_login_with_phone: Optional[pulumi.Input[bool]] = None, + external_login_check_lifetime: Optional[pulumi.Input[str]] = None, + force_mfa: Optional[pulumi.Input[bool]] = None, + force_mfa_local_only: Optional[pulumi.Input[bool]] = None, + hide_password_reset: Optional[pulumi.Input[bool]] = None, + idps: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + ignore_unknown_usernames: Optional[pulumi.Input[bool]] = None, + mfa_init_skip_lifetime: Optional[pulumi.Input[str]] = None, + multi_factor_check_lifetime: Optional[pulumi.Input[str]] = None, + multi_factors: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + password_check_lifetime: Optional[pulumi.Input[str]] = None, + passwordless_type: Optional[pulumi.Input[str]] = None, + second_factor_check_lifetime: Optional[pulumi.Input[str]] = None, + second_factors: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + user_login: Optional[pulumi.Input[bool]] = None): + """ + Input properties used for looking up and filtering DefaultLoginPolicy resources. + :param pulumi.Input[bool] allow_domain_discovery: if set to true, the suffix (@domain.com) of an unknown username input on the login screen will be matched against the org domains and will redirect to the registration of that organisation on success. + :param pulumi.Input[bool] allow_external_idp: defines if a user is allowed to add a defined identity provider. E.g. Google auth + :param pulumi.Input[bool] allow_register: defines if a person is allowed to register a user on this organisation + :param pulumi.Input[str] default_redirect_uri: defines where the user will be redirected to if the login is started without app context (e.g. from mail) + :param pulumi.Input[bool] disable_login_with_email: defines if user can additionally (to the loginname) be identified by their verified email address + :param pulumi.Input[bool] disable_login_with_phone: defines if user can additionally (to the loginname) be identified by their verified phone number + :param pulumi.Input[bool] force_mfa: defines if a user MUST use a multi factor to log in + :param pulumi.Input[bool] force_mfa_local_only: if activated, ZITADEL only enforces MFA on local authentications. On authentications through MFA, ZITADEL won't prompt for MFA. + :param pulumi.Input[bool] hide_password_reset: defines if password reset link should be shown in the login screen + :param pulumi.Input[Sequence[pulumi.Input[str]]] idps: allowed idps to login or register + :param pulumi.Input[bool] ignore_unknown_usernames: defines if unknown username on login screen directly return an error or always display the password screen + :param pulumi.Input[Sequence[pulumi.Input[str]]] multi_factors: allowed multi factors + :param pulumi.Input[str] passwordless_type: defines if passwordless is allowed for users + :param pulumi.Input[Sequence[pulumi.Input[str]]] second_factors: allowed second factors + :param pulumi.Input[bool] user_login: defines if a user is allowed to login with his username and password + """ + _DefaultLoginPolicyState._configure( + lambda key, value: pulumi.set(__self__, key, value), + allow_domain_discovery=allow_domain_discovery, + allow_external_idp=allow_external_idp, + allow_register=allow_register, + default_redirect_uri=default_redirect_uri, + disable_login_with_email=disable_login_with_email, + disable_login_with_phone=disable_login_with_phone, + external_login_check_lifetime=external_login_check_lifetime, + force_mfa=force_mfa, + force_mfa_local_only=force_mfa_local_only, + hide_password_reset=hide_password_reset, + idps=idps, + ignore_unknown_usernames=ignore_unknown_usernames, + mfa_init_skip_lifetime=mfa_init_skip_lifetime, + multi_factor_check_lifetime=multi_factor_check_lifetime, + multi_factors=multi_factors, + password_check_lifetime=password_check_lifetime, + passwordless_type=passwordless_type, + second_factor_check_lifetime=second_factor_check_lifetime, + second_factors=second_factors, + user_login=user_login, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + allow_domain_discovery: Optional[pulumi.Input[bool]] = None, + allow_external_idp: Optional[pulumi.Input[bool]] = None, + allow_register: Optional[pulumi.Input[bool]] = None, + default_redirect_uri: Optional[pulumi.Input[str]] = None, + disable_login_with_email: Optional[pulumi.Input[bool]] = None, + disable_login_with_phone: Optional[pulumi.Input[bool]] = None, + external_login_check_lifetime: Optional[pulumi.Input[str]] = None, + force_mfa: Optional[pulumi.Input[bool]] = None, + force_mfa_local_only: Optional[pulumi.Input[bool]] = None, + hide_password_reset: Optional[pulumi.Input[bool]] = None, + idps: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + ignore_unknown_usernames: Optional[pulumi.Input[bool]] = None, + mfa_init_skip_lifetime: Optional[pulumi.Input[str]] = None, + multi_factor_check_lifetime: Optional[pulumi.Input[str]] = None, + multi_factors: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + password_check_lifetime: Optional[pulumi.Input[str]] = None, + passwordless_type: Optional[pulumi.Input[str]] = None, + second_factor_check_lifetime: Optional[pulumi.Input[str]] = None, + second_factors: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + user_login: Optional[pulumi.Input[bool]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'allowDomainDiscovery' in kwargs: + allow_domain_discovery = kwargs['allowDomainDiscovery'] + if 'allowExternalIdp' in kwargs: + allow_external_idp = kwargs['allowExternalIdp'] + if 'allowRegister' in kwargs: + allow_register = kwargs['allowRegister'] + if 'defaultRedirectUri' in kwargs: + default_redirect_uri = kwargs['defaultRedirectUri'] + if 'disableLoginWithEmail' in kwargs: + disable_login_with_email = kwargs['disableLoginWithEmail'] + if 'disableLoginWithPhone' in kwargs: + disable_login_with_phone = kwargs['disableLoginWithPhone'] + if 'externalLoginCheckLifetime' in kwargs: + external_login_check_lifetime = kwargs['externalLoginCheckLifetime'] + if 'forceMfa' in kwargs: + force_mfa = kwargs['forceMfa'] + if 'forceMfaLocalOnly' in kwargs: + force_mfa_local_only = kwargs['forceMfaLocalOnly'] + if 'hidePasswordReset' in kwargs: + hide_password_reset = kwargs['hidePasswordReset'] + if 'ignoreUnknownUsernames' in kwargs: + ignore_unknown_usernames = kwargs['ignoreUnknownUsernames'] + if 'mfaInitSkipLifetime' in kwargs: + mfa_init_skip_lifetime = kwargs['mfaInitSkipLifetime'] + if 'multiFactorCheckLifetime' in kwargs: + multi_factor_check_lifetime = kwargs['multiFactorCheckLifetime'] + if 'multiFactors' in kwargs: + multi_factors = kwargs['multiFactors'] + if 'passwordCheckLifetime' in kwargs: + password_check_lifetime = kwargs['passwordCheckLifetime'] + if 'passwordlessType' in kwargs: + passwordless_type = kwargs['passwordlessType'] + if 'secondFactorCheckLifetime' in kwargs: + second_factor_check_lifetime = kwargs['secondFactorCheckLifetime'] + if 'secondFactors' in kwargs: + second_factors = kwargs['secondFactors'] + if 'userLogin' in kwargs: + user_login = kwargs['userLogin'] + + if allow_domain_discovery is not None: + _setter("allow_domain_discovery", allow_domain_discovery) + if allow_external_idp is not None: + _setter("allow_external_idp", allow_external_idp) + if allow_register is not None: + _setter("allow_register", allow_register) + if default_redirect_uri is not None: + _setter("default_redirect_uri", default_redirect_uri) + if disable_login_with_email is not None: + _setter("disable_login_with_email", disable_login_with_email) + if disable_login_with_phone is not None: + _setter("disable_login_with_phone", disable_login_with_phone) + if external_login_check_lifetime is not None: + _setter("external_login_check_lifetime", external_login_check_lifetime) + if force_mfa is not None: + _setter("force_mfa", force_mfa) + if force_mfa_local_only is not None: + _setter("force_mfa_local_only", force_mfa_local_only) + if hide_password_reset is not None: + _setter("hide_password_reset", hide_password_reset) + if idps is not None: + _setter("idps", idps) + if ignore_unknown_usernames is not None: + _setter("ignore_unknown_usernames", ignore_unknown_usernames) + if mfa_init_skip_lifetime is not None: + _setter("mfa_init_skip_lifetime", mfa_init_skip_lifetime) + if multi_factor_check_lifetime is not None: + _setter("multi_factor_check_lifetime", multi_factor_check_lifetime) + if multi_factors is not None: + _setter("multi_factors", multi_factors) + if password_check_lifetime is not None: + _setter("password_check_lifetime", password_check_lifetime) + if passwordless_type is not None: + _setter("passwordless_type", passwordless_type) + if second_factor_check_lifetime is not None: + _setter("second_factor_check_lifetime", second_factor_check_lifetime) + if second_factors is not None: + _setter("second_factors", second_factors) + if user_login is not None: + _setter("user_login", user_login) + + @property + @pulumi.getter(name="allowDomainDiscovery") + def allow_domain_discovery(self) -> Optional[pulumi.Input[bool]]: + """ + if set to true, the suffix (@domain.com) of an unknown username input on the login screen will be matched against the org domains and will redirect to the registration of that organisation on success. + """ + return pulumi.get(self, "allow_domain_discovery") + + @allow_domain_discovery.setter + def allow_domain_discovery(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "allow_domain_discovery", value) + + @property + @pulumi.getter(name="allowExternalIdp") + def allow_external_idp(self) -> Optional[pulumi.Input[bool]]: + """ + defines if a user is allowed to add a defined identity provider. E.g. Google auth + """ + return pulumi.get(self, "allow_external_idp") + + @allow_external_idp.setter + def allow_external_idp(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "allow_external_idp", value) + + @property + @pulumi.getter(name="allowRegister") + def allow_register(self) -> Optional[pulumi.Input[bool]]: + """ + defines if a person is allowed to register a user on this organisation + """ + return pulumi.get(self, "allow_register") + + @allow_register.setter + def allow_register(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "allow_register", value) + + @property + @pulumi.getter(name="defaultRedirectUri") + def default_redirect_uri(self) -> Optional[pulumi.Input[str]]: + """ + defines where the user will be redirected to if the login is started without app context (e.g. from mail) + """ + return pulumi.get(self, "default_redirect_uri") + + @default_redirect_uri.setter + def default_redirect_uri(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "default_redirect_uri", value) + + @property + @pulumi.getter(name="disableLoginWithEmail") + def disable_login_with_email(self) -> Optional[pulumi.Input[bool]]: + """ + defines if user can additionally (to the loginname) be identified by their verified email address + """ + return pulumi.get(self, "disable_login_with_email") + + @disable_login_with_email.setter + def disable_login_with_email(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "disable_login_with_email", value) + + @property + @pulumi.getter(name="disableLoginWithPhone") + def disable_login_with_phone(self) -> Optional[pulumi.Input[bool]]: + """ + defines if user can additionally (to the loginname) be identified by their verified phone number + """ + return pulumi.get(self, "disable_login_with_phone") + + @disable_login_with_phone.setter + def disable_login_with_phone(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "disable_login_with_phone", value) + + @property + @pulumi.getter(name="externalLoginCheckLifetime") + def external_login_check_lifetime(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "external_login_check_lifetime") + + @external_login_check_lifetime.setter + def external_login_check_lifetime(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "external_login_check_lifetime", value) + + @property + @pulumi.getter(name="forceMfa") + def force_mfa(self) -> Optional[pulumi.Input[bool]]: + """ + defines if a user MUST use a multi factor to log in + """ + return pulumi.get(self, "force_mfa") + + @force_mfa.setter + def force_mfa(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "force_mfa", value) + + @property + @pulumi.getter(name="forceMfaLocalOnly") + def force_mfa_local_only(self) -> Optional[pulumi.Input[bool]]: + """ + if activated, ZITADEL only enforces MFA on local authentications. On authentications through MFA, ZITADEL won't prompt for MFA. + """ + return pulumi.get(self, "force_mfa_local_only") + + @force_mfa_local_only.setter + def force_mfa_local_only(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "force_mfa_local_only", value) + + @property + @pulumi.getter(name="hidePasswordReset") + def hide_password_reset(self) -> Optional[pulumi.Input[bool]]: + """ + defines if password reset link should be shown in the login screen + """ + return pulumi.get(self, "hide_password_reset") + + @hide_password_reset.setter + def hide_password_reset(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "hide_password_reset", value) + + @property + @pulumi.getter + def idps(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + allowed idps to login or register + """ + return pulumi.get(self, "idps") + + @idps.setter + def idps(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "idps", value) + + @property + @pulumi.getter(name="ignoreUnknownUsernames") + def ignore_unknown_usernames(self) -> Optional[pulumi.Input[bool]]: + """ + defines if unknown username on login screen directly return an error or always display the password screen + """ + return pulumi.get(self, "ignore_unknown_usernames") + + @ignore_unknown_usernames.setter + def ignore_unknown_usernames(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "ignore_unknown_usernames", value) + + @property + @pulumi.getter(name="mfaInitSkipLifetime") + def mfa_init_skip_lifetime(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "mfa_init_skip_lifetime") + + @mfa_init_skip_lifetime.setter + def mfa_init_skip_lifetime(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "mfa_init_skip_lifetime", value) + + @property + @pulumi.getter(name="multiFactorCheckLifetime") + def multi_factor_check_lifetime(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "multi_factor_check_lifetime") + + @multi_factor_check_lifetime.setter + def multi_factor_check_lifetime(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "multi_factor_check_lifetime", value) + + @property + @pulumi.getter(name="multiFactors") + def multi_factors(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + allowed multi factors + """ + return pulumi.get(self, "multi_factors") + + @multi_factors.setter + def multi_factors(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "multi_factors", value) + + @property + @pulumi.getter(name="passwordCheckLifetime") + def password_check_lifetime(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "password_check_lifetime") + + @password_check_lifetime.setter + def password_check_lifetime(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "password_check_lifetime", value) + + @property + @pulumi.getter(name="passwordlessType") + def passwordless_type(self) -> Optional[pulumi.Input[str]]: + """ + defines if passwordless is allowed for users + """ + return pulumi.get(self, "passwordless_type") + + @passwordless_type.setter + def passwordless_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "passwordless_type", value) + + @property + @pulumi.getter(name="secondFactorCheckLifetime") + def second_factor_check_lifetime(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "second_factor_check_lifetime") + + @second_factor_check_lifetime.setter + def second_factor_check_lifetime(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "second_factor_check_lifetime", value) + + @property + @pulumi.getter(name="secondFactors") + def second_factors(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + allowed second factors + """ + return pulumi.get(self, "second_factors") + + @second_factors.setter + def second_factors(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "second_factors", value) + + @property + @pulumi.getter(name="userLogin") + def user_login(self) -> Optional[pulumi.Input[bool]]: + """ + defines if a user is allowed to login with his username and password + """ + return pulumi.get(self, "user_login") + + @user_login.setter + def user_login(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "user_login", value) + + +class DefaultLoginPolicy(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + allow_domain_discovery: Optional[pulumi.Input[bool]] = None, + allow_external_idp: Optional[pulumi.Input[bool]] = None, + allow_register: Optional[pulumi.Input[bool]] = None, + default_redirect_uri: Optional[pulumi.Input[str]] = None, + disable_login_with_email: Optional[pulumi.Input[bool]] = None, + disable_login_with_phone: Optional[pulumi.Input[bool]] = None, + external_login_check_lifetime: Optional[pulumi.Input[str]] = None, + force_mfa: Optional[pulumi.Input[bool]] = None, + force_mfa_local_only: Optional[pulumi.Input[bool]] = None, + hide_password_reset: Optional[pulumi.Input[bool]] = None, + idps: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + ignore_unknown_usernames: Optional[pulumi.Input[bool]] = None, + mfa_init_skip_lifetime: Optional[pulumi.Input[str]] = None, + multi_factor_check_lifetime: Optional[pulumi.Input[str]] = None, + multi_factors: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + password_check_lifetime: Optional[pulumi.Input[str]] = None, + passwordless_type: Optional[pulumi.Input[str]] = None, + second_factor_check_lifetime: Optional[pulumi.Input[str]] = None, + second_factors: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + user_login: Optional[pulumi.Input[bool]] = None, + __props__=None): + """ + Resource representing the default login policy. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.DefaultLoginPolicy("default", + user_login=True, + allow_register=True, + allow_external_idp=True, + force_mfa=False, + force_mfa_local_only=False, + passwordless_type="PASSWORDLESS_TYPE_ALLOWED", + hide_password_reset=False, + password_check_lifetime="240h0m0s", + external_login_check_lifetime="240h0m0s", + multi_factor_check_lifetime="24h0m0s", + mfa_init_skip_lifetime="720h0m0s", + second_factor_check_lifetime="24h0m0s", + ignore_unknown_usernames=True, + default_redirect_uri="localhost:8080", + second_factors=[ + "SECOND_FACTOR_TYPE_OTP", + "SECOND_FACTOR_TYPE_U2F", + ], + multi_factors=["MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION"], + idps=[ + data["zitadel_idp_google"]["default"]["id"], + data["zitadel_idp_azure_ad"]["default"]["id"], + ], + allow_domain_discovery=True, + disable_login_with_email=True, + disable_login_with_phone=True) + ``` + + ## Import + + bash The resource can be imported using the ID format `<>`, e.g. + + ```sh + $ pulumi import zitadel:index/defaultLoginPolicy:DefaultLoginPolicy imported '' + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[bool] allow_domain_discovery: if set to true, the suffix (@domain.com) of an unknown username input on the login screen will be matched against the org domains and will redirect to the registration of that organisation on success. + :param pulumi.Input[bool] allow_external_idp: defines if a user is allowed to add a defined identity provider. E.g. Google auth + :param pulumi.Input[bool] allow_register: defines if a person is allowed to register a user on this organisation + :param pulumi.Input[str] default_redirect_uri: defines where the user will be redirected to if the login is started without app context (e.g. from mail) + :param pulumi.Input[bool] disable_login_with_email: defines if user can additionally (to the loginname) be identified by their verified email address + :param pulumi.Input[bool] disable_login_with_phone: defines if user can additionally (to the loginname) be identified by their verified phone number + :param pulumi.Input[bool] force_mfa: defines if a user MUST use a multi factor to log in + :param pulumi.Input[bool] force_mfa_local_only: if activated, ZITADEL only enforces MFA on local authentications. On authentications through MFA, ZITADEL won't prompt for MFA. + :param pulumi.Input[bool] hide_password_reset: defines if password reset link should be shown in the login screen + :param pulumi.Input[Sequence[pulumi.Input[str]]] idps: allowed idps to login or register + :param pulumi.Input[bool] ignore_unknown_usernames: defines if unknown username on login screen directly return an error or always display the password screen + :param pulumi.Input[Sequence[pulumi.Input[str]]] multi_factors: allowed multi factors + :param pulumi.Input[str] passwordless_type: defines if passwordless is allowed for users + :param pulumi.Input[Sequence[pulumi.Input[str]]] second_factors: allowed second factors + :param pulumi.Input[bool] user_login: defines if a user is allowed to login with his username and password + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: DefaultLoginPolicyArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource representing the default login policy. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.DefaultLoginPolicy("default", + user_login=True, + allow_register=True, + allow_external_idp=True, + force_mfa=False, + force_mfa_local_only=False, + passwordless_type="PASSWORDLESS_TYPE_ALLOWED", + hide_password_reset=False, + password_check_lifetime="240h0m0s", + external_login_check_lifetime="240h0m0s", + multi_factor_check_lifetime="24h0m0s", + mfa_init_skip_lifetime="720h0m0s", + second_factor_check_lifetime="24h0m0s", + ignore_unknown_usernames=True, + default_redirect_uri="localhost:8080", + second_factors=[ + "SECOND_FACTOR_TYPE_OTP", + "SECOND_FACTOR_TYPE_U2F", + ], + multi_factors=["MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION"], + idps=[ + data["zitadel_idp_google"]["default"]["id"], + data["zitadel_idp_azure_ad"]["default"]["id"], + ], + allow_domain_discovery=True, + disable_login_with_email=True, + disable_login_with_phone=True) + ``` + + ## Import + + bash The resource can be imported using the ID format `<>`, e.g. + + ```sh + $ pulumi import zitadel:index/defaultLoginPolicy:DefaultLoginPolicy imported '' + ``` + + :param str resource_name: The name of the resource. + :param DefaultLoginPolicyArgs 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(DefaultLoginPolicyArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + DefaultLoginPolicyArgs._configure(_setter, **kwargs) + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + allow_domain_discovery: Optional[pulumi.Input[bool]] = None, + allow_external_idp: Optional[pulumi.Input[bool]] = None, + allow_register: Optional[pulumi.Input[bool]] = None, + default_redirect_uri: Optional[pulumi.Input[str]] = None, + disable_login_with_email: Optional[pulumi.Input[bool]] = None, + disable_login_with_phone: Optional[pulumi.Input[bool]] = None, + external_login_check_lifetime: Optional[pulumi.Input[str]] = None, + force_mfa: Optional[pulumi.Input[bool]] = None, + force_mfa_local_only: Optional[pulumi.Input[bool]] = None, + hide_password_reset: Optional[pulumi.Input[bool]] = None, + idps: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + ignore_unknown_usernames: Optional[pulumi.Input[bool]] = None, + mfa_init_skip_lifetime: Optional[pulumi.Input[str]] = None, + multi_factor_check_lifetime: Optional[pulumi.Input[str]] = None, + multi_factors: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + password_check_lifetime: Optional[pulumi.Input[str]] = None, + passwordless_type: Optional[pulumi.Input[str]] = None, + second_factor_check_lifetime: Optional[pulumi.Input[str]] = None, + second_factors: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + user_login: Optional[pulumi.Input[bool]] = 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__ = DefaultLoginPolicyArgs.__new__(DefaultLoginPolicyArgs) + + __props__.__dict__["allow_domain_discovery"] = allow_domain_discovery + if allow_external_idp is None and not opts.urn: + raise TypeError("Missing required property 'allow_external_idp'") + __props__.__dict__["allow_external_idp"] = allow_external_idp + if allow_register is None and not opts.urn: + raise TypeError("Missing required property 'allow_register'") + __props__.__dict__["allow_register"] = allow_register + if default_redirect_uri is None and not opts.urn: + raise TypeError("Missing required property 'default_redirect_uri'") + __props__.__dict__["default_redirect_uri"] = default_redirect_uri + __props__.__dict__["disable_login_with_email"] = disable_login_with_email + __props__.__dict__["disable_login_with_phone"] = disable_login_with_phone + if external_login_check_lifetime is None and not opts.urn: + raise TypeError("Missing required property 'external_login_check_lifetime'") + __props__.__dict__["external_login_check_lifetime"] = external_login_check_lifetime + if force_mfa is None and not opts.urn: + raise TypeError("Missing required property 'force_mfa'") + __props__.__dict__["force_mfa"] = force_mfa + if force_mfa_local_only is None and not opts.urn: + raise TypeError("Missing required property 'force_mfa_local_only'") + __props__.__dict__["force_mfa_local_only"] = force_mfa_local_only + if hide_password_reset is None and not opts.urn: + raise TypeError("Missing required property 'hide_password_reset'") + __props__.__dict__["hide_password_reset"] = hide_password_reset + __props__.__dict__["idps"] = idps + if ignore_unknown_usernames is None and not opts.urn: + raise TypeError("Missing required property 'ignore_unknown_usernames'") + __props__.__dict__["ignore_unknown_usernames"] = ignore_unknown_usernames + if mfa_init_skip_lifetime is None and not opts.urn: + raise TypeError("Missing required property 'mfa_init_skip_lifetime'") + __props__.__dict__["mfa_init_skip_lifetime"] = mfa_init_skip_lifetime + if multi_factor_check_lifetime is None and not opts.urn: + raise TypeError("Missing required property 'multi_factor_check_lifetime'") + __props__.__dict__["multi_factor_check_lifetime"] = multi_factor_check_lifetime + __props__.__dict__["multi_factors"] = multi_factors + if password_check_lifetime is None and not opts.urn: + raise TypeError("Missing required property 'password_check_lifetime'") + __props__.__dict__["password_check_lifetime"] = password_check_lifetime + if passwordless_type is None and not opts.urn: + raise TypeError("Missing required property 'passwordless_type'") + __props__.__dict__["passwordless_type"] = passwordless_type + if second_factor_check_lifetime is None and not opts.urn: + raise TypeError("Missing required property 'second_factor_check_lifetime'") + __props__.__dict__["second_factor_check_lifetime"] = second_factor_check_lifetime + __props__.__dict__["second_factors"] = second_factors + if user_login is None and not opts.urn: + raise TypeError("Missing required property 'user_login'") + __props__.__dict__["user_login"] = user_login + super(DefaultLoginPolicy, __self__).__init__( + 'zitadel:index/defaultLoginPolicy:DefaultLoginPolicy', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + allow_domain_discovery: Optional[pulumi.Input[bool]] = None, + allow_external_idp: Optional[pulumi.Input[bool]] = None, + allow_register: Optional[pulumi.Input[bool]] = None, + default_redirect_uri: Optional[pulumi.Input[str]] = None, + disable_login_with_email: Optional[pulumi.Input[bool]] = None, + disable_login_with_phone: Optional[pulumi.Input[bool]] = None, + external_login_check_lifetime: Optional[pulumi.Input[str]] = None, + force_mfa: Optional[pulumi.Input[bool]] = None, + force_mfa_local_only: Optional[pulumi.Input[bool]] = None, + hide_password_reset: Optional[pulumi.Input[bool]] = None, + idps: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + ignore_unknown_usernames: Optional[pulumi.Input[bool]] = None, + mfa_init_skip_lifetime: Optional[pulumi.Input[str]] = None, + multi_factor_check_lifetime: Optional[pulumi.Input[str]] = None, + multi_factors: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + password_check_lifetime: Optional[pulumi.Input[str]] = None, + passwordless_type: Optional[pulumi.Input[str]] = None, + second_factor_check_lifetime: Optional[pulumi.Input[str]] = None, + second_factors: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + user_login: Optional[pulumi.Input[bool]] = None) -> 'DefaultLoginPolicy': + """ + Get an existing DefaultLoginPolicy 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] allow_domain_discovery: if set to true, the suffix (@domain.com) of an unknown username input on the login screen will be matched against the org domains and will redirect to the registration of that organisation on success. + :param pulumi.Input[bool] allow_external_idp: defines if a user is allowed to add a defined identity provider. E.g. Google auth + :param pulumi.Input[bool] allow_register: defines if a person is allowed to register a user on this organisation + :param pulumi.Input[str] default_redirect_uri: defines where the user will be redirected to if the login is started without app context (e.g. from mail) + :param pulumi.Input[bool] disable_login_with_email: defines if user can additionally (to the loginname) be identified by their verified email address + :param pulumi.Input[bool] disable_login_with_phone: defines if user can additionally (to the loginname) be identified by their verified phone number + :param pulumi.Input[bool] force_mfa: defines if a user MUST use a multi factor to log in + :param pulumi.Input[bool] force_mfa_local_only: if activated, ZITADEL only enforces MFA on local authentications. On authentications through MFA, ZITADEL won't prompt for MFA. + :param pulumi.Input[bool] hide_password_reset: defines if password reset link should be shown in the login screen + :param pulumi.Input[Sequence[pulumi.Input[str]]] idps: allowed idps to login or register + :param pulumi.Input[bool] ignore_unknown_usernames: defines if unknown username on login screen directly return an error or always display the password screen + :param pulumi.Input[Sequence[pulumi.Input[str]]] multi_factors: allowed multi factors + :param pulumi.Input[str] passwordless_type: defines if passwordless is allowed for users + :param pulumi.Input[Sequence[pulumi.Input[str]]] second_factors: allowed second factors + :param pulumi.Input[bool] user_login: defines if a user is allowed to login with his username and password + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _DefaultLoginPolicyState.__new__(_DefaultLoginPolicyState) + + __props__.__dict__["allow_domain_discovery"] = allow_domain_discovery + __props__.__dict__["allow_external_idp"] = allow_external_idp + __props__.__dict__["allow_register"] = allow_register + __props__.__dict__["default_redirect_uri"] = default_redirect_uri + __props__.__dict__["disable_login_with_email"] = disable_login_with_email + __props__.__dict__["disable_login_with_phone"] = disable_login_with_phone + __props__.__dict__["external_login_check_lifetime"] = external_login_check_lifetime + __props__.__dict__["force_mfa"] = force_mfa + __props__.__dict__["force_mfa_local_only"] = force_mfa_local_only + __props__.__dict__["hide_password_reset"] = hide_password_reset + __props__.__dict__["idps"] = idps + __props__.__dict__["ignore_unknown_usernames"] = ignore_unknown_usernames + __props__.__dict__["mfa_init_skip_lifetime"] = mfa_init_skip_lifetime + __props__.__dict__["multi_factor_check_lifetime"] = multi_factor_check_lifetime + __props__.__dict__["multi_factors"] = multi_factors + __props__.__dict__["password_check_lifetime"] = password_check_lifetime + __props__.__dict__["passwordless_type"] = passwordless_type + __props__.__dict__["second_factor_check_lifetime"] = second_factor_check_lifetime + __props__.__dict__["second_factors"] = second_factors + __props__.__dict__["user_login"] = user_login + return DefaultLoginPolicy(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="allowDomainDiscovery") + def allow_domain_discovery(self) -> pulumi.Output[Optional[bool]]: + """ + if set to true, the suffix (@domain.com) of an unknown username input on the login screen will be matched against the org domains and will redirect to the registration of that organisation on success. + """ + return pulumi.get(self, "allow_domain_discovery") + + @property + @pulumi.getter(name="allowExternalIdp") + def allow_external_idp(self) -> pulumi.Output[bool]: + """ + defines if a user is allowed to add a defined identity provider. E.g. Google auth + """ + return pulumi.get(self, "allow_external_idp") + + @property + @pulumi.getter(name="allowRegister") + def allow_register(self) -> pulumi.Output[bool]: + """ + defines if a person is allowed to register a user on this organisation + """ + return pulumi.get(self, "allow_register") + + @property + @pulumi.getter(name="defaultRedirectUri") + def default_redirect_uri(self) -> pulumi.Output[str]: + """ + defines where the user will be redirected to if the login is started without app context (e.g. from mail) + """ + return pulumi.get(self, "default_redirect_uri") + + @property + @pulumi.getter(name="disableLoginWithEmail") + def disable_login_with_email(self) -> pulumi.Output[Optional[bool]]: + """ + defines if user can additionally (to the loginname) be identified by their verified email address + """ + return pulumi.get(self, "disable_login_with_email") + + @property + @pulumi.getter(name="disableLoginWithPhone") + def disable_login_with_phone(self) -> pulumi.Output[Optional[bool]]: + """ + defines if user can additionally (to the loginname) be identified by their verified phone number + """ + return pulumi.get(self, "disable_login_with_phone") + + @property + @pulumi.getter(name="externalLoginCheckLifetime") + def external_login_check_lifetime(self) -> pulumi.Output[str]: + return pulumi.get(self, "external_login_check_lifetime") + + @property + @pulumi.getter(name="forceMfa") + def force_mfa(self) -> pulumi.Output[bool]: + """ + defines if a user MUST use a multi factor to log in + """ + return pulumi.get(self, "force_mfa") + + @property + @pulumi.getter(name="forceMfaLocalOnly") + def force_mfa_local_only(self) -> pulumi.Output[bool]: + """ + if activated, ZITADEL only enforces MFA on local authentications. On authentications through MFA, ZITADEL won't prompt for MFA. + """ + return pulumi.get(self, "force_mfa_local_only") + + @property + @pulumi.getter(name="hidePasswordReset") + def hide_password_reset(self) -> pulumi.Output[bool]: + """ + defines if password reset link should be shown in the login screen + """ + return pulumi.get(self, "hide_password_reset") + + @property + @pulumi.getter + def idps(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + allowed idps to login or register + """ + return pulumi.get(self, "idps") + + @property + @pulumi.getter(name="ignoreUnknownUsernames") + def ignore_unknown_usernames(self) -> pulumi.Output[bool]: + """ + defines if unknown username on login screen directly return an error or always display the password screen + """ + return pulumi.get(self, "ignore_unknown_usernames") + + @property + @pulumi.getter(name="mfaInitSkipLifetime") + def mfa_init_skip_lifetime(self) -> pulumi.Output[str]: + return pulumi.get(self, "mfa_init_skip_lifetime") + + @property + @pulumi.getter(name="multiFactorCheckLifetime") + def multi_factor_check_lifetime(self) -> pulumi.Output[str]: + return pulumi.get(self, "multi_factor_check_lifetime") + + @property + @pulumi.getter(name="multiFactors") + def multi_factors(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + allowed multi factors + """ + return pulumi.get(self, "multi_factors") + + @property + @pulumi.getter(name="passwordCheckLifetime") + def password_check_lifetime(self) -> pulumi.Output[str]: + return pulumi.get(self, "password_check_lifetime") + + @property + @pulumi.getter(name="passwordlessType") + def passwordless_type(self) -> pulumi.Output[str]: + """ + defines if passwordless is allowed for users + """ + return pulumi.get(self, "passwordless_type") + + @property + @pulumi.getter(name="secondFactorCheckLifetime") + def second_factor_check_lifetime(self) -> pulumi.Output[str]: + return pulumi.get(self, "second_factor_check_lifetime") + + @property + @pulumi.getter(name="secondFactors") + def second_factors(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + allowed second factors + """ + return pulumi.get(self, "second_factors") + + @property + @pulumi.getter(name="userLogin") + def user_login(self) -> pulumi.Output[bool]: + """ + defines if a user is allowed to login with his username and password + """ + return pulumi.get(self, "user_login") + diff --git a/sdk/python/scoretechnologies_zitadel/default_notification_policy.py b/sdk/python/scoretechnologies_zitadel/default_notification_policy.py new file mode 100644 index 0000000..6375b95 --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/default_notification_policy.py @@ -0,0 +1,210 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['DefaultNotificationPolicyArgs', 'DefaultNotificationPolicy'] + +@pulumi.input_type +class DefaultNotificationPolicyArgs: + def __init__(__self__, *, + password_change: pulumi.Input[bool]): + """ + The set of arguments for constructing a DefaultNotificationPolicy resource. + :param pulumi.Input[bool] password_change: Send notification if a user changes his password + """ + DefaultNotificationPolicyArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + password_change=password_change, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + password_change: pulumi.Input[bool], + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'passwordChange' in kwargs: + password_change = kwargs['passwordChange'] + + _setter("password_change", password_change) + + @property + @pulumi.getter(name="passwordChange") + def password_change(self) -> pulumi.Input[bool]: + """ + Send notification if a user changes his password + """ + return pulumi.get(self, "password_change") + + @password_change.setter + def password_change(self, value: pulumi.Input[bool]): + pulumi.set(self, "password_change", value) + + +@pulumi.input_type +class _DefaultNotificationPolicyState: + def __init__(__self__, *, + password_change: Optional[pulumi.Input[bool]] = None): + """ + Input properties used for looking up and filtering DefaultNotificationPolicy resources. + :param pulumi.Input[bool] password_change: Send notification if a user changes his password + """ + _DefaultNotificationPolicyState._configure( + lambda key, value: pulumi.set(__self__, key, value), + password_change=password_change, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + password_change: Optional[pulumi.Input[bool]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'passwordChange' in kwargs: + password_change = kwargs['passwordChange'] + + if password_change is not None: + _setter("password_change", password_change) + + @property + @pulumi.getter(name="passwordChange") + def password_change(self) -> Optional[pulumi.Input[bool]]: + """ + Send notification if a user changes his password + """ + return pulumi.get(self, "password_change") + + @password_change.setter + def password_change(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "password_change", value) + + +class DefaultNotificationPolicy(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + password_change: Optional[pulumi.Input[bool]] = None, + __props__=None): + """ + Resource representing the default notification policy. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.DefaultNotificationPolicy("default", password_change=False) + ``` + + ## Import + + bash The resource can be imported using the ID format `<>`, e.g. + + ```sh + $ pulumi import zitadel:index/defaultNotificationPolicy:DefaultNotificationPolicy imported '' + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[bool] password_change: Send notification if a user changes his password + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: DefaultNotificationPolicyArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource representing the default notification policy. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.DefaultNotificationPolicy("default", password_change=False) + ``` + + ## Import + + bash The resource can be imported using the ID format `<>`, e.g. + + ```sh + $ pulumi import zitadel:index/defaultNotificationPolicy:DefaultNotificationPolicy imported '' + ``` + + :param str resource_name: The name of the resource. + :param DefaultNotificationPolicyArgs 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(DefaultNotificationPolicyArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + DefaultNotificationPolicyArgs._configure(_setter, **kwargs) + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + password_change: Optional[pulumi.Input[bool]] = 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__ = DefaultNotificationPolicyArgs.__new__(DefaultNotificationPolicyArgs) + + if password_change is None and not opts.urn: + raise TypeError("Missing required property 'password_change'") + __props__.__dict__["password_change"] = password_change + super(DefaultNotificationPolicy, __self__).__init__( + 'zitadel:index/defaultNotificationPolicy:DefaultNotificationPolicy', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + password_change: Optional[pulumi.Input[bool]] = None) -> 'DefaultNotificationPolicy': + """ + Get an existing DefaultNotificationPolicy 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] password_change: Send notification if a user changes his password + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _DefaultNotificationPolicyState.__new__(_DefaultNotificationPolicyState) + + __props__.__dict__["password_change"] = password_change + return DefaultNotificationPolicy(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="passwordChange") + def password_change(self) -> pulumi.Output[bool]: + """ + Send notification if a user changes his password + """ + return pulumi.get(self, "password_change") + diff --git a/sdk/python/scoretechnologies_zitadel/default_oidc_settings.py b/sdk/python/scoretechnologies_zitadel/default_oidc_settings.py new file mode 100644 index 0000000..a8e4ad0 --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/default_oidc_settings.py @@ -0,0 +1,370 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['DefaultOidcSettingsArgs', 'DefaultOidcSettings'] + +@pulumi.input_type +class DefaultOidcSettingsArgs: + def __init__(__self__, *, + access_token_lifetime: pulumi.Input[str], + id_token_lifetime: pulumi.Input[str], + refresh_token_expiration: pulumi.Input[str], + refresh_token_idle_expiration: pulumi.Input[str]): + """ + The set of arguments for constructing a DefaultOidcSettings resource. + :param pulumi.Input[str] access_token_lifetime: lifetime duration of access tokens + :param pulumi.Input[str] id_token_lifetime: lifetime duration of id tokens + :param pulumi.Input[str] refresh_token_expiration: expiration duration of refresh tokens + :param pulumi.Input[str] refresh_token_idle_expiration: expiration duration of idle refresh tokens + """ + DefaultOidcSettingsArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + access_token_lifetime=access_token_lifetime, + id_token_lifetime=id_token_lifetime, + refresh_token_expiration=refresh_token_expiration, + refresh_token_idle_expiration=refresh_token_idle_expiration, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + access_token_lifetime: pulumi.Input[str], + id_token_lifetime: pulumi.Input[str], + refresh_token_expiration: pulumi.Input[str], + refresh_token_idle_expiration: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'accessTokenLifetime' in kwargs: + access_token_lifetime = kwargs['accessTokenLifetime'] + if 'idTokenLifetime' in kwargs: + id_token_lifetime = kwargs['idTokenLifetime'] + if 'refreshTokenExpiration' in kwargs: + refresh_token_expiration = kwargs['refreshTokenExpiration'] + if 'refreshTokenIdleExpiration' in kwargs: + refresh_token_idle_expiration = kwargs['refreshTokenIdleExpiration'] + + _setter("access_token_lifetime", access_token_lifetime) + _setter("id_token_lifetime", id_token_lifetime) + _setter("refresh_token_expiration", refresh_token_expiration) + _setter("refresh_token_idle_expiration", refresh_token_idle_expiration) + + @property + @pulumi.getter(name="accessTokenLifetime") + def access_token_lifetime(self) -> pulumi.Input[str]: + """ + lifetime duration of access tokens + """ + return pulumi.get(self, "access_token_lifetime") + + @access_token_lifetime.setter + def access_token_lifetime(self, value: pulumi.Input[str]): + pulumi.set(self, "access_token_lifetime", value) + + @property + @pulumi.getter(name="idTokenLifetime") + def id_token_lifetime(self) -> pulumi.Input[str]: + """ + lifetime duration of id tokens + """ + return pulumi.get(self, "id_token_lifetime") + + @id_token_lifetime.setter + def id_token_lifetime(self, value: pulumi.Input[str]): + pulumi.set(self, "id_token_lifetime", value) + + @property + @pulumi.getter(name="refreshTokenExpiration") + def refresh_token_expiration(self) -> pulumi.Input[str]: + """ + expiration duration of refresh tokens + """ + return pulumi.get(self, "refresh_token_expiration") + + @refresh_token_expiration.setter + def refresh_token_expiration(self, value: pulumi.Input[str]): + pulumi.set(self, "refresh_token_expiration", value) + + @property + @pulumi.getter(name="refreshTokenIdleExpiration") + def refresh_token_idle_expiration(self) -> pulumi.Input[str]: + """ + expiration duration of idle refresh tokens + """ + return pulumi.get(self, "refresh_token_idle_expiration") + + @refresh_token_idle_expiration.setter + def refresh_token_idle_expiration(self, value: pulumi.Input[str]): + pulumi.set(self, "refresh_token_idle_expiration", value) + + +@pulumi.input_type +class _DefaultOidcSettingsState: + def __init__(__self__, *, + access_token_lifetime: Optional[pulumi.Input[str]] = None, + id_token_lifetime: Optional[pulumi.Input[str]] = None, + refresh_token_expiration: Optional[pulumi.Input[str]] = None, + refresh_token_idle_expiration: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering DefaultOidcSettings resources. + :param pulumi.Input[str] access_token_lifetime: lifetime duration of access tokens + :param pulumi.Input[str] id_token_lifetime: lifetime duration of id tokens + :param pulumi.Input[str] refresh_token_expiration: expiration duration of refresh tokens + :param pulumi.Input[str] refresh_token_idle_expiration: expiration duration of idle refresh tokens + """ + _DefaultOidcSettingsState._configure( + lambda key, value: pulumi.set(__self__, key, value), + access_token_lifetime=access_token_lifetime, + id_token_lifetime=id_token_lifetime, + refresh_token_expiration=refresh_token_expiration, + refresh_token_idle_expiration=refresh_token_idle_expiration, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + access_token_lifetime: Optional[pulumi.Input[str]] = None, + id_token_lifetime: Optional[pulumi.Input[str]] = None, + refresh_token_expiration: Optional[pulumi.Input[str]] = None, + refresh_token_idle_expiration: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'accessTokenLifetime' in kwargs: + access_token_lifetime = kwargs['accessTokenLifetime'] + if 'idTokenLifetime' in kwargs: + id_token_lifetime = kwargs['idTokenLifetime'] + if 'refreshTokenExpiration' in kwargs: + refresh_token_expiration = kwargs['refreshTokenExpiration'] + if 'refreshTokenIdleExpiration' in kwargs: + refresh_token_idle_expiration = kwargs['refreshTokenIdleExpiration'] + + if access_token_lifetime is not None: + _setter("access_token_lifetime", access_token_lifetime) + if id_token_lifetime is not None: + _setter("id_token_lifetime", id_token_lifetime) + if refresh_token_expiration is not None: + _setter("refresh_token_expiration", refresh_token_expiration) + if refresh_token_idle_expiration is not None: + _setter("refresh_token_idle_expiration", refresh_token_idle_expiration) + + @property + @pulumi.getter(name="accessTokenLifetime") + def access_token_lifetime(self) -> Optional[pulumi.Input[str]]: + """ + lifetime duration of access tokens + """ + return pulumi.get(self, "access_token_lifetime") + + @access_token_lifetime.setter + def access_token_lifetime(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "access_token_lifetime", value) + + @property + @pulumi.getter(name="idTokenLifetime") + def id_token_lifetime(self) -> Optional[pulumi.Input[str]]: + """ + lifetime duration of id tokens + """ + return pulumi.get(self, "id_token_lifetime") + + @id_token_lifetime.setter + def id_token_lifetime(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "id_token_lifetime", value) + + @property + @pulumi.getter(name="refreshTokenExpiration") + def refresh_token_expiration(self) -> Optional[pulumi.Input[str]]: + """ + expiration duration of refresh tokens + """ + return pulumi.get(self, "refresh_token_expiration") + + @refresh_token_expiration.setter + def refresh_token_expiration(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "refresh_token_expiration", value) + + @property + @pulumi.getter(name="refreshTokenIdleExpiration") + def refresh_token_idle_expiration(self) -> Optional[pulumi.Input[str]]: + """ + expiration duration of idle refresh tokens + """ + return pulumi.get(self, "refresh_token_idle_expiration") + + @refresh_token_idle_expiration.setter + def refresh_token_idle_expiration(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "refresh_token_idle_expiration", value) + + +class DefaultOidcSettings(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + access_token_lifetime: Optional[pulumi.Input[str]] = None, + id_token_lifetime: Optional[pulumi.Input[str]] = None, + refresh_token_expiration: Optional[pulumi.Input[str]] = None, + refresh_token_idle_expiration: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Resource representing the default oidc settings. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.DefaultOidcSettings("default", + access_token_lifetime="12h0m0s", + id_token_lifetime="12h0m0s", + refresh_token_expiration="720h0m0s", + refresh_token_idle_expiration="2160h0m0s") + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] access_token_lifetime: lifetime duration of access tokens + :param pulumi.Input[str] id_token_lifetime: lifetime duration of id tokens + :param pulumi.Input[str] refresh_token_expiration: expiration duration of refresh tokens + :param pulumi.Input[str] refresh_token_idle_expiration: expiration duration of idle refresh tokens + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: DefaultOidcSettingsArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource representing the default oidc settings. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.DefaultOidcSettings("default", + access_token_lifetime="12h0m0s", + id_token_lifetime="12h0m0s", + refresh_token_expiration="720h0m0s", + refresh_token_idle_expiration="2160h0m0s") + ``` + + :param str resource_name: The name of the resource. + :param DefaultOidcSettingsArgs 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(DefaultOidcSettingsArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + DefaultOidcSettingsArgs._configure(_setter, **kwargs) + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + access_token_lifetime: Optional[pulumi.Input[str]] = None, + id_token_lifetime: Optional[pulumi.Input[str]] = None, + refresh_token_expiration: Optional[pulumi.Input[str]] = None, + refresh_token_idle_expiration: 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__ = DefaultOidcSettingsArgs.__new__(DefaultOidcSettingsArgs) + + if access_token_lifetime is None and not opts.urn: + raise TypeError("Missing required property 'access_token_lifetime'") + __props__.__dict__["access_token_lifetime"] = access_token_lifetime + if id_token_lifetime is None and not opts.urn: + raise TypeError("Missing required property 'id_token_lifetime'") + __props__.__dict__["id_token_lifetime"] = id_token_lifetime + if refresh_token_expiration is None and not opts.urn: + raise TypeError("Missing required property 'refresh_token_expiration'") + __props__.__dict__["refresh_token_expiration"] = refresh_token_expiration + if refresh_token_idle_expiration is None and not opts.urn: + raise TypeError("Missing required property 'refresh_token_idle_expiration'") + __props__.__dict__["refresh_token_idle_expiration"] = refresh_token_idle_expiration + super(DefaultOidcSettings, __self__).__init__( + 'zitadel:index/defaultOidcSettings:DefaultOidcSettings', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + access_token_lifetime: Optional[pulumi.Input[str]] = None, + id_token_lifetime: Optional[pulumi.Input[str]] = None, + refresh_token_expiration: Optional[pulumi.Input[str]] = None, + refresh_token_idle_expiration: Optional[pulumi.Input[str]] = None) -> 'DefaultOidcSettings': + """ + Get an existing DefaultOidcSettings 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[str] access_token_lifetime: lifetime duration of access tokens + :param pulumi.Input[str] id_token_lifetime: lifetime duration of id tokens + :param pulumi.Input[str] refresh_token_expiration: expiration duration of refresh tokens + :param pulumi.Input[str] refresh_token_idle_expiration: expiration duration of idle refresh tokens + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _DefaultOidcSettingsState.__new__(_DefaultOidcSettingsState) + + __props__.__dict__["access_token_lifetime"] = access_token_lifetime + __props__.__dict__["id_token_lifetime"] = id_token_lifetime + __props__.__dict__["refresh_token_expiration"] = refresh_token_expiration + __props__.__dict__["refresh_token_idle_expiration"] = refresh_token_idle_expiration + return DefaultOidcSettings(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="accessTokenLifetime") + def access_token_lifetime(self) -> pulumi.Output[str]: + """ + lifetime duration of access tokens + """ + return pulumi.get(self, "access_token_lifetime") + + @property + @pulumi.getter(name="idTokenLifetime") + def id_token_lifetime(self) -> pulumi.Output[str]: + """ + lifetime duration of id tokens + """ + return pulumi.get(self, "id_token_lifetime") + + @property + @pulumi.getter(name="refreshTokenExpiration") + def refresh_token_expiration(self) -> pulumi.Output[str]: + """ + expiration duration of refresh tokens + """ + return pulumi.get(self, "refresh_token_expiration") + + @property + @pulumi.getter(name="refreshTokenIdleExpiration") + def refresh_token_idle_expiration(self) -> pulumi.Output[str]: + """ + expiration duration of idle refresh tokens + """ + return pulumi.get(self, "refresh_token_idle_expiration") + diff --git a/sdk/python/scoretechnologies_zitadel/default_password_complexity_policy.py b/sdk/python/scoretechnologies_zitadel/default_password_complexity_policy.py new file mode 100644 index 0000000..8d125b8 --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/default_password_complexity_policy.py @@ -0,0 +1,444 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['DefaultPasswordComplexityPolicyArgs', 'DefaultPasswordComplexityPolicy'] + +@pulumi.input_type +class DefaultPasswordComplexityPolicyArgs: + def __init__(__self__, *, + has_lowercase: pulumi.Input[bool], + has_number: pulumi.Input[bool], + has_symbol: pulumi.Input[bool], + has_uppercase: pulumi.Input[bool], + min_length: pulumi.Input[int]): + """ + The set of arguments for constructing a DefaultPasswordComplexityPolicy resource. + :param pulumi.Input[bool] has_lowercase: defines if the password MUST contain a lower case letter + :param pulumi.Input[bool] has_number: defines if the password MUST contain a number + :param pulumi.Input[bool] has_symbol: defines if the password MUST contain a symbol. E.g. "$" + :param pulumi.Input[bool] has_uppercase: defines if the password MUST contain an upper case letter + :param pulumi.Input[int] min_length: Minimal length for the password + """ + DefaultPasswordComplexityPolicyArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + has_lowercase=has_lowercase, + has_number=has_number, + has_symbol=has_symbol, + has_uppercase=has_uppercase, + min_length=min_length, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + has_lowercase: pulumi.Input[bool], + has_number: pulumi.Input[bool], + has_symbol: pulumi.Input[bool], + has_uppercase: pulumi.Input[bool], + min_length: pulumi.Input[int], + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'hasLowercase' in kwargs: + has_lowercase = kwargs['hasLowercase'] + if 'hasNumber' in kwargs: + has_number = kwargs['hasNumber'] + if 'hasSymbol' in kwargs: + has_symbol = kwargs['hasSymbol'] + if 'hasUppercase' in kwargs: + has_uppercase = kwargs['hasUppercase'] + if 'minLength' in kwargs: + min_length = kwargs['minLength'] + + _setter("has_lowercase", has_lowercase) + _setter("has_number", has_number) + _setter("has_symbol", has_symbol) + _setter("has_uppercase", has_uppercase) + _setter("min_length", min_length) + + @property + @pulumi.getter(name="hasLowercase") + def has_lowercase(self) -> pulumi.Input[bool]: + """ + defines if the password MUST contain a lower case letter + """ + return pulumi.get(self, "has_lowercase") + + @has_lowercase.setter + def has_lowercase(self, value: pulumi.Input[bool]): + pulumi.set(self, "has_lowercase", value) + + @property + @pulumi.getter(name="hasNumber") + def has_number(self) -> pulumi.Input[bool]: + """ + defines if the password MUST contain a number + """ + return pulumi.get(self, "has_number") + + @has_number.setter + def has_number(self, value: pulumi.Input[bool]): + pulumi.set(self, "has_number", value) + + @property + @pulumi.getter(name="hasSymbol") + def has_symbol(self) -> pulumi.Input[bool]: + """ + defines if the password MUST contain a symbol. E.g. "$" + """ + return pulumi.get(self, "has_symbol") + + @has_symbol.setter + def has_symbol(self, value: pulumi.Input[bool]): + pulumi.set(self, "has_symbol", value) + + @property + @pulumi.getter(name="hasUppercase") + def has_uppercase(self) -> pulumi.Input[bool]: + """ + defines if the password MUST contain an upper case letter + """ + return pulumi.get(self, "has_uppercase") + + @has_uppercase.setter + def has_uppercase(self, value: pulumi.Input[bool]): + pulumi.set(self, "has_uppercase", value) + + @property + @pulumi.getter(name="minLength") + def min_length(self) -> pulumi.Input[int]: + """ + Minimal length for the password + """ + return pulumi.get(self, "min_length") + + @min_length.setter + def min_length(self, value: pulumi.Input[int]): + pulumi.set(self, "min_length", value) + + +@pulumi.input_type +class _DefaultPasswordComplexityPolicyState: + def __init__(__self__, *, + has_lowercase: Optional[pulumi.Input[bool]] = None, + has_number: Optional[pulumi.Input[bool]] = None, + has_symbol: Optional[pulumi.Input[bool]] = None, + has_uppercase: Optional[pulumi.Input[bool]] = None, + min_length: Optional[pulumi.Input[int]] = None): + """ + Input properties used for looking up and filtering DefaultPasswordComplexityPolicy resources. + :param pulumi.Input[bool] has_lowercase: defines if the password MUST contain a lower case letter + :param pulumi.Input[bool] has_number: defines if the password MUST contain a number + :param pulumi.Input[bool] has_symbol: defines if the password MUST contain a symbol. E.g. "$" + :param pulumi.Input[bool] has_uppercase: defines if the password MUST contain an upper case letter + :param pulumi.Input[int] min_length: Minimal length for the password + """ + _DefaultPasswordComplexityPolicyState._configure( + lambda key, value: pulumi.set(__self__, key, value), + has_lowercase=has_lowercase, + has_number=has_number, + has_symbol=has_symbol, + has_uppercase=has_uppercase, + min_length=min_length, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + has_lowercase: Optional[pulumi.Input[bool]] = None, + has_number: Optional[pulumi.Input[bool]] = None, + has_symbol: Optional[pulumi.Input[bool]] = None, + has_uppercase: Optional[pulumi.Input[bool]] = None, + min_length: Optional[pulumi.Input[int]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'hasLowercase' in kwargs: + has_lowercase = kwargs['hasLowercase'] + if 'hasNumber' in kwargs: + has_number = kwargs['hasNumber'] + if 'hasSymbol' in kwargs: + has_symbol = kwargs['hasSymbol'] + if 'hasUppercase' in kwargs: + has_uppercase = kwargs['hasUppercase'] + if 'minLength' in kwargs: + min_length = kwargs['minLength'] + + if has_lowercase is not None: + _setter("has_lowercase", has_lowercase) + if has_number is not None: + _setter("has_number", has_number) + if has_symbol is not None: + _setter("has_symbol", has_symbol) + if has_uppercase is not None: + _setter("has_uppercase", has_uppercase) + if min_length is not None: + _setter("min_length", min_length) + + @property + @pulumi.getter(name="hasLowercase") + def has_lowercase(self) -> Optional[pulumi.Input[bool]]: + """ + defines if the password MUST contain a lower case letter + """ + return pulumi.get(self, "has_lowercase") + + @has_lowercase.setter + def has_lowercase(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "has_lowercase", value) + + @property + @pulumi.getter(name="hasNumber") + def has_number(self) -> Optional[pulumi.Input[bool]]: + """ + defines if the password MUST contain a number + """ + return pulumi.get(self, "has_number") + + @has_number.setter + def has_number(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "has_number", value) + + @property + @pulumi.getter(name="hasSymbol") + def has_symbol(self) -> Optional[pulumi.Input[bool]]: + """ + defines if the password MUST contain a symbol. E.g. "$" + """ + return pulumi.get(self, "has_symbol") + + @has_symbol.setter + def has_symbol(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "has_symbol", value) + + @property + @pulumi.getter(name="hasUppercase") + def has_uppercase(self) -> Optional[pulumi.Input[bool]]: + """ + defines if the password MUST contain an upper case letter + """ + return pulumi.get(self, "has_uppercase") + + @has_uppercase.setter + def has_uppercase(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "has_uppercase", value) + + @property + @pulumi.getter(name="minLength") + def min_length(self) -> Optional[pulumi.Input[int]]: + """ + Minimal length for the password + """ + return pulumi.get(self, "min_length") + + @min_length.setter + def min_length(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "min_length", value) + + +class DefaultPasswordComplexityPolicy(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + has_lowercase: Optional[pulumi.Input[bool]] = None, + has_number: Optional[pulumi.Input[bool]] = None, + has_symbol: Optional[pulumi.Input[bool]] = None, + has_uppercase: Optional[pulumi.Input[bool]] = None, + min_length: Optional[pulumi.Input[int]] = None, + __props__=None): + """ + Resource representing the default password complexity policy. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.DefaultPasswordComplexityPolicy("default", + has_lowercase=True, + has_number=True, + has_symbol=True, + has_uppercase=True, + min_length=8) + ``` + + ## Import + + bash The resource can be imported using the ID format `<>`, e.g. + + ```sh + $ pulumi import zitadel:index/defaultPasswordComplexityPolicy:DefaultPasswordComplexityPolicy imported '' + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[bool] has_lowercase: defines if the password MUST contain a lower case letter + :param pulumi.Input[bool] has_number: defines if the password MUST contain a number + :param pulumi.Input[bool] has_symbol: defines if the password MUST contain a symbol. E.g. "$" + :param pulumi.Input[bool] has_uppercase: defines if the password MUST contain an upper case letter + :param pulumi.Input[int] min_length: Minimal length for the password + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: DefaultPasswordComplexityPolicyArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource representing the default password complexity policy. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.DefaultPasswordComplexityPolicy("default", + has_lowercase=True, + has_number=True, + has_symbol=True, + has_uppercase=True, + min_length=8) + ``` + + ## Import + + bash The resource can be imported using the ID format `<>`, e.g. + + ```sh + $ pulumi import zitadel:index/defaultPasswordComplexityPolicy:DefaultPasswordComplexityPolicy imported '' + ``` + + :param str resource_name: The name of the resource. + :param DefaultPasswordComplexityPolicyArgs 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(DefaultPasswordComplexityPolicyArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + DefaultPasswordComplexityPolicyArgs._configure(_setter, **kwargs) + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + has_lowercase: Optional[pulumi.Input[bool]] = None, + has_number: Optional[pulumi.Input[bool]] = None, + has_symbol: Optional[pulumi.Input[bool]] = None, + has_uppercase: Optional[pulumi.Input[bool]] = None, + min_length: Optional[pulumi.Input[int]] = 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__ = DefaultPasswordComplexityPolicyArgs.__new__(DefaultPasswordComplexityPolicyArgs) + + if has_lowercase is None and not opts.urn: + raise TypeError("Missing required property 'has_lowercase'") + __props__.__dict__["has_lowercase"] = has_lowercase + if has_number is None and not opts.urn: + raise TypeError("Missing required property 'has_number'") + __props__.__dict__["has_number"] = has_number + if has_symbol is None and not opts.urn: + raise TypeError("Missing required property 'has_symbol'") + __props__.__dict__["has_symbol"] = has_symbol + if has_uppercase is None and not opts.urn: + raise TypeError("Missing required property 'has_uppercase'") + __props__.__dict__["has_uppercase"] = has_uppercase + if min_length is None and not opts.urn: + raise TypeError("Missing required property 'min_length'") + __props__.__dict__["min_length"] = min_length + super(DefaultPasswordComplexityPolicy, __self__).__init__( + 'zitadel:index/defaultPasswordComplexityPolicy:DefaultPasswordComplexityPolicy', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + has_lowercase: Optional[pulumi.Input[bool]] = None, + has_number: Optional[pulumi.Input[bool]] = None, + has_symbol: Optional[pulumi.Input[bool]] = None, + has_uppercase: Optional[pulumi.Input[bool]] = None, + min_length: Optional[pulumi.Input[int]] = None) -> 'DefaultPasswordComplexityPolicy': + """ + Get an existing DefaultPasswordComplexityPolicy 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] has_lowercase: defines if the password MUST contain a lower case letter + :param pulumi.Input[bool] has_number: defines if the password MUST contain a number + :param pulumi.Input[bool] has_symbol: defines if the password MUST contain a symbol. E.g. "$" + :param pulumi.Input[bool] has_uppercase: defines if the password MUST contain an upper case letter + :param pulumi.Input[int] min_length: Minimal length for the password + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _DefaultPasswordComplexityPolicyState.__new__(_DefaultPasswordComplexityPolicyState) + + __props__.__dict__["has_lowercase"] = has_lowercase + __props__.__dict__["has_number"] = has_number + __props__.__dict__["has_symbol"] = has_symbol + __props__.__dict__["has_uppercase"] = has_uppercase + __props__.__dict__["min_length"] = min_length + return DefaultPasswordComplexityPolicy(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="hasLowercase") + def has_lowercase(self) -> pulumi.Output[bool]: + """ + defines if the password MUST contain a lower case letter + """ + return pulumi.get(self, "has_lowercase") + + @property + @pulumi.getter(name="hasNumber") + def has_number(self) -> pulumi.Output[bool]: + """ + defines if the password MUST contain a number + """ + return pulumi.get(self, "has_number") + + @property + @pulumi.getter(name="hasSymbol") + def has_symbol(self) -> pulumi.Output[bool]: + """ + defines if the password MUST contain a symbol. E.g. "$" + """ + return pulumi.get(self, "has_symbol") + + @property + @pulumi.getter(name="hasUppercase") + def has_uppercase(self) -> pulumi.Output[bool]: + """ + defines if the password MUST contain an upper case letter + """ + return pulumi.get(self, "has_uppercase") + + @property + @pulumi.getter(name="minLength") + def min_length(self) -> pulumi.Output[int]: + """ + Minimal length for the password + """ + return pulumi.get(self, "min_length") + diff --git a/sdk/python/scoretechnologies_zitadel/default_privacy_policy.py b/sdk/python/scoretechnologies_zitadel/default_privacy_policy.py new file mode 100644 index 0000000..f08a6e1 --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/default_privacy_policy.py @@ -0,0 +1,330 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['DefaultPrivacyPolicyArgs', 'DefaultPrivacyPolicy'] + +@pulumi.input_type +class DefaultPrivacyPolicyArgs: + def __init__(__self__, *, + help_link: Optional[pulumi.Input[str]] = None, + privacy_link: Optional[pulumi.Input[str]] = None, + support_email: Optional[pulumi.Input[str]] = None, + tos_link: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a DefaultPrivacyPolicy resource. + """ + DefaultPrivacyPolicyArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + help_link=help_link, + privacy_link=privacy_link, + support_email=support_email, + tos_link=tos_link, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + help_link: Optional[pulumi.Input[str]] = None, + privacy_link: Optional[pulumi.Input[str]] = None, + support_email: Optional[pulumi.Input[str]] = None, + tos_link: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'helpLink' in kwargs: + help_link = kwargs['helpLink'] + if 'privacyLink' in kwargs: + privacy_link = kwargs['privacyLink'] + if 'supportEmail' in kwargs: + support_email = kwargs['supportEmail'] + if 'tosLink' in kwargs: + tos_link = kwargs['tosLink'] + + if help_link is not None: + _setter("help_link", help_link) + if privacy_link is not None: + _setter("privacy_link", privacy_link) + if support_email is not None: + _setter("support_email", support_email) + if tos_link is not None: + _setter("tos_link", tos_link) + + @property + @pulumi.getter(name="helpLink") + def help_link(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "help_link") + + @help_link.setter + def help_link(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "help_link", value) + + @property + @pulumi.getter(name="privacyLink") + def privacy_link(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "privacy_link") + + @privacy_link.setter + def privacy_link(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "privacy_link", value) + + @property + @pulumi.getter(name="supportEmail") + def support_email(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "support_email") + + @support_email.setter + def support_email(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "support_email", value) + + @property + @pulumi.getter(name="tosLink") + def tos_link(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "tos_link") + + @tos_link.setter + def tos_link(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "tos_link", value) + + +@pulumi.input_type +class _DefaultPrivacyPolicyState: + def __init__(__self__, *, + help_link: Optional[pulumi.Input[str]] = None, + privacy_link: Optional[pulumi.Input[str]] = None, + support_email: Optional[pulumi.Input[str]] = None, + tos_link: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering DefaultPrivacyPolicy resources. + """ + _DefaultPrivacyPolicyState._configure( + lambda key, value: pulumi.set(__self__, key, value), + help_link=help_link, + privacy_link=privacy_link, + support_email=support_email, + tos_link=tos_link, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + help_link: Optional[pulumi.Input[str]] = None, + privacy_link: Optional[pulumi.Input[str]] = None, + support_email: Optional[pulumi.Input[str]] = None, + tos_link: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'helpLink' in kwargs: + help_link = kwargs['helpLink'] + if 'privacyLink' in kwargs: + privacy_link = kwargs['privacyLink'] + if 'supportEmail' in kwargs: + support_email = kwargs['supportEmail'] + if 'tosLink' in kwargs: + tos_link = kwargs['tosLink'] + + if help_link is not None: + _setter("help_link", help_link) + if privacy_link is not None: + _setter("privacy_link", privacy_link) + if support_email is not None: + _setter("support_email", support_email) + if tos_link is not None: + _setter("tos_link", tos_link) + + @property + @pulumi.getter(name="helpLink") + def help_link(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "help_link") + + @help_link.setter + def help_link(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "help_link", value) + + @property + @pulumi.getter(name="privacyLink") + def privacy_link(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "privacy_link") + + @privacy_link.setter + def privacy_link(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "privacy_link", value) + + @property + @pulumi.getter(name="supportEmail") + def support_email(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "support_email") + + @support_email.setter + def support_email(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "support_email", value) + + @property + @pulumi.getter(name="tosLink") + def tos_link(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "tos_link") + + @tos_link.setter + def tos_link(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "tos_link", value) + + +class DefaultPrivacyPolicy(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + help_link: Optional[pulumi.Input[str]] = None, + privacy_link: Optional[pulumi.Input[str]] = None, + support_email: Optional[pulumi.Input[str]] = None, + tos_link: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Resource representing the default privacy policy. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.DefaultPrivacyPolicy("default", + help_link="https://example.com/help", + privacy_link="https://example.com/privacy", + support_email="support@example.com", + tos_link="https://example.com/tos") + ``` + + ## Import + + bash The resource can be imported using the ID format `<>`, e.g. + + ```sh + $ pulumi import zitadel:index/defaultPrivacyPolicy:DefaultPrivacyPolicy imported '' + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: Optional[DefaultPrivacyPolicyArgs] = None, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource representing the default privacy policy. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.DefaultPrivacyPolicy("default", + help_link="https://example.com/help", + privacy_link="https://example.com/privacy", + support_email="support@example.com", + tos_link="https://example.com/tos") + ``` + + ## Import + + bash The resource can be imported using the ID format `<>`, e.g. + + ```sh + $ pulumi import zitadel:index/defaultPrivacyPolicy:DefaultPrivacyPolicy imported '' + ``` + + :param str resource_name: The name of the resource. + :param DefaultPrivacyPolicyArgs 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(DefaultPrivacyPolicyArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + DefaultPrivacyPolicyArgs._configure(_setter, **kwargs) + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + help_link: Optional[pulumi.Input[str]] = None, + privacy_link: Optional[pulumi.Input[str]] = None, + support_email: Optional[pulumi.Input[str]] = None, + tos_link: 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__ = DefaultPrivacyPolicyArgs.__new__(DefaultPrivacyPolicyArgs) + + __props__.__dict__["help_link"] = help_link + __props__.__dict__["privacy_link"] = privacy_link + __props__.__dict__["support_email"] = support_email + __props__.__dict__["tos_link"] = tos_link + super(DefaultPrivacyPolicy, __self__).__init__( + 'zitadel:index/defaultPrivacyPolicy:DefaultPrivacyPolicy', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + help_link: Optional[pulumi.Input[str]] = None, + privacy_link: Optional[pulumi.Input[str]] = None, + support_email: Optional[pulumi.Input[str]] = None, + tos_link: Optional[pulumi.Input[str]] = None) -> 'DefaultPrivacyPolicy': + """ + Get an existing DefaultPrivacyPolicy 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. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _DefaultPrivacyPolicyState.__new__(_DefaultPrivacyPolicyState) + + __props__.__dict__["help_link"] = help_link + __props__.__dict__["privacy_link"] = privacy_link + __props__.__dict__["support_email"] = support_email + __props__.__dict__["tos_link"] = tos_link + return DefaultPrivacyPolicy(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="helpLink") + def help_link(self) -> pulumi.Output[Optional[str]]: + return pulumi.get(self, "help_link") + + @property + @pulumi.getter(name="privacyLink") + def privacy_link(self) -> pulumi.Output[Optional[str]]: + return pulumi.get(self, "privacy_link") + + @property + @pulumi.getter(name="supportEmail") + def support_email(self) -> pulumi.Output[Optional[str]]: + return pulumi.get(self, "support_email") + + @property + @pulumi.getter(name="tosLink") + def tos_link(self) -> pulumi.Output[Optional[str]]: + return pulumi.get(self, "tos_link") + diff --git a/sdk/python/scoretechnologies_zitadel/domain.py b/sdk/python/scoretechnologies_zitadel/domain.py new file mode 100644 index 0000000..81fb7a3 --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/domain.py @@ -0,0 +1,383 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['DomainArgs', 'Domain'] + +@pulumi.input_type +class DomainArgs: + def __init__(__self__, *, + is_primary: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a Domain resource. + :param pulumi.Input[bool] is_primary: Is domain primary + :param pulumi.Input[str] name: Name of the domain + :param pulumi.Input[str] org_id: ID of the organization + """ + DomainArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + is_primary=is_primary, + name=name, + org_id=org_id, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + is_primary: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'isPrimary' in kwargs: + is_primary = kwargs['isPrimary'] + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + + if is_primary is not None: + _setter("is_primary", is_primary) + if name is not None: + _setter("name", name) + if org_id is not None: + _setter("org_id", org_id) + + @property + @pulumi.getter(name="isPrimary") + def is_primary(self) -> Optional[pulumi.Input[bool]]: + """ + Is domain primary + """ + return pulumi.get(self, "is_primary") + + @is_primary.setter + def is_primary(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_primary", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the domain + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + +@pulumi.input_type +class _DomainState: + def __init__(__self__, *, + is_primary: Optional[pulumi.Input[bool]] = None, + is_verified: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + validation_type: Optional[pulumi.Input[int]] = None): + """ + Input properties used for looking up and filtering Domain resources. + :param pulumi.Input[bool] is_primary: Is domain primary + :param pulumi.Input[bool] is_verified: Is domain verified + :param pulumi.Input[str] name: Name of the domain + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[int] validation_type: Validation type + """ + _DomainState._configure( + lambda key, value: pulumi.set(__self__, key, value), + is_primary=is_primary, + is_verified=is_verified, + name=name, + org_id=org_id, + validation_type=validation_type, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + is_primary: Optional[pulumi.Input[bool]] = None, + is_verified: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + validation_type: Optional[pulumi.Input[int]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'isPrimary' in kwargs: + is_primary = kwargs['isPrimary'] + if 'isVerified' in kwargs: + is_verified = kwargs['isVerified'] + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + if 'validationType' in kwargs: + validation_type = kwargs['validationType'] + + if is_primary is not None: + _setter("is_primary", is_primary) + if is_verified is not None: + _setter("is_verified", is_verified) + if name is not None: + _setter("name", name) + if org_id is not None: + _setter("org_id", org_id) + if validation_type is not None: + _setter("validation_type", validation_type) + + @property + @pulumi.getter(name="isPrimary") + def is_primary(self) -> Optional[pulumi.Input[bool]]: + """ + Is domain primary + """ + return pulumi.get(self, "is_primary") + + @is_primary.setter + def is_primary(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_primary", value) + + @property + @pulumi.getter(name="isVerified") + def is_verified(self) -> Optional[pulumi.Input[bool]]: + """ + Is domain verified + """ + return pulumi.get(self, "is_verified") + + @is_verified.setter + def is_verified(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_verified", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the domain + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + @property + @pulumi.getter(name="validationType") + def validation_type(self) -> Optional[pulumi.Input[int]]: + """ + Validation type + """ + return pulumi.get(self, "validation_type") + + @validation_type.setter + def validation_type(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "validation_type", value) + + +class Domain(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + is_primary: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Resource representing a domain of the organization. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.Domain("default", + org_id=data["zitadel_org"]["default"]["id"], + is_primary=False) + ``` + + ## Import + + bash The resource can be imported using the ID format `name[:org_id]`, e.g. + + ```sh + $ pulumi import zitadel:index/domain:Domain imported 'example.com:123456789012345678' + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[bool] is_primary: Is domain primary + :param pulumi.Input[str] name: Name of the domain + :param pulumi.Input[str] org_id: ID of the organization + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: Optional[DomainArgs] = None, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource representing a domain of the organization. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.Domain("default", + org_id=data["zitadel_org"]["default"]["id"], + is_primary=False) + ``` + + ## Import + + bash The resource can be imported using the ID format `name[:org_id]`, e.g. + + ```sh + $ pulumi import zitadel:index/domain:Domain imported 'example.com:123456789012345678' + ``` + + :param str resource_name: The name of the resource. + :param DomainArgs 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(DomainArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + DomainArgs._configure(_setter, **kwargs) + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + is_primary: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: 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__ = DomainArgs.__new__(DomainArgs) + + __props__.__dict__["is_primary"] = is_primary + __props__.__dict__["name"] = name + __props__.__dict__["org_id"] = org_id + __props__.__dict__["is_verified"] = None + __props__.__dict__["validation_type"] = None + super(Domain, __self__).__init__( + 'zitadel:index/domain:Domain', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + is_primary: Optional[pulumi.Input[bool]] = None, + is_verified: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + validation_type: Optional[pulumi.Input[int]] = None) -> 'Domain': + """ + Get an existing Domain 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] is_primary: Is domain primary + :param pulumi.Input[bool] is_verified: Is domain verified + :param pulumi.Input[str] name: Name of the domain + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[int] validation_type: Validation type + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _DomainState.__new__(_DomainState) + + __props__.__dict__["is_primary"] = is_primary + __props__.__dict__["is_verified"] = is_verified + __props__.__dict__["name"] = name + __props__.__dict__["org_id"] = org_id + __props__.__dict__["validation_type"] = validation_type + return Domain(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="isPrimary") + def is_primary(self) -> pulumi.Output[Optional[bool]]: + """ + Is domain primary + """ + return pulumi.get(self, "is_primary") + + @property + @pulumi.getter(name="isVerified") + def is_verified(self) -> pulumi.Output[bool]: + """ + Is domain verified + """ + return pulumi.get(self, "is_verified") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Name of the domain + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> pulumi.Output[Optional[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @property + @pulumi.getter(name="validationType") + def validation_type(self) -> pulumi.Output[int]: + """ + Validation type + """ + return pulumi.get(self, "validation_type") + diff --git a/sdk/python/scoretechnologies_zitadel/domain_policy.py b/sdk/python/scoretechnologies_zitadel/domain_policy.py new file mode 100644 index 0000000..1a9c6cb --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/domain_policy.py @@ -0,0 +1,372 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['DomainPolicyArgs', 'DomainPolicy'] + +@pulumi.input_type +class DomainPolicyArgs: + def __init__(__self__, *, + smtp_sender_address_matches_instance_domain: pulumi.Input[bool], + user_login_must_be_domain: pulumi.Input[bool], + validate_org_domains: pulumi.Input[bool], + org_id: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a DomainPolicy resource. + :param pulumi.Input[bool] user_login_must_be_domain: User login must be domain + :param pulumi.Input[bool] validate_org_domains: Validate organization domains + :param pulumi.Input[str] org_id: ID of the organization + """ + DomainPolicyArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + smtp_sender_address_matches_instance_domain=smtp_sender_address_matches_instance_domain, + user_login_must_be_domain=user_login_must_be_domain, + validate_org_domains=validate_org_domains, + org_id=org_id, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + smtp_sender_address_matches_instance_domain: pulumi.Input[bool], + user_login_must_be_domain: pulumi.Input[bool], + validate_org_domains: pulumi.Input[bool], + org_id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'smtpSenderAddressMatchesInstanceDomain' in kwargs: + smtp_sender_address_matches_instance_domain = kwargs['smtpSenderAddressMatchesInstanceDomain'] + if 'userLoginMustBeDomain' in kwargs: + user_login_must_be_domain = kwargs['userLoginMustBeDomain'] + if 'validateOrgDomains' in kwargs: + validate_org_domains = kwargs['validateOrgDomains'] + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + + _setter("smtp_sender_address_matches_instance_domain", smtp_sender_address_matches_instance_domain) + _setter("user_login_must_be_domain", user_login_must_be_domain) + _setter("validate_org_domains", validate_org_domains) + if org_id is not None: + _setter("org_id", org_id) + + @property + @pulumi.getter(name="smtpSenderAddressMatchesInstanceDomain") + def smtp_sender_address_matches_instance_domain(self) -> pulumi.Input[bool]: + return pulumi.get(self, "smtp_sender_address_matches_instance_domain") + + @smtp_sender_address_matches_instance_domain.setter + def smtp_sender_address_matches_instance_domain(self, value: pulumi.Input[bool]): + pulumi.set(self, "smtp_sender_address_matches_instance_domain", value) + + @property + @pulumi.getter(name="userLoginMustBeDomain") + def user_login_must_be_domain(self) -> pulumi.Input[bool]: + """ + User login must be domain + """ + return pulumi.get(self, "user_login_must_be_domain") + + @user_login_must_be_domain.setter + def user_login_must_be_domain(self, value: pulumi.Input[bool]): + pulumi.set(self, "user_login_must_be_domain", value) + + @property + @pulumi.getter(name="validateOrgDomains") + def validate_org_domains(self) -> pulumi.Input[bool]: + """ + Validate organization domains + """ + return pulumi.get(self, "validate_org_domains") + + @validate_org_domains.setter + def validate_org_domains(self, value: pulumi.Input[bool]): + pulumi.set(self, "validate_org_domains", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + +@pulumi.input_type +class _DomainPolicyState: + def __init__(__self__, *, + org_id: Optional[pulumi.Input[str]] = None, + smtp_sender_address_matches_instance_domain: Optional[pulumi.Input[bool]] = None, + user_login_must_be_domain: Optional[pulumi.Input[bool]] = None, + validate_org_domains: Optional[pulumi.Input[bool]] = None): + """ + Input properties used for looking up and filtering DomainPolicy resources. + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[bool] user_login_must_be_domain: User login must be domain + :param pulumi.Input[bool] validate_org_domains: Validate organization domains + """ + _DomainPolicyState._configure( + lambda key, value: pulumi.set(__self__, key, value), + org_id=org_id, + smtp_sender_address_matches_instance_domain=smtp_sender_address_matches_instance_domain, + user_login_must_be_domain=user_login_must_be_domain, + validate_org_domains=validate_org_domains, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + org_id: Optional[pulumi.Input[str]] = None, + smtp_sender_address_matches_instance_domain: Optional[pulumi.Input[bool]] = None, + user_login_must_be_domain: Optional[pulumi.Input[bool]] = None, + validate_org_domains: Optional[pulumi.Input[bool]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + if 'smtpSenderAddressMatchesInstanceDomain' in kwargs: + smtp_sender_address_matches_instance_domain = kwargs['smtpSenderAddressMatchesInstanceDomain'] + if 'userLoginMustBeDomain' in kwargs: + user_login_must_be_domain = kwargs['userLoginMustBeDomain'] + if 'validateOrgDomains' in kwargs: + validate_org_domains = kwargs['validateOrgDomains'] + + if org_id is not None: + _setter("org_id", org_id) + if smtp_sender_address_matches_instance_domain is not None: + _setter("smtp_sender_address_matches_instance_domain", smtp_sender_address_matches_instance_domain) + if user_login_must_be_domain is not None: + _setter("user_login_must_be_domain", user_login_must_be_domain) + if validate_org_domains is not None: + _setter("validate_org_domains", validate_org_domains) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + @property + @pulumi.getter(name="smtpSenderAddressMatchesInstanceDomain") + def smtp_sender_address_matches_instance_domain(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "smtp_sender_address_matches_instance_domain") + + @smtp_sender_address_matches_instance_domain.setter + def smtp_sender_address_matches_instance_domain(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "smtp_sender_address_matches_instance_domain", value) + + @property + @pulumi.getter(name="userLoginMustBeDomain") + def user_login_must_be_domain(self) -> Optional[pulumi.Input[bool]]: + """ + User login must be domain + """ + return pulumi.get(self, "user_login_must_be_domain") + + @user_login_must_be_domain.setter + def user_login_must_be_domain(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "user_login_must_be_domain", value) + + @property + @pulumi.getter(name="validateOrgDomains") + def validate_org_domains(self) -> Optional[pulumi.Input[bool]]: + """ + Validate organization domains + """ + return pulumi.get(self, "validate_org_domains") + + @validate_org_domains.setter + def validate_org_domains(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "validate_org_domains", value) + + +class DomainPolicy(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + org_id: Optional[pulumi.Input[str]] = None, + smtp_sender_address_matches_instance_domain: Optional[pulumi.Input[bool]] = None, + user_login_must_be_domain: Optional[pulumi.Input[bool]] = None, + validate_org_domains: Optional[pulumi.Input[bool]] = None, + __props__=None): + """ + Resource representing the custom domain policy of an organization. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.DomainPolicy("default", + org_id=data["zitadel_org"]["default"]["id"], + user_login_must_be_domain=False, + validate_org_domains=True, + smtp_sender_address_matches_instance_domain=True) + ``` + + ## Import + + bash The resource can be imported using the ID format `<[org_id]>`, e.g. + + ```sh + $ pulumi import zitadel:index/domainPolicy:DomainPolicy imported '123456789012345678' + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[bool] user_login_must_be_domain: User login must be domain + :param pulumi.Input[bool] validate_org_domains: Validate organization domains + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: DomainPolicyArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource representing the custom domain policy of an organization. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.DomainPolicy("default", + org_id=data["zitadel_org"]["default"]["id"], + user_login_must_be_domain=False, + validate_org_domains=True, + smtp_sender_address_matches_instance_domain=True) + ``` + + ## Import + + bash The resource can be imported using the ID format `<[org_id]>`, e.g. + + ```sh + $ pulumi import zitadel:index/domainPolicy:DomainPolicy imported '123456789012345678' + ``` + + :param str resource_name: The name of the resource. + :param DomainPolicyArgs 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(DomainPolicyArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + DomainPolicyArgs._configure(_setter, **kwargs) + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + org_id: Optional[pulumi.Input[str]] = None, + smtp_sender_address_matches_instance_domain: Optional[pulumi.Input[bool]] = None, + user_login_must_be_domain: Optional[pulumi.Input[bool]] = None, + validate_org_domains: Optional[pulumi.Input[bool]] = 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__ = DomainPolicyArgs.__new__(DomainPolicyArgs) + + __props__.__dict__["org_id"] = org_id + if smtp_sender_address_matches_instance_domain is None and not opts.urn: + raise TypeError("Missing required property 'smtp_sender_address_matches_instance_domain'") + __props__.__dict__["smtp_sender_address_matches_instance_domain"] = smtp_sender_address_matches_instance_domain + if user_login_must_be_domain is None and not opts.urn: + raise TypeError("Missing required property 'user_login_must_be_domain'") + __props__.__dict__["user_login_must_be_domain"] = user_login_must_be_domain + if validate_org_domains is None and not opts.urn: + raise TypeError("Missing required property 'validate_org_domains'") + __props__.__dict__["validate_org_domains"] = validate_org_domains + super(DomainPolicy, __self__).__init__( + 'zitadel:index/domainPolicy:DomainPolicy', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + org_id: Optional[pulumi.Input[str]] = None, + smtp_sender_address_matches_instance_domain: Optional[pulumi.Input[bool]] = None, + user_login_must_be_domain: Optional[pulumi.Input[bool]] = None, + validate_org_domains: Optional[pulumi.Input[bool]] = None) -> 'DomainPolicy': + """ + Get an existing DomainPolicy 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[str] org_id: ID of the organization + :param pulumi.Input[bool] user_login_must_be_domain: User login must be domain + :param pulumi.Input[bool] validate_org_domains: Validate organization domains + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _DomainPolicyState.__new__(_DomainPolicyState) + + __props__.__dict__["org_id"] = org_id + __props__.__dict__["smtp_sender_address_matches_instance_domain"] = smtp_sender_address_matches_instance_domain + __props__.__dict__["user_login_must_be_domain"] = user_login_must_be_domain + __props__.__dict__["validate_org_domains"] = validate_org_domains + return DomainPolicy(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> pulumi.Output[Optional[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @property + @pulumi.getter(name="smtpSenderAddressMatchesInstanceDomain") + def smtp_sender_address_matches_instance_domain(self) -> pulumi.Output[bool]: + return pulumi.get(self, "smtp_sender_address_matches_instance_domain") + + @property + @pulumi.getter(name="userLoginMustBeDomain") + def user_login_must_be_domain(self) -> pulumi.Output[bool]: + """ + User login must be domain + """ + return pulumi.get(self, "user_login_must_be_domain") + + @property + @pulumi.getter(name="validateOrgDomains") + def validate_org_domains(self) -> pulumi.Output[bool]: + """ + Validate organization domains + """ + return pulumi.get(self, "validate_org_domains") + diff --git a/sdk/python/scoretechnologies_zitadel/get_action.py b/sdk/python/scoretechnologies_zitadel/get_action.py new file mode 100644 index 0000000..65fd0ce --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/get_action.py @@ -0,0 +1,185 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = [ + 'GetActionResult', + 'AwaitableGetActionResult', + 'get_action', + 'get_action_output', +] + +@pulumi.output_type +class GetActionResult: + """ + A collection of values returned by getAction. + """ + def __init__(__self__, action_id=None, allowed_to_fail=None, id=None, name=None, org_id=None, script=None, state=None, timeout=None): + if action_id and not isinstance(action_id, str): + raise TypeError("Expected argument 'action_id' to be a str") + pulumi.set(__self__, "action_id", action_id) + if allowed_to_fail and not isinstance(allowed_to_fail, bool): + raise TypeError("Expected argument 'allowed_to_fail' to be a bool") + pulumi.set(__self__, "allowed_to_fail", allowed_to_fail) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if org_id and not isinstance(org_id, str): + raise TypeError("Expected argument 'org_id' to be a str") + pulumi.set(__self__, "org_id", org_id) + if script and not isinstance(script, str): + raise TypeError("Expected argument 'script' to be a str") + pulumi.set(__self__, "script", script) + if state and not isinstance(state, int): + raise TypeError("Expected argument 'state' to be a int") + pulumi.set(__self__, "state", state) + if timeout and not isinstance(timeout, str): + raise TypeError("Expected argument 'timeout' to be a str") + pulumi.set(__self__, "timeout", timeout) + + @property + @pulumi.getter(name="actionId") + def action_id(self) -> str: + """ + The ID of this resource. + """ + return pulumi.get(self, "action_id") + + @property + @pulumi.getter(name="allowedToFail") + def allowed_to_fail(self) -> bool: + """ + when true, the next action will be called even if this action fails + """ + return pulumi.get(self, "allowed_to_fail") + + @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 name(self) -> str: + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[str]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @property + @pulumi.getter + def script(self) -> str: + return pulumi.get(self, "script") + + @property + @pulumi.getter + def state(self) -> int: + """ + the state of the action + """ + return pulumi.get(self, "state") + + @property + @pulumi.getter + def timeout(self) -> str: + """ + after which time the action will be terminated if not finished + """ + return pulumi.get(self, "timeout") + + +class AwaitableGetActionResult(GetActionResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetActionResult( + action_id=self.action_id, + allowed_to_fail=self.allowed_to_fail, + id=self.id, + name=self.name, + org_id=self.org_id, + script=self.script, + state=self.state, + timeout=self.timeout) + + +def get_action(action_id: Optional[str] = None, + org_id: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetActionResult: + """ + Datasource representing an action belonging to an organization. + + ## Example Usage + + ```python + import pulumi + import pulumi_zitadel as zitadel + + default = zitadel.get_action(org_id=data["zitadel_org"]["default"]["id"], + action_id="123456789012345678") + pulumi.export("action", default) + ``` + + + :param str action_id: The ID of this resource. + :param str org_id: ID of the organization + """ + __args__ = dict() + __args__['actionId'] = action_id + __args__['orgId'] = org_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('zitadel:index/getAction:getAction', __args__, opts=opts, typ=GetActionResult).value + + return AwaitableGetActionResult( + action_id=pulumi.get(__ret__, 'action_id'), + allowed_to_fail=pulumi.get(__ret__, 'allowed_to_fail'), + id=pulumi.get(__ret__, 'id'), + name=pulumi.get(__ret__, 'name'), + org_id=pulumi.get(__ret__, 'org_id'), + script=pulumi.get(__ret__, 'script'), + state=pulumi.get(__ret__, 'state'), + timeout=pulumi.get(__ret__, 'timeout')) + + +@_utilities.lift_output_func(get_action) +def get_action_output(action_id: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[Optional[str]]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetActionResult]: + """ + Datasource representing an action belonging to an organization. + + ## Example Usage + + ```python + import pulumi + import pulumi_zitadel as zitadel + + default = zitadel.get_action(org_id=data["zitadel_org"]["default"]["id"], + action_id="123456789012345678") + pulumi.export("action", default) + ``` + + + :param str action_id: The ID of this resource. + :param str org_id: ID of the organization + """ + ... diff --git a/sdk/python/scoretechnologies_zitadel/get_application_api.py b/sdk/python/scoretechnologies_zitadel/get_application_api.py new file mode 100644 index 0000000..c52d982 --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/get_application_api.py @@ -0,0 +1,180 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = [ + 'GetApplicationApiResult', + 'AwaitableGetApplicationApiResult', + 'get_application_api', + 'get_application_api_output', +] + +@pulumi.output_type +class GetApplicationApiResult: + """ + A collection of values returned by getApplicationApi. + """ + def __init__(__self__, app_id=None, auth_method_type=None, client_id=None, id=None, name=None, org_id=None, project_id=None): + if app_id and not isinstance(app_id, str): + raise TypeError("Expected argument 'app_id' to be a str") + pulumi.set(__self__, "app_id", app_id) + if auth_method_type and not isinstance(auth_method_type, str): + raise TypeError("Expected argument 'auth_method_type' to be a str") + pulumi.set(__self__, "auth_method_type", auth_method_type) + if client_id and not isinstance(client_id, str): + raise TypeError("Expected argument 'client_id' to be a str") + pulumi.set(__self__, "client_id", client_id) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if org_id and not isinstance(org_id, str): + raise TypeError("Expected argument 'org_id' to be a str") + pulumi.set(__self__, "org_id", org_id) + if project_id and not isinstance(project_id, str): + raise TypeError("Expected argument 'project_id' to be a str") + pulumi.set(__self__, "project_id", project_id) + + @property + @pulumi.getter(name="appId") + def app_id(self) -> str: + """ + The ID of this resource. + """ + return pulumi.get(self, "app_id") + + @property + @pulumi.getter(name="authMethodType") + def auth_method_type(self) -> str: + """ + Auth method type + """ + return pulumi.get(self, "auth_method_type") + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> str: + return pulumi.get(self, "client_id") + + @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 name(self) -> str: + """ + Name of the application + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[str]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @property + @pulumi.getter(name="projectId") + def project_id(self) -> str: + """ + ID of the project + """ + return pulumi.get(self, "project_id") + + +class AwaitableGetApplicationApiResult(GetApplicationApiResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetApplicationApiResult( + app_id=self.app_id, + auth_method_type=self.auth_method_type, + client_id=self.client_id, + id=self.id, + name=self.name, + org_id=self.org_id, + project_id=self.project_id) + + +def get_application_api(app_id: Optional[str] = None, + org_id: Optional[str] = None, + project_id: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetApplicationApiResult: + """ + Datasource representing an API application belonging to a project, with all configuration possibilities. + + ## Example Usage + + ```python + import pulumi + import pulumi_zitadel as zitadel + + default = zitadel.get_application_api(org_id=data["zitadel_org"]["default"]["id"], + project_id=data["zitadel_project"]["default"]["id"], + app_id="123456789012345678") + ``` + + + :param str app_id: The ID of this resource. + :param str org_id: ID of the organization + :param str project_id: ID of the project + """ + __args__ = dict() + __args__['appId'] = app_id + __args__['orgId'] = org_id + __args__['projectId'] = project_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('zitadel:index/getApplicationApi:getApplicationApi', __args__, opts=opts, typ=GetApplicationApiResult).value + + return AwaitableGetApplicationApiResult( + app_id=pulumi.get(__ret__, 'app_id'), + auth_method_type=pulumi.get(__ret__, 'auth_method_type'), + client_id=pulumi.get(__ret__, 'client_id'), + id=pulumi.get(__ret__, 'id'), + name=pulumi.get(__ret__, 'name'), + org_id=pulumi.get(__ret__, 'org_id'), + project_id=pulumi.get(__ret__, 'project_id')) + + +@_utilities.lift_output_func(get_application_api) +def get_application_api_output(app_id: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[Optional[str]]] = None, + project_id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetApplicationApiResult]: + """ + Datasource representing an API application belonging to a project, with all configuration possibilities. + + ## Example Usage + + ```python + import pulumi + import pulumi_zitadel as zitadel + + default = zitadel.get_application_api(org_id=data["zitadel_org"]["default"]["id"], + project_id=data["zitadel_project"]["default"]["id"], + app_id="123456789012345678") + ``` + + + :param str app_id: The ID of this resource. + :param str org_id: ID of the organization + :param str project_id: ID of the project + """ + ... diff --git a/sdk/python/scoretechnologies_zitadel/get_application_apis.py b/sdk/python/scoretechnologies_zitadel/get_application_apis.py new file mode 100644 index 0000000..6b3d8eb --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/get_application_apis.py @@ -0,0 +1,153 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = [ + 'GetApplicationApisResult', + 'AwaitableGetApplicationApisResult', + 'get_application_apis', + 'get_application_apis_output', +] + +@pulumi.output_type +class GetApplicationApisResult: + """ + A collection of values returned by getApplicationApis. + """ + def __init__(__self__, app_ids=None, id=None, name=None, name_method=None, org_id=None, project_id=None): + if app_ids and not isinstance(app_ids, list): + raise TypeError("Expected argument 'app_ids' to be a list") + pulumi.set(__self__, "app_ids", app_ids) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if name_method and not isinstance(name_method, str): + raise TypeError("Expected argument 'name_method' to be a str") + pulumi.set(__self__, "name_method", name_method) + if org_id and not isinstance(org_id, str): + raise TypeError("Expected argument 'org_id' to be a str") + pulumi.set(__self__, "org_id", org_id) + if project_id and not isinstance(project_id, str): + raise TypeError("Expected argument 'project_id' to be a str") + pulumi.set(__self__, "project_id", project_id) + + @property + @pulumi.getter(name="appIds") + def app_ids(self) -> Sequence[str]: + """ + A set of all IDs. + """ + return pulumi.get(self, "app_ids") + + @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 name(self) -> str: + """ + Name of the application + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="nameMethod") + def name_method(self) -> Optional[str]: + """ + Method for querying applications by name, supported values: TEXT*QUERY*METHOD*EQUALS, TEXT*QUERY*METHOD*EQUALS*IGNORE*CASE, TEXT*QUERY*METHOD*STARTS*WITH, TEXT*QUERY*METHOD*STARTS*WITH*IGNORE*CASE, TEXT*QUERY*METHOD*CONTAINS, TEXT*QUERY*METHOD*CONTAINS*IGNORE*CASE, TEXT*QUERY*METHOD*ENDS*WITH, TEXT*QUERY*METHOD*ENDS*WITH*IGNORE*CASE + """ + return pulumi.get(self, "name_method") + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[str]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @property + @pulumi.getter(name="projectId") + def project_id(self) -> str: + """ + ID of the project + """ + return pulumi.get(self, "project_id") + + +class AwaitableGetApplicationApisResult(GetApplicationApisResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetApplicationApisResult( + app_ids=self.app_ids, + id=self.id, + name=self.name, + name_method=self.name_method, + org_id=self.org_id, + project_id=self.project_id) + + +def get_application_apis(name: Optional[str] = None, + name_method: Optional[str] = None, + org_id: Optional[str] = None, + project_id: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetApplicationApisResult: + """ + Datasource representing multiple API applications belonging to a project. + + + :param str name: Name of the application + :param str name_method: Method for querying applications by name, supported values: TEXT*QUERY*METHOD*EQUALS, TEXT*QUERY*METHOD*EQUALS*IGNORE*CASE, TEXT*QUERY*METHOD*STARTS*WITH, TEXT*QUERY*METHOD*STARTS*WITH*IGNORE*CASE, TEXT*QUERY*METHOD*CONTAINS, TEXT*QUERY*METHOD*CONTAINS*IGNORE*CASE, TEXT*QUERY*METHOD*ENDS*WITH, TEXT*QUERY*METHOD*ENDS*WITH*IGNORE*CASE + :param str org_id: ID of the organization + :param str project_id: ID of the project + """ + __args__ = dict() + __args__['name'] = name + __args__['nameMethod'] = name_method + __args__['orgId'] = org_id + __args__['projectId'] = project_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('zitadel:index/getApplicationApis:getApplicationApis', __args__, opts=opts, typ=GetApplicationApisResult).value + + return AwaitableGetApplicationApisResult( + app_ids=pulumi.get(__ret__, 'app_ids'), + id=pulumi.get(__ret__, 'id'), + name=pulumi.get(__ret__, 'name'), + name_method=pulumi.get(__ret__, 'name_method'), + org_id=pulumi.get(__ret__, 'org_id'), + project_id=pulumi.get(__ret__, 'project_id')) + + +@_utilities.lift_output_func(get_application_apis) +def get_application_apis_output(name: Optional[pulumi.Input[str]] = None, + name_method: Optional[pulumi.Input[Optional[str]]] = None, + org_id: Optional[pulumi.Input[Optional[str]]] = None, + project_id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetApplicationApisResult]: + """ + Datasource representing multiple API applications belonging to a project. + + + :param str name: Name of the application + :param str name_method: Method for querying applications by name, supported values: TEXT*QUERY*METHOD*EQUALS, TEXT*QUERY*METHOD*EQUALS*IGNORE*CASE, TEXT*QUERY*METHOD*STARTS*WITH, TEXT*QUERY*METHOD*STARTS*WITH*IGNORE*CASE, TEXT*QUERY*METHOD*CONTAINS, TEXT*QUERY*METHOD*CONTAINS*IGNORE*CASE, TEXT*QUERY*METHOD*ENDS*WITH, TEXT*QUERY*METHOD*ENDS*WITH*IGNORE*CASE + :param str org_id: ID of the organization + :param str project_id: ID of the project + """ + ... diff --git a/sdk/python/scoretechnologies_zitadel/get_application_oidc.py b/sdk/python/scoretechnologies_zitadel/get_application_oidc.py new file mode 100644 index 0000000..8dfe05a --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/get_application_oidc.py @@ -0,0 +1,349 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = [ + 'GetApplicationOidcResult', + 'AwaitableGetApplicationOidcResult', + 'get_application_oidc', + 'get_application_oidc_output', +] + +@pulumi.output_type +class GetApplicationOidcResult: + """ + A collection of values returned by getApplicationOidc. + """ + def __init__(__self__, access_token_role_assertion=None, access_token_type=None, additional_origins=None, app_id=None, app_type=None, auth_method_type=None, client_id=None, clock_skew=None, dev_mode=None, grant_types=None, id=None, id_token_role_assertion=None, id_token_userinfo_assertion=None, name=None, org_id=None, post_logout_redirect_uris=None, project_id=None, redirect_uris=None, response_types=None, version=None): + if access_token_role_assertion and not isinstance(access_token_role_assertion, bool): + raise TypeError("Expected argument 'access_token_role_assertion' to be a bool") + pulumi.set(__self__, "access_token_role_assertion", access_token_role_assertion) + if access_token_type and not isinstance(access_token_type, str): + raise TypeError("Expected argument 'access_token_type' to be a str") + pulumi.set(__self__, "access_token_type", access_token_type) + if additional_origins and not isinstance(additional_origins, list): + raise TypeError("Expected argument 'additional_origins' to be a list") + pulumi.set(__self__, "additional_origins", additional_origins) + if app_id and not isinstance(app_id, str): + raise TypeError("Expected argument 'app_id' to be a str") + pulumi.set(__self__, "app_id", app_id) + if app_type and not isinstance(app_type, str): + raise TypeError("Expected argument 'app_type' to be a str") + pulumi.set(__self__, "app_type", app_type) + if auth_method_type and not isinstance(auth_method_type, str): + raise TypeError("Expected argument 'auth_method_type' to be a str") + pulumi.set(__self__, "auth_method_type", auth_method_type) + if client_id and not isinstance(client_id, str): + raise TypeError("Expected argument 'client_id' to be a str") + pulumi.set(__self__, "client_id", client_id) + if clock_skew and not isinstance(clock_skew, str): + raise TypeError("Expected argument 'clock_skew' to be a str") + pulumi.set(__self__, "clock_skew", clock_skew) + if dev_mode and not isinstance(dev_mode, bool): + raise TypeError("Expected argument 'dev_mode' to be a bool") + pulumi.set(__self__, "dev_mode", dev_mode) + if grant_types and not isinstance(grant_types, list): + raise TypeError("Expected argument 'grant_types' to be a list") + pulumi.set(__self__, "grant_types", grant_types) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if id_token_role_assertion and not isinstance(id_token_role_assertion, bool): + raise TypeError("Expected argument 'id_token_role_assertion' to be a bool") + pulumi.set(__self__, "id_token_role_assertion", id_token_role_assertion) + if id_token_userinfo_assertion and not isinstance(id_token_userinfo_assertion, bool): + raise TypeError("Expected argument 'id_token_userinfo_assertion' to be a bool") + pulumi.set(__self__, "id_token_userinfo_assertion", id_token_userinfo_assertion) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if org_id and not isinstance(org_id, str): + raise TypeError("Expected argument 'org_id' to be a str") + pulumi.set(__self__, "org_id", org_id) + if post_logout_redirect_uris and not isinstance(post_logout_redirect_uris, list): + raise TypeError("Expected argument 'post_logout_redirect_uris' to be a list") + pulumi.set(__self__, "post_logout_redirect_uris", post_logout_redirect_uris) + if project_id and not isinstance(project_id, str): + raise TypeError("Expected argument 'project_id' to be a str") + pulumi.set(__self__, "project_id", project_id) + if redirect_uris and not isinstance(redirect_uris, list): + raise TypeError("Expected argument 'redirect_uris' to be a list") + pulumi.set(__self__, "redirect_uris", redirect_uris) + if response_types and not isinstance(response_types, list): + raise TypeError("Expected argument 'response_types' to be a list") + pulumi.set(__self__, "response_types", response_types) + if version and not isinstance(version, str): + raise TypeError("Expected argument 'version' to be a str") + pulumi.set(__self__, "version", version) + + @property + @pulumi.getter(name="accessTokenRoleAssertion") + def access_token_role_assertion(self) -> bool: + """ + Access token role assertion + """ + return pulumi.get(self, "access_token_role_assertion") + + @property + @pulumi.getter(name="accessTokenType") + def access_token_type(self) -> str: + """ + Access token type + """ + return pulumi.get(self, "access_token_type") + + @property + @pulumi.getter(name="additionalOrigins") + def additional_origins(self) -> Sequence[str]: + """ + Additional origins + """ + return pulumi.get(self, "additional_origins") + + @property + @pulumi.getter(name="appId") + def app_id(self) -> str: + """ + The ID of this resource. + """ + return pulumi.get(self, "app_id") + + @property + @pulumi.getter(name="appType") + def app_type(self) -> str: + """ + App type + """ + return pulumi.get(self, "app_type") + + @property + @pulumi.getter(name="authMethodType") + def auth_method_type(self) -> str: + """ + Auth method type + """ + return pulumi.get(self, "auth_method_type") + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> str: + return pulumi.get(self, "client_id") + + @property + @pulumi.getter(name="clockSkew") + def clock_skew(self) -> str: + """ + Clockskew + """ + return pulumi.get(self, "clock_skew") + + @property + @pulumi.getter(name="devMode") + def dev_mode(self) -> bool: + """ + Dev mode + """ + return pulumi.get(self, "dev_mode") + + @property + @pulumi.getter(name="grantTypes") + def grant_types(self) -> Sequence[str]: + """ + Grant types + """ + return pulumi.get(self, "grant_types") + + @property + @pulumi.getter + def id(self) -> str: + """ + The provider-assigned unique ID for this managed resource. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="idTokenRoleAssertion") + def id_token_role_assertion(self) -> bool: + """ + ID token role assertion + """ + return pulumi.get(self, "id_token_role_assertion") + + @property + @pulumi.getter(name="idTokenUserinfoAssertion") + def id_token_userinfo_assertion(self) -> bool: + """ + Token userinfo assertion + """ + return pulumi.get(self, "id_token_userinfo_assertion") + + @property + @pulumi.getter + def name(self) -> str: + """ + Name of the application + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[str]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @property + @pulumi.getter(name="postLogoutRedirectUris") + def post_logout_redirect_uris(self) -> Sequence[str]: + """ + Post logout redirect URIs + """ + return pulumi.get(self, "post_logout_redirect_uris") + + @property + @pulumi.getter(name="projectId") + def project_id(self) -> str: + """ + ID of the project + """ + return pulumi.get(self, "project_id") + + @property + @pulumi.getter(name="redirectUris") + def redirect_uris(self) -> Sequence[str]: + """ + RedirectURIs + """ + return pulumi.get(self, "redirect_uris") + + @property + @pulumi.getter(name="responseTypes") + def response_types(self) -> Sequence[str]: + """ + Response type + """ + return pulumi.get(self, "response_types") + + @property + @pulumi.getter + def version(self) -> str: + """ + Version + """ + return pulumi.get(self, "version") + + +class AwaitableGetApplicationOidcResult(GetApplicationOidcResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetApplicationOidcResult( + access_token_role_assertion=self.access_token_role_assertion, + access_token_type=self.access_token_type, + additional_origins=self.additional_origins, + app_id=self.app_id, + app_type=self.app_type, + auth_method_type=self.auth_method_type, + client_id=self.client_id, + clock_skew=self.clock_skew, + dev_mode=self.dev_mode, + grant_types=self.grant_types, + id=self.id, + id_token_role_assertion=self.id_token_role_assertion, + id_token_userinfo_assertion=self.id_token_userinfo_assertion, + name=self.name, + org_id=self.org_id, + post_logout_redirect_uris=self.post_logout_redirect_uris, + project_id=self.project_id, + redirect_uris=self.redirect_uris, + response_types=self.response_types, + version=self.version) + + +def get_application_oidc(app_id: Optional[str] = None, + org_id: Optional[str] = None, + project_id: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetApplicationOidcResult: + """ + Datasource representing an OIDC application belonging to a project, with all configuration possibilities. + + ## Example Usage + + ```python + import pulumi + import pulumi_zitadel as zitadel + + default = zitadel.get_application_oidc(org_id=data["zitadel_org"]["default"]["id"], + project_id=data["zitadel_project"]["default"]["id"], + app_id="123456789012345678") + ``` + + + :param str app_id: The ID of this resource. + :param str org_id: ID of the organization + :param str project_id: ID of the project + """ + __args__ = dict() + __args__['appId'] = app_id + __args__['orgId'] = org_id + __args__['projectId'] = project_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('zitadel:index/getApplicationOidc:getApplicationOidc', __args__, opts=opts, typ=GetApplicationOidcResult).value + + return AwaitableGetApplicationOidcResult( + access_token_role_assertion=pulumi.get(__ret__, 'access_token_role_assertion'), + access_token_type=pulumi.get(__ret__, 'access_token_type'), + additional_origins=pulumi.get(__ret__, 'additional_origins'), + app_id=pulumi.get(__ret__, 'app_id'), + app_type=pulumi.get(__ret__, 'app_type'), + auth_method_type=pulumi.get(__ret__, 'auth_method_type'), + client_id=pulumi.get(__ret__, 'client_id'), + clock_skew=pulumi.get(__ret__, 'clock_skew'), + dev_mode=pulumi.get(__ret__, 'dev_mode'), + grant_types=pulumi.get(__ret__, 'grant_types'), + id=pulumi.get(__ret__, 'id'), + id_token_role_assertion=pulumi.get(__ret__, 'id_token_role_assertion'), + id_token_userinfo_assertion=pulumi.get(__ret__, 'id_token_userinfo_assertion'), + name=pulumi.get(__ret__, 'name'), + org_id=pulumi.get(__ret__, 'org_id'), + post_logout_redirect_uris=pulumi.get(__ret__, 'post_logout_redirect_uris'), + project_id=pulumi.get(__ret__, 'project_id'), + redirect_uris=pulumi.get(__ret__, 'redirect_uris'), + response_types=pulumi.get(__ret__, 'response_types'), + version=pulumi.get(__ret__, 'version')) + + +@_utilities.lift_output_func(get_application_oidc) +def get_application_oidc_output(app_id: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[Optional[str]]] = None, + project_id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetApplicationOidcResult]: + """ + Datasource representing an OIDC application belonging to a project, with all configuration possibilities. + + ## Example Usage + + ```python + import pulumi + import pulumi_zitadel as zitadel + + default = zitadel.get_application_oidc(org_id=data["zitadel_org"]["default"]["id"], + project_id=data["zitadel_project"]["default"]["id"], + app_id="123456789012345678") + ``` + + + :param str app_id: The ID of this resource. + :param str org_id: ID of the organization + :param str project_id: ID of the project + """ + ... diff --git a/sdk/python/scoretechnologies_zitadel/get_application_oidcs.py b/sdk/python/scoretechnologies_zitadel/get_application_oidcs.py new file mode 100644 index 0000000..f8dcf8d --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/get_application_oidcs.py @@ -0,0 +1,153 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = [ + 'GetApplicationOidcsResult', + 'AwaitableGetApplicationOidcsResult', + 'get_application_oidcs', + 'get_application_oidcs_output', +] + +@pulumi.output_type +class GetApplicationOidcsResult: + """ + A collection of values returned by getApplicationOidcs. + """ + def __init__(__self__, app_ids=None, id=None, name=None, name_method=None, org_id=None, project_id=None): + if app_ids and not isinstance(app_ids, list): + raise TypeError("Expected argument 'app_ids' to be a list") + pulumi.set(__self__, "app_ids", app_ids) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if name_method and not isinstance(name_method, str): + raise TypeError("Expected argument 'name_method' to be a str") + pulumi.set(__self__, "name_method", name_method) + if org_id and not isinstance(org_id, str): + raise TypeError("Expected argument 'org_id' to be a str") + pulumi.set(__self__, "org_id", org_id) + if project_id and not isinstance(project_id, str): + raise TypeError("Expected argument 'project_id' to be a str") + pulumi.set(__self__, "project_id", project_id) + + @property + @pulumi.getter(name="appIds") + def app_ids(self) -> Sequence[str]: + """ + A set of all IDs. + """ + return pulumi.get(self, "app_ids") + + @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 name(self) -> str: + """ + Name of the application + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="nameMethod") + def name_method(self) -> Optional[str]: + """ + Method for querying applications by name, supported values: TEXT*QUERY*METHOD*EQUALS, TEXT*QUERY*METHOD*EQUALS*IGNORE*CASE, TEXT*QUERY*METHOD*STARTS*WITH, TEXT*QUERY*METHOD*STARTS*WITH*IGNORE*CASE, TEXT*QUERY*METHOD*CONTAINS, TEXT*QUERY*METHOD*CONTAINS*IGNORE*CASE, TEXT*QUERY*METHOD*ENDS*WITH, TEXT*QUERY*METHOD*ENDS*WITH*IGNORE*CASE + """ + return pulumi.get(self, "name_method") + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[str]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @property + @pulumi.getter(name="projectId") + def project_id(self) -> str: + """ + ID of the project + """ + return pulumi.get(self, "project_id") + + +class AwaitableGetApplicationOidcsResult(GetApplicationOidcsResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetApplicationOidcsResult( + app_ids=self.app_ids, + id=self.id, + name=self.name, + name_method=self.name_method, + org_id=self.org_id, + project_id=self.project_id) + + +def get_application_oidcs(name: Optional[str] = None, + name_method: Optional[str] = None, + org_id: Optional[str] = None, + project_id: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetApplicationOidcsResult: + """ + Datasource representing multiple OIDC applications belonging to a project. + + + :param str name: Name of the application + :param str name_method: Method for querying applications by name, supported values: TEXT*QUERY*METHOD*EQUALS, TEXT*QUERY*METHOD*EQUALS*IGNORE*CASE, TEXT*QUERY*METHOD*STARTS*WITH, TEXT*QUERY*METHOD*STARTS*WITH*IGNORE*CASE, TEXT*QUERY*METHOD*CONTAINS, TEXT*QUERY*METHOD*CONTAINS*IGNORE*CASE, TEXT*QUERY*METHOD*ENDS*WITH, TEXT*QUERY*METHOD*ENDS*WITH*IGNORE*CASE + :param str org_id: ID of the organization + :param str project_id: ID of the project + """ + __args__ = dict() + __args__['name'] = name + __args__['nameMethod'] = name_method + __args__['orgId'] = org_id + __args__['projectId'] = project_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('zitadel:index/getApplicationOidcs:getApplicationOidcs', __args__, opts=opts, typ=GetApplicationOidcsResult).value + + return AwaitableGetApplicationOidcsResult( + app_ids=pulumi.get(__ret__, 'app_ids'), + id=pulumi.get(__ret__, 'id'), + name=pulumi.get(__ret__, 'name'), + name_method=pulumi.get(__ret__, 'name_method'), + org_id=pulumi.get(__ret__, 'org_id'), + project_id=pulumi.get(__ret__, 'project_id')) + + +@_utilities.lift_output_func(get_application_oidcs) +def get_application_oidcs_output(name: Optional[pulumi.Input[str]] = None, + name_method: Optional[pulumi.Input[Optional[str]]] = None, + org_id: Optional[pulumi.Input[Optional[str]]] = None, + project_id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetApplicationOidcsResult]: + """ + Datasource representing multiple OIDC applications belonging to a project. + + + :param str name: Name of the application + :param str name_method: Method for querying applications by name, supported values: TEXT*QUERY*METHOD*EQUALS, TEXT*QUERY*METHOD*EQUALS*IGNORE*CASE, TEXT*QUERY*METHOD*STARTS*WITH, TEXT*QUERY*METHOD*STARTS*WITH*IGNORE*CASE, TEXT*QUERY*METHOD*CONTAINS, TEXT*QUERY*METHOD*CONTAINS*IGNORE*CASE, TEXT*QUERY*METHOD*ENDS*WITH, TEXT*QUERY*METHOD*ENDS*WITH*IGNORE*CASE + :param str org_id: ID of the organization + :param str project_id: ID of the project + """ + ... diff --git a/sdk/python/scoretechnologies_zitadel/get_application_saml.py b/sdk/python/scoretechnologies_zitadel/get_application_saml.py new file mode 100644 index 0000000..d8ed80f --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/get_application_saml.py @@ -0,0 +1,170 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = [ + 'GetApplicationSamlResult', + 'AwaitableGetApplicationSamlResult', + 'get_application_saml', + 'get_application_saml_output', +] + +@pulumi.output_type +class GetApplicationSamlResult: + """ + A collection of values returned by getApplicationSaml. + """ + def __init__(__self__, app_id=None, id=None, metadata_xml=None, name=None, org_id=None, project_id=None): + if app_id and not isinstance(app_id, str): + raise TypeError("Expected argument 'app_id' to be a str") + pulumi.set(__self__, "app_id", app_id) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if metadata_xml and not isinstance(metadata_xml, str): + raise TypeError("Expected argument 'metadata_xml' to be a str") + pulumi.set(__self__, "metadata_xml", metadata_xml) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if org_id and not isinstance(org_id, str): + raise TypeError("Expected argument 'org_id' to be a str") + pulumi.set(__self__, "org_id", org_id) + if project_id and not isinstance(project_id, str): + raise TypeError("Expected argument 'project_id' to be a str") + pulumi.set(__self__, "project_id", project_id) + + @property + @pulumi.getter(name="appId") + def app_id(self) -> str: + """ + The ID of this resource. + """ + return pulumi.get(self, "app_id") + + @property + @pulumi.getter + def id(self) -> str: + """ + The provider-assigned unique ID for this managed resource. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="metadataXml") + def metadata_xml(self) -> str: + """ + Metadata as XML file + """ + return pulumi.get(self, "metadata_xml") + + @property + @pulumi.getter + def name(self) -> str: + """ + Name of the application + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[str]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @property + @pulumi.getter(name="projectId") + def project_id(self) -> str: + """ + ID of the project + """ + return pulumi.get(self, "project_id") + + +class AwaitableGetApplicationSamlResult(GetApplicationSamlResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetApplicationSamlResult( + app_id=self.app_id, + id=self.id, + metadata_xml=self.metadata_xml, + name=self.name, + org_id=self.org_id, + project_id=self.project_id) + + +def get_application_saml(app_id: Optional[str] = None, + org_id: Optional[str] = None, + project_id: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetApplicationSamlResult: + """ + Datasource representing a SAML application belonging to a project, with all configuration possibilities. + + ## Example Usage + + ```python + import pulumi + import pulumi_zitadel as zitadel + + default = zitadel.get_application_saml(org_id=data["zitadel_org"]["default"]["id"], + project_id=data["zitadel_project"]["default"]["id"], + app_id="123456789012345678") + ``` + + + :param str app_id: The ID of this resource. + :param str org_id: ID of the organization + :param str project_id: ID of the project + """ + __args__ = dict() + __args__['appId'] = app_id + __args__['orgId'] = org_id + __args__['projectId'] = project_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('zitadel:index/getApplicationSaml:getApplicationSaml', __args__, opts=opts, typ=GetApplicationSamlResult).value + + return AwaitableGetApplicationSamlResult( + app_id=pulumi.get(__ret__, 'app_id'), + id=pulumi.get(__ret__, 'id'), + metadata_xml=pulumi.get(__ret__, 'metadata_xml'), + name=pulumi.get(__ret__, 'name'), + org_id=pulumi.get(__ret__, 'org_id'), + project_id=pulumi.get(__ret__, 'project_id')) + + +@_utilities.lift_output_func(get_application_saml) +def get_application_saml_output(app_id: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[Optional[str]]] = None, + project_id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetApplicationSamlResult]: + """ + Datasource representing a SAML application belonging to a project, with all configuration possibilities. + + ## Example Usage + + ```python + import pulumi + import pulumi_zitadel as zitadel + + default = zitadel.get_application_saml(org_id=data["zitadel_org"]["default"]["id"], + project_id=data["zitadel_project"]["default"]["id"], + app_id="123456789012345678") + ``` + + + :param str app_id: The ID of this resource. + :param str org_id: ID of the organization + :param str project_id: ID of the project + """ + ... diff --git a/sdk/python/scoretechnologies_zitadel/get_application_samls.py b/sdk/python/scoretechnologies_zitadel/get_application_samls.py new file mode 100644 index 0000000..ca3884a --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/get_application_samls.py @@ -0,0 +1,153 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = [ + 'GetApplicationSamlsResult', + 'AwaitableGetApplicationSamlsResult', + 'get_application_samls', + 'get_application_samls_output', +] + +@pulumi.output_type +class GetApplicationSamlsResult: + """ + A collection of values returned by getApplicationSamls. + """ + def __init__(__self__, app_ids=None, id=None, name=None, name_method=None, org_id=None, project_id=None): + if app_ids and not isinstance(app_ids, list): + raise TypeError("Expected argument 'app_ids' to be a list") + pulumi.set(__self__, "app_ids", app_ids) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if name_method and not isinstance(name_method, str): + raise TypeError("Expected argument 'name_method' to be a str") + pulumi.set(__self__, "name_method", name_method) + if org_id and not isinstance(org_id, str): + raise TypeError("Expected argument 'org_id' to be a str") + pulumi.set(__self__, "org_id", org_id) + if project_id and not isinstance(project_id, str): + raise TypeError("Expected argument 'project_id' to be a str") + pulumi.set(__self__, "project_id", project_id) + + @property + @pulumi.getter(name="appIds") + def app_ids(self) -> Sequence[str]: + """ + A set of all IDs. + """ + return pulumi.get(self, "app_ids") + + @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 name(self) -> str: + """ + Name of the application + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="nameMethod") + def name_method(self) -> Optional[str]: + """ + Method for querying applications by name, supported values: TEXT*QUERY*METHOD*EQUALS, TEXT*QUERY*METHOD*EQUALS*IGNORE*CASE, TEXT*QUERY*METHOD*STARTS*WITH, TEXT*QUERY*METHOD*STARTS*WITH*IGNORE*CASE, TEXT*QUERY*METHOD*CONTAINS, TEXT*QUERY*METHOD*CONTAINS*IGNORE*CASE, TEXT*QUERY*METHOD*ENDS*WITH, TEXT*QUERY*METHOD*ENDS*WITH*IGNORE*CASE + """ + return pulumi.get(self, "name_method") + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[str]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @property + @pulumi.getter(name="projectId") + def project_id(self) -> str: + """ + ID of the project + """ + return pulumi.get(self, "project_id") + + +class AwaitableGetApplicationSamlsResult(GetApplicationSamlsResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetApplicationSamlsResult( + app_ids=self.app_ids, + id=self.id, + name=self.name, + name_method=self.name_method, + org_id=self.org_id, + project_id=self.project_id) + + +def get_application_samls(name: Optional[str] = None, + name_method: Optional[str] = None, + org_id: Optional[str] = None, + project_id: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetApplicationSamlsResult: + """ + Datasource representing multiple SAML applications belonging to a project. + + + :param str name: Name of the application + :param str name_method: Method for querying applications by name, supported values: TEXT*QUERY*METHOD*EQUALS, TEXT*QUERY*METHOD*EQUALS*IGNORE*CASE, TEXT*QUERY*METHOD*STARTS*WITH, TEXT*QUERY*METHOD*STARTS*WITH*IGNORE*CASE, TEXT*QUERY*METHOD*CONTAINS, TEXT*QUERY*METHOD*CONTAINS*IGNORE*CASE, TEXT*QUERY*METHOD*ENDS*WITH, TEXT*QUERY*METHOD*ENDS*WITH*IGNORE*CASE + :param str org_id: ID of the organization + :param str project_id: ID of the project + """ + __args__ = dict() + __args__['name'] = name + __args__['nameMethod'] = name_method + __args__['orgId'] = org_id + __args__['projectId'] = project_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('zitadel:index/getApplicationSamls:getApplicationSamls', __args__, opts=opts, typ=GetApplicationSamlsResult).value + + return AwaitableGetApplicationSamlsResult( + app_ids=pulumi.get(__ret__, 'app_ids'), + id=pulumi.get(__ret__, 'id'), + name=pulumi.get(__ret__, 'name'), + name_method=pulumi.get(__ret__, 'name_method'), + org_id=pulumi.get(__ret__, 'org_id'), + project_id=pulumi.get(__ret__, 'project_id')) + + +@_utilities.lift_output_func(get_application_samls) +def get_application_samls_output(name: Optional[pulumi.Input[str]] = None, + name_method: Optional[pulumi.Input[Optional[str]]] = None, + org_id: Optional[pulumi.Input[Optional[str]]] = None, + project_id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetApplicationSamlsResult]: + """ + Datasource representing multiple SAML applications belonging to a project. + + + :param str name: Name of the application + :param str name_method: Method for querying applications by name, supported values: TEXT*QUERY*METHOD*EQUALS, TEXT*QUERY*METHOD*EQUALS*IGNORE*CASE, TEXT*QUERY*METHOD*STARTS*WITH, TEXT*QUERY*METHOD*STARTS*WITH*IGNORE*CASE, TEXT*QUERY*METHOD*CONTAINS, TEXT*QUERY*METHOD*CONTAINS*IGNORE*CASE, TEXT*QUERY*METHOD*ENDS*WITH, TEXT*QUERY*METHOD*ENDS*WITH*IGNORE*CASE + :param str org_id: ID of the organization + :param str project_id: ID of the project + """ + ... diff --git a/sdk/python/scoretechnologies_zitadel/get_default_oidc_settings.py b/sdk/python/scoretechnologies_zitadel/get_default_oidc_settings.py new file mode 100644 index 0000000..b5ff85e --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/get_default_oidc_settings.py @@ -0,0 +1,136 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = [ + 'GetDefaultOidcSettingsResult', + 'AwaitableGetDefaultOidcSettingsResult', + 'get_default_oidc_settings', + 'get_default_oidc_settings_output', +] + +@pulumi.output_type +class GetDefaultOidcSettingsResult: + """ + A collection of values returned by getDefaultOidcSettings. + """ + def __init__(__self__, access_token_lifetime=None, id=None, id_token_lifetime=None, refresh_token_expiration=None, refresh_token_idle_expiration=None): + if access_token_lifetime and not isinstance(access_token_lifetime, str): + raise TypeError("Expected argument 'access_token_lifetime' to be a str") + pulumi.set(__self__, "access_token_lifetime", access_token_lifetime) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if id_token_lifetime and not isinstance(id_token_lifetime, str): + raise TypeError("Expected argument 'id_token_lifetime' to be a str") + pulumi.set(__self__, "id_token_lifetime", id_token_lifetime) + if refresh_token_expiration and not isinstance(refresh_token_expiration, str): + raise TypeError("Expected argument 'refresh_token_expiration' to be a str") + pulumi.set(__self__, "refresh_token_expiration", refresh_token_expiration) + if refresh_token_idle_expiration and not isinstance(refresh_token_idle_expiration, str): + raise TypeError("Expected argument 'refresh_token_idle_expiration' to be a str") + pulumi.set(__self__, "refresh_token_idle_expiration", refresh_token_idle_expiration) + + @property + @pulumi.getter(name="accessTokenLifetime") + def access_token_lifetime(self) -> str: + """ + lifetime duration of access tokens + """ + return pulumi.get(self, "access_token_lifetime") + + @property + @pulumi.getter + def id(self) -> str: + """ + The provider-assigned unique ID for this managed resource. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="idTokenLifetime") + def id_token_lifetime(self) -> str: + """ + lifetime duration of id tokens + """ + return pulumi.get(self, "id_token_lifetime") + + @property + @pulumi.getter(name="refreshTokenExpiration") + def refresh_token_expiration(self) -> str: + """ + expiration duration of refresh tokens + """ + return pulumi.get(self, "refresh_token_expiration") + + @property + @pulumi.getter(name="refreshTokenIdleExpiration") + def refresh_token_idle_expiration(self) -> str: + """ + expiration duration of idle refresh tokens + """ + return pulumi.get(self, "refresh_token_idle_expiration") + + +class AwaitableGetDefaultOidcSettingsResult(GetDefaultOidcSettingsResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetDefaultOidcSettingsResult( + access_token_lifetime=self.access_token_lifetime, + id=self.id, + id_token_lifetime=self.id_token_lifetime, + refresh_token_expiration=self.refresh_token_expiration, + refresh_token_idle_expiration=self.refresh_token_idle_expiration) + + +def get_default_oidc_settings(opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetDefaultOidcSettingsResult: + """ + Datasource representing the default oidc settings. + + ## Example Usage + + ```python + import pulumi + import pulumi_zitadel as zitadel + + default = zitadel.get_default_oidc_settings() + pulumi.export("oidcSettings", default) + ``` + """ + __args__ = dict() + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('zitadel:index/getDefaultOidcSettings:getDefaultOidcSettings', __args__, opts=opts, typ=GetDefaultOidcSettingsResult).value + + return AwaitableGetDefaultOidcSettingsResult( + access_token_lifetime=pulumi.get(__ret__, 'access_token_lifetime'), + id=pulumi.get(__ret__, 'id'), + id_token_lifetime=pulumi.get(__ret__, 'id_token_lifetime'), + refresh_token_expiration=pulumi.get(__ret__, 'refresh_token_expiration'), + refresh_token_idle_expiration=pulumi.get(__ret__, 'refresh_token_idle_expiration')) + + +@_utilities.lift_output_func(get_default_oidc_settings) +def get_default_oidc_settings_output(opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDefaultOidcSettingsResult]: + """ + Datasource representing the default oidc settings. + + ## Example Usage + + ```python + import pulumi + import pulumi_zitadel as zitadel + + default = zitadel.get_default_oidc_settings() + pulumi.export("oidcSettings", default) + ``` + """ + ... diff --git a/sdk/python/scoretechnologies_zitadel/get_human_user.py b/sdk/python/scoretechnologies_zitadel/get_human_user.py new file mode 100644 index 0000000..1ce8761 --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/get_human_user.py @@ -0,0 +1,308 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = [ + 'GetHumanUserResult', + 'AwaitableGetHumanUserResult', + 'get_human_user', + 'get_human_user_output', +] + +@pulumi.output_type +class GetHumanUserResult: + """ + A collection of values returned by getHumanUser. + """ + def __init__(__self__, display_name=None, email=None, first_name=None, gender=None, id=None, is_email_verified=None, is_phone_verified=None, last_name=None, login_names=None, nick_name=None, org_id=None, phone=None, preferred_language=None, preferred_login_name=None, state=None, user_id=None, user_name=None): + if display_name and not isinstance(display_name, str): + raise TypeError("Expected argument 'display_name' to be a str") + pulumi.set(__self__, "display_name", display_name) + if email and not isinstance(email, str): + raise TypeError("Expected argument 'email' to be a str") + pulumi.set(__self__, "email", email) + if first_name and not isinstance(first_name, str): + raise TypeError("Expected argument 'first_name' to be a str") + pulumi.set(__self__, "first_name", first_name) + if gender and not isinstance(gender, str): + raise TypeError("Expected argument 'gender' to be a str") + pulumi.set(__self__, "gender", gender) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if is_email_verified and not isinstance(is_email_verified, bool): + raise TypeError("Expected argument 'is_email_verified' to be a bool") + pulumi.set(__self__, "is_email_verified", is_email_verified) + if is_phone_verified and not isinstance(is_phone_verified, bool): + raise TypeError("Expected argument 'is_phone_verified' to be a bool") + pulumi.set(__self__, "is_phone_verified", is_phone_verified) + if last_name and not isinstance(last_name, str): + raise TypeError("Expected argument 'last_name' to be a str") + pulumi.set(__self__, "last_name", last_name) + if login_names and not isinstance(login_names, list): + raise TypeError("Expected argument 'login_names' to be a list") + pulumi.set(__self__, "login_names", login_names) + if nick_name and not isinstance(nick_name, str): + raise TypeError("Expected argument 'nick_name' to be a str") + pulumi.set(__self__, "nick_name", nick_name) + if org_id and not isinstance(org_id, str): + raise TypeError("Expected argument 'org_id' to be a str") + pulumi.set(__self__, "org_id", org_id) + if phone and not isinstance(phone, str): + raise TypeError("Expected argument 'phone' to be a str") + pulumi.set(__self__, "phone", phone) + if preferred_language and not isinstance(preferred_language, str): + raise TypeError("Expected argument 'preferred_language' to be a str") + pulumi.set(__self__, "preferred_language", preferred_language) + if preferred_login_name and not isinstance(preferred_login_name, str): + raise TypeError("Expected argument 'preferred_login_name' to be a str") + pulumi.set(__self__, "preferred_login_name", preferred_login_name) + if state and not isinstance(state, str): + raise TypeError("Expected argument 'state' to be a str") + pulumi.set(__self__, "state", state) + if user_id and not isinstance(user_id, str): + raise TypeError("Expected argument 'user_id' to be a str") + pulumi.set(__self__, "user_id", user_id) + if user_name and not isinstance(user_name, str): + raise TypeError("Expected argument 'user_name' to be a str") + pulumi.set(__self__, "user_name", user_name) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> str: + """ + Display name of the user + """ + return pulumi.get(self, "display_name") + + @property + @pulumi.getter + def email(self) -> str: + """ + Email of the user + """ + return pulumi.get(self, "email") + + @property + @pulumi.getter(name="firstName") + def first_name(self) -> str: + """ + First name of the user + """ + return pulumi.get(self, "first_name") + + @property + @pulumi.getter + def gender(self) -> str: + """ + Gender of the user + """ + return pulumi.get(self, "gender") + + @property + @pulumi.getter + def id(self) -> str: + """ + The provider-assigned unique ID for this managed resource. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="isEmailVerified") + def is_email_verified(self) -> bool: + """ + Is the email verified of the user, can only be true if password of the user is set + """ + return pulumi.get(self, "is_email_verified") + + @property + @pulumi.getter(name="isPhoneVerified") + def is_phone_verified(self) -> bool: + """ + Is the phone verified of the user + """ + return pulumi.get(self, "is_phone_verified") + + @property + @pulumi.getter(name="lastName") + def last_name(self) -> str: + """ + Last name of the user + """ + return pulumi.get(self, "last_name") + + @property + @pulumi.getter(name="loginNames") + def login_names(self) -> Sequence[str]: + """ + Loginnames + """ + return pulumi.get(self, "login_names") + + @property + @pulumi.getter(name="nickName") + def nick_name(self) -> str: + """ + Nick name of the user + """ + return pulumi.get(self, "nick_name") + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> str: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @property + @pulumi.getter + def phone(self) -> str: + """ + Phone of the user + """ + return pulumi.get(self, "phone") + + @property + @pulumi.getter(name="preferredLanguage") + def preferred_language(self) -> str: + """ + Preferred language of the user + """ + return pulumi.get(self, "preferred_language") + + @property + @pulumi.getter(name="preferredLoginName") + def preferred_login_name(self) -> str: + """ + Preferred login name + """ + return pulumi.get(self, "preferred_login_name") + + @property + @pulumi.getter + def state(self) -> str: + """ + State of the user + """ + return pulumi.get(self, "state") + + @property + @pulumi.getter(name="userId") + def user_id(self) -> str: + """ + The ID of this resource. + """ + return pulumi.get(self, "user_id") + + @property + @pulumi.getter(name="userName") + def user_name(self) -> str: + """ + Username + """ + return pulumi.get(self, "user_name") + + +class AwaitableGetHumanUserResult(GetHumanUserResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetHumanUserResult( + display_name=self.display_name, + email=self.email, + first_name=self.first_name, + gender=self.gender, + id=self.id, + is_email_verified=self.is_email_verified, + is_phone_verified=self.is_phone_verified, + last_name=self.last_name, + login_names=self.login_names, + nick_name=self.nick_name, + org_id=self.org_id, + phone=self.phone, + preferred_language=self.preferred_language, + preferred_login_name=self.preferred_login_name, + state=self.state, + user_id=self.user_id, + user_name=self.user_name) + + +def get_human_user(org_id: Optional[str] = None, + user_id: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetHumanUserResult: + """ + Datasource representing a human user situated under an organization, which then can be authorized through memberships or direct grants on other resources. + + ## Example Usage + + ```python + import pulumi + import pulumi_zitadel as zitadel + + default = zitadel.get_human_user(org_id=data["zitadel_org"]["default"]["id"], + user_id="123456789012345678") + pulumi.export("humanUser", default) + ``` + + + :param str org_id: ID of the organization + :param str user_id: The ID of this resource. + """ + __args__ = dict() + __args__['orgId'] = org_id + __args__['userId'] = user_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('zitadel:index/getHumanUser:getHumanUser', __args__, opts=opts, typ=GetHumanUserResult).value + + return AwaitableGetHumanUserResult( + display_name=pulumi.get(__ret__, 'display_name'), + email=pulumi.get(__ret__, 'email'), + first_name=pulumi.get(__ret__, 'first_name'), + gender=pulumi.get(__ret__, 'gender'), + id=pulumi.get(__ret__, 'id'), + is_email_verified=pulumi.get(__ret__, 'is_email_verified'), + is_phone_verified=pulumi.get(__ret__, 'is_phone_verified'), + last_name=pulumi.get(__ret__, 'last_name'), + login_names=pulumi.get(__ret__, 'login_names'), + nick_name=pulumi.get(__ret__, 'nick_name'), + org_id=pulumi.get(__ret__, 'org_id'), + phone=pulumi.get(__ret__, 'phone'), + preferred_language=pulumi.get(__ret__, 'preferred_language'), + preferred_login_name=pulumi.get(__ret__, 'preferred_login_name'), + state=pulumi.get(__ret__, 'state'), + user_id=pulumi.get(__ret__, 'user_id'), + user_name=pulumi.get(__ret__, 'user_name')) + + +@_utilities.lift_output_func(get_human_user) +def get_human_user_output(org_id: Optional[pulumi.Input[str]] = None, + user_id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetHumanUserResult]: + """ + Datasource representing a human user situated under an organization, which then can be authorized through memberships or direct grants on other resources. + + ## Example Usage + + ```python + import pulumi + import pulumi_zitadel as zitadel + + default = zitadel.get_human_user(org_id=data["zitadel_org"]["default"]["id"], + user_id="123456789012345678") + pulumi.export("humanUser", default) + ``` + + + :param str org_id: ID of the organization + :param str user_id: The ID of this resource. + """ + ... diff --git a/sdk/python/scoretechnologies_zitadel/get_idp_azure_ad.py b/sdk/python/scoretechnologies_zitadel/get_idp_azure_ad.py new file mode 100644 index 0000000..91213e3 --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/get_idp_azure_ad.py @@ -0,0 +1,234 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = [ + 'GetIdpAzureAdResult', + 'AwaitableGetIdpAzureAdResult', + 'get_idp_azure_ad', + 'get_idp_azure_ad_output', +] + +@pulumi.output_type +class GetIdpAzureAdResult: + """ + A collection of values returned by getIdpAzureAd. + """ + def __init__(__self__, client_id=None, client_secret=None, email_verified=None, id=None, is_auto_creation=None, is_auto_update=None, is_creation_allowed=None, is_linking_allowed=None, name=None, scopes=None, tenant_id=None, tenant_type=None): + if client_id and not isinstance(client_id, str): + raise TypeError("Expected argument 'client_id' to be a str") + pulumi.set(__self__, "client_id", client_id) + if client_secret and not isinstance(client_secret, str): + raise TypeError("Expected argument 'client_secret' to be a str") + pulumi.set(__self__, "client_secret", client_secret) + if email_verified and not isinstance(email_verified, bool): + raise TypeError("Expected argument 'email_verified' to be a bool") + pulumi.set(__self__, "email_verified", email_verified) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if is_auto_creation and not isinstance(is_auto_creation, bool): + raise TypeError("Expected argument 'is_auto_creation' to be a bool") + pulumi.set(__self__, "is_auto_creation", is_auto_creation) + if is_auto_update and not isinstance(is_auto_update, bool): + raise TypeError("Expected argument 'is_auto_update' to be a bool") + pulumi.set(__self__, "is_auto_update", is_auto_update) + if is_creation_allowed and not isinstance(is_creation_allowed, bool): + raise TypeError("Expected argument 'is_creation_allowed' to be a bool") + pulumi.set(__self__, "is_creation_allowed", is_creation_allowed) + if is_linking_allowed and not isinstance(is_linking_allowed, bool): + raise TypeError("Expected argument 'is_linking_allowed' to be a bool") + pulumi.set(__self__, "is_linking_allowed", is_linking_allowed) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if scopes and not isinstance(scopes, list): + raise TypeError("Expected argument 'scopes' to be a list") + pulumi.set(__self__, "scopes", scopes) + if tenant_id and not isinstance(tenant_id, str): + raise TypeError("Expected argument 'tenant_id' to be a str") + pulumi.set(__self__, "tenant_id", tenant_id) + if tenant_type and not isinstance(tenant_type, str): + raise TypeError("Expected argument 'tenant_type' to be a str") + pulumi.set(__self__, "tenant_type", tenant_type) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> str: + """ + client id generated by the identity provider + """ + return pulumi.get(self, "client_id") + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> str: + """ + client secret generated by the identity provider + """ + return pulumi.get(self, "client_secret") + + @property + @pulumi.getter(name="emailVerified") + def email_verified(self) -> bool: + """ + automatically mark emails as verified + """ + return pulumi.get(self, "email_verified") + + @property + @pulumi.getter + def id(self) -> str: + """ + The ID of this resource. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> bool: + """ + enabled if a new account in ZITADEL are created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> bool: + """ + enabled if a the ZITADEL account fields are updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> bool: + """ + enabled if users are able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> bool: + """ + enabled if users are able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @property + @pulumi.getter + def name(self) -> str: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def scopes(self) -> Sequence[str]: + """ + the scopes requested by ZITADEL during the request on the identity provider + """ + return pulumi.get(self, "scopes") + + @property + @pulumi.getter(name="tenantId") + def tenant_id(self) -> str: + """ + the azure ad tenant id + """ + return pulumi.get(self, "tenant_id") + + @property + @pulumi.getter(name="tenantType") + def tenant_type(self) -> str: + """ + the azure ad tenant type + """ + return pulumi.get(self, "tenant_type") + + +class AwaitableGetIdpAzureAdResult(GetIdpAzureAdResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetIdpAzureAdResult( + client_id=self.client_id, + client_secret=self.client_secret, + email_verified=self.email_verified, + id=self.id, + is_auto_creation=self.is_auto_creation, + is_auto_update=self.is_auto_update, + is_creation_allowed=self.is_creation_allowed, + is_linking_allowed=self.is_linking_allowed, + name=self.name, + scopes=self.scopes, + tenant_id=self.tenant_id, + tenant_type=self.tenant_type) + + +def get_idp_azure_ad(id: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetIdpAzureAdResult: + """ + Datasource representing an Azure AD IDP on the instance. + + ## Example Usage + + ```python + import pulumi + import pulumi_zitadel as zitadel + + default = zitadel.get_idp_azure_ad(id="123456789012345678") + ``` + + + :param str id: The ID of this resource. + """ + __args__ = dict() + __args__['id'] = id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('zitadel:index/getIdpAzureAd:getIdpAzureAd', __args__, opts=opts, typ=GetIdpAzureAdResult).value + + return AwaitableGetIdpAzureAdResult( + client_id=pulumi.get(__ret__, 'client_id'), + client_secret=pulumi.get(__ret__, 'client_secret'), + email_verified=pulumi.get(__ret__, 'email_verified'), + id=pulumi.get(__ret__, 'id'), + is_auto_creation=pulumi.get(__ret__, 'is_auto_creation'), + is_auto_update=pulumi.get(__ret__, 'is_auto_update'), + is_creation_allowed=pulumi.get(__ret__, 'is_creation_allowed'), + is_linking_allowed=pulumi.get(__ret__, 'is_linking_allowed'), + name=pulumi.get(__ret__, 'name'), + scopes=pulumi.get(__ret__, 'scopes'), + tenant_id=pulumi.get(__ret__, 'tenant_id'), + tenant_type=pulumi.get(__ret__, 'tenant_type')) + + +@_utilities.lift_output_func(get_idp_azure_ad) +def get_idp_azure_ad_output(id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetIdpAzureAdResult]: + """ + Datasource representing an Azure AD IDP on the instance. + + ## Example Usage + + ```python + import pulumi + import pulumi_zitadel as zitadel + + default = zitadel.get_idp_azure_ad(id="123456789012345678") + ``` + + + :param str id: The ID of this resource. + """ + ... diff --git a/sdk/python/scoretechnologies_zitadel/get_idp_github.py b/sdk/python/scoretechnologies_zitadel/get_idp_github.py new file mode 100644 index 0000000..cd30a9f --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/get_idp_github.py @@ -0,0 +1,195 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = [ + 'GetIdpGithubResult', + 'AwaitableGetIdpGithubResult', + 'get_idp_github', + 'get_idp_github_output', +] + +@pulumi.output_type +class GetIdpGithubResult: + """ + A collection of values returned by getIdpGithub. + """ + def __init__(__self__, client_id=None, client_secret=None, id=None, is_auto_creation=None, is_auto_update=None, is_creation_allowed=None, is_linking_allowed=None, name=None, scopes=None): + if client_id and not isinstance(client_id, str): + raise TypeError("Expected argument 'client_id' to be a str") + pulumi.set(__self__, "client_id", client_id) + if client_secret and not isinstance(client_secret, str): + raise TypeError("Expected argument 'client_secret' to be a str") + pulumi.set(__self__, "client_secret", client_secret) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if is_auto_creation and not isinstance(is_auto_creation, bool): + raise TypeError("Expected argument 'is_auto_creation' to be a bool") + pulumi.set(__self__, "is_auto_creation", is_auto_creation) + if is_auto_update and not isinstance(is_auto_update, bool): + raise TypeError("Expected argument 'is_auto_update' to be a bool") + pulumi.set(__self__, "is_auto_update", is_auto_update) + if is_creation_allowed and not isinstance(is_creation_allowed, bool): + raise TypeError("Expected argument 'is_creation_allowed' to be a bool") + pulumi.set(__self__, "is_creation_allowed", is_creation_allowed) + if is_linking_allowed and not isinstance(is_linking_allowed, bool): + raise TypeError("Expected argument 'is_linking_allowed' to be a bool") + pulumi.set(__self__, "is_linking_allowed", is_linking_allowed) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if scopes and not isinstance(scopes, list): + raise TypeError("Expected argument 'scopes' to be a list") + pulumi.set(__self__, "scopes", scopes) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> str: + """ + client id generated by the identity provider + """ + return pulumi.get(self, "client_id") + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> str: + """ + client secret generated by the identity provider + """ + return pulumi.get(self, "client_secret") + + @property + @pulumi.getter + def id(self) -> str: + """ + The ID of this resource. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> bool: + """ + enabled if a new account in ZITADEL are created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> bool: + """ + enabled if a the ZITADEL account fields are updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> bool: + """ + enabled if users are able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> bool: + """ + enabled if users are able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @property + @pulumi.getter + def name(self) -> str: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def scopes(self) -> Sequence[str]: + """ + the scopes requested by ZITADEL during the request on the identity provider + """ + return pulumi.get(self, "scopes") + + +class AwaitableGetIdpGithubResult(GetIdpGithubResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetIdpGithubResult( + client_id=self.client_id, + client_secret=self.client_secret, + id=self.id, + is_auto_creation=self.is_auto_creation, + is_auto_update=self.is_auto_update, + is_creation_allowed=self.is_creation_allowed, + is_linking_allowed=self.is_linking_allowed, + name=self.name, + scopes=self.scopes) + + +def get_idp_github(id: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetIdpGithubResult: + """ + Datasource representing a GitHub IDP on the instance. + + ## Example Usage + + ```python + import pulumi + import pulumi_zitadel as zitadel + + default = zitadel.get_idp_github(id="123456789012345678") + ``` + + + :param str id: The ID of this resource. + """ + __args__ = dict() + __args__['id'] = id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('zitadel:index/getIdpGithub:getIdpGithub', __args__, opts=opts, typ=GetIdpGithubResult).value + + return AwaitableGetIdpGithubResult( + client_id=pulumi.get(__ret__, 'client_id'), + client_secret=pulumi.get(__ret__, 'client_secret'), + id=pulumi.get(__ret__, 'id'), + is_auto_creation=pulumi.get(__ret__, 'is_auto_creation'), + is_auto_update=pulumi.get(__ret__, 'is_auto_update'), + is_creation_allowed=pulumi.get(__ret__, 'is_creation_allowed'), + is_linking_allowed=pulumi.get(__ret__, 'is_linking_allowed'), + name=pulumi.get(__ret__, 'name'), + scopes=pulumi.get(__ret__, 'scopes')) + + +@_utilities.lift_output_func(get_idp_github) +def get_idp_github_output(id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetIdpGithubResult]: + """ + Datasource representing a GitHub IDP on the instance. + + ## Example Usage + + ```python + import pulumi + import pulumi_zitadel as zitadel + + default = zitadel.get_idp_github(id="123456789012345678") + ``` + + + :param str id: The ID of this resource. + """ + ... diff --git a/sdk/python/scoretechnologies_zitadel/get_idp_github_es.py b/sdk/python/scoretechnologies_zitadel/get_idp_github_es.py new file mode 100644 index 0000000..b483892 --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/get_idp_github_es.py @@ -0,0 +1,234 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = [ + 'GetIdpGithubEsResult', + 'AwaitableGetIdpGithubEsResult', + 'get_idp_github_es', + 'get_idp_github_es_output', +] + +@pulumi.output_type +class GetIdpGithubEsResult: + """ + A collection of values returned by getIdpGithubEs. + """ + def __init__(__self__, authorization_endpoint=None, client_id=None, client_secret=None, id=None, is_auto_creation=None, is_auto_update=None, is_creation_allowed=None, is_linking_allowed=None, name=None, scopes=None, token_endpoint=None, user_endpoint=None): + if authorization_endpoint and not isinstance(authorization_endpoint, str): + raise TypeError("Expected argument 'authorization_endpoint' to be a str") + pulumi.set(__self__, "authorization_endpoint", authorization_endpoint) + if client_id and not isinstance(client_id, str): + raise TypeError("Expected argument 'client_id' to be a str") + pulumi.set(__self__, "client_id", client_id) + if client_secret and not isinstance(client_secret, str): + raise TypeError("Expected argument 'client_secret' to be a str") + pulumi.set(__self__, "client_secret", client_secret) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if is_auto_creation and not isinstance(is_auto_creation, bool): + raise TypeError("Expected argument 'is_auto_creation' to be a bool") + pulumi.set(__self__, "is_auto_creation", is_auto_creation) + if is_auto_update and not isinstance(is_auto_update, bool): + raise TypeError("Expected argument 'is_auto_update' to be a bool") + pulumi.set(__self__, "is_auto_update", is_auto_update) + if is_creation_allowed and not isinstance(is_creation_allowed, bool): + raise TypeError("Expected argument 'is_creation_allowed' to be a bool") + pulumi.set(__self__, "is_creation_allowed", is_creation_allowed) + if is_linking_allowed and not isinstance(is_linking_allowed, bool): + raise TypeError("Expected argument 'is_linking_allowed' to be a bool") + pulumi.set(__self__, "is_linking_allowed", is_linking_allowed) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if scopes and not isinstance(scopes, list): + raise TypeError("Expected argument 'scopes' to be a list") + pulumi.set(__self__, "scopes", scopes) + if token_endpoint and not isinstance(token_endpoint, str): + raise TypeError("Expected argument 'token_endpoint' to be a str") + pulumi.set(__self__, "token_endpoint", token_endpoint) + if user_endpoint and not isinstance(user_endpoint, str): + raise TypeError("Expected argument 'user_endpoint' to be a str") + pulumi.set(__self__, "user_endpoint", user_endpoint) + + @property + @pulumi.getter(name="authorizationEndpoint") + def authorization_endpoint(self) -> str: + """ + the providers authorization endpoint + """ + return pulumi.get(self, "authorization_endpoint") + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> str: + """ + client id generated by the identity provider + """ + return pulumi.get(self, "client_id") + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> str: + """ + client secret generated by the identity provider + """ + return pulumi.get(self, "client_secret") + + @property + @pulumi.getter + def id(self) -> str: + """ + The ID of this resource. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> bool: + """ + enabled if a new account in ZITADEL are created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> bool: + """ + enabled if a the ZITADEL account fields are updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> bool: + """ + enabled if users are able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> bool: + """ + enabled if users are able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @property + @pulumi.getter + def name(self) -> str: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def scopes(self) -> Sequence[str]: + """ + the scopes requested by ZITADEL during the request on the identity provider + """ + return pulumi.get(self, "scopes") + + @property + @pulumi.getter(name="tokenEndpoint") + def token_endpoint(self) -> str: + """ + the providers token endpoint + """ + return pulumi.get(self, "token_endpoint") + + @property + @pulumi.getter(name="userEndpoint") + def user_endpoint(self) -> str: + """ + the providers user endpoint + """ + return pulumi.get(self, "user_endpoint") + + +class AwaitableGetIdpGithubEsResult(GetIdpGithubEsResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetIdpGithubEsResult( + authorization_endpoint=self.authorization_endpoint, + client_id=self.client_id, + client_secret=self.client_secret, + id=self.id, + is_auto_creation=self.is_auto_creation, + is_auto_update=self.is_auto_update, + is_creation_allowed=self.is_creation_allowed, + is_linking_allowed=self.is_linking_allowed, + name=self.name, + scopes=self.scopes, + token_endpoint=self.token_endpoint, + user_endpoint=self.user_endpoint) + + +def get_idp_github_es(id: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetIdpGithubEsResult: + """ + Datasource representing a GitHub Enterprise IDP on the instance. + + ## Example Usage + + ```python + import pulumi + import pulumi_zitadel as zitadel + + default = zitadel.get_idp_github_es(id="123456789012345678") + ``` + + + :param str id: The ID of this resource. + """ + __args__ = dict() + __args__['id'] = id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('zitadel:index/getIdpGithubEs:getIdpGithubEs', __args__, opts=opts, typ=GetIdpGithubEsResult).value + + return AwaitableGetIdpGithubEsResult( + authorization_endpoint=pulumi.get(__ret__, 'authorization_endpoint'), + client_id=pulumi.get(__ret__, 'client_id'), + client_secret=pulumi.get(__ret__, 'client_secret'), + id=pulumi.get(__ret__, 'id'), + is_auto_creation=pulumi.get(__ret__, 'is_auto_creation'), + is_auto_update=pulumi.get(__ret__, 'is_auto_update'), + is_creation_allowed=pulumi.get(__ret__, 'is_creation_allowed'), + is_linking_allowed=pulumi.get(__ret__, 'is_linking_allowed'), + name=pulumi.get(__ret__, 'name'), + scopes=pulumi.get(__ret__, 'scopes'), + token_endpoint=pulumi.get(__ret__, 'token_endpoint'), + user_endpoint=pulumi.get(__ret__, 'user_endpoint')) + + +@_utilities.lift_output_func(get_idp_github_es) +def get_idp_github_es_output(id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetIdpGithubEsResult]: + """ + Datasource representing a GitHub Enterprise IDP on the instance. + + ## Example Usage + + ```python + import pulumi + import pulumi_zitadel as zitadel + + default = zitadel.get_idp_github_es(id="123456789012345678") + ``` + + + :param str id: The ID of this resource. + """ + ... diff --git a/sdk/python/scoretechnologies_zitadel/get_idp_gitlab.py b/sdk/python/scoretechnologies_zitadel/get_idp_gitlab.py new file mode 100644 index 0000000..d661d9e --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/get_idp_gitlab.py @@ -0,0 +1,195 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = [ + 'GetIdpGitlabResult', + 'AwaitableGetIdpGitlabResult', + 'get_idp_gitlab', + 'get_idp_gitlab_output', +] + +@pulumi.output_type +class GetIdpGitlabResult: + """ + A collection of values returned by getIdpGitlab. + """ + def __init__(__self__, client_id=None, client_secret=None, id=None, is_auto_creation=None, is_auto_update=None, is_creation_allowed=None, is_linking_allowed=None, name=None, scopes=None): + if client_id and not isinstance(client_id, str): + raise TypeError("Expected argument 'client_id' to be a str") + pulumi.set(__self__, "client_id", client_id) + if client_secret and not isinstance(client_secret, str): + raise TypeError("Expected argument 'client_secret' to be a str") + pulumi.set(__self__, "client_secret", client_secret) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if is_auto_creation and not isinstance(is_auto_creation, bool): + raise TypeError("Expected argument 'is_auto_creation' to be a bool") + pulumi.set(__self__, "is_auto_creation", is_auto_creation) + if is_auto_update and not isinstance(is_auto_update, bool): + raise TypeError("Expected argument 'is_auto_update' to be a bool") + pulumi.set(__self__, "is_auto_update", is_auto_update) + if is_creation_allowed and not isinstance(is_creation_allowed, bool): + raise TypeError("Expected argument 'is_creation_allowed' to be a bool") + pulumi.set(__self__, "is_creation_allowed", is_creation_allowed) + if is_linking_allowed and not isinstance(is_linking_allowed, bool): + raise TypeError("Expected argument 'is_linking_allowed' to be a bool") + pulumi.set(__self__, "is_linking_allowed", is_linking_allowed) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if scopes and not isinstance(scopes, list): + raise TypeError("Expected argument 'scopes' to be a list") + pulumi.set(__self__, "scopes", scopes) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> str: + """ + client id generated by the identity provider + """ + return pulumi.get(self, "client_id") + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> str: + """ + client secret generated by the identity provider + """ + return pulumi.get(self, "client_secret") + + @property + @pulumi.getter + def id(self) -> str: + """ + The ID of this resource. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> bool: + """ + enabled if a new account in ZITADEL are created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> bool: + """ + enabled if a the ZITADEL account fields are updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> bool: + """ + enabled if users are able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> bool: + """ + enabled if users are able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @property + @pulumi.getter + def name(self) -> str: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def scopes(self) -> Sequence[str]: + """ + the scopes requested by ZITADEL during the request on the identity provider + """ + return pulumi.get(self, "scopes") + + +class AwaitableGetIdpGitlabResult(GetIdpGitlabResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetIdpGitlabResult( + client_id=self.client_id, + client_secret=self.client_secret, + id=self.id, + is_auto_creation=self.is_auto_creation, + is_auto_update=self.is_auto_update, + is_creation_allowed=self.is_creation_allowed, + is_linking_allowed=self.is_linking_allowed, + name=self.name, + scopes=self.scopes) + + +def get_idp_gitlab(id: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetIdpGitlabResult: + """ + Datasource representing a GitLab IDP on the instance. + + ## Example Usage + + ```python + import pulumi + import pulumi_zitadel as zitadel + + default = zitadel.get_idp_gitlab(id="123456789012345678") + ``` + + + :param str id: The ID of this resource. + """ + __args__ = dict() + __args__['id'] = id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('zitadel:index/getIdpGitlab:getIdpGitlab', __args__, opts=opts, typ=GetIdpGitlabResult).value + + return AwaitableGetIdpGitlabResult( + client_id=pulumi.get(__ret__, 'client_id'), + client_secret=pulumi.get(__ret__, 'client_secret'), + id=pulumi.get(__ret__, 'id'), + is_auto_creation=pulumi.get(__ret__, 'is_auto_creation'), + is_auto_update=pulumi.get(__ret__, 'is_auto_update'), + is_creation_allowed=pulumi.get(__ret__, 'is_creation_allowed'), + is_linking_allowed=pulumi.get(__ret__, 'is_linking_allowed'), + name=pulumi.get(__ret__, 'name'), + scopes=pulumi.get(__ret__, 'scopes')) + + +@_utilities.lift_output_func(get_idp_gitlab) +def get_idp_gitlab_output(id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetIdpGitlabResult]: + """ + Datasource representing a GitLab IDP on the instance. + + ## Example Usage + + ```python + import pulumi + import pulumi_zitadel as zitadel + + default = zitadel.get_idp_gitlab(id="123456789012345678") + ``` + + + :param str id: The ID of this resource. + """ + ... diff --git a/sdk/python/scoretechnologies_zitadel/get_idp_gitlab_self_hosted.py b/sdk/python/scoretechnologies_zitadel/get_idp_gitlab_self_hosted.py new file mode 100644 index 0000000..cd66f00 --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/get_idp_gitlab_self_hosted.py @@ -0,0 +1,208 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = [ + 'GetIdpGitlabSelfHostedResult', + 'AwaitableGetIdpGitlabSelfHostedResult', + 'get_idp_gitlab_self_hosted', + 'get_idp_gitlab_self_hosted_output', +] + +@pulumi.output_type +class GetIdpGitlabSelfHostedResult: + """ + A collection of values returned by getIdpGitlabSelfHosted. + """ + def __init__(__self__, client_id=None, client_secret=None, id=None, is_auto_creation=None, is_auto_update=None, is_creation_allowed=None, is_linking_allowed=None, issuer=None, name=None, scopes=None): + if client_id and not isinstance(client_id, str): + raise TypeError("Expected argument 'client_id' to be a str") + pulumi.set(__self__, "client_id", client_id) + if client_secret and not isinstance(client_secret, str): + raise TypeError("Expected argument 'client_secret' to be a str") + pulumi.set(__self__, "client_secret", client_secret) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if is_auto_creation and not isinstance(is_auto_creation, bool): + raise TypeError("Expected argument 'is_auto_creation' to be a bool") + pulumi.set(__self__, "is_auto_creation", is_auto_creation) + if is_auto_update and not isinstance(is_auto_update, bool): + raise TypeError("Expected argument 'is_auto_update' to be a bool") + pulumi.set(__self__, "is_auto_update", is_auto_update) + if is_creation_allowed and not isinstance(is_creation_allowed, bool): + raise TypeError("Expected argument 'is_creation_allowed' to be a bool") + pulumi.set(__self__, "is_creation_allowed", is_creation_allowed) + if is_linking_allowed and not isinstance(is_linking_allowed, bool): + raise TypeError("Expected argument 'is_linking_allowed' to be a bool") + pulumi.set(__self__, "is_linking_allowed", is_linking_allowed) + if issuer and not isinstance(issuer, str): + raise TypeError("Expected argument 'issuer' to be a str") + pulumi.set(__self__, "issuer", issuer) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if scopes and not isinstance(scopes, list): + raise TypeError("Expected argument 'scopes' to be a list") + pulumi.set(__self__, "scopes", scopes) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> str: + """ + client id generated by the identity provider + """ + return pulumi.get(self, "client_id") + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> str: + """ + client secret generated by the identity provider + """ + return pulumi.get(self, "client_secret") + + @property + @pulumi.getter + def id(self) -> str: + """ + The ID of this resource. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> bool: + """ + enabled if a new account in ZITADEL are created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> bool: + """ + enabled if a the ZITADEL account fields are updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> bool: + """ + enabled if users are able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> bool: + """ + enabled if users are able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @property + @pulumi.getter + def issuer(self) -> str: + """ + the providers issuer + """ + return pulumi.get(self, "issuer") + + @property + @pulumi.getter + def name(self) -> str: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def scopes(self) -> Sequence[str]: + """ + the scopes requested by ZITADEL during the request on the identity provider + """ + return pulumi.get(self, "scopes") + + +class AwaitableGetIdpGitlabSelfHostedResult(GetIdpGitlabSelfHostedResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetIdpGitlabSelfHostedResult( + client_id=self.client_id, + client_secret=self.client_secret, + id=self.id, + is_auto_creation=self.is_auto_creation, + is_auto_update=self.is_auto_update, + is_creation_allowed=self.is_creation_allowed, + is_linking_allowed=self.is_linking_allowed, + issuer=self.issuer, + name=self.name, + scopes=self.scopes) + + +def get_idp_gitlab_self_hosted(id: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetIdpGitlabSelfHostedResult: + """ + Datasource representing a GitLab Self Hosted IDP on the instance. + + ## Example Usage + + ```python + import pulumi + import pulumi_zitadel as zitadel + + default = zitadel.get_idp_gitlab_self_hosted(id="123456789012345678") + ``` + + + :param str id: The ID of this resource. + """ + __args__ = dict() + __args__['id'] = id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('zitadel:index/getIdpGitlabSelfHosted:getIdpGitlabSelfHosted', __args__, opts=opts, typ=GetIdpGitlabSelfHostedResult).value + + return AwaitableGetIdpGitlabSelfHostedResult( + client_id=pulumi.get(__ret__, 'client_id'), + client_secret=pulumi.get(__ret__, 'client_secret'), + id=pulumi.get(__ret__, 'id'), + is_auto_creation=pulumi.get(__ret__, 'is_auto_creation'), + is_auto_update=pulumi.get(__ret__, 'is_auto_update'), + is_creation_allowed=pulumi.get(__ret__, 'is_creation_allowed'), + is_linking_allowed=pulumi.get(__ret__, 'is_linking_allowed'), + issuer=pulumi.get(__ret__, 'issuer'), + name=pulumi.get(__ret__, 'name'), + scopes=pulumi.get(__ret__, 'scopes')) + + +@_utilities.lift_output_func(get_idp_gitlab_self_hosted) +def get_idp_gitlab_self_hosted_output(id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetIdpGitlabSelfHostedResult]: + """ + Datasource representing a GitLab Self Hosted IDP on the instance. + + ## Example Usage + + ```python + import pulumi + import pulumi_zitadel as zitadel + + default = zitadel.get_idp_gitlab_self_hosted(id="123456789012345678") + ``` + + + :param str id: The ID of this resource. + """ + ... diff --git a/sdk/python/scoretechnologies_zitadel/get_idp_google.py b/sdk/python/scoretechnologies_zitadel/get_idp_google.py new file mode 100644 index 0000000..d282d7b --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/get_idp_google.py @@ -0,0 +1,195 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = [ + 'GetIdpGoogleResult', + 'AwaitableGetIdpGoogleResult', + 'get_idp_google', + 'get_idp_google_output', +] + +@pulumi.output_type +class GetIdpGoogleResult: + """ + A collection of values returned by getIdpGoogle. + """ + def __init__(__self__, client_id=None, client_secret=None, id=None, is_auto_creation=None, is_auto_update=None, is_creation_allowed=None, is_linking_allowed=None, name=None, scopes=None): + if client_id and not isinstance(client_id, str): + raise TypeError("Expected argument 'client_id' to be a str") + pulumi.set(__self__, "client_id", client_id) + if client_secret and not isinstance(client_secret, str): + raise TypeError("Expected argument 'client_secret' to be a str") + pulumi.set(__self__, "client_secret", client_secret) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if is_auto_creation and not isinstance(is_auto_creation, bool): + raise TypeError("Expected argument 'is_auto_creation' to be a bool") + pulumi.set(__self__, "is_auto_creation", is_auto_creation) + if is_auto_update and not isinstance(is_auto_update, bool): + raise TypeError("Expected argument 'is_auto_update' to be a bool") + pulumi.set(__self__, "is_auto_update", is_auto_update) + if is_creation_allowed and not isinstance(is_creation_allowed, bool): + raise TypeError("Expected argument 'is_creation_allowed' to be a bool") + pulumi.set(__self__, "is_creation_allowed", is_creation_allowed) + if is_linking_allowed and not isinstance(is_linking_allowed, bool): + raise TypeError("Expected argument 'is_linking_allowed' to be a bool") + pulumi.set(__self__, "is_linking_allowed", is_linking_allowed) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if scopes and not isinstance(scopes, list): + raise TypeError("Expected argument 'scopes' to be a list") + pulumi.set(__self__, "scopes", scopes) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> str: + """ + client id generated by the identity provider + """ + return pulumi.get(self, "client_id") + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> str: + """ + client secret generated by the identity provider + """ + return pulumi.get(self, "client_secret") + + @property + @pulumi.getter + def id(self) -> str: + """ + The ID of this resource. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> bool: + """ + enabled if a new account in ZITADEL are created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> bool: + """ + enabled if a the ZITADEL account fields are updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> bool: + """ + enabled if users are able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> bool: + """ + enabled if users are able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @property + @pulumi.getter + def name(self) -> str: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def scopes(self) -> Sequence[str]: + """ + the scopes requested by ZITADEL during the request on the identity provider + """ + return pulumi.get(self, "scopes") + + +class AwaitableGetIdpGoogleResult(GetIdpGoogleResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetIdpGoogleResult( + client_id=self.client_id, + client_secret=self.client_secret, + id=self.id, + is_auto_creation=self.is_auto_creation, + is_auto_update=self.is_auto_update, + is_creation_allowed=self.is_creation_allowed, + is_linking_allowed=self.is_linking_allowed, + name=self.name, + scopes=self.scopes) + + +def get_idp_google(id: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetIdpGoogleResult: + """ + Datasource representing a Google IDP on the instance. + + ## Example Usage + + ```python + import pulumi + import pulumi_zitadel as zitadel + + default = zitadel.get_idp_google(id="123456789012345678") + ``` + + + :param str id: The ID of this resource. + """ + __args__ = dict() + __args__['id'] = id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('zitadel:index/getIdpGoogle:getIdpGoogle', __args__, opts=opts, typ=GetIdpGoogleResult).value + + return AwaitableGetIdpGoogleResult( + client_id=pulumi.get(__ret__, 'client_id'), + client_secret=pulumi.get(__ret__, 'client_secret'), + id=pulumi.get(__ret__, 'id'), + is_auto_creation=pulumi.get(__ret__, 'is_auto_creation'), + is_auto_update=pulumi.get(__ret__, 'is_auto_update'), + is_creation_allowed=pulumi.get(__ret__, 'is_creation_allowed'), + is_linking_allowed=pulumi.get(__ret__, 'is_linking_allowed'), + name=pulumi.get(__ret__, 'name'), + scopes=pulumi.get(__ret__, 'scopes')) + + +@_utilities.lift_output_func(get_idp_google) +def get_idp_google_output(id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetIdpGoogleResult]: + """ + Datasource representing a Google IDP on the instance. + + ## Example Usage + + ```python + import pulumi + import pulumi_zitadel as zitadel + + default = zitadel.get_idp_google(id="123456789012345678") + ``` + + + :param str id: The ID of this resource. + """ + ... diff --git a/sdk/python/scoretechnologies_zitadel/get_idp_ldap.py b/sdk/python/scoretechnologies_zitadel/get_idp_ldap.py new file mode 100644 index 0000000..e706603 --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/get_idp_ldap.py @@ -0,0 +1,442 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = [ + 'GetIdpLdapResult', + 'AwaitableGetIdpLdapResult', + 'get_idp_ldap', + 'get_idp_ldap_output', +] + +@pulumi.output_type +class GetIdpLdapResult: + """ + A collection of values returned by getIdpLdap. + """ + def __init__(__self__, avatar_url_attribute=None, base_dn=None, bind_dn=None, bind_password=None, display_name_attribute=None, email_attribute=None, email_verified_attribute=None, first_name_attribute=None, id=None, id_attribute=None, is_auto_creation=None, is_auto_update=None, is_creation_allowed=None, is_linking_allowed=None, last_name_attribute=None, name=None, nick_name_attribute=None, phone_attribute=None, phone_verified_attribute=None, preferred_language_attribute=None, preferred_username_attribute=None, profile_attribute=None, servers=None, start_tls=None, timeout=None, user_base=None, user_filters=None, user_object_classes=None): + if avatar_url_attribute and not isinstance(avatar_url_attribute, str): + raise TypeError("Expected argument 'avatar_url_attribute' to be a str") + pulumi.set(__self__, "avatar_url_attribute", avatar_url_attribute) + if base_dn and not isinstance(base_dn, str): + raise TypeError("Expected argument 'base_dn' to be a str") + pulumi.set(__self__, "base_dn", base_dn) + if bind_dn and not isinstance(bind_dn, str): + raise TypeError("Expected argument 'bind_dn' to be a str") + pulumi.set(__self__, "bind_dn", bind_dn) + if bind_password and not isinstance(bind_password, str): + raise TypeError("Expected argument 'bind_password' to be a str") + pulumi.set(__self__, "bind_password", bind_password) + if display_name_attribute and not isinstance(display_name_attribute, str): + raise TypeError("Expected argument 'display_name_attribute' to be a str") + pulumi.set(__self__, "display_name_attribute", display_name_attribute) + if email_attribute and not isinstance(email_attribute, str): + raise TypeError("Expected argument 'email_attribute' to be a str") + pulumi.set(__self__, "email_attribute", email_attribute) + if email_verified_attribute and not isinstance(email_verified_attribute, str): + raise TypeError("Expected argument 'email_verified_attribute' to be a str") + pulumi.set(__self__, "email_verified_attribute", email_verified_attribute) + if first_name_attribute and not isinstance(first_name_attribute, str): + raise TypeError("Expected argument 'first_name_attribute' to be a str") + pulumi.set(__self__, "first_name_attribute", first_name_attribute) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if id_attribute and not isinstance(id_attribute, str): + raise TypeError("Expected argument 'id_attribute' to be a str") + pulumi.set(__self__, "id_attribute", id_attribute) + if is_auto_creation and not isinstance(is_auto_creation, bool): + raise TypeError("Expected argument 'is_auto_creation' to be a bool") + pulumi.set(__self__, "is_auto_creation", is_auto_creation) + if is_auto_update and not isinstance(is_auto_update, bool): + raise TypeError("Expected argument 'is_auto_update' to be a bool") + pulumi.set(__self__, "is_auto_update", is_auto_update) + if is_creation_allowed and not isinstance(is_creation_allowed, bool): + raise TypeError("Expected argument 'is_creation_allowed' to be a bool") + pulumi.set(__self__, "is_creation_allowed", is_creation_allowed) + if is_linking_allowed and not isinstance(is_linking_allowed, bool): + raise TypeError("Expected argument 'is_linking_allowed' to be a bool") + pulumi.set(__self__, "is_linking_allowed", is_linking_allowed) + if last_name_attribute and not isinstance(last_name_attribute, str): + raise TypeError("Expected argument 'last_name_attribute' to be a str") + pulumi.set(__self__, "last_name_attribute", last_name_attribute) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if nick_name_attribute and not isinstance(nick_name_attribute, str): + raise TypeError("Expected argument 'nick_name_attribute' to be a str") + pulumi.set(__self__, "nick_name_attribute", nick_name_attribute) + if phone_attribute and not isinstance(phone_attribute, str): + raise TypeError("Expected argument 'phone_attribute' to be a str") + pulumi.set(__self__, "phone_attribute", phone_attribute) + if phone_verified_attribute and not isinstance(phone_verified_attribute, str): + raise TypeError("Expected argument 'phone_verified_attribute' to be a str") + pulumi.set(__self__, "phone_verified_attribute", phone_verified_attribute) + if preferred_language_attribute and not isinstance(preferred_language_attribute, str): + raise TypeError("Expected argument 'preferred_language_attribute' to be a str") + pulumi.set(__self__, "preferred_language_attribute", preferred_language_attribute) + if preferred_username_attribute and not isinstance(preferred_username_attribute, str): + raise TypeError("Expected argument 'preferred_username_attribute' to be a str") + pulumi.set(__self__, "preferred_username_attribute", preferred_username_attribute) + if profile_attribute and not isinstance(profile_attribute, str): + raise TypeError("Expected argument 'profile_attribute' to be a str") + pulumi.set(__self__, "profile_attribute", profile_attribute) + if servers and not isinstance(servers, list): + raise TypeError("Expected argument 'servers' to be a list") + pulumi.set(__self__, "servers", servers) + if start_tls and not isinstance(start_tls, bool): + raise TypeError("Expected argument 'start_tls' to be a bool") + pulumi.set(__self__, "start_tls", start_tls) + if timeout and not isinstance(timeout, str): + raise TypeError("Expected argument 'timeout' to be a str") + pulumi.set(__self__, "timeout", timeout) + if user_base and not isinstance(user_base, str): + raise TypeError("Expected argument 'user_base' to be a str") + pulumi.set(__self__, "user_base", user_base) + if user_filters and not isinstance(user_filters, list): + raise TypeError("Expected argument 'user_filters' to be a list") + pulumi.set(__self__, "user_filters", user_filters) + if user_object_classes and not isinstance(user_object_classes, list): + raise TypeError("Expected argument 'user_object_classes' to be a list") + pulumi.set(__self__, "user_object_classes", user_object_classes) + + @property + @pulumi.getter(name="avatarUrlAttribute") + def avatar_url_attribute(self) -> str: + """ + User attribute for the avatar url + """ + return pulumi.get(self, "avatar_url_attribute") + + @property + @pulumi.getter(name="baseDn") + def base_dn(self) -> str: + """ + Base DN for LDAP connections + """ + return pulumi.get(self, "base_dn") + + @property + @pulumi.getter(name="bindDn") + def bind_dn(self) -> str: + """ + Bind DN for LDAP connections + """ + return pulumi.get(self, "bind_dn") + + @property + @pulumi.getter(name="bindPassword") + def bind_password(self) -> str: + """ + Bind password for LDAP connections + """ + return pulumi.get(self, "bind_password") + + @property + @pulumi.getter(name="displayNameAttribute") + def display_name_attribute(self) -> str: + """ + User attribute for the display name + """ + return pulumi.get(self, "display_name_attribute") + + @property + @pulumi.getter(name="emailAttribute") + def email_attribute(self) -> str: + """ + User attribute for the email + """ + return pulumi.get(self, "email_attribute") + + @property + @pulumi.getter(name="emailVerifiedAttribute") + def email_verified_attribute(self) -> str: + """ + User attribute for the email verified state + """ + return pulumi.get(self, "email_verified_attribute") + + @property + @pulumi.getter(name="firstNameAttribute") + def first_name_attribute(self) -> str: + """ + User attribute for the first name + """ + return pulumi.get(self, "first_name_attribute") + + @property + @pulumi.getter + def id(self) -> str: + """ + The ID of this resource. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="idAttribute") + def id_attribute(self) -> str: + """ + User attribute for the id + """ + return pulumi.get(self, "id_attribute") + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> bool: + """ + enabled if a new account in ZITADEL are created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> bool: + """ + enabled if a the ZITADEL account fields are updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> bool: + """ + enabled if users are able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> bool: + """ + enabled if users are able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @property + @pulumi.getter(name="lastNameAttribute") + def last_name_attribute(self) -> str: + """ + User attribute for the last name + """ + return pulumi.get(self, "last_name_attribute") + + @property + @pulumi.getter + def name(self) -> str: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="nickNameAttribute") + def nick_name_attribute(self) -> str: + """ + User attribute for the nick name + """ + return pulumi.get(self, "nick_name_attribute") + + @property + @pulumi.getter(name="phoneAttribute") + def phone_attribute(self) -> str: + """ + User attribute for the phone + """ + return pulumi.get(self, "phone_attribute") + + @property + @pulumi.getter(name="phoneVerifiedAttribute") + def phone_verified_attribute(self) -> str: + """ + User attribute for the phone verified state + """ + return pulumi.get(self, "phone_verified_attribute") + + @property + @pulumi.getter(name="preferredLanguageAttribute") + def preferred_language_attribute(self) -> str: + """ + User attribute for the preferred language + """ + return pulumi.get(self, "preferred_language_attribute") + + @property + @pulumi.getter(name="preferredUsernameAttribute") + def preferred_username_attribute(self) -> str: + """ + User attribute for the preferred username + """ + return pulumi.get(self, "preferred_username_attribute") + + @property + @pulumi.getter(name="profileAttribute") + def profile_attribute(self) -> str: + """ + User attribute for the profile + """ + return pulumi.get(self, "profile_attribute") + + @property + @pulumi.getter + def servers(self) -> Sequence[str]: + """ + Servers to try in order for establishing LDAP connections + """ + return pulumi.get(self, "servers") + + @property + @pulumi.getter(name="startTls") + def start_tls(self) -> bool: + """ + Wether to use StartTLS for LDAP connections + """ + return pulumi.get(self, "start_tls") + + @property + @pulumi.getter + def timeout(self) -> str: + """ + Timeout for LDAP connections + """ + return pulumi.get(self, "timeout") + + @property + @pulumi.getter(name="userBase") + def user_base(self) -> str: + """ + User base for LDAP connections + """ + return pulumi.get(self, "user_base") + + @property + @pulumi.getter(name="userFilters") + def user_filters(self) -> Sequence[str]: + """ + User filters for LDAP connections + """ + return pulumi.get(self, "user_filters") + + @property + @pulumi.getter(name="userObjectClasses") + def user_object_classes(self) -> Sequence[str]: + """ + User object classes for LDAP connections + """ + return pulumi.get(self, "user_object_classes") + + +class AwaitableGetIdpLdapResult(GetIdpLdapResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetIdpLdapResult( + avatar_url_attribute=self.avatar_url_attribute, + base_dn=self.base_dn, + bind_dn=self.bind_dn, + bind_password=self.bind_password, + display_name_attribute=self.display_name_attribute, + email_attribute=self.email_attribute, + email_verified_attribute=self.email_verified_attribute, + first_name_attribute=self.first_name_attribute, + id=self.id, + id_attribute=self.id_attribute, + is_auto_creation=self.is_auto_creation, + is_auto_update=self.is_auto_update, + is_creation_allowed=self.is_creation_allowed, + is_linking_allowed=self.is_linking_allowed, + last_name_attribute=self.last_name_attribute, + name=self.name, + nick_name_attribute=self.nick_name_attribute, + phone_attribute=self.phone_attribute, + phone_verified_attribute=self.phone_verified_attribute, + preferred_language_attribute=self.preferred_language_attribute, + preferred_username_attribute=self.preferred_username_attribute, + profile_attribute=self.profile_attribute, + servers=self.servers, + start_tls=self.start_tls, + timeout=self.timeout, + user_base=self.user_base, + user_filters=self.user_filters, + user_object_classes=self.user_object_classes) + + +def get_idp_ldap(id: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetIdpLdapResult: + """ + Datasource representing an LDAP IDP on the instance. + + ## Example Usage + + ```python + import pulumi + import pulumi_zitadel as zitadel + + default = zitadel.get_idp_ldap(id="123456789012345678") + ``` + + + :param str id: The ID of this resource. + """ + __args__ = dict() + __args__['id'] = id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('zitadel:index/getIdpLdap:getIdpLdap', __args__, opts=opts, typ=GetIdpLdapResult).value + + return AwaitableGetIdpLdapResult( + avatar_url_attribute=pulumi.get(__ret__, 'avatar_url_attribute'), + base_dn=pulumi.get(__ret__, 'base_dn'), + bind_dn=pulumi.get(__ret__, 'bind_dn'), + bind_password=pulumi.get(__ret__, 'bind_password'), + display_name_attribute=pulumi.get(__ret__, 'display_name_attribute'), + email_attribute=pulumi.get(__ret__, 'email_attribute'), + email_verified_attribute=pulumi.get(__ret__, 'email_verified_attribute'), + first_name_attribute=pulumi.get(__ret__, 'first_name_attribute'), + id=pulumi.get(__ret__, 'id'), + id_attribute=pulumi.get(__ret__, 'id_attribute'), + is_auto_creation=pulumi.get(__ret__, 'is_auto_creation'), + is_auto_update=pulumi.get(__ret__, 'is_auto_update'), + is_creation_allowed=pulumi.get(__ret__, 'is_creation_allowed'), + is_linking_allowed=pulumi.get(__ret__, 'is_linking_allowed'), + last_name_attribute=pulumi.get(__ret__, 'last_name_attribute'), + name=pulumi.get(__ret__, 'name'), + nick_name_attribute=pulumi.get(__ret__, 'nick_name_attribute'), + phone_attribute=pulumi.get(__ret__, 'phone_attribute'), + phone_verified_attribute=pulumi.get(__ret__, 'phone_verified_attribute'), + preferred_language_attribute=pulumi.get(__ret__, 'preferred_language_attribute'), + preferred_username_attribute=pulumi.get(__ret__, 'preferred_username_attribute'), + profile_attribute=pulumi.get(__ret__, 'profile_attribute'), + servers=pulumi.get(__ret__, 'servers'), + start_tls=pulumi.get(__ret__, 'start_tls'), + timeout=pulumi.get(__ret__, 'timeout'), + user_base=pulumi.get(__ret__, 'user_base'), + user_filters=pulumi.get(__ret__, 'user_filters'), + user_object_classes=pulumi.get(__ret__, 'user_object_classes')) + + +@_utilities.lift_output_func(get_idp_ldap) +def get_idp_ldap_output(id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetIdpLdapResult]: + """ + Datasource representing an LDAP IDP on the instance. + + ## Example Usage + + ```python + import pulumi + import pulumi_zitadel as zitadel + + default = zitadel.get_idp_ldap(id="123456789012345678") + ``` + + + :param str id: The ID of this resource. + """ + ... diff --git a/sdk/python/scoretechnologies_zitadel/get_idp_oauth.py b/sdk/python/scoretechnologies_zitadel/get_idp_oauth.py new file mode 100644 index 0000000..7e7d51b --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/get_idp_oauth.py @@ -0,0 +1,247 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = [ + 'GetIdpOauthResult', + 'AwaitableGetIdpOauthResult', + 'get_idp_oauth', + 'get_idp_oauth_output', +] + +@pulumi.output_type +class GetIdpOauthResult: + """ + A collection of values returned by getIdpOauth. + """ + def __init__(__self__, authorization_endpoint=None, client_id=None, client_secret=None, id=None, id_attribute=None, is_auto_creation=None, is_auto_update=None, is_creation_allowed=None, is_linking_allowed=None, name=None, scopes=None, token_endpoint=None, user_endpoint=None): + if authorization_endpoint and not isinstance(authorization_endpoint, str): + raise TypeError("Expected argument 'authorization_endpoint' to be a str") + pulumi.set(__self__, "authorization_endpoint", authorization_endpoint) + if client_id and not isinstance(client_id, str): + raise TypeError("Expected argument 'client_id' to be a str") + pulumi.set(__self__, "client_id", client_id) + if client_secret and not isinstance(client_secret, str): + raise TypeError("Expected argument 'client_secret' to be a str") + pulumi.set(__self__, "client_secret", client_secret) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if id_attribute and not isinstance(id_attribute, str): + raise TypeError("Expected argument 'id_attribute' to be a str") + pulumi.set(__self__, "id_attribute", id_attribute) + if is_auto_creation and not isinstance(is_auto_creation, bool): + raise TypeError("Expected argument 'is_auto_creation' to be a bool") + pulumi.set(__self__, "is_auto_creation", is_auto_creation) + if is_auto_update and not isinstance(is_auto_update, bool): + raise TypeError("Expected argument 'is_auto_update' to be a bool") + pulumi.set(__self__, "is_auto_update", is_auto_update) + if is_creation_allowed and not isinstance(is_creation_allowed, bool): + raise TypeError("Expected argument 'is_creation_allowed' to be a bool") + pulumi.set(__self__, "is_creation_allowed", is_creation_allowed) + if is_linking_allowed and not isinstance(is_linking_allowed, bool): + raise TypeError("Expected argument 'is_linking_allowed' to be a bool") + pulumi.set(__self__, "is_linking_allowed", is_linking_allowed) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if scopes and not isinstance(scopes, list): + raise TypeError("Expected argument 'scopes' to be a list") + pulumi.set(__self__, "scopes", scopes) + if token_endpoint and not isinstance(token_endpoint, str): + raise TypeError("Expected argument 'token_endpoint' to be a str") + pulumi.set(__self__, "token_endpoint", token_endpoint) + if user_endpoint and not isinstance(user_endpoint, str): + raise TypeError("Expected argument 'user_endpoint' to be a str") + pulumi.set(__self__, "user_endpoint", user_endpoint) + + @property + @pulumi.getter(name="authorizationEndpoint") + def authorization_endpoint(self) -> str: + """ + The authorization endpoint + """ + return pulumi.get(self, "authorization_endpoint") + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> str: + """ + client id generated by the identity provider + """ + return pulumi.get(self, "client_id") + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> str: + """ + client secret generated by the identity provider + """ + return pulumi.get(self, "client_secret") + + @property + @pulumi.getter + def id(self) -> str: + """ + The ID of this resource. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="idAttribute") + def id_attribute(self) -> str: + """ + The id attribute + """ + return pulumi.get(self, "id_attribute") + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> bool: + """ + enabled if a new account in ZITADEL are created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> bool: + """ + enabled if a the ZITADEL account fields are updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> bool: + """ + enabled if users are able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> bool: + """ + enabled if users are able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @property + @pulumi.getter + def name(self) -> str: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def scopes(self) -> Sequence[str]: + """ + the scopes requested by ZITADEL during the request on the identity provider + """ + return pulumi.get(self, "scopes") + + @property + @pulumi.getter(name="tokenEndpoint") + def token_endpoint(self) -> str: + """ + The token endpoint + """ + return pulumi.get(self, "token_endpoint") + + @property + @pulumi.getter(name="userEndpoint") + def user_endpoint(self) -> str: + """ + The user endpoint + """ + return pulumi.get(self, "user_endpoint") + + +class AwaitableGetIdpOauthResult(GetIdpOauthResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetIdpOauthResult( + authorization_endpoint=self.authorization_endpoint, + client_id=self.client_id, + client_secret=self.client_secret, + id=self.id, + id_attribute=self.id_attribute, + is_auto_creation=self.is_auto_creation, + is_auto_update=self.is_auto_update, + is_creation_allowed=self.is_creation_allowed, + is_linking_allowed=self.is_linking_allowed, + name=self.name, + scopes=self.scopes, + token_endpoint=self.token_endpoint, + user_endpoint=self.user_endpoint) + + +def get_idp_oauth(id: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetIdpOauthResult: + """ + Datasource representing a generic OAuth2 IDP on the instance. + + ## Example Usage + + ```python + import pulumi + import pulumi_zitadel as zitadel + + default = zitadel.get_idp_oauth(id="123456789012345678") + ``` + + + :param str id: The ID of this resource. + """ + __args__ = dict() + __args__['id'] = id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('zitadel:index/getIdpOauth:getIdpOauth', __args__, opts=opts, typ=GetIdpOauthResult).value + + return AwaitableGetIdpOauthResult( + authorization_endpoint=pulumi.get(__ret__, 'authorization_endpoint'), + client_id=pulumi.get(__ret__, 'client_id'), + client_secret=pulumi.get(__ret__, 'client_secret'), + id=pulumi.get(__ret__, 'id'), + id_attribute=pulumi.get(__ret__, 'id_attribute'), + is_auto_creation=pulumi.get(__ret__, 'is_auto_creation'), + is_auto_update=pulumi.get(__ret__, 'is_auto_update'), + is_creation_allowed=pulumi.get(__ret__, 'is_creation_allowed'), + is_linking_allowed=pulumi.get(__ret__, 'is_linking_allowed'), + name=pulumi.get(__ret__, 'name'), + scopes=pulumi.get(__ret__, 'scopes'), + token_endpoint=pulumi.get(__ret__, 'token_endpoint'), + user_endpoint=pulumi.get(__ret__, 'user_endpoint')) + + +@_utilities.lift_output_func(get_idp_oauth) +def get_idp_oauth_output(id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetIdpOauthResult]: + """ + Datasource representing a generic OAuth2 IDP on the instance. + + ## Example Usage + + ```python + import pulumi + import pulumi_zitadel as zitadel + + default = zitadel.get_idp_oauth(id="123456789012345678") + ``` + + + :param str id: The ID of this resource. + """ + ... diff --git a/sdk/python/scoretechnologies_zitadel/get_idp_saml.py b/sdk/python/scoretechnologies_zitadel/get_idp_saml.py new file mode 100644 index 0000000..118bab9 --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/get_idp_saml.py @@ -0,0 +1,195 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = [ + 'GetIdpSamlResult', + 'AwaitableGetIdpSamlResult', + 'get_idp_saml', + 'get_idp_saml_output', +] + +@pulumi.output_type +class GetIdpSamlResult: + """ + A collection of values returned by getIdpSaml. + """ + def __init__(__self__, binding=None, id=None, is_auto_creation=None, is_auto_update=None, is_creation_allowed=None, is_linking_allowed=None, metadata_xml=None, name=None, with_signed_request=None): + if binding and not isinstance(binding, str): + raise TypeError("Expected argument 'binding' to be a str") + pulumi.set(__self__, "binding", binding) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if is_auto_creation and not isinstance(is_auto_creation, bool): + raise TypeError("Expected argument 'is_auto_creation' to be a bool") + pulumi.set(__self__, "is_auto_creation", is_auto_creation) + if is_auto_update and not isinstance(is_auto_update, bool): + raise TypeError("Expected argument 'is_auto_update' to be a bool") + pulumi.set(__self__, "is_auto_update", is_auto_update) + if is_creation_allowed and not isinstance(is_creation_allowed, bool): + raise TypeError("Expected argument 'is_creation_allowed' to be a bool") + pulumi.set(__self__, "is_creation_allowed", is_creation_allowed) + if is_linking_allowed and not isinstance(is_linking_allowed, bool): + raise TypeError("Expected argument 'is_linking_allowed' to be a bool") + pulumi.set(__self__, "is_linking_allowed", is_linking_allowed) + if metadata_xml and not isinstance(metadata_xml, str): + raise TypeError("Expected argument 'metadata_xml' to be a str") + pulumi.set(__self__, "metadata_xml", metadata_xml) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if with_signed_request and not isinstance(with_signed_request, str): + raise TypeError("Expected argument 'with_signed_request' to be a str") + pulumi.set(__self__, "with_signed_request", with_signed_request) + + @property + @pulumi.getter + def binding(self) -> str: + """ + The binding + """ + return pulumi.get(self, "binding") + + @property + @pulumi.getter + def id(self) -> str: + """ + The ID of this resource. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> bool: + """ + enabled if a new account in ZITADEL are created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> bool: + """ + enabled if a the ZITADEL account fields are updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> bool: + """ + enabled if users are able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> bool: + """ + enabled if users are able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @property + @pulumi.getter(name="metadataXml") + def metadata_xml(self) -> str: + """ + The metadata XML as plain string + """ + return pulumi.get(self, "metadata_xml") + + @property + @pulumi.getter + def name(self) -> str: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="withSignedRequest") + def with_signed_request(self) -> str: + """ + Whether the SAML IDP requires signed requests + """ + return pulumi.get(self, "with_signed_request") + + +class AwaitableGetIdpSamlResult(GetIdpSamlResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetIdpSamlResult( + binding=self.binding, + id=self.id, + is_auto_creation=self.is_auto_creation, + is_auto_update=self.is_auto_update, + is_creation_allowed=self.is_creation_allowed, + is_linking_allowed=self.is_linking_allowed, + metadata_xml=self.metadata_xml, + name=self.name, + with_signed_request=self.with_signed_request) + + +def get_idp_saml(id: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetIdpSamlResult: + """ + Datasource representing a SAML IDP on the instance. + + ## Example Usage + + ```python + import pulumi + import pulumi_zitadel as zitadel + + default = zitadel.get_idp_saml(id="123456789012345678") + ``` + + + :param str id: The ID of this resource. + """ + __args__ = dict() + __args__['id'] = id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('zitadel:index/getIdpSaml:getIdpSaml', __args__, opts=opts, typ=GetIdpSamlResult).value + + return AwaitableGetIdpSamlResult( + binding=pulumi.get(__ret__, 'binding'), + id=pulumi.get(__ret__, 'id'), + is_auto_creation=pulumi.get(__ret__, 'is_auto_creation'), + is_auto_update=pulumi.get(__ret__, 'is_auto_update'), + is_creation_allowed=pulumi.get(__ret__, 'is_creation_allowed'), + is_linking_allowed=pulumi.get(__ret__, 'is_linking_allowed'), + metadata_xml=pulumi.get(__ret__, 'metadata_xml'), + name=pulumi.get(__ret__, 'name'), + with_signed_request=pulumi.get(__ret__, 'with_signed_request')) + + +@_utilities.lift_output_func(get_idp_saml) +def get_idp_saml_output(id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetIdpSamlResult]: + """ + Datasource representing a SAML IDP on the instance. + + ## Example Usage + + ```python + import pulumi + import pulumi_zitadel as zitadel + + default = zitadel.get_idp_saml(id="123456789012345678") + ``` + + + :param str id: The ID of this resource. + """ + ... diff --git a/sdk/python/scoretechnologies_zitadel/get_machine_user.py b/sdk/python/scoretechnologies_zitadel/get_machine_user.py new file mode 100644 index 0000000..0b2d24f --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/get_machine_user.py @@ -0,0 +1,215 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = [ + 'GetMachineUserResult', + 'AwaitableGetMachineUserResult', + 'get_machine_user', + 'get_machine_user_output', +] + +@pulumi.output_type +class GetMachineUserResult: + """ + A collection of values returned by getMachineUser. + """ + def __init__(__self__, access_token_type=None, description=None, id=None, login_names=None, name=None, org_id=None, preferred_login_name=None, state=None, user_id=None, user_name=None): + if access_token_type and not isinstance(access_token_type, str): + raise TypeError("Expected argument 'access_token_type' to be a str") + pulumi.set(__self__, "access_token_type", access_token_type) + if description and not isinstance(description, str): + raise TypeError("Expected argument 'description' to be a str") + pulumi.set(__self__, "description", description) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if login_names and not isinstance(login_names, list): + raise TypeError("Expected argument 'login_names' to be a list") + pulumi.set(__self__, "login_names", login_names) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if org_id and not isinstance(org_id, str): + raise TypeError("Expected argument 'org_id' to be a str") + pulumi.set(__self__, "org_id", org_id) + if preferred_login_name and not isinstance(preferred_login_name, str): + raise TypeError("Expected argument 'preferred_login_name' to be a str") + pulumi.set(__self__, "preferred_login_name", preferred_login_name) + if state and not isinstance(state, str): + raise TypeError("Expected argument 'state' to be a str") + pulumi.set(__self__, "state", state) + if user_id and not isinstance(user_id, str): + raise TypeError("Expected argument 'user_id' to be a str") + pulumi.set(__self__, "user_id", user_id) + if user_name and not isinstance(user_name, str): + raise TypeError("Expected argument 'user_name' to be a str") + pulumi.set(__self__, "user_name", user_name) + + @property + @pulumi.getter(name="accessTokenType") + def access_token_type(self) -> str: + """ + Access token type + """ + return pulumi.get(self, "access_token_type") + + @property + @pulumi.getter + def description(self) -> str: + """ + Description of the user + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter + def id(self) -> str: + """ + The provider-assigned unique ID for this managed resource. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="loginNames") + def login_names(self) -> Sequence[str]: + """ + Loginnames + """ + return pulumi.get(self, "login_names") + + @property + @pulumi.getter + def name(self) -> str: + """ + Name of the machine user + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[str]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @property + @pulumi.getter(name="preferredLoginName") + def preferred_login_name(self) -> str: + """ + Preferred login name + """ + return pulumi.get(self, "preferred_login_name") + + @property + @pulumi.getter + def state(self) -> str: + """ + State of the user + """ + return pulumi.get(self, "state") + + @property + @pulumi.getter(name="userId") + def user_id(self) -> str: + """ + The ID of this resource. + """ + return pulumi.get(self, "user_id") + + @property + @pulumi.getter(name="userName") + def user_name(self) -> str: + """ + Username + """ + return pulumi.get(self, "user_name") + + +class AwaitableGetMachineUserResult(GetMachineUserResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetMachineUserResult( + access_token_type=self.access_token_type, + description=self.description, + id=self.id, + login_names=self.login_names, + name=self.name, + org_id=self.org_id, + preferred_login_name=self.preferred_login_name, + state=self.state, + user_id=self.user_id, + user_name=self.user_name) + + +def get_machine_user(org_id: Optional[str] = None, + user_id: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetMachineUserResult: + """ + Datasource representing a serviceaccount situated under an organization, which then can be authorized through memberships or direct grants on other resources. + + ## Example Usage + + ```python + import pulumi + import pulumi_zitadel as zitadel + + default = zitadel.get_machine_user(org_id=data["zitadel_org"]["default"]["id"], + user_id="123456789012345678") + ``` + + + :param str org_id: ID of the organization + :param str user_id: The ID of this resource. + """ + __args__ = dict() + __args__['orgId'] = org_id + __args__['userId'] = user_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('zitadel:index/getMachineUser:getMachineUser', __args__, opts=opts, typ=GetMachineUserResult).value + + return AwaitableGetMachineUserResult( + access_token_type=pulumi.get(__ret__, 'access_token_type'), + description=pulumi.get(__ret__, 'description'), + id=pulumi.get(__ret__, 'id'), + login_names=pulumi.get(__ret__, 'login_names'), + name=pulumi.get(__ret__, 'name'), + org_id=pulumi.get(__ret__, 'org_id'), + preferred_login_name=pulumi.get(__ret__, 'preferred_login_name'), + state=pulumi.get(__ret__, 'state'), + user_id=pulumi.get(__ret__, 'user_id'), + user_name=pulumi.get(__ret__, 'user_name')) + + +@_utilities.lift_output_func(get_machine_user) +def get_machine_user_output(org_id: Optional[pulumi.Input[Optional[str]]] = None, + user_id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetMachineUserResult]: + """ + Datasource representing a serviceaccount situated under an organization, which then can be authorized through memberships or direct grants on other resources. + + ## Example Usage + + ```python + import pulumi + import pulumi_zitadel as zitadel + + default = zitadel.get_machine_user(org_id=data["zitadel_org"]["default"]["id"], + user_id="123456789012345678") + ``` + + + :param str org_id: ID of the organization + :param str user_id: The ID of this resource. + """ + ... diff --git a/sdk/python/scoretechnologies_zitadel/get_machine_users.py b/sdk/python/scoretechnologies_zitadel/get_machine_users.py new file mode 100644 index 0000000..590c1c1 --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/get_machine_users.py @@ -0,0 +1,135 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = [ + 'GetMachineUsersResult', + 'AwaitableGetMachineUsersResult', + 'get_machine_users', + 'get_machine_users_output', +] + +@pulumi.output_type +class GetMachineUsersResult: + """ + A collection of values returned by getMachineUsers. + """ + def __init__(__self__, id=None, org_id=None, user_ids=None, user_name=None, user_name_method=None): + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if org_id and not isinstance(org_id, str): + raise TypeError("Expected argument 'org_id' to be a str") + pulumi.set(__self__, "org_id", org_id) + if user_ids and not isinstance(user_ids, list): + raise TypeError("Expected argument 'user_ids' to be a list") + pulumi.set(__self__, "user_ids", user_ids) + if user_name and not isinstance(user_name, str): + raise TypeError("Expected argument 'user_name' to be a str") + pulumi.set(__self__, "user_name", user_name) + if user_name_method and not isinstance(user_name_method, str): + raise TypeError("Expected argument 'user_name_method' to be a str") + pulumi.set(__self__, "user_name_method", user_name_method) + + @property + @pulumi.getter + def id(self) -> str: + """ + The provider-assigned unique ID for this managed resource. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[str]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @property + @pulumi.getter(name="userIds") + def user_ids(self) -> Sequence[str]: + """ + A set of all IDs. + """ + return pulumi.get(self, "user_ids") + + @property + @pulumi.getter(name="userName") + def user_name(self) -> str: + """ + Username + """ + return pulumi.get(self, "user_name") + + @property + @pulumi.getter(name="userNameMethod") + def user_name_method(self) -> Optional[str]: + """ + Method for querying machine users by username, supported values: TEXT*QUERY*METHOD*EQUALS, TEXT*QUERY*METHOD*EQUALS*IGNORE*CASE, TEXT*QUERY*METHOD*STARTS*WITH, TEXT*QUERY*METHOD*STARTS*WITH*IGNORE*CASE, TEXT*QUERY*METHOD*CONTAINS, TEXT*QUERY*METHOD*CONTAINS*IGNORE*CASE, TEXT*QUERY*METHOD*ENDS*WITH, TEXT*QUERY*METHOD*ENDS*WITH*IGNORE*CASE + """ + return pulumi.get(self, "user_name_method") + + +class AwaitableGetMachineUsersResult(GetMachineUsersResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetMachineUsersResult( + id=self.id, + org_id=self.org_id, + user_ids=self.user_ids, + user_name=self.user_name, + user_name_method=self.user_name_method) + + +def get_machine_users(org_id: Optional[str] = None, + user_name: Optional[str] = None, + user_name_method: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetMachineUsersResult: + """ + Datasource representing a serviceaccount situated under an organization, which then can be authorized through memberships or direct grants on other resources. + + + :param str org_id: ID of the organization + :param str user_name: Username + :param str user_name_method: Method for querying machine users by username, supported values: TEXT*QUERY*METHOD*EQUALS, TEXT*QUERY*METHOD*EQUALS*IGNORE*CASE, TEXT*QUERY*METHOD*STARTS*WITH, TEXT*QUERY*METHOD*STARTS*WITH*IGNORE*CASE, TEXT*QUERY*METHOD*CONTAINS, TEXT*QUERY*METHOD*CONTAINS*IGNORE*CASE, TEXT*QUERY*METHOD*ENDS*WITH, TEXT*QUERY*METHOD*ENDS*WITH*IGNORE*CASE + """ + __args__ = dict() + __args__['orgId'] = org_id + __args__['userName'] = user_name + __args__['userNameMethod'] = user_name_method + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('zitadel:index/getMachineUsers:getMachineUsers', __args__, opts=opts, typ=GetMachineUsersResult).value + + return AwaitableGetMachineUsersResult( + id=pulumi.get(__ret__, 'id'), + org_id=pulumi.get(__ret__, 'org_id'), + user_ids=pulumi.get(__ret__, 'user_ids'), + user_name=pulumi.get(__ret__, 'user_name'), + user_name_method=pulumi.get(__ret__, 'user_name_method')) + + +@_utilities.lift_output_func(get_machine_users) +def get_machine_users_output(org_id: Optional[pulumi.Input[Optional[str]]] = None, + user_name: Optional[pulumi.Input[str]] = None, + user_name_method: Optional[pulumi.Input[Optional[str]]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetMachineUsersResult]: + """ + Datasource representing a serviceaccount situated under an organization, which then can be authorized through memberships or direct grants on other resources. + + + :param str org_id: ID of the organization + :param str user_name: Username + :param str user_name_method: Method for querying machine users by username, supported values: TEXT*QUERY*METHOD*EQUALS, TEXT*QUERY*METHOD*EQUALS*IGNORE*CASE, TEXT*QUERY*METHOD*STARTS*WITH, TEXT*QUERY*METHOD*STARTS*WITH*IGNORE*CASE, TEXT*QUERY*METHOD*CONTAINS, TEXT*QUERY*METHOD*CONTAINS*IGNORE*CASE, TEXT*QUERY*METHOD*ENDS*WITH, TEXT*QUERY*METHOD*ENDS*WITH*IGNORE*CASE + """ + ... diff --git a/sdk/python/scoretechnologies_zitadel/get_org.py b/sdk/python/scoretechnologies_zitadel/get_org.py new file mode 100644 index 0000000..4c4bae5 --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/get_org.py @@ -0,0 +1,145 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = [ + 'GetOrgResult', + 'AwaitableGetOrgResult', + 'get_org', + 'get_org_output', +] + +@pulumi.output_type +class GetOrgResult: + """ + A collection of values returned by getOrg. + """ + def __init__(__self__, id=None, is_default=None, name=None, primary_domain=None, state=None): + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if is_default and not isinstance(is_default, bool): + raise TypeError("Expected argument 'is_default' to be a bool") + pulumi.set(__self__, "is_default", is_default) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if primary_domain and not isinstance(primary_domain, str): + raise TypeError("Expected argument 'primary_domain' to be a str") + pulumi.set(__self__, "primary_domain", primary_domain) + if state and not isinstance(state, str): + raise TypeError("Expected argument 'state' to be a str") + pulumi.set(__self__, "state", state) + + @property + @pulumi.getter + def id(self) -> str: + """ + ID of the organization + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="isDefault") + def is_default(self) -> bool: + """ + Indicates whether the org is the default org of the instance. + """ + return pulumi.get(self, "is_default") + + @property + @pulumi.getter + def name(self) -> str: + """ + Name of the org. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="primaryDomain") + def primary_domain(self) -> str: + """ + Primary domain of the org + """ + return pulumi.get(self, "primary_domain") + + @property + @pulumi.getter + def state(self) -> str: + """ + State of the org, supported values: ORG*STATE*UNSPECIFIED, ORG*STATE*ACTIVE, ORG*STATE*INACTIVE, ORG*STATE*REMOVED + """ + return pulumi.get(self, "state") + + +class AwaitableGetOrgResult(GetOrgResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetOrgResult( + id=self.id, + is_default=self.is_default, + name=self.name, + primary_domain=self.primary_domain, + state=self.state) + + +def get_org(id: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetOrgResult: + """ + Datasource representing an organization in ZITADEL, which is the highest level after the instance and contains several other resource including policies if the configuration differs to the default policies on the instance. + + ## Example Usage + + ```python + import pulumi + import pulumi_zitadel as zitadel + + default = zitadel.get_org(id="123456789012345678") + pulumi.export("org", default) + ``` + + + :param str id: ID of the organization + """ + __args__ = dict() + __args__['id'] = id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('zitadel:index/getOrg:getOrg', __args__, opts=opts, typ=GetOrgResult).value + + return AwaitableGetOrgResult( + id=pulumi.get(__ret__, 'id'), + is_default=pulumi.get(__ret__, 'is_default'), + name=pulumi.get(__ret__, 'name'), + primary_domain=pulumi.get(__ret__, 'primary_domain'), + state=pulumi.get(__ret__, 'state')) + + +@_utilities.lift_output_func(get_org) +def get_org_output(id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetOrgResult]: + """ + Datasource representing an organization in ZITADEL, which is the highest level after the instance and contains several other resource including policies if the configuration differs to the default policies on the instance. + + ## Example Usage + + ```python + import pulumi + import pulumi_zitadel as zitadel + + default = zitadel.get_org(id="123456789012345678") + pulumi.export("org", default) + ``` + + + :param str id: ID of the organization + """ + ... diff --git a/sdk/python/scoretechnologies_zitadel/get_org_idp_azure_ad.py b/sdk/python/scoretechnologies_zitadel/get_org_idp_azure_ad.py new file mode 100644 index 0000000..57b0ac3 --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/get_org_idp_azure_ad.py @@ -0,0 +1,254 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = [ + 'GetOrgIdpAzureAdResult', + 'AwaitableGetOrgIdpAzureAdResult', + 'get_org_idp_azure_ad', + 'get_org_idp_azure_ad_output', +] + +@pulumi.output_type +class GetOrgIdpAzureAdResult: + """ + A collection of values returned by getOrgIdpAzureAd. + """ + def __init__(__self__, client_id=None, client_secret=None, email_verified=None, id=None, is_auto_creation=None, is_auto_update=None, is_creation_allowed=None, is_linking_allowed=None, name=None, org_id=None, scopes=None, tenant_id=None, tenant_type=None): + if client_id and not isinstance(client_id, str): + raise TypeError("Expected argument 'client_id' to be a str") + pulumi.set(__self__, "client_id", client_id) + if client_secret and not isinstance(client_secret, str): + raise TypeError("Expected argument 'client_secret' to be a str") + pulumi.set(__self__, "client_secret", client_secret) + if email_verified and not isinstance(email_verified, bool): + raise TypeError("Expected argument 'email_verified' to be a bool") + pulumi.set(__self__, "email_verified", email_verified) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if is_auto_creation and not isinstance(is_auto_creation, bool): + raise TypeError("Expected argument 'is_auto_creation' to be a bool") + pulumi.set(__self__, "is_auto_creation", is_auto_creation) + if is_auto_update and not isinstance(is_auto_update, bool): + raise TypeError("Expected argument 'is_auto_update' to be a bool") + pulumi.set(__self__, "is_auto_update", is_auto_update) + if is_creation_allowed and not isinstance(is_creation_allowed, bool): + raise TypeError("Expected argument 'is_creation_allowed' to be a bool") + pulumi.set(__self__, "is_creation_allowed", is_creation_allowed) + if is_linking_allowed and not isinstance(is_linking_allowed, bool): + raise TypeError("Expected argument 'is_linking_allowed' to be a bool") + pulumi.set(__self__, "is_linking_allowed", is_linking_allowed) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if org_id and not isinstance(org_id, str): + raise TypeError("Expected argument 'org_id' to be a str") + pulumi.set(__self__, "org_id", org_id) + if scopes and not isinstance(scopes, list): + raise TypeError("Expected argument 'scopes' to be a list") + pulumi.set(__self__, "scopes", scopes) + if tenant_id and not isinstance(tenant_id, str): + raise TypeError("Expected argument 'tenant_id' to be a str") + pulumi.set(__self__, "tenant_id", tenant_id) + if tenant_type and not isinstance(tenant_type, str): + raise TypeError("Expected argument 'tenant_type' to be a str") + pulumi.set(__self__, "tenant_type", tenant_type) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> str: + """ + client id generated by the identity provider + """ + return pulumi.get(self, "client_id") + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> str: + """ + client secret generated by the identity provider + """ + return pulumi.get(self, "client_secret") + + @property + @pulumi.getter(name="emailVerified") + def email_verified(self) -> bool: + """ + automatically mark emails as verified + """ + return pulumi.get(self, "email_verified") + + @property + @pulumi.getter + def id(self) -> str: + """ + The ID of this resource. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> bool: + """ + enabled if a new account in ZITADEL are created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> bool: + """ + enabled if a the ZITADEL account fields are updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> bool: + """ + enabled if users are able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> bool: + """ + enabled if users are able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @property + @pulumi.getter + def name(self) -> str: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[str]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @property + @pulumi.getter + def scopes(self) -> Sequence[str]: + """ + the scopes requested by ZITADEL during the request on the identity provider + """ + return pulumi.get(self, "scopes") + + @property + @pulumi.getter(name="tenantId") + def tenant_id(self) -> str: + """ + the azure ad tenant id + """ + return pulumi.get(self, "tenant_id") + + @property + @pulumi.getter(name="tenantType") + def tenant_type(self) -> str: + """ + the azure ad tenant type + """ + return pulumi.get(self, "tenant_type") + + +class AwaitableGetOrgIdpAzureAdResult(GetOrgIdpAzureAdResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetOrgIdpAzureAdResult( + client_id=self.client_id, + client_secret=self.client_secret, + email_verified=self.email_verified, + id=self.id, + is_auto_creation=self.is_auto_creation, + is_auto_update=self.is_auto_update, + is_creation_allowed=self.is_creation_allowed, + is_linking_allowed=self.is_linking_allowed, + name=self.name, + org_id=self.org_id, + scopes=self.scopes, + tenant_id=self.tenant_id, + tenant_type=self.tenant_type) + + +def get_org_idp_azure_ad(id: Optional[str] = None, + org_id: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetOrgIdpAzureAdResult: + """ + Datasource representing an Azure AD IdP of the organization. + + ## Example Usage + + ```python + import pulumi + import pulumi_zitadel as zitadel + + default = zitadel.get_org_idp_azure_ad(org_id=data["zitadel_org"]["default"]["id"], + id="123456789012345678") + ``` + + + :param str id: The ID of this resource. + :param str org_id: ID of the organization + """ + __args__ = dict() + __args__['id'] = id + __args__['orgId'] = org_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('zitadel:index/getOrgIdpAzureAd:getOrgIdpAzureAd', __args__, opts=opts, typ=GetOrgIdpAzureAdResult).value + + return AwaitableGetOrgIdpAzureAdResult( + client_id=pulumi.get(__ret__, 'client_id'), + client_secret=pulumi.get(__ret__, 'client_secret'), + email_verified=pulumi.get(__ret__, 'email_verified'), + id=pulumi.get(__ret__, 'id'), + is_auto_creation=pulumi.get(__ret__, 'is_auto_creation'), + is_auto_update=pulumi.get(__ret__, 'is_auto_update'), + is_creation_allowed=pulumi.get(__ret__, 'is_creation_allowed'), + is_linking_allowed=pulumi.get(__ret__, 'is_linking_allowed'), + name=pulumi.get(__ret__, 'name'), + org_id=pulumi.get(__ret__, 'org_id'), + scopes=pulumi.get(__ret__, 'scopes'), + tenant_id=pulumi.get(__ret__, 'tenant_id'), + tenant_type=pulumi.get(__ret__, 'tenant_type')) + + +@_utilities.lift_output_func(get_org_idp_azure_ad) +def get_org_idp_azure_ad_output(id: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[Optional[str]]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetOrgIdpAzureAdResult]: + """ + Datasource representing an Azure AD IdP of the organization. + + ## Example Usage + + ```python + import pulumi + import pulumi_zitadel as zitadel + + default = zitadel.get_org_idp_azure_ad(org_id=data["zitadel_org"]["default"]["id"], + id="123456789012345678") + ``` + + + :param str id: The ID of this resource. + :param str org_id: ID of the organization + """ + ... diff --git a/sdk/python/scoretechnologies_zitadel/get_org_idp_github.py b/sdk/python/scoretechnologies_zitadel/get_org_idp_github.py new file mode 100644 index 0000000..db1db65 --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/get_org_idp_github.py @@ -0,0 +1,215 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = [ + 'GetOrgIdpGithubResult', + 'AwaitableGetOrgIdpGithubResult', + 'get_org_idp_github', + 'get_org_idp_github_output', +] + +@pulumi.output_type +class GetOrgIdpGithubResult: + """ + A collection of values returned by getOrgIdpGithub. + """ + def __init__(__self__, client_id=None, client_secret=None, id=None, is_auto_creation=None, is_auto_update=None, is_creation_allowed=None, is_linking_allowed=None, name=None, org_id=None, scopes=None): + if client_id and not isinstance(client_id, str): + raise TypeError("Expected argument 'client_id' to be a str") + pulumi.set(__self__, "client_id", client_id) + if client_secret and not isinstance(client_secret, str): + raise TypeError("Expected argument 'client_secret' to be a str") + pulumi.set(__self__, "client_secret", client_secret) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if is_auto_creation and not isinstance(is_auto_creation, bool): + raise TypeError("Expected argument 'is_auto_creation' to be a bool") + pulumi.set(__self__, "is_auto_creation", is_auto_creation) + if is_auto_update and not isinstance(is_auto_update, bool): + raise TypeError("Expected argument 'is_auto_update' to be a bool") + pulumi.set(__self__, "is_auto_update", is_auto_update) + if is_creation_allowed and not isinstance(is_creation_allowed, bool): + raise TypeError("Expected argument 'is_creation_allowed' to be a bool") + pulumi.set(__self__, "is_creation_allowed", is_creation_allowed) + if is_linking_allowed and not isinstance(is_linking_allowed, bool): + raise TypeError("Expected argument 'is_linking_allowed' to be a bool") + pulumi.set(__self__, "is_linking_allowed", is_linking_allowed) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if org_id and not isinstance(org_id, str): + raise TypeError("Expected argument 'org_id' to be a str") + pulumi.set(__self__, "org_id", org_id) + if scopes and not isinstance(scopes, list): + raise TypeError("Expected argument 'scopes' to be a list") + pulumi.set(__self__, "scopes", scopes) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> str: + """ + client id generated by the identity provider + """ + return pulumi.get(self, "client_id") + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> str: + """ + client secret generated by the identity provider + """ + return pulumi.get(self, "client_secret") + + @property + @pulumi.getter + def id(self) -> str: + """ + The ID of this resource. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> bool: + """ + enabled if a new account in ZITADEL are created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> bool: + """ + enabled if a the ZITADEL account fields are updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> bool: + """ + enabled if users are able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> bool: + """ + enabled if users are able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @property + @pulumi.getter + def name(self) -> str: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[str]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @property + @pulumi.getter + def scopes(self) -> Sequence[str]: + """ + the scopes requested by ZITADEL during the request on the identity provider + """ + return pulumi.get(self, "scopes") + + +class AwaitableGetOrgIdpGithubResult(GetOrgIdpGithubResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetOrgIdpGithubResult( + client_id=self.client_id, + client_secret=self.client_secret, + id=self.id, + is_auto_creation=self.is_auto_creation, + is_auto_update=self.is_auto_update, + is_creation_allowed=self.is_creation_allowed, + is_linking_allowed=self.is_linking_allowed, + name=self.name, + org_id=self.org_id, + scopes=self.scopes) + + +def get_org_idp_github(id: Optional[str] = None, + org_id: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetOrgIdpGithubResult: + """ + Datasource representing a GitHub IdP of the organization. + + ## Example Usage + + ```python + import pulumi + import pulumi_zitadel as zitadel + + default = zitadel.get_org_idp_github(org_id=data["zitadel_org"]["default"]["id"], + id="123456789012345678") + ``` + + + :param str id: The ID of this resource. + :param str org_id: ID of the organization + """ + __args__ = dict() + __args__['id'] = id + __args__['orgId'] = org_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('zitadel:index/getOrgIdpGithub:getOrgIdpGithub', __args__, opts=opts, typ=GetOrgIdpGithubResult).value + + return AwaitableGetOrgIdpGithubResult( + client_id=pulumi.get(__ret__, 'client_id'), + client_secret=pulumi.get(__ret__, 'client_secret'), + id=pulumi.get(__ret__, 'id'), + is_auto_creation=pulumi.get(__ret__, 'is_auto_creation'), + is_auto_update=pulumi.get(__ret__, 'is_auto_update'), + is_creation_allowed=pulumi.get(__ret__, 'is_creation_allowed'), + is_linking_allowed=pulumi.get(__ret__, 'is_linking_allowed'), + name=pulumi.get(__ret__, 'name'), + org_id=pulumi.get(__ret__, 'org_id'), + scopes=pulumi.get(__ret__, 'scopes')) + + +@_utilities.lift_output_func(get_org_idp_github) +def get_org_idp_github_output(id: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[Optional[str]]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetOrgIdpGithubResult]: + """ + Datasource representing a GitHub IdP of the organization. + + ## Example Usage + + ```python + import pulumi + import pulumi_zitadel as zitadel + + default = zitadel.get_org_idp_github(org_id=data["zitadel_org"]["default"]["id"], + id="123456789012345678") + ``` + + + :param str id: The ID of this resource. + :param str org_id: ID of the organization + """ + ... diff --git a/sdk/python/scoretechnologies_zitadel/get_org_idp_github_es.py b/sdk/python/scoretechnologies_zitadel/get_org_idp_github_es.py new file mode 100644 index 0000000..2d621c8 --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/get_org_idp_github_es.py @@ -0,0 +1,254 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = [ + 'GetOrgIdpGithubEsResult', + 'AwaitableGetOrgIdpGithubEsResult', + 'get_org_idp_github_es', + 'get_org_idp_github_es_output', +] + +@pulumi.output_type +class GetOrgIdpGithubEsResult: + """ + A collection of values returned by getOrgIdpGithubEs. + """ + def __init__(__self__, authorization_endpoint=None, client_id=None, client_secret=None, id=None, is_auto_creation=None, is_auto_update=None, is_creation_allowed=None, is_linking_allowed=None, name=None, org_id=None, scopes=None, token_endpoint=None, user_endpoint=None): + if authorization_endpoint and not isinstance(authorization_endpoint, str): + raise TypeError("Expected argument 'authorization_endpoint' to be a str") + pulumi.set(__self__, "authorization_endpoint", authorization_endpoint) + if client_id and not isinstance(client_id, str): + raise TypeError("Expected argument 'client_id' to be a str") + pulumi.set(__self__, "client_id", client_id) + if client_secret and not isinstance(client_secret, str): + raise TypeError("Expected argument 'client_secret' to be a str") + pulumi.set(__self__, "client_secret", client_secret) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if is_auto_creation and not isinstance(is_auto_creation, bool): + raise TypeError("Expected argument 'is_auto_creation' to be a bool") + pulumi.set(__self__, "is_auto_creation", is_auto_creation) + if is_auto_update and not isinstance(is_auto_update, bool): + raise TypeError("Expected argument 'is_auto_update' to be a bool") + pulumi.set(__self__, "is_auto_update", is_auto_update) + if is_creation_allowed and not isinstance(is_creation_allowed, bool): + raise TypeError("Expected argument 'is_creation_allowed' to be a bool") + pulumi.set(__self__, "is_creation_allowed", is_creation_allowed) + if is_linking_allowed and not isinstance(is_linking_allowed, bool): + raise TypeError("Expected argument 'is_linking_allowed' to be a bool") + pulumi.set(__self__, "is_linking_allowed", is_linking_allowed) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if org_id and not isinstance(org_id, str): + raise TypeError("Expected argument 'org_id' to be a str") + pulumi.set(__self__, "org_id", org_id) + if scopes and not isinstance(scopes, list): + raise TypeError("Expected argument 'scopes' to be a list") + pulumi.set(__self__, "scopes", scopes) + if token_endpoint and not isinstance(token_endpoint, str): + raise TypeError("Expected argument 'token_endpoint' to be a str") + pulumi.set(__self__, "token_endpoint", token_endpoint) + if user_endpoint and not isinstance(user_endpoint, str): + raise TypeError("Expected argument 'user_endpoint' to be a str") + pulumi.set(__self__, "user_endpoint", user_endpoint) + + @property + @pulumi.getter(name="authorizationEndpoint") + def authorization_endpoint(self) -> str: + """ + the providers authorization endpoint + """ + return pulumi.get(self, "authorization_endpoint") + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> str: + """ + client id generated by the identity provider + """ + return pulumi.get(self, "client_id") + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> str: + """ + client secret generated by the identity provider + """ + return pulumi.get(self, "client_secret") + + @property + @pulumi.getter + def id(self) -> str: + """ + The ID of this resource. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> bool: + """ + enabled if a new account in ZITADEL are created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> bool: + """ + enabled if a the ZITADEL account fields are updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> bool: + """ + enabled if users are able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> bool: + """ + enabled if users are able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @property + @pulumi.getter + def name(self) -> str: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[str]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @property + @pulumi.getter + def scopes(self) -> Sequence[str]: + """ + the scopes requested by ZITADEL during the request on the identity provider + """ + return pulumi.get(self, "scopes") + + @property + @pulumi.getter(name="tokenEndpoint") + def token_endpoint(self) -> str: + """ + the providers token endpoint + """ + return pulumi.get(self, "token_endpoint") + + @property + @pulumi.getter(name="userEndpoint") + def user_endpoint(self) -> str: + """ + the providers user endpoint + """ + return pulumi.get(self, "user_endpoint") + + +class AwaitableGetOrgIdpGithubEsResult(GetOrgIdpGithubEsResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetOrgIdpGithubEsResult( + authorization_endpoint=self.authorization_endpoint, + client_id=self.client_id, + client_secret=self.client_secret, + id=self.id, + is_auto_creation=self.is_auto_creation, + is_auto_update=self.is_auto_update, + is_creation_allowed=self.is_creation_allowed, + is_linking_allowed=self.is_linking_allowed, + name=self.name, + org_id=self.org_id, + scopes=self.scopes, + token_endpoint=self.token_endpoint, + user_endpoint=self.user_endpoint) + + +def get_org_idp_github_es(id: Optional[str] = None, + org_id: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetOrgIdpGithubEsResult: + """ + Datasource representing a GitHub Enterprise IdP of the organization. + + ## Example Usage + + ```python + import pulumi + import pulumi_zitadel as zitadel + + default = zitadel.get_org_idp_github_es(org_id=data["zitadel_org"]["default"]["id"], + id="123456789012345678") + ``` + + + :param str id: The ID of this resource. + :param str org_id: ID of the organization + """ + __args__ = dict() + __args__['id'] = id + __args__['orgId'] = org_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('zitadel:index/getOrgIdpGithubEs:getOrgIdpGithubEs', __args__, opts=opts, typ=GetOrgIdpGithubEsResult).value + + return AwaitableGetOrgIdpGithubEsResult( + authorization_endpoint=pulumi.get(__ret__, 'authorization_endpoint'), + client_id=pulumi.get(__ret__, 'client_id'), + client_secret=pulumi.get(__ret__, 'client_secret'), + id=pulumi.get(__ret__, 'id'), + is_auto_creation=pulumi.get(__ret__, 'is_auto_creation'), + is_auto_update=pulumi.get(__ret__, 'is_auto_update'), + is_creation_allowed=pulumi.get(__ret__, 'is_creation_allowed'), + is_linking_allowed=pulumi.get(__ret__, 'is_linking_allowed'), + name=pulumi.get(__ret__, 'name'), + org_id=pulumi.get(__ret__, 'org_id'), + scopes=pulumi.get(__ret__, 'scopes'), + token_endpoint=pulumi.get(__ret__, 'token_endpoint'), + user_endpoint=pulumi.get(__ret__, 'user_endpoint')) + + +@_utilities.lift_output_func(get_org_idp_github_es) +def get_org_idp_github_es_output(id: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[Optional[str]]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetOrgIdpGithubEsResult]: + """ + Datasource representing a GitHub Enterprise IdP of the organization. + + ## Example Usage + + ```python + import pulumi + import pulumi_zitadel as zitadel + + default = zitadel.get_org_idp_github_es(org_id=data["zitadel_org"]["default"]["id"], + id="123456789012345678") + ``` + + + :param str id: The ID of this resource. + :param str org_id: ID of the organization + """ + ... diff --git a/sdk/python/scoretechnologies_zitadel/get_org_idp_gitlab.py b/sdk/python/scoretechnologies_zitadel/get_org_idp_gitlab.py new file mode 100644 index 0000000..d63412e --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/get_org_idp_gitlab.py @@ -0,0 +1,215 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = [ + 'GetOrgIdpGitlabResult', + 'AwaitableGetOrgIdpGitlabResult', + 'get_org_idp_gitlab', + 'get_org_idp_gitlab_output', +] + +@pulumi.output_type +class GetOrgIdpGitlabResult: + """ + A collection of values returned by getOrgIdpGitlab. + """ + def __init__(__self__, client_id=None, client_secret=None, id=None, is_auto_creation=None, is_auto_update=None, is_creation_allowed=None, is_linking_allowed=None, name=None, org_id=None, scopes=None): + if client_id and not isinstance(client_id, str): + raise TypeError("Expected argument 'client_id' to be a str") + pulumi.set(__self__, "client_id", client_id) + if client_secret and not isinstance(client_secret, str): + raise TypeError("Expected argument 'client_secret' to be a str") + pulumi.set(__self__, "client_secret", client_secret) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if is_auto_creation and not isinstance(is_auto_creation, bool): + raise TypeError("Expected argument 'is_auto_creation' to be a bool") + pulumi.set(__self__, "is_auto_creation", is_auto_creation) + if is_auto_update and not isinstance(is_auto_update, bool): + raise TypeError("Expected argument 'is_auto_update' to be a bool") + pulumi.set(__self__, "is_auto_update", is_auto_update) + if is_creation_allowed and not isinstance(is_creation_allowed, bool): + raise TypeError("Expected argument 'is_creation_allowed' to be a bool") + pulumi.set(__self__, "is_creation_allowed", is_creation_allowed) + if is_linking_allowed and not isinstance(is_linking_allowed, bool): + raise TypeError("Expected argument 'is_linking_allowed' to be a bool") + pulumi.set(__self__, "is_linking_allowed", is_linking_allowed) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if org_id and not isinstance(org_id, str): + raise TypeError("Expected argument 'org_id' to be a str") + pulumi.set(__self__, "org_id", org_id) + if scopes and not isinstance(scopes, list): + raise TypeError("Expected argument 'scopes' to be a list") + pulumi.set(__self__, "scopes", scopes) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> str: + """ + client id generated by the identity provider + """ + return pulumi.get(self, "client_id") + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> str: + """ + client secret generated by the identity provider + """ + return pulumi.get(self, "client_secret") + + @property + @pulumi.getter + def id(self) -> str: + """ + The ID of this resource. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> bool: + """ + enabled if a new account in ZITADEL are created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> bool: + """ + enabled if a the ZITADEL account fields are updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> bool: + """ + enabled if users are able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> bool: + """ + enabled if users are able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @property + @pulumi.getter + def name(self) -> str: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[str]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @property + @pulumi.getter + def scopes(self) -> Sequence[str]: + """ + the scopes requested by ZITADEL during the request on the identity provider + """ + return pulumi.get(self, "scopes") + + +class AwaitableGetOrgIdpGitlabResult(GetOrgIdpGitlabResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetOrgIdpGitlabResult( + client_id=self.client_id, + client_secret=self.client_secret, + id=self.id, + is_auto_creation=self.is_auto_creation, + is_auto_update=self.is_auto_update, + is_creation_allowed=self.is_creation_allowed, + is_linking_allowed=self.is_linking_allowed, + name=self.name, + org_id=self.org_id, + scopes=self.scopes) + + +def get_org_idp_gitlab(id: Optional[str] = None, + org_id: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetOrgIdpGitlabResult: + """ + Datasource representing a GitLab IdP of the organization. + + ## Example Usage + + ```python + import pulumi + import pulumi_zitadel as zitadel + + default = zitadel.get_org_idp_gitlab(org_id=data["zitadel_org"]["default"]["id"], + id="123456789012345678") + ``` + + + :param str id: The ID of this resource. + :param str org_id: ID of the organization + """ + __args__ = dict() + __args__['id'] = id + __args__['orgId'] = org_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('zitadel:index/getOrgIdpGitlab:getOrgIdpGitlab', __args__, opts=opts, typ=GetOrgIdpGitlabResult).value + + return AwaitableGetOrgIdpGitlabResult( + client_id=pulumi.get(__ret__, 'client_id'), + client_secret=pulumi.get(__ret__, 'client_secret'), + id=pulumi.get(__ret__, 'id'), + is_auto_creation=pulumi.get(__ret__, 'is_auto_creation'), + is_auto_update=pulumi.get(__ret__, 'is_auto_update'), + is_creation_allowed=pulumi.get(__ret__, 'is_creation_allowed'), + is_linking_allowed=pulumi.get(__ret__, 'is_linking_allowed'), + name=pulumi.get(__ret__, 'name'), + org_id=pulumi.get(__ret__, 'org_id'), + scopes=pulumi.get(__ret__, 'scopes')) + + +@_utilities.lift_output_func(get_org_idp_gitlab) +def get_org_idp_gitlab_output(id: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[Optional[str]]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetOrgIdpGitlabResult]: + """ + Datasource representing a GitLab IdP of the organization. + + ## Example Usage + + ```python + import pulumi + import pulumi_zitadel as zitadel + + default = zitadel.get_org_idp_gitlab(org_id=data["zitadel_org"]["default"]["id"], + id="123456789012345678") + ``` + + + :param str id: The ID of this resource. + :param str org_id: ID of the organization + """ + ... diff --git a/sdk/python/scoretechnologies_zitadel/get_org_idp_gitlab_self_hosted.py b/sdk/python/scoretechnologies_zitadel/get_org_idp_gitlab_self_hosted.py new file mode 100644 index 0000000..3ba3444 --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/get_org_idp_gitlab_self_hosted.py @@ -0,0 +1,228 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = [ + 'GetOrgIdpGitlabSelfHostedResult', + 'AwaitableGetOrgIdpGitlabSelfHostedResult', + 'get_org_idp_gitlab_self_hosted', + 'get_org_idp_gitlab_self_hosted_output', +] + +@pulumi.output_type +class GetOrgIdpGitlabSelfHostedResult: + """ + A collection of values returned by getOrgIdpGitlabSelfHosted. + """ + def __init__(__self__, client_id=None, client_secret=None, id=None, is_auto_creation=None, is_auto_update=None, is_creation_allowed=None, is_linking_allowed=None, issuer=None, name=None, org_id=None, scopes=None): + if client_id and not isinstance(client_id, str): + raise TypeError("Expected argument 'client_id' to be a str") + pulumi.set(__self__, "client_id", client_id) + if client_secret and not isinstance(client_secret, str): + raise TypeError("Expected argument 'client_secret' to be a str") + pulumi.set(__self__, "client_secret", client_secret) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if is_auto_creation and not isinstance(is_auto_creation, bool): + raise TypeError("Expected argument 'is_auto_creation' to be a bool") + pulumi.set(__self__, "is_auto_creation", is_auto_creation) + if is_auto_update and not isinstance(is_auto_update, bool): + raise TypeError("Expected argument 'is_auto_update' to be a bool") + pulumi.set(__self__, "is_auto_update", is_auto_update) + if is_creation_allowed and not isinstance(is_creation_allowed, bool): + raise TypeError("Expected argument 'is_creation_allowed' to be a bool") + pulumi.set(__self__, "is_creation_allowed", is_creation_allowed) + if is_linking_allowed and not isinstance(is_linking_allowed, bool): + raise TypeError("Expected argument 'is_linking_allowed' to be a bool") + pulumi.set(__self__, "is_linking_allowed", is_linking_allowed) + if issuer and not isinstance(issuer, str): + raise TypeError("Expected argument 'issuer' to be a str") + pulumi.set(__self__, "issuer", issuer) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if org_id and not isinstance(org_id, str): + raise TypeError("Expected argument 'org_id' to be a str") + pulumi.set(__self__, "org_id", org_id) + if scopes and not isinstance(scopes, list): + raise TypeError("Expected argument 'scopes' to be a list") + pulumi.set(__self__, "scopes", scopes) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> str: + """ + client id generated by the identity provider + """ + return pulumi.get(self, "client_id") + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> str: + """ + client secret generated by the identity provider + """ + return pulumi.get(self, "client_secret") + + @property + @pulumi.getter + def id(self) -> str: + """ + The ID of this resource. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> bool: + """ + enabled if a new account in ZITADEL are created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> bool: + """ + enabled if a the ZITADEL account fields are updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> bool: + """ + enabled if users are able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> bool: + """ + enabled if users are able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @property + @pulumi.getter + def issuer(self) -> str: + """ + the providers issuer + """ + return pulumi.get(self, "issuer") + + @property + @pulumi.getter + def name(self) -> str: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[str]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @property + @pulumi.getter + def scopes(self) -> Sequence[str]: + """ + the scopes requested by ZITADEL during the request on the identity provider + """ + return pulumi.get(self, "scopes") + + +class AwaitableGetOrgIdpGitlabSelfHostedResult(GetOrgIdpGitlabSelfHostedResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetOrgIdpGitlabSelfHostedResult( + client_id=self.client_id, + client_secret=self.client_secret, + id=self.id, + is_auto_creation=self.is_auto_creation, + is_auto_update=self.is_auto_update, + is_creation_allowed=self.is_creation_allowed, + is_linking_allowed=self.is_linking_allowed, + issuer=self.issuer, + name=self.name, + org_id=self.org_id, + scopes=self.scopes) + + +def get_org_idp_gitlab_self_hosted(id: Optional[str] = None, + org_id: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetOrgIdpGitlabSelfHostedResult: + """ + Datasource representing a GitLab Self Hosted IdP of the organization. + + ## Example Usage + + ```python + import pulumi + import pulumi_zitadel as zitadel + + default = zitadel.get_org_idp_gitlab_self_hosted(org_id=data["zitadel_org"]["default"]["id"], + id="123456789012345678") + ``` + + + :param str id: The ID of this resource. + :param str org_id: ID of the organization + """ + __args__ = dict() + __args__['id'] = id + __args__['orgId'] = org_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('zitadel:index/getOrgIdpGitlabSelfHosted:getOrgIdpGitlabSelfHosted', __args__, opts=opts, typ=GetOrgIdpGitlabSelfHostedResult).value + + return AwaitableGetOrgIdpGitlabSelfHostedResult( + client_id=pulumi.get(__ret__, 'client_id'), + client_secret=pulumi.get(__ret__, 'client_secret'), + id=pulumi.get(__ret__, 'id'), + is_auto_creation=pulumi.get(__ret__, 'is_auto_creation'), + is_auto_update=pulumi.get(__ret__, 'is_auto_update'), + is_creation_allowed=pulumi.get(__ret__, 'is_creation_allowed'), + is_linking_allowed=pulumi.get(__ret__, 'is_linking_allowed'), + issuer=pulumi.get(__ret__, 'issuer'), + name=pulumi.get(__ret__, 'name'), + org_id=pulumi.get(__ret__, 'org_id'), + scopes=pulumi.get(__ret__, 'scopes')) + + +@_utilities.lift_output_func(get_org_idp_gitlab_self_hosted) +def get_org_idp_gitlab_self_hosted_output(id: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[Optional[str]]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetOrgIdpGitlabSelfHostedResult]: + """ + Datasource representing a GitLab Self Hosted IdP of the organization. + + ## Example Usage + + ```python + import pulumi + import pulumi_zitadel as zitadel + + default = zitadel.get_org_idp_gitlab_self_hosted(org_id=data["zitadel_org"]["default"]["id"], + id="123456789012345678") + ``` + + + :param str id: The ID of this resource. + :param str org_id: ID of the organization + """ + ... diff --git a/sdk/python/scoretechnologies_zitadel/get_org_idp_google.py b/sdk/python/scoretechnologies_zitadel/get_org_idp_google.py new file mode 100644 index 0000000..b171d4e --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/get_org_idp_google.py @@ -0,0 +1,215 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = [ + 'GetOrgIdpGoogleResult', + 'AwaitableGetOrgIdpGoogleResult', + 'get_org_idp_google', + 'get_org_idp_google_output', +] + +@pulumi.output_type +class GetOrgIdpGoogleResult: + """ + A collection of values returned by getOrgIdpGoogle. + """ + def __init__(__self__, client_id=None, client_secret=None, id=None, is_auto_creation=None, is_auto_update=None, is_creation_allowed=None, is_linking_allowed=None, name=None, org_id=None, scopes=None): + if client_id and not isinstance(client_id, str): + raise TypeError("Expected argument 'client_id' to be a str") + pulumi.set(__self__, "client_id", client_id) + if client_secret and not isinstance(client_secret, str): + raise TypeError("Expected argument 'client_secret' to be a str") + pulumi.set(__self__, "client_secret", client_secret) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if is_auto_creation and not isinstance(is_auto_creation, bool): + raise TypeError("Expected argument 'is_auto_creation' to be a bool") + pulumi.set(__self__, "is_auto_creation", is_auto_creation) + if is_auto_update and not isinstance(is_auto_update, bool): + raise TypeError("Expected argument 'is_auto_update' to be a bool") + pulumi.set(__self__, "is_auto_update", is_auto_update) + if is_creation_allowed and not isinstance(is_creation_allowed, bool): + raise TypeError("Expected argument 'is_creation_allowed' to be a bool") + pulumi.set(__self__, "is_creation_allowed", is_creation_allowed) + if is_linking_allowed and not isinstance(is_linking_allowed, bool): + raise TypeError("Expected argument 'is_linking_allowed' to be a bool") + pulumi.set(__self__, "is_linking_allowed", is_linking_allowed) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if org_id and not isinstance(org_id, str): + raise TypeError("Expected argument 'org_id' to be a str") + pulumi.set(__self__, "org_id", org_id) + if scopes and not isinstance(scopes, list): + raise TypeError("Expected argument 'scopes' to be a list") + pulumi.set(__self__, "scopes", scopes) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> str: + """ + client id generated by the identity provider + """ + return pulumi.get(self, "client_id") + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> str: + """ + client secret generated by the identity provider + """ + return pulumi.get(self, "client_secret") + + @property + @pulumi.getter + def id(self) -> str: + """ + The ID of this resource. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> bool: + """ + enabled if a new account in ZITADEL are created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> bool: + """ + enabled if a the ZITADEL account fields are updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> bool: + """ + enabled if users are able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> bool: + """ + enabled if users are able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @property + @pulumi.getter + def name(self) -> str: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[str]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @property + @pulumi.getter + def scopes(self) -> Sequence[str]: + """ + the scopes requested by ZITADEL during the request on the identity provider + """ + return pulumi.get(self, "scopes") + + +class AwaitableGetOrgIdpGoogleResult(GetOrgIdpGoogleResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetOrgIdpGoogleResult( + client_id=self.client_id, + client_secret=self.client_secret, + id=self.id, + is_auto_creation=self.is_auto_creation, + is_auto_update=self.is_auto_update, + is_creation_allowed=self.is_creation_allowed, + is_linking_allowed=self.is_linking_allowed, + name=self.name, + org_id=self.org_id, + scopes=self.scopes) + + +def get_org_idp_google(id: Optional[str] = None, + org_id: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetOrgIdpGoogleResult: + """ + Datasource representing a Google IdP of the organization. + + ## Example Usage + + ```python + import pulumi + import pulumi_zitadel as zitadel + + default = zitadel.get_org_idp_google(org_id=data["zitadel_org"]["default"]["id"], + id="123456789012345678") + ``` + + + :param str id: The ID of this resource. + :param str org_id: ID of the organization + """ + __args__ = dict() + __args__['id'] = id + __args__['orgId'] = org_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('zitadel:index/getOrgIdpGoogle:getOrgIdpGoogle', __args__, opts=opts, typ=GetOrgIdpGoogleResult).value + + return AwaitableGetOrgIdpGoogleResult( + client_id=pulumi.get(__ret__, 'client_id'), + client_secret=pulumi.get(__ret__, 'client_secret'), + id=pulumi.get(__ret__, 'id'), + is_auto_creation=pulumi.get(__ret__, 'is_auto_creation'), + is_auto_update=pulumi.get(__ret__, 'is_auto_update'), + is_creation_allowed=pulumi.get(__ret__, 'is_creation_allowed'), + is_linking_allowed=pulumi.get(__ret__, 'is_linking_allowed'), + name=pulumi.get(__ret__, 'name'), + org_id=pulumi.get(__ret__, 'org_id'), + scopes=pulumi.get(__ret__, 'scopes')) + + +@_utilities.lift_output_func(get_org_idp_google) +def get_org_idp_google_output(id: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[Optional[str]]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetOrgIdpGoogleResult]: + """ + Datasource representing a Google IdP of the organization. + + ## Example Usage + + ```python + import pulumi + import pulumi_zitadel as zitadel + + default = zitadel.get_org_idp_google(org_id=data["zitadel_org"]["default"]["id"], + id="123456789012345678") + ``` + + + :param str id: The ID of this resource. + :param str org_id: ID of the organization + """ + ... diff --git a/sdk/python/scoretechnologies_zitadel/get_org_idp_ldap.py b/sdk/python/scoretechnologies_zitadel/get_org_idp_ldap.py new file mode 100644 index 0000000..851ab87 --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/get_org_idp_ldap.py @@ -0,0 +1,462 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = [ + 'GetOrgIdpLdapResult', + 'AwaitableGetOrgIdpLdapResult', + 'get_org_idp_ldap', + 'get_org_idp_ldap_output', +] + +@pulumi.output_type +class GetOrgIdpLdapResult: + """ + A collection of values returned by getOrgIdpLdap. + """ + def __init__(__self__, avatar_url_attribute=None, base_dn=None, bind_dn=None, bind_password=None, display_name_attribute=None, email_attribute=None, email_verified_attribute=None, first_name_attribute=None, id=None, id_attribute=None, is_auto_creation=None, is_auto_update=None, is_creation_allowed=None, is_linking_allowed=None, last_name_attribute=None, name=None, nick_name_attribute=None, org_id=None, phone_attribute=None, phone_verified_attribute=None, preferred_language_attribute=None, preferred_username_attribute=None, profile_attribute=None, servers=None, start_tls=None, timeout=None, user_base=None, user_filters=None, user_object_classes=None): + if avatar_url_attribute and not isinstance(avatar_url_attribute, str): + raise TypeError("Expected argument 'avatar_url_attribute' to be a str") + pulumi.set(__self__, "avatar_url_attribute", avatar_url_attribute) + if base_dn and not isinstance(base_dn, str): + raise TypeError("Expected argument 'base_dn' to be a str") + pulumi.set(__self__, "base_dn", base_dn) + if bind_dn and not isinstance(bind_dn, str): + raise TypeError("Expected argument 'bind_dn' to be a str") + pulumi.set(__self__, "bind_dn", bind_dn) + if bind_password and not isinstance(bind_password, str): + raise TypeError("Expected argument 'bind_password' to be a str") + pulumi.set(__self__, "bind_password", bind_password) + if display_name_attribute and not isinstance(display_name_attribute, str): + raise TypeError("Expected argument 'display_name_attribute' to be a str") + pulumi.set(__self__, "display_name_attribute", display_name_attribute) + if email_attribute and not isinstance(email_attribute, str): + raise TypeError("Expected argument 'email_attribute' to be a str") + pulumi.set(__self__, "email_attribute", email_attribute) + if email_verified_attribute and not isinstance(email_verified_attribute, str): + raise TypeError("Expected argument 'email_verified_attribute' to be a str") + pulumi.set(__self__, "email_verified_attribute", email_verified_attribute) + if first_name_attribute and not isinstance(first_name_attribute, str): + raise TypeError("Expected argument 'first_name_attribute' to be a str") + pulumi.set(__self__, "first_name_attribute", first_name_attribute) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if id_attribute and not isinstance(id_attribute, str): + raise TypeError("Expected argument 'id_attribute' to be a str") + pulumi.set(__self__, "id_attribute", id_attribute) + if is_auto_creation and not isinstance(is_auto_creation, bool): + raise TypeError("Expected argument 'is_auto_creation' to be a bool") + pulumi.set(__self__, "is_auto_creation", is_auto_creation) + if is_auto_update and not isinstance(is_auto_update, bool): + raise TypeError("Expected argument 'is_auto_update' to be a bool") + pulumi.set(__self__, "is_auto_update", is_auto_update) + if is_creation_allowed and not isinstance(is_creation_allowed, bool): + raise TypeError("Expected argument 'is_creation_allowed' to be a bool") + pulumi.set(__self__, "is_creation_allowed", is_creation_allowed) + if is_linking_allowed and not isinstance(is_linking_allowed, bool): + raise TypeError("Expected argument 'is_linking_allowed' to be a bool") + pulumi.set(__self__, "is_linking_allowed", is_linking_allowed) + if last_name_attribute and not isinstance(last_name_attribute, str): + raise TypeError("Expected argument 'last_name_attribute' to be a str") + pulumi.set(__self__, "last_name_attribute", last_name_attribute) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if nick_name_attribute and not isinstance(nick_name_attribute, str): + raise TypeError("Expected argument 'nick_name_attribute' to be a str") + pulumi.set(__self__, "nick_name_attribute", nick_name_attribute) + if org_id and not isinstance(org_id, str): + raise TypeError("Expected argument 'org_id' to be a str") + pulumi.set(__self__, "org_id", org_id) + if phone_attribute and not isinstance(phone_attribute, str): + raise TypeError("Expected argument 'phone_attribute' to be a str") + pulumi.set(__self__, "phone_attribute", phone_attribute) + if phone_verified_attribute and not isinstance(phone_verified_attribute, str): + raise TypeError("Expected argument 'phone_verified_attribute' to be a str") + pulumi.set(__self__, "phone_verified_attribute", phone_verified_attribute) + if preferred_language_attribute and not isinstance(preferred_language_attribute, str): + raise TypeError("Expected argument 'preferred_language_attribute' to be a str") + pulumi.set(__self__, "preferred_language_attribute", preferred_language_attribute) + if preferred_username_attribute and not isinstance(preferred_username_attribute, str): + raise TypeError("Expected argument 'preferred_username_attribute' to be a str") + pulumi.set(__self__, "preferred_username_attribute", preferred_username_attribute) + if profile_attribute and not isinstance(profile_attribute, str): + raise TypeError("Expected argument 'profile_attribute' to be a str") + pulumi.set(__self__, "profile_attribute", profile_attribute) + if servers and not isinstance(servers, list): + raise TypeError("Expected argument 'servers' to be a list") + pulumi.set(__self__, "servers", servers) + if start_tls and not isinstance(start_tls, bool): + raise TypeError("Expected argument 'start_tls' to be a bool") + pulumi.set(__self__, "start_tls", start_tls) + if timeout and not isinstance(timeout, str): + raise TypeError("Expected argument 'timeout' to be a str") + pulumi.set(__self__, "timeout", timeout) + if user_base and not isinstance(user_base, str): + raise TypeError("Expected argument 'user_base' to be a str") + pulumi.set(__self__, "user_base", user_base) + if user_filters and not isinstance(user_filters, list): + raise TypeError("Expected argument 'user_filters' to be a list") + pulumi.set(__self__, "user_filters", user_filters) + if user_object_classes and not isinstance(user_object_classes, list): + raise TypeError("Expected argument 'user_object_classes' to be a list") + pulumi.set(__self__, "user_object_classes", user_object_classes) + + @property + @pulumi.getter(name="avatarUrlAttribute") + def avatar_url_attribute(self) -> str: + """ + User attribute for the avatar url + """ + return pulumi.get(self, "avatar_url_attribute") + + @property + @pulumi.getter(name="baseDn") + def base_dn(self) -> str: + """ + Base DN for LDAP connections + """ + return pulumi.get(self, "base_dn") + + @property + @pulumi.getter(name="bindDn") + def bind_dn(self) -> str: + """ + Bind DN for LDAP connections + """ + return pulumi.get(self, "bind_dn") + + @property + @pulumi.getter(name="bindPassword") + def bind_password(self) -> str: + """ + Bind password for LDAP connections + """ + return pulumi.get(self, "bind_password") + + @property + @pulumi.getter(name="displayNameAttribute") + def display_name_attribute(self) -> str: + """ + User attribute for the display name + """ + return pulumi.get(self, "display_name_attribute") + + @property + @pulumi.getter(name="emailAttribute") + def email_attribute(self) -> str: + """ + User attribute for the email + """ + return pulumi.get(self, "email_attribute") + + @property + @pulumi.getter(name="emailVerifiedAttribute") + def email_verified_attribute(self) -> str: + """ + User attribute for the email verified state + """ + return pulumi.get(self, "email_verified_attribute") + + @property + @pulumi.getter(name="firstNameAttribute") + def first_name_attribute(self) -> str: + """ + User attribute for the first name + """ + return pulumi.get(self, "first_name_attribute") + + @property + @pulumi.getter + def id(self) -> str: + """ + The ID of this resource. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="idAttribute") + def id_attribute(self) -> str: + """ + User attribute for the id + """ + return pulumi.get(self, "id_attribute") + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> bool: + """ + enabled if a new account in ZITADEL are created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> bool: + """ + enabled if a the ZITADEL account fields are updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> bool: + """ + enabled if users are able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> bool: + """ + enabled if users are able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @property + @pulumi.getter(name="lastNameAttribute") + def last_name_attribute(self) -> str: + """ + User attribute for the last name + """ + return pulumi.get(self, "last_name_attribute") + + @property + @pulumi.getter + def name(self) -> str: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="nickNameAttribute") + def nick_name_attribute(self) -> str: + """ + User attribute for the nick name + """ + return pulumi.get(self, "nick_name_attribute") + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[str]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @property + @pulumi.getter(name="phoneAttribute") + def phone_attribute(self) -> str: + """ + User attribute for the phone + """ + return pulumi.get(self, "phone_attribute") + + @property + @pulumi.getter(name="phoneVerifiedAttribute") + def phone_verified_attribute(self) -> str: + """ + User attribute for the phone verified state + """ + return pulumi.get(self, "phone_verified_attribute") + + @property + @pulumi.getter(name="preferredLanguageAttribute") + def preferred_language_attribute(self) -> str: + """ + User attribute for the preferred language + """ + return pulumi.get(self, "preferred_language_attribute") + + @property + @pulumi.getter(name="preferredUsernameAttribute") + def preferred_username_attribute(self) -> str: + """ + User attribute for the preferred username + """ + return pulumi.get(self, "preferred_username_attribute") + + @property + @pulumi.getter(name="profileAttribute") + def profile_attribute(self) -> str: + """ + User attribute for the profile + """ + return pulumi.get(self, "profile_attribute") + + @property + @pulumi.getter + def servers(self) -> Sequence[str]: + """ + Servers to try in order for establishing LDAP connections + """ + return pulumi.get(self, "servers") + + @property + @pulumi.getter(name="startTls") + def start_tls(self) -> bool: + """ + Wether to use StartTLS for LDAP connections + """ + return pulumi.get(self, "start_tls") + + @property + @pulumi.getter + def timeout(self) -> str: + """ + Timeout for LDAP connections + """ + return pulumi.get(self, "timeout") + + @property + @pulumi.getter(name="userBase") + def user_base(self) -> str: + """ + User base for LDAP connections + """ + return pulumi.get(self, "user_base") + + @property + @pulumi.getter(name="userFilters") + def user_filters(self) -> Sequence[str]: + """ + User filters for LDAP connections + """ + return pulumi.get(self, "user_filters") + + @property + @pulumi.getter(name="userObjectClasses") + def user_object_classes(self) -> Sequence[str]: + """ + User object classes for LDAP connections + """ + return pulumi.get(self, "user_object_classes") + + +class AwaitableGetOrgIdpLdapResult(GetOrgIdpLdapResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetOrgIdpLdapResult( + avatar_url_attribute=self.avatar_url_attribute, + base_dn=self.base_dn, + bind_dn=self.bind_dn, + bind_password=self.bind_password, + display_name_attribute=self.display_name_attribute, + email_attribute=self.email_attribute, + email_verified_attribute=self.email_verified_attribute, + first_name_attribute=self.first_name_attribute, + id=self.id, + id_attribute=self.id_attribute, + is_auto_creation=self.is_auto_creation, + is_auto_update=self.is_auto_update, + is_creation_allowed=self.is_creation_allowed, + is_linking_allowed=self.is_linking_allowed, + last_name_attribute=self.last_name_attribute, + name=self.name, + nick_name_attribute=self.nick_name_attribute, + org_id=self.org_id, + phone_attribute=self.phone_attribute, + phone_verified_attribute=self.phone_verified_attribute, + preferred_language_attribute=self.preferred_language_attribute, + preferred_username_attribute=self.preferred_username_attribute, + profile_attribute=self.profile_attribute, + servers=self.servers, + start_tls=self.start_tls, + timeout=self.timeout, + user_base=self.user_base, + user_filters=self.user_filters, + user_object_classes=self.user_object_classes) + + +def get_org_idp_ldap(id: Optional[str] = None, + org_id: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetOrgIdpLdapResult: + """ + Datasource representing an LDAP IdP on the organization. + + ## Example Usage + + ```python + import pulumi + import pulumi_zitadel as zitadel + + default = zitadel.get_org_idp_ldap(org_id=data["zitadel_org"]["default"]["id"], + id="123456789012345678") + ``` + + + :param str id: The ID of this resource. + :param str org_id: ID of the organization + """ + __args__ = dict() + __args__['id'] = id + __args__['orgId'] = org_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('zitadel:index/getOrgIdpLdap:getOrgIdpLdap', __args__, opts=opts, typ=GetOrgIdpLdapResult).value + + return AwaitableGetOrgIdpLdapResult( + avatar_url_attribute=pulumi.get(__ret__, 'avatar_url_attribute'), + base_dn=pulumi.get(__ret__, 'base_dn'), + bind_dn=pulumi.get(__ret__, 'bind_dn'), + bind_password=pulumi.get(__ret__, 'bind_password'), + display_name_attribute=pulumi.get(__ret__, 'display_name_attribute'), + email_attribute=pulumi.get(__ret__, 'email_attribute'), + email_verified_attribute=pulumi.get(__ret__, 'email_verified_attribute'), + first_name_attribute=pulumi.get(__ret__, 'first_name_attribute'), + id=pulumi.get(__ret__, 'id'), + id_attribute=pulumi.get(__ret__, 'id_attribute'), + is_auto_creation=pulumi.get(__ret__, 'is_auto_creation'), + is_auto_update=pulumi.get(__ret__, 'is_auto_update'), + is_creation_allowed=pulumi.get(__ret__, 'is_creation_allowed'), + is_linking_allowed=pulumi.get(__ret__, 'is_linking_allowed'), + last_name_attribute=pulumi.get(__ret__, 'last_name_attribute'), + name=pulumi.get(__ret__, 'name'), + nick_name_attribute=pulumi.get(__ret__, 'nick_name_attribute'), + org_id=pulumi.get(__ret__, 'org_id'), + phone_attribute=pulumi.get(__ret__, 'phone_attribute'), + phone_verified_attribute=pulumi.get(__ret__, 'phone_verified_attribute'), + preferred_language_attribute=pulumi.get(__ret__, 'preferred_language_attribute'), + preferred_username_attribute=pulumi.get(__ret__, 'preferred_username_attribute'), + profile_attribute=pulumi.get(__ret__, 'profile_attribute'), + servers=pulumi.get(__ret__, 'servers'), + start_tls=pulumi.get(__ret__, 'start_tls'), + timeout=pulumi.get(__ret__, 'timeout'), + user_base=pulumi.get(__ret__, 'user_base'), + user_filters=pulumi.get(__ret__, 'user_filters'), + user_object_classes=pulumi.get(__ret__, 'user_object_classes')) + + +@_utilities.lift_output_func(get_org_idp_ldap) +def get_org_idp_ldap_output(id: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[Optional[str]]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetOrgIdpLdapResult]: + """ + Datasource representing an LDAP IdP on the organization. + + ## Example Usage + + ```python + import pulumi + import pulumi_zitadel as zitadel + + default = zitadel.get_org_idp_ldap(org_id=data["zitadel_org"]["default"]["id"], + id="123456789012345678") + ``` + + + :param str id: The ID of this resource. + :param str org_id: ID of the organization + """ + ... diff --git a/sdk/python/scoretechnologies_zitadel/get_org_idp_oauth.py b/sdk/python/scoretechnologies_zitadel/get_org_idp_oauth.py new file mode 100644 index 0000000..6adfb6a --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/get_org_idp_oauth.py @@ -0,0 +1,267 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = [ + 'GetOrgIdpOauthResult', + 'AwaitableGetOrgIdpOauthResult', + 'get_org_idp_oauth', + 'get_org_idp_oauth_output', +] + +@pulumi.output_type +class GetOrgIdpOauthResult: + """ + A collection of values returned by getOrgIdpOauth. + """ + def __init__(__self__, authorization_endpoint=None, client_id=None, client_secret=None, id=None, id_attribute=None, is_auto_creation=None, is_auto_update=None, is_creation_allowed=None, is_linking_allowed=None, name=None, org_id=None, scopes=None, token_endpoint=None, user_endpoint=None): + if authorization_endpoint and not isinstance(authorization_endpoint, str): + raise TypeError("Expected argument 'authorization_endpoint' to be a str") + pulumi.set(__self__, "authorization_endpoint", authorization_endpoint) + if client_id and not isinstance(client_id, str): + raise TypeError("Expected argument 'client_id' to be a str") + pulumi.set(__self__, "client_id", client_id) + if client_secret and not isinstance(client_secret, str): + raise TypeError("Expected argument 'client_secret' to be a str") + pulumi.set(__self__, "client_secret", client_secret) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if id_attribute and not isinstance(id_attribute, str): + raise TypeError("Expected argument 'id_attribute' to be a str") + pulumi.set(__self__, "id_attribute", id_attribute) + if is_auto_creation and not isinstance(is_auto_creation, bool): + raise TypeError("Expected argument 'is_auto_creation' to be a bool") + pulumi.set(__self__, "is_auto_creation", is_auto_creation) + if is_auto_update and not isinstance(is_auto_update, bool): + raise TypeError("Expected argument 'is_auto_update' to be a bool") + pulumi.set(__self__, "is_auto_update", is_auto_update) + if is_creation_allowed and not isinstance(is_creation_allowed, bool): + raise TypeError("Expected argument 'is_creation_allowed' to be a bool") + pulumi.set(__self__, "is_creation_allowed", is_creation_allowed) + if is_linking_allowed and not isinstance(is_linking_allowed, bool): + raise TypeError("Expected argument 'is_linking_allowed' to be a bool") + pulumi.set(__self__, "is_linking_allowed", is_linking_allowed) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if org_id and not isinstance(org_id, str): + raise TypeError("Expected argument 'org_id' to be a str") + pulumi.set(__self__, "org_id", org_id) + if scopes and not isinstance(scopes, list): + raise TypeError("Expected argument 'scopes' to be a list") + pulumi.set(__self__, "scopes", scopes) + if token_endpoint and not isinstance(token_endpoint, str): + raise TypeError("Expected argument 'token_endpoint' to be a str") + pulumi.set(__self__, "token_endpoint", token_endpoint) + if user_endpoint and not isinstance(user_endpoint, str): + raise TypeError("Expected argument 'user_endpoint' to be a str") + pulumi.set(__self__, "user_endpoint", user_endpoint) + + @property + @pulumi.getter(name="authorizationEndpoint") + def authorization_endpoint(self) -> str: + """ + The authorization endpoint + """ + return pulumi.get(self, "authorization_endpoint") + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> str: + """ + client id generated by the identity provider + """ + return pulumi.get(self, "client_id") + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> str: + """ + client secret generated by the identity provider + """ + return pulumi.get(self, "client_secret") + + @property + @pulumi.getter + def id(self) -> str: + """ + The ID of this resource. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="idAttribute") + def id_attribute(self) -> str: + """ + The id attribute + """ + return pulumi.get(self, "id_attribute") + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> bool: + """ + enabled if a new account in ZITADEL are created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> bool: + """ + enabled if a the ZITADEL account fields are updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> bool: + """ + enabled if users are able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> bool: + """ + enabled if users are able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @property + @pulumi.getter + def name(self) -> str: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[str]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @property + @pulumi.getter + def scopes(self) -> Sequence[str]: + """ + the scopes requested by ZITADEL during the request on the identity provider + """ + return pulumi.get(self, "scopes") + + @property + @pulumi.getter(name="tokenEndpoint") + def token_endpoint(self) -> str: + """ + The token endpoint + """ + return pulumi.get(self, "token_endpoint") + + @property + @pulumi.getter(name="userEndpoint") + def user_endpoint(self) -> str: + """ + The user endpoint + """ + return pulumi.get(self, "user_endpoint") + + +class AwaitableGetOrgIdpOauthResult(GetOrgIdpOauthResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetOrgIdpOauthResult( + authorization_endpoint=self.authorization_endpoint, + client_id=self.client_id, + client_secret=self.client_secret, + id=self.id, + id_attribute=self.id_attribute, + is_auto_creation=self.is_auto_creation, + is_auto_update=self.is_auto_update, + is_creation_allowed=self.is_creation_allowed, + is_linking_allowed=self.is_linking_allowed, + name=self.name, + org_id=self.org_id, + scopes=self.scopes, + token_endpoint=self.token_endpoint, + user_endpoint=self.user_endpoint) + + +def get_org_idp_oauth(id: Optional[str] = None, + org_id: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetOrgIdpOauthResult: + """ + Datasource representing a generic OAuth2 IDP of the organization. + + ## Example Usage + + ```python + import pulumi + import pulumi_zitadel as zitadel + + default = zitadel.get_org_idp_oauth(org_id=data["zitadel_org"]["default"]["id"], + id="123456789012345678") + ``` + + + :param str id: The ID of this resource. + :param str org_id: ID of the organization + """ + __args__ = dict() + __args__['id'] = id + __args__['orgId'] = org_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('zitadel:index/getOrgIdpOauth:getOrgIdpOauth', __args__, opts=opts, typ=GetOrgIdpOauthResult).value + + return AwaitableGetOrgIdpOauthResult( + authorization_endpoint=pulumi.get(__ret__, 'authorization_endpoint'), + client_id=pulumi.get(__ret__, 'client_id'), + client_secret=pulumi.get(__ret__, 'client_secret'), + id=pulumi.get(__ret__, 'id'), + id_attribute=pulumi.get(__ret__, 'id_attribute'), + is_auto_creation=pulumi.get(__ret__, 'is_auto_creation'), + is_auto_update=pulumi.get(__ret__, 'is_auto_update'), + is_creation_allowed=pulumi.get(__ret__, 'is_creation_allowed'), + is_linking_allowed=pulumi.get(__ret__, 'is_linking_allowed'), + name=pulumi.get(__ret__, 'name'), + org_id=pulumi.get(__ret__, 'org_id'), + scopes=pulumi.get(__ret__, 'scopes'), + token_endpoint=pulumi.get(__ret__, 'token_endpoint'), + user_endpoint=pulumi.get(__ret__, 'user_endpoint')) + + +@_utilities.lift_output_func(get_org_idp_oauth) +def get_org_idp_oauth_output(id: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[Optional[str]]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetOrgIdpOauthResult]: + """ + Datasource representing a generic OAuth2 IDP of the organization. + + ## Example Usage + + ```python + import pulumi + import pulumi_zitadel as zitadel + + default = zitadel.get_org_idp_oauth(org_id=data["zitadel_org"]["default"]["id"], + id="123456789012345678") + ``` + + + :param str id: The ID of this resource. + :param str org_id: ID of the organization + """ + ... diff --git a/sdk/python/scoretechnologies_zitadel/get_org_idp_saml.py b/sdk/python/scoretechnologies_zitadel/get_org_idp_saml.py new file mode 100644 index 0000000..ec3a5ee --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/get_org_idp_saml.py @@ -0,0 +1,215 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = [ + 'GetOrgIdpSamlResult', + 'AwaitableGetOrgIdpSamlResult', + 'get_org_idp_saml', + 'get_org_idp_saml_output', +] + +@pulumi.output_type +class GetOrgIdpSamlResult: + """ + A collection of values returned by getOrgIdpSaml. + """ + def __init__(__self__, binding=None, id=None, is_auto_creation=None, is_auto_update=None, is_creation_allowed=None, is_linking_allowed=None, metadata_xml=None, name=None, org_id=None, with_signed_request=None): + if binding and not isinstance(binding, str): + raise TypeError("Expected argument 'binding' to be a str") + pulumi.set(__self__, "binding", binding) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if is_auto_creation and not isinstance(is_auto_creation, bool): + raise TypeError("Expected argument 'is_auto_creation' to be a bool") + pulumi.set(__self__, "is_auto_creation", is_auto_creation) + if is_auto_update and not isinstance(is_auto_update, bool): + raise TypeError("Expected argument 'is_auto_update' to be a bool") + pulumi.set(__self__, "is_auto_update", is_auto_update) + if is_creation_allowed and not isinstance(is_creation_allowed, bool): + raise TypeError("Expected argument 'is_creation_allowed' to be a bool") + pulumi.set(__self__, "is_creation_allowed", is_creation_allowed) + if is_linking_allowed and not isinstance(is_linking_allowed, bool): + raise TypeError("Expected argument 'is_linking_allowed' to be a bool") + pulumi.set(__self__, "is_linking_allowed", is_linking_allowed) + if metadata_xml and not isinstance(metadata_xml, str): + raise TypeError("Expected argument 'metadata_xml' to be a str") + pulumi.set(__self__, "metadata_xml", metadata_xml) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if org_id and not isinstance(org_id, str): + raise TypeError("Expected argument 'org_id' to be a str") + pulumi.set(__self__, "org_id", org_id) + if with_signed_request and not isinstance(with_signed_request, str): + raise TypeError("Expected argument 'with_signed_request' to be a str") + pulumi.set(__self__, "with_signed_request", with_signed_request) + + @property + @pulumi.getter + def binding(self) -> str: + """ + The binding + """ + return pulumi.get(self, "binding") + + @property + @pulumi.getter + def id(self) -> str: + """ + The ID of this resource. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> bool: + """ + enabled if a new account in ZITADEL are created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> bool: + """ + enabled if a the ZITADEL account fields are updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> bool: + """ + enabled if users are able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> bool: + """ + enabled if users are able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @property + @pulumi.getter(name="metadataXml") + def metadata_xml(self) -> str: + """ + The metadata XML as plain string + """ + return pulumi.get(self, "metadata_xml") + + @property + @pulumi.getter + def name(self) -> str: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[str]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @property + @pulumi.getter(name="withSignedRequest") + def with_signed_request(self) -> str: + """ + Whether the SAML IDP requires signed requests + """ + return pulumi.get(self, "with_signed_request") + + +class AwaitableGetOrgIdpSamlResult(GetOrgIdpSamlResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetOrgIdpSamlResult( + binding=self.binding, + id=self.id, + is_auto_creation=self.is_auto_creation, + is_auto_update=self.is_auto_update, + is_creation_allowed=self.is_creation_allowed, + is_linking_allowed=self.is_linking_allowed, + metadata_xml=self.metadata_xml, + name=self.name, + org_id=self.org_id, + with_signed_request=self.with_signed_request) + + +def get_org_idp_saml(id: Optional[str] = None, + org_id: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetOrgIdpSamlResult: + """ + Datasource representing a SAML IdP of the organization. + + ## Example Usage + + ```python + import pulumi + import pulumi_zitadel as zitadel + + default = zitadel.get_org_idp_saml(org_id=data["zitadel_org"]["default"]["id"], + id="123456789012345678") + ``` + + + :param str id: The ID of this resource. + :param str org_id: ID of the organization + """ + __args__ = dict() + __args__['id'] = id + __args__['orgId'] = org_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('zitadel:index/getOrgIdpSaml:getOrgIdpSaml', __args__, opts=opts, typ=GetOrgIdpSamlResult).value + + return AwaitableGetOrgIdpSamlResult( + binding=pulumi.get(__ret__, 'binding'), + id=pulumi.get(__ret__, 'id'), + is_auto_creation=pulumi.get(__ret__, 'is_auto_creation'), + is_auto_update=pulumi.get(__ret__, 'is_auto_update'), + is_creation_allowed=pulumi.get(__ret__, 'is_creation_allowed'), + is_linking_allowed=pulumi.get(__ret__, 'is_linking_allowed'), + metadata_xml=pulumi.get(__ret__, 'metadata_xml'), + name=pulumi.get(__ret__, 'name'), + org_id=pulumi.get(__ret__, 'org_id'), + with_signed_request=pulumi.get(__ret__, 'with_signed_request')) + + +@_utilities.lift_output_func(get_org_idp_saml) +def get_org_idp_saml_output(id: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[Optional[str]]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetOrgIdpSamlResult]: + """ + Datasource representing a SAML IdP of the organization. + + ## Example Usage + + ```python + import pulumi + import pulumi_zitadel as zitadel + + default = zitadel.get_org_idp_saml(org_id=data["zitadel_org"]["default"]["id"], + id="123456789012345678") + ``` + + + :param str id: The ID of this resource. + :param str org_id: ID of the organization + """ + ... diff --git a/sdk/python/scoretechnologies_zitadel/get_org_jwt_idp.py b/sdk/python/scoretechnologies_zitadel/get_org_jwt_idp.py new file mode 100644 index 0000000..ace273e --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/get_org_jwt_idp.py @@ -0,0 +1,195 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = [ + 'GetOrgJwtIdpResult', + 'AwaitableGetOrgJwtIdpResult', + 'get_org_jwt_idp', + 'get_org_jwt_idp_output', +] + +@pulumi.output_type +class GetOrgJwtIdpResult: + """ + A collection of values returned by getOrgJwtIdp. + """ + def __init__(__self__, auto_register=None, header_name=None, id=None, idp_id=None, issuer=None, jwt_endpoint=None, keys_endpoint=None, name=None, org_id=None, styling_type=None): + if auto_register and not isinstance(auto_register, bool): + raise TypeError("Expected argument 'auto_register' to be a bool") + pulumi.set(__self__, "auto_register", auto_register) + if header_name and not isinstance(header_name, str): + raise TypeError("Expected argument 'header_name' to be a str") + pulumi.set(__self__, "header_name", header_name) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if idp_id and not isinstance(idp_id, str): + raise TypeError("Expected argument 'idp_id' to be a str") + pulumi.set(__self__, "idp_id", idp_id) + if issuer and not isinstance(issuer, str): + raise TypeError("Expected argument 'issuer' to be a str") + pulumi.set(__self__, "issuer", issuer) + if jwt_endpoint and not isinstance(jwt_endpoint, str): + raise TypeError("Expected argument 'jwt_endpoint' to be a str") + pulumi.set(__self__, "jwt_endpoint", jwt_endpoint) + if keys_endpoint and not isinstance(keys_endpoint, str): + raise TypeError("Expected argument 'keys_endpoint' to be a str") + pulumi.set(__self__, "keys_endpoint", keys_endpoint) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if org_id and not isinstance(org_id, str): + raise TypeError("Expected argument 'org_id' to be a str") + pulumi.set(__self__, "org_id", org_id) + if styling_type and not isinstance(styling_type, str): + raise TypeError("Expected argument 'styling_type' to be a str") + pulumi.set(__self__, "styling_type", styling_type) + + @property + @pulumi.getter(name="autoRegister") + def auto_register(self) -> bool: + """ + auto register for users from this idp + """ + return pulumi.get(self, "auto_register") + + @property + @pulumi.getter(name="headerName") + def header_name(self) -> str: + """ + the name of the header where the JWT is sent in, default is authorization + """ + return pulumi.get(self, "header_name") + + @property + @pulumi.getter + def id(self) -> str: + """ + The provider-assigned unique ID for this managed resource. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="idpId") + def idp_id(self) -> str: + """ + The ID of this resource. + """ + return pulumi.get(self, "idp_id") + + @property + @pulumi.getter + def issuer(self) -> str: + """ + the issuer of the jwt (for validation) + """ + return pulumi.get(self, "issuer") + + @property + @pulumi.getter(name="jwtEndpoint") + def jwt_endpoint(self) -> str: + """ + the endpoint where the jwt can be extracted + """ + return pulumi.get(self, "jwt_endpoint") + + @property + @pulumi.getter(name="keysEndpoint") + def keys_endpoint(self) -> str: + """ + the endpoint to the key (JWK) which are used to sign the JWT with + """ + return pulumi.get(self, "keys_endpoint") + + @property + @pulumi.getter + def name(self) -> str: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> str: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @property + @pulumi.getter(name="stylingType") + def styling_type(self) -> str: + """ + Some identity providers specify the styling of the button to their login + """ + return pulumi.get(self, "styling_type") + + +class AwaitableGetOrgJwtIdpResult(GetOrgJwtIdpResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetOrgJwtIdpResult( + auto_register=self.auto_register, + header_name=self.header_name, + id=self.id, + idp_id=self.idp_id, + issuer=self.issuer, + jwt_endpoint=self.jwt_endpoint, + keys_endpoint=self.keys_endpoint, + name=self.name, + org_id=self.org_id, + styling_type=self.styling_type) + + +def get_org_jwt_idp(idp_id: Optional[str] = None, + org_id: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetOrgJwtIdpResult: + """ + Datasource representing a generic JWT IdP on the organization. + + + :param str idp_id: The ID of this resource. + :param str org_id: ID of the organization + """ + __args__ = dict() + __args__['idpId'] = idp_id + __args__['orgId'] = org_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('zitadel:index/getOrgJwtIdp:getOrgJwtIdp', __args__, opts=opts, typ=GetOrgJwtIdpResult).value + + return AwaitableGetOrgJwtIdpResult( + auto_register=pulumi.get(__ret__, 'auto_register'), + header_name=pulumi.get(__ret__, 'header_name'), + id=pulumi.get(__ret__, 'id'), + idp_id=pulumi.get(__ret__, 'idp_id'), + issuer=pulumi.get(__ret__, 'issuer'), + jwt_endpoint=pulumi.get(__ret__, 'jwt_endpoint'), + keys_endpoint=pulumi.get(__ret__, 'keys_endpoint'), + name=pulumi.get(__ret__, 'name'), + org_id=pulumi.get(__ret__, 'org_id'), + styling_type=pulumi.get(__ret__, 'styling_type')) + + +@_utilities.lift_output_func(get_org_jwt_idp) +def get_org_jwt_idp_output(idp_id: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetOrgJwtIdpResult]: + """ + Datasource representing a generic JWT IdP on the organization. + + + :param str idp_id: The ID of this resource. + :param str org_id: ID of the organization + """ + ... diff --git a/sdk/python/scoretechnologies_zitadel/get_org_oidc_idp.py b/sdk/python/scoretechnologies_zitadel/get_org_oidc_idp.py new file mode 100644 index 0000000..ab3fdc6 --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/get_org_oidc_idp.py @@ -0,0 +1,243 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = [ + 'GetOrgOidcIdpResult', + 'AwaitableGetOrgOidcIdpResult', + 'get_org_oidc_idp', + 'get_org_oidc_idp_output', +] + +@pulumi.output_type +class GetOrgOidcIdpResult: + """ + A collection of values returned by getOrgOidcIdp. + """ + def __init__(__self__, client_id=None, client_secret=None, id=None, is_auto_creation=None, is_auto_update=None, is_creation_allowed=None, is_id_token_mapping=None, is_linking_allowed=None, issuer=None, name=None, org_id=None, scopes=None): + if client_id and not isinstance(client_id, str): + raise TypeError("Expected argument 'client_id' to be a str") + pulumi.set(__self__, "client_id", client_id) + if client_secret and not isinstance(client_secret, str): + raise TypeError("Expected argument 'client_secret' to be a str") + pulumi.set(__self__, "client_secret", client_secret) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if is_auto_creation and not isinstance(is_auto_creation, bool): + raise TypeError("Expected argument 'is_auto_creation' to be a bool") + pulumi.set(__self__, "is_auto_creation", is_auto_creation) + if is_auto_update and not isinstance(is_auto_update, bool): + raise TypeError("Expected argument 'is_auto_update' to be a bool") + pulumi.set(__self__, "is_auto_update", is_auto_update) + if is_creation_allowed and not isinstance(is_creation_allowed, bool): + raise TypeError("Expected argument 'is_creation_allowed' to be a bool") + pulumi.set(__self__, "is_creation_allowed", is_creation_allowed) + if is_id_token_mapping and not isinstance(is_id_token_mapping, bool): + raise TypeError("Expected argument 'is_id_token_mapping' to be a bool") + pulumi.set(__self__, "is_id_token_mapping", is_id_token_mapping) + if is_linking_allowed and not isinstance(is_linking_allowed, bool): + raise TypeError("Expected argument 'is_linking_allowed' to be a bool") + pulumi.set(__self__, "is_linking_allowed", is_linking_allowed) + if issuer and not isinstance(issuer, str): + raise TypeError("Expected argument 'issuer' to be a str") + pulumi.set(__self__, "issuer", issuer) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if org_id and not isinstance(org_id, str): + raise TypeError("Expected argument 'org_id' to be a str") + pulumi.set(__self__, "org_id", org_id) + if scopes and not isinstance(scopes, list): + raise TypeError("Expected argument 'scopes' to be a list") + pulumi.set(__self__, "scopes", scopes) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> str: + """ + client id generated by the identity provider + """ + return pulumi.get(self, "client_id") + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> str: + """ + client secret generated by the identity provider + """ + return pulumi.get(self, "client_secret") + + @property + @pulumi.getter + def id(self) -> str: + """ + The ID of this resource. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> bool: + """ + enabled if a new account in ZITADEL are created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> bool: + """ + enabled if a the ZITADEL account fields are updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> bool: + """ + enabled if users are able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @property + @pulumi.getter(name="isIdTokenMapping") + def is_id_token_mapping(self) -> bool: + """ + if true, provider information get mapped from the id token, not from the userinfo endpoint. + """ + return pulumi.get(self, "is_id_token_mapping") + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> bool: + """ + enabled if users are able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @property + @pulumi.getter + def issuer(self) -> str: + """ + the issuer of the idp + """ + return pulumi.get(self, "issuer") + + @property + @pulumi.getter + def name(self) -> str: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[str]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @property + @pulumi.getter + def scopes(self) -> Sequence[str]: + """ + the scopes requested by ZITADEL during the request on the identity provider + """ + return pulumi.get(self, "scopes") + + +class AwaitableGetOrgOidcIdpResult(GetOrgOidcIdpResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetOrgOidcIdpResult( + client_id=self.client_id, + client_secret=self.client_secret, + id=self.id, + is_auto_creation=self.is_auto_creation, + is_auto_update=self.is_auto_update, + is_creation_allowed=self.is_creation_allowed, + is_id_token_mapping=self.is_id_token_mapping, + is_linking_allowed=self.is_linking_allowed, + issuer=self.issuer, + name=self.name, + org_id=self.org_id, + scopes=self.scopes) + + +def get_org_oidc_idp(id: Optional[str] = None, + org_id: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetOrgOidcIdpResult: + """ + Datasource representing a generic OIDC IdP on the organization. + + ## Example Usage + + ```python + import pulumi + import pulumi_zitadel as zitadel + + default = zitadel.get_org_oidc_idp(org_id=data["zitadel_org"]["default"]["id"], + id="123456789012345678") + pulumi.export("orgOidcIdp", default) + ``` + + + :param str id: The ID of this resource. + :param str org_id: ID of the organization + """ + __args__ = dict() + __args__['id'] = id + __args__['orgId'] = org_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('zitadel:index/getOrgOidcIdp:getOrgOidcIdp', __args__, opts=opts, typ=GetOrgOidcIdpResult).value + + return AwaitableGetOrgOidcIdpResult( + client_id=pulumi.get(__ret__, 'client_id'), + client_secret=pulumi.get(__ret__, 'client_secret'), + id=pulumi.get(__ret__, 'id'), + is_auto_creation=pulumi.get(__ret__, 'is_auto_creation'), + is_auto_update=pulumi.get(__ret__, 'is_auto_update'), + is_creation_allowed=pulumi.get(__ret__, 'is_creation_allowed'), + is_id_token_mapping=pulumi.get(__ret__, 'is_id_token_mapping'), + is_linking_allowed=pulumi.get(__ret__, 'is_linking_allowed'), + issuer=pulumi.get(__ret__, 'issuer'), + name=pulumi.get(__ret__, 'name'), + org_id=pulumi.get(__ret__, 'org_id'), + scopes=pulumi.get(__ret__, 'scopes')) + + +@_utilities.lift_output_func(get_org_oidc_idp) +def get_org_oidc_idp_output(id: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[Optional[str]]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetOrgOidcIdpResult]: + """ + Datasource representing a generic OIDC IdP on the organization. + + ## Example Usage + + ```python + import pulumi + import pulumi_zitadel as zitadel + + default = zitadel.get_org_oidc_idp(org_id=data["zitadel_org"]["default"]["id"], + id="123456789012345678") + pulumi.export("orgOidcIdp", default) + ``` + + + :param str id: The ID of this resource. + :param str org_id: ID of the organization + """ + ... diff --git a/sdk/python/scoretechnologies_zitadel/get_orgs.py b/sdk/python/scoretechnologies_zitadel/get_orgs.py new file mode 100644 index 0000000..bff508c --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/get_orgs.py @@ -0,0 +1,184 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = [ + 'GetOrgsResult', + 'AwaitableGetOrgsResult', + 'get_orgs', + 'get_orgs_output', +] + +@pulumi.output_type +class GetOrgsResult: + """ + A collection of values returned by getOrgs. + """ + def __init__(__self__, domain=None, domain_method=None, id=None, ids=None, name=None, name_method=None, primary_domain=None, state=None): + if domain and not isinstance(domain, str): + raise TypeError("Expected argument 'domain' to be a str") + pulumi.set(__self__, "domain", domain) + if domain_method and not isinstance(domain_method, str): + raise TypeError("Expected argument 'domain_method' to be a str") + pulumi.set(__self__, "domain_method", domain_method) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if ids and not isinstance(ids, list): + raise TypeError("Expected argument 'ids' to be a list") + pulumi.set(__self__, "ids", ids) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if name_method and not isinstance(name_method, str): + raise TypeError("Expected argument 'name_method' to be a str") + pulumi.set(__self__, "name_method", name_method) + if primary_domain and not isinstance(primary_domain, str): + raise TypeError("Expected argument 'primary_domain' to be a str") + pulumi.set(__self__, "primary_domain", primary_domain) + if state and not isinstance(state, str): + raise TypeError("Expected argument 'state' to be a str") + pulumi.set(__self__, "state", state) + + @property + @pulumi.getter + def domain(self) -> Optional[str]: + """ + A domain of the org. + """ + return pulumi.get(self, "domain") + + @property + @pulumi.getter(name="domainMethod") + def domain_method(self) -> Optional[str]: + """ + Method for querying orgs by domain, supported values: TEXT*QUERY*METHOD*EQUALS, TEXT*QUERY*METHOD*EQUALS*IGNORE*CASE, TEXT*QUERY*METHOD*STARTS*WITH, TEXT*QUERY*METHOD*STARTS*WITH*IGNORE*CASE, TEXT*QUERY*METHOD*CONTAINS, TEXT*QUERY*METHOD*CONTAINS*IGNORE*CASE, TEXT*QUERY*METHOD*ENDS*WITH, TEXT*QUERY*METHOD*ENDS*WITH*IGNORE*CASE + """ + return pulumi.get(self, "domain_method") + + @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 ids(self) -> Sequence[str]: + """ + A set of all organization IDs. + """ + return pulumi.get(self, "ids") + + @property + @pulumi.getter + def name(self) -> Optional[str]: + """ + Name of the org. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="nameMethod") + def name_method(self) -> Optional[str]: + """ + Method for querying orgs by name, supported values: TEXT*QUERY*METHOD*EQUALS, TEXT*QUERY*METHOD*EQUALS*IGNORE*CASE, TEXT*QUERY*METHOD*STARTS*WITH, TEXT*QUERY*METHOD*STARTS*WITH*IGNORE*CASE, TEXT*QUERY*METHOD*CONTAINS, TEXT*QUERY*METHOD*CONTAINS*IGNORE*CASE, TEXT*QUERY*METHOD*ENDS*WITH, TEXT*QUERY*METHOD*ENDS*WITH*IGNORE*CASE + """ + return pulumi.get(self, "name_method") + + @property + @pulumi.getter(name="primaryDomain") + def primary_domain(self) -> str: + """ + Primary domain of the org + """ + return pulumi.get(self, "primary_domain") + + @property + @pulumi.getter + def state(self) -> Optional[str]: + """ + State of the org, supported values: ORG*STATE*UNSPECIFIED, ORG*STATE*ACTIVE, ORG*STATE*INACTIVE, ORG*STATE*REMOVED + """ + return pulumi.get(self, "state") + + +class AwaitableGetOrgsResult(GetOrgsResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetOrgsResult( + domain=self.domain, + domain_method=self.domain_method, + id=self.id, + ids=self.ids, + name=self.name, + name_method=self.name_method, + primary_domain=self.primary_domain, + state=self.state) + + +def get_orgs(domain: Optional[str] = None, + domain_method: Optional[str] = None, + name: Optional[str] = None, + name_method: Optional[str] = None, + state: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetOrgsResult: + """ + Datasource representing an organization in ZITADEL, which is the highest level after the instance and contains several other resource including policies if the configuration differs to the default policies on the instance. + + + :param str domain: A domain of the org. + :param str domain_method: Method for querying orgs by domain, supported values: TEXT*QUERY*METHOD*EQUALS, TEXT*QUERY*METHOD*EQUALS*IGNORE*CASE, TEXT*QUERY*METHOD*STARTS*WITH, TEXT*QUERY*METHOD*STARTS*WITH*IGNORE*CASE, TEXT*QUERY*METHOD*CONTAINS, TEXT*QUERY*METHOD*CONTAINS*IGNORE*CASE, TEXT*QUERY*METHOD*ENDS*WITH, TEXT*QUERY*METHOD*ENDS*WITH*IGNORE*CASE + :param str name: Name of the org. + :param str name_method: Method for querying orgs by name, supported values: TEXT*QUERY*METHOD*EQUALS, TEXT*QUERY*METHOD*EQUALS*IGNORE*CASE, TEXT*QUERY*METHOD*STARTS*WITH, TEXT*QUERY*METHOD*STARTS*WITH*IGNORE*CASE, TEXT*QUERY*METHOD*CONTAINS, TEXT*QUERY*METHOD*CONTAINS*IGNORE*CASE, TEXT*QUERY*METHOD*ENDS*WITH, TEXT*QUERY*METHOD*ENDS*WITH*IGNORE*CASE + :param str state: State of the org, supported values: ORG*STATE*UNSPECIFIED, ORG*STATE*ACTIVE, ORG*STATE*INACTIVE, ORG*STATE*REMOVED + """ + __args__ = dict() + __args__['domain'] = domain + __args__['domainMethod'] = domain_method + __args__['name'] = name + __args__['nameMethod'] = name_method + __args__['state'] = state + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('zitadel:index/getOrgs:getOrgs', __args__, opts=opts, typ=GetOrgsResult).value + + return AwaitableGetOrgsResult( + domain=pulumi.get(__ret__, 'domain'), + domain_method=pulumi.get(__ret__, 'domain_method'), + id=pulumi.get(__ret__, 'id'), + ids=pulumi.get(__ret__, 'ids'), + name=pulumi.get(__ret__, 'name'), + name_method=pulumi.get(__ret__, 'name_method'), + primary_domain=pulumi.get(__ret__, 'primary_domain'), + state=pulumi.get(__ret__, 'state')) + + +@_utilities.lift_output_func(get_orgs) +def get_orgs_output(domain: Optional[pulumi.Input[Optional[str]]] = None, + domain_method: Optional[pulumi.Input[Optional[str]]] = None, + name: Optional[pulumi.Input[Optional[str]]] = None, + name_method: Optional[pulumi.Input[Optional[str]]] = None, + state: Optional[pulumi.Input[Optional[str]]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetOrgsResult]: + """ + Datasource representing an organization in ZITADEL, which is the highest level after the instance and contains several other resource including policies if the configuration differs to the default policies on the instance. + + + :param str domain: A domain of the org. + :param str domain_method: Method for querying orgs by domain, supported values: TEXT*QUERY*METHOD*EQUALS, TEXT*QUERY*METHOD*EQUALS*IGNORE*CASE, TEXT*QUERY*METHOD*STARTS*WITH, TEXT*QUERY*METHOD*STARTS*WITH*IGNORE*CASE, TEXT*QUERY*METHOD*CONTAINS, TEXT*QUERY*METHOD*CONTAINS*IGNORE*CASE, TEXT*QUERY*METHOD*ENDS*WITH, TEXT*QUERY*METHOD*ENDS*WITH*IGNORE*CASE + :param str name: Name of the org. + :param str name_method: Method for querying orgs by name, supported values: TEXT*QUERY*METHOD*EQUALS, TEXT*QUERY*METHOD*EQUALS*IGNORE*CASE, TEXT*QUERY*METHOD*STARTS*WITH, TEXT*QUERY*METHOD*STARTS*WITH*IGNORE*CASE, TEXT*QUERY*METHOD*CONTAINS, TEXT*QUERY*METHOD*CONTAINS*IGNORE*CASE, TEXT*QUERY*METHOD*ENDS*WITH, TEXT*QUERY*METHOD*ENDS*WITH*IGNORE*CASE + :param str state: State of the org, supported values: ORG*STATE*UNSPECIFIED, ORG*STATE*ACTIVE, ORG*STATE*INACTIVE, ORG*STATE*REMOVED + """ + ... diff --git a/sdk/python/scoretechnologies_zitadel/get_project.py b/sdk/python/scoretechnologies_zitadel/get_project.py new file mode 100644 index 0000000..7c0706b --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/get_project.py @@ -0,0 +1,202 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = [ + 'GetProjectResult', + 'AwaitableGetProjectResult', + 'get_project', + 'get_project_output', +] + +@pulumi.output_type +class GetProjectResult: + """ + A collection of values returned by getProject. + """ + def __init__(__self__, has_project_check=None, id=None, name=None, org_id=None, private_labeling_setting=None, project_id=None, project_role_assertion=None, project_role_check=None, state=None): + if has_project_check and not isinstance(has_project_check, bool): + raise TypeError("Expected argument 'has_project_check' to be a bool") + pulumi.set(__self__, "has_project_check", has_project_check) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if org_id and not isinstance(org_id, str): + raise TypeError("Expected argument 'org_id' to be a str") + pulumi.set(__self__, "org_id", org_id) + if private_labeling_setting and not isinstance(private_labeling_setting, str): + raise TypeError("Expected argument 'private_labeling_setting' to be a str") + pulumi.set(__self__, "private_labeling_setting", private_labeling_setting) + if project_id and not isinstance(project_id, str): + raise TypeError("Expected argument 'project_id' to be a str") + pulumi.set(__self__, "project_id", project_id) + if project_role_assertion and not isinstance(project_role_assertion, bool): + raise TypeError("Expected argument 'project_role_assertion' to be a bool") + pulumi.set(__self__, "project_role_assertion", project_role_assertion) + if project_role_check and not isinstance(project_role_check, bool): + raise TypeError("Expected argument 'project_role_check' to be a bool") + pulumi.set(__self__, "project_role_check", project_role_check) + if state and not isinstance(state, str): + raise TypeError("Expected argument 'state' to be a str") + pulumi.set(__self__, "state", state) + + @property + @pulumi.getter(name="hasProjectCheck") + def has_project_check(self) -> bool: + """ + ZITADEL checks if the org of the user has permission to this project + """ + return pulumi.get(self, "has_project_check") + + @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 name(self) -> str: + """ + Name of the project + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[str]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @property + @pulumi.getter(name="privateLabelingSetting") + def private_labeling_setting(self) -> str: + """ + Defines from where the private labeling should be triggered + """ + return pulumi.get(self, "private_labeling_setting") + + @property + @pulumi.getter(name="projectId") + def project_id(self) -> str: + """ + The ID of this resource. + """ + return pulumi.get(self, "project_id") + + @property + @pulumi.getter(name="projectRoleAssertion") + def project_role_assertion(self) -> bool: + """ + describes if roles of user should be added in token + """ + return pulumi.get(self, "project_role_assertion") + + @property + @pulumi.getter(name="projectRoleCheck") + def project_role_check(self) -> bool: + """ + ZITADEL checks if the user has at least one on this project + """ + return pulumi.get(self, "project_role_check") + + @property + @pulumi.getter + def state(self) -> str: + """ + State of the project + """ + return pulumi.get(self, "state") + + +class AwaitableGetProjectResult(GetProjectResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetProjectResult( + has_project_check=self.has_project_check, + id=self.id, + name=self.name, + org_id=self.org_id, + private_labeling_setting=self.private_labeling_setting, + project_id=self.project_id, + project_role_assertion=self.project_role_assertion, + project_role_check=self.project_role_check, + state=self.state) + + +def get_project(org_id: Optional[str] = None, + project_id: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetProjectResult: + """ + Datasource representing the project, which can then be granted to different organizations or users directly, containing different applications. + + ## Example Usage + + ```python + import pulumi + import pulumi_zitadel as zitadel + + default = zitadel.get_project(org_id=data["zitadel_org"]["default"]["id"], + project_id="123456789012345678") + ``` + + + :param str org_id: ID of the organization + :param str project_id: The ID of this resource. + """ + __args__ = dict() + __args__['orgId'] = org_id + __args__['projectId'] = project_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('zitadel:index/getProject:getProject', __args__, opts=opts, typ=GetProjectResult).value + + return AwaitableGetProjectResult( + has_project_check=pulumi.get(__ret__, 'has_project_check'), + id=pulumi.get(__ret__, 'id'), + name=pulumi.get(__ret__, 'name'), + org_id=pulumi.get(__ret__, 'org_id'), + private_labeling_setting=pulumi.get(__ret__, 'private_labeling_setting'), + project_id=pulumi.get(__ret__, 'project_id'), + project_role_assertion=pulumi.get(__ret__, 'project_role_assertion'), + project_role_check=pulumi.get(__ret__, 'project_role_check'), + state=pulumi.get(__ret__, 'state')) + + +@_utilities.lift_output_func(get_project) +def get_project_output(org_id: Optional[pulumi.Input[Optional[str]]] = None, + project_id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetProjectResult]: + """ + Datasource representing the project, which can then be granted to different organizations or users directly, containing different applications. + + ## Example Usage + + ```python + import pulumi + import pulumi_zitadel as zitadel + + default = zitadel.get_project(org_id=data["zitadel_org"]["default"]["id"], + project_id="123456789012345678") + ``` + + + :param str org_id: ID of the organization + :param str project_id: The ID of this resource. + """ + ... diff --git a/sdk/python/scoretechnologies_zitadel/get_project_role.py b/sdk/python/scoretechnologies_zitadel/get_project_role.py new file mode 100644 index 0000000..99e41c2 --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/get_project_role.py @@ -0,0 +1,172 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = [ + 'GetProjectRoleResult', + 'AwaitableGetProjectRoleResult', + 'get_project_role', + 'get_project_role_output', +] + +@pulumi.output_type +class GetProjectRoleResult: + """ + A collection of values returned by getProjectRole. + """ + def __init__(__self__, display_name=None, group=None, id=None, org_id=None, project_id=None, role_key=None): + if display_name and not isinstance(display_name, str): + raise TypeError("Expected argument 'display_name' to be a str") + pulumi.set(__self__, "display_name", display_name) + if group and not isinstance(group, str): + raise TypeError("Expected argument 'group' to be a str") + pulumi.set(__self__, "group", group) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if org_id and not isinstance(org_id, str): + raise TypeError("Expected argument 'org_id' to be a str") + pulumi.set(__self__, "org_id", org_id) + if project_id and not isinstance(project_id, str): + raise TypeError("Expected argument 'project_id' to be a str") + pulumi.set(__self__, "project_id", project_id) + if role_key and not isinstance(role_key, str): + raise TypeError("Expected argument 'role_key' to be a str") + pulumi.set(__self__, "role_key", role_key) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> str: + """ + Name used for project role + """ + return pulumi.get(self, "display_name") + + @property + @pulumi.getter + def group(self) -> str: + """ + Group used for project role + """ + return pulumi.get(self, "group") + + @property + @pulumi.getter + def id(self) -> str: + """ + The provider-assigned unique ID for this managed resource. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> str: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @property + @pulumi.getter(name="projectId") + def project_id(self) -> str: + """ + ID of the project + """ + return pulumi.get(self, "project_id") + + @property + @pulumi.getter(name="roleKey") + def role_key(self) -> str: + """ + Key used for project role + """ + return pulumi.get(self, "role_key") + + +class AwaitableGetProjectRoleResult(GetProjectRoleResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetProjectRoleResult( + display_name=self.display_name, + group=self.group, + id=self.id, + org_id=self.org_id, + project_id=self.project_id, + role_key=self.role_key) + + +def get_project_role(org_id: Optional[str] = None, + project_id: Optional[str] = None, + role_key: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetProjectRoleResult: + """ + Datasource representing the project roles, which can be given as authorizations to users. + + ## Example Usage + + ```python + import pulumi + import pulumi_zitadel as zitadel + + default = zitadel.get_project_role(org_id=data["zitadel_org"]["default"]["id"], + project_id=data["zitadel_project"]["default"]["id"], + role_key="key") + pulumi.export("projectRole", default) + ``` + + + :param str org_id: ID of the organization + :param str project_id: ID of the project + :param str role_key: Key used for project role + """ + __args__ = dict() + __args__['orgId'] = org_id + __args__['projectId'] = project_id + __args__['roleKey'] = role_key + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('zitadel:index/getProjectRole:getProjectRole', __args__, opts=opts, typ=GetProjectRoleResult).value + + return AwaitableGetProjectRoleResult( + display_name=pulumi.get(__ret__, 'display_name'), + group=pulumi.get(__ret__, 'group'), + id=pulumi.get(__ret__, 'id'), + org_id=pulumi.get(__ret__, 'org_id'), + project_id=pulumi.get(__ret__, 'project_id'), + role_key=pulumi.get(__ret__, 'role_key')) + + +@_utilities.lift_output_func(get_project_role) +def get_project_role_output(org_id: Optional[pulumi.Input[str]] = None, + project_id: Optional[pulumi.Input[str]] = None, + role_key: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetProjectRoleResult]: + """ + Datasource representing the project roles, which can be given as authorizations to users. + + ## Example Usage + + ```python + import pulumi + import pulumi_zitadel as zitadel + + default = zitadel.get_project_role(org_id=data["zitadel_org"]["default"]["id"], + project_id=data["zitadel_project"]["default"]["id"], + role_key="key") + pulumi.export("projectRole", default) + ``` + + + :param str org_id: ID of the organization + :param str project_id: ID of the project + :param str role_key: Key used for project role + """ + ... diff --git a/sdk/python/scoretechnologies_zitadel/get_projects.py b/sdk/python/scoretechnologies_zitadel/get_projects.py new file mode 100644 index 0000000..2af07fd --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/get_projects.py @@ -0,0 +1,135 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = [ + 'GetProjectsResult', + 'AwaitableGetProjectsResult', + 'get_projects', + 'get_projects_output', +] + +@pulumi.output_type +class GetProjectsResult: + """ + A collection of values returned by getProjects. + """ + def __init__(__self__, id=None, name=None, name_method=None, org_id=None, project_ids=None): + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if name_method and not isinstance(name_method, str): + raise TypeError("Expected argument 'name_method' to be a str") + pulumi.set(__self__, "name_method", name_method) + if org_id and not isinstance(org_id, str): + raise TypeError("Expected argument 'org_id' to be a str") + pulumi.set(__self__, "org_id", org_id) + if project_ids and not isinstance(project_ids, list): + raise TypeError("Expected argument 'project_ids' to be a list") + pulumi.set(__self__, "project_ids", project_ids) + + @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 name(self) -> str: + """ + Name of the project + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="nameMethod") + def name_method(self) -> Optional[str]: + """ + Method for querying projects by name, supported values: TEXT*QUERY*METHOD*EQUALS, TEXT*QUERY*METHOD*EQUALS*IGNORE*CASE, TEXT*QUERY*METHOD*STARTS*WITH, TEXT*QUERY*METHOD*STARTS*WITH*IGNORE*CASE, TEXT*QUERY*METHOD*CONTAINS, TEXT*QUERY*METHOD*CONTAINS*IGNORE*CASE, TEXT*QUERY*METHOD*ENDS*WITH, TEXT*QUERY*METHOD*ENDS*WITH*IGNORE*CASE + """ + return pulumi.get(self, "name_method") + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[str]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @property + @pulumi.getter(name="projectIds") + def project_ids(self) -> Sequence[str]: + """ + A set of all project IDs. + """ + return pulumi.get(self, "project_ids") + + +class AwaitableGetProjectsResult(GetProjectsResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetProjectsResult( + id=self.id, + name=self.name, + name_method=self.name_method, + org_id=self.org_id, + project_ids=self.project_ids) + + +def get_projects(name: Optional[str] = None, + name_method: Optional[str] = None, + org_id: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetProjectsResult: + """ + Datasource representing the project, which can then be granted to different organizations or users directly, containing different applications. + + + :param str name: Name of the project + :param str name_method: Method for querying projects by name, supported values: TEXT*QUERY*METHOD*EQUALS, TEXT*QUERY*METHOD*EQUALS*IGNORE*CASE, TEXT*QUERY*METHOD*STARTS*WITH, TEXT*QUERY*METHOD*STARTS*WITH*IGNORE*CASE, TEXT*QUERY*METHOD*CONTAINS, TEXT*QUERY*METHOD*CONTAINS*IGNORE*CASE, TEXT*QUERY*METHOD*ENDS*WITH, TEXT*QUERY*METHOD*ENDS*WITH*IGNORE*CASE + :param str org_id: ID of the organization + """ + __args__ = dict() + __args__['name'] = name + __args__['nameMethod'] = name_method + __args__['orgId'] = org_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('zitadel:index/getProjects:getProjects', __args__, opts=opts, typ=GetProjectsResult).value + + return AwaitableGetProjectsResult( + id=pulumi.get(__ret__, 'id'), + name=pulumi.get(__ret__, 'name'), + name_method=pulumi.get(__ret__, 'name_method'), + org_id=pulumi.get(__ret__, 'org_id'), + project_ids=pulumi.get(__ret__, 'project_ids')) + + +@_utilities.lift_output_func(get_projects) +def get_projects_output(name: Optional[pulumi.Input[str]] = None, + name_method: Optional[pulumi.Input[Optional[str]]] = None, + org_id: Optional[pulumi.Input[Optional[str]]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetProjectsResult]: + """ + Datasource representing the project, which can then be granted to different organizations or users directly, containing different applications. + + + :param str name: Name of the project + :param str name_method: Method for querying projects by name, supported values: TEXT*QUERY*METHOD*EQUALS, TEXT*QUERY*METHOD*EQUALS*IGNORE*CASE, TEXT*QUERY*METHOD*STARTS*WITH, TEXT*QUERY*METHOD*STARTS*WITH*IGNORE*CASE, TEXT*QUERY*METHOD*CONTAINS, TEXT*QUERY*METHOD*CONTAINS*IGNORE*CASE, TEXT*QUERY*METHOD*ENDS*WITH, TEXT*QUERY*METHOD*ENDS*WITH*IGNORE*CASE + :param str org_id: ID of the organization + """ + ... diff --git a/sdk/python/scoretechnologies_zitadel/get_trigger_actions.py b/sdk/python/scoretechnologies_zitadel/get_trigger_actions.py new file mode 100644 index 0000000..9785c5e --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/get_trigger_actions.py @@ -0,0 +1,159 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = [ + 'GetTriggerActionsResult', + 'AwaitableGetTriggerActionsResult', + 'get_trigger_actions', + 'get_trigger_actions_output', +] + +@pulumi.output_type +class GetTriggerActionsResult: + """ + A collection of values returned by getTriggerActions. + """ + def __init__(__self__, action_ids=None, flow_type=None, id=None, org_id=None, trigger_type=None): + if action_ids and not isinstance(action_ids, list): + raise TypeError("Expected argument 'action_ids' to be a list") + pulumi.set(__self__, "action_ids", action_ids) + if flow_type and not isinstance(flow_type, str): + raise TypeError("Expected argument 'flow_type' to be a str") + pulumi.set(__self__, "flow_type", flow_type) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if org_id and not isinstance(org_id, str): + raise TypeError("Expected argument 'org_id' to be a str") + pulumi.set(__self__, "org_id", org_id) + if trigger_type and not isinstance(trigger_type, str): + raise TypeError("Expected argument 'trigger_type' to be a str") + pulumi.set(__self__, "trigger_type", trigger_type) + + @property + @pulumi.getter(name="actionIds") + def action_ids(self) -> Sequence[str]: + """ + IDs of the triggered actions + """ + return pulumi.get(self, "action_ids") + + @property + @pulumi.getter(name="flowType") + def flow_type(self) -> str: + """ + Type of the flow to which the action triggers belong + """ + return pulumi.get(self, "flow_type") + + @property + @pulumi.getter + def id(self) -> str: + """ + The provider-assigned unique ID for this managed resource. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[str]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @property + @pulumi.getter(name="triggerType") + def trigger_type(self) -> str: + """ + Trigger type on when the actions get triggered + """ + return pulumi.get(self, "trigger_type") + + +class AwaitableGetTriggerActionsResult(GetTriggerActionsResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetTriggerActionsResult( + action_ids=self.action_ids, + flow_type=self.flow_type, + id=self.id, + org_id=self.org_id, + trigger_type=self.trigger_type) + + +def get_trigger_actions(flow_type: Optional[str] = None, + org_id: Optional[str] = None, + trigger_type: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetTriggerActionsResult: + """ + Resource representing triggers, when actions get started + + ## Example Usage + + ```python + import pulumi + import pulumi_zitadel as zitadel + + default = zitadel.get_trigger_actions(org_id=data["zitadel_org"]["default"]["id"], + flow_type="FLOW_TYPE_EXTERNAL_AUTHENTICATION", + trigger_type="TRIGGER_TYPE_POST_AUTHENTICATION") + pulumi.export("triggerActions", default) + ``` + + + :param str flow_type: Type of the flow to which the action triggers belong + :param str org_id: ID of the organization + :param str trigger_type: Trigger type on when the actions get triggered + """ + __args__ = dict() + __args__['flowType'] = flow_type + __args__['orgId'] = org_id + __args__['triggerType'] = trigger_type + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('zitadel:index/getTriggerActions:getTriggerActions', __args__, opts=opts, typ=GetTriggerActionsResult).value + + return AwaitableGetTriggerActionsResult( + action_ids=pulumi.get(__ret__, 'action_ids'), + flow_type=pulumi.get(__ret__, 'flow_type'), + id=pulumi.get(__ret__, 'id'), + org_id=pulumi.get(__ret__, 'org_id'), + trigger_type=pulumi.get(__ret__, 'trigger_type')) + + +@_utilities.lift_output_func(get_trigger_actions) +def get_trigger_actions_output(flow_type: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[Optional[str]]] = None, + trigger_type: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetTriggerActionsResult]: + """ + Resource representing triggers, when actions get started + + ## Example Usage + + ```python + import pulumi + import pulumi_zitadel as zitadel + + default = zitadel.get_trigger_actions(org_id=data["zitadel_org"]["default"]["id"], + flow_type="FLOW_TYPE_EXTERNAL_AUTHENTICATION", + trigger_type="TRIGGER_TYPE_POST_AUTHENTICATION") + pulumi.export("triggerActions", default) + ``` + + + :param str flow_type: Type of the flow to which the action triggers belong + :param str org_id: ID of the organization + :param str trigger_type: Trigger type on when the actions get triggered + """ + ... diff --git a/sdk/python/scoretechnologies_zitadel/human_user.py b/sdk/python/scoretechnologies_zitadel/human_user.py new file mode 100644 index 0000000..f4df00c --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/human_user.py @@ -0,0 +1,987 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['HumanUserArgs', 'HumanUser'] + +@pulumi.input_type +class HumanUserArgs: + def __init__(__self__, *, + email: pulumi.Input[str], + first_name: pulumi.Input[str], + last_name: pulumi.Input[str], + user_name: pulumi.Input[str], + display_name: Optional[pulumi.Input[str]] = None, + gender: Optional[pulumi.Input[str]] = None, + initial_password: Optional[pulumi.Input[str]] = None, + is_email_verified: Optional[pulumi.Input[bool]] = None, + is_phone_verified: Optional[pulumi.Input[bool]] = None, + nick_name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + phone: Optional[pulumi.Input[str]] = None, + preferred_language: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a HumanUser resource. + :param pulumi.Input[str] email: Email of the user + :param pulumi.Input[str] first_name: First name of the user + :param pulumi.Input[str] last_name: Last name of the user + :param pulumi.Input[str] user_name: Username + :param pulumi.Input[str] display_name: Display name of the user + :param pulumi.Input[str] gender: Gender of the user, supported values: GENDER*UNSPECIFIED, GENDER*FEMALE, GENDER*MALE, GENDER*DIVERSE + :param pulumi.Input[str] initial_password: Initially set password for the user, not changeable after creation + :param pulumi.Input[bool] is_email_verified: Is the email verified of the user, can only be true if password of the user is set + :param pulumi.Input[bool] is_phone_verified: Is the phone verified of the user + :param pulumi.Input[str] nick_name: Nick name of the user + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[str] phone: Phone of the user + :param pulumi.Input[str] preferred_language: Preferred language of the user + """ + HumanUserArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + email=email, + first_name=first_name, + last_name=last_name, + user_name=user_name, + display_name=display_name, + gender=gender, + initial_password=initial_password, + is_email_verified=is_email_verified, + is_phone_verified=is_phone_verified, + nick_name=nick_name, + org_id=org_id, + phone=phone, + preferred_language=preferred_language, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + email: pulumi.Input[str], + first_name: pulumi.Input[str], + last_name: pulumi.Input[str], + user_name: pulumi.Input[str], + display_name: Optional[pulumi.Input[str]] = None, + gender: Optional[pulumi.Input[str]] = None, + initial_password: Optional[pulumi.Input[str]] = None, + is_email_verified: Optional[pulumi.Input[bool]] = None, + is_phone_verified: Optional[pulumi.Input[bool]] = None, + nick_name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + phone: Optional[pulumi.Input[str]] = None, + preferred_language: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'firstName' in kwargs: + first_name = kwargs['firstName'] + if 'lastName' in kwargs: + last_name = kwargs['lastName'] + if 'userName' in kwargs: + user_name = kwargs['userName'] + if 'displayName' in kwargs: + display_name = kwargs['displayName'] + if 'initialPassword' in kwargs: + initial_password = kwargs['initialPassword'] + if 'isEmailVerified' in kwargs: + is_email_verified = kwargs['isEmailVerified'] + if 'isPhoneVerified' in kwargs: + is_phone_verified = kwargs['isPhoneVerified'] + if 'nickName' in kwargs: + nick_name = kwargs['nickName'] + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + if 'preferredLanguage' in kwargs: + preferred_language = kwargs['preferredLanguage'] + + _setter("email", email) + _setter("first_name", first_name) + _setter("last_name", last_name) + _setter("user_name", user_name) + if display_name is not None: + _setter("display_name", display_name) + if gender is not None: + _setter("gender", gender) + if initial_password is not None: + _setter("initial_password", initial_password) + if is_email_verified is not None: + _setter("is_email_verified", is_email_verified) + if is_phone_verified is not None: + _setter("is_phone_verified", is_phone_verified) + if nick_name is not None: + _setter("nick_name", nick_name) + if org_id is not None: + _setter("org_id", org_id) + if phone is not None: + _setter("phone", phone) + if preferred_language is not None: + _setter("preferred_language", preferred_language) + + @property + @pulumi.getter + def email(self) -> pulumi.Input[str]: + """ + Email of the user + """ + return pulumi.get(self, "email") + + @email.setter + def email(self, value: pulumi.Input[str]): + pulumi.set(self, "email", value) + + @property + @pulumi.getter(name="firstName") + def first_name(self) -> pulumi.Input[str]: + """ + First name of the user + """ + return pulumi.get(self, "first_name") + + @first_name.setter + def first_name(self, value: pulumi.Input[str]): + pulumi.set(self, "first_name", value) + + @property + @pulumi.getter(name="lastName") + def last_name(self) -> pulumi.Input[str]: + """ + Last name of the user + """ + return pulumi.get(self, "last_name") + + @last_name.setter + def last_name(self, value: pulumi.Input[str]): + pulumi.set(self, "last_name", value) + + @property + @pulumi.getter(name="userName") + def user_name(self) -> pulumi.Input[str]: + """ + Username + """ + return pulumi.get(self, "user_name") + + @user_name.setter + def user_name(self, value: pulumi.Input[str]): + pulumi.set(self, "user_name", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + Display name of the user + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter + def gender(self) -> Optional[pulumi.Input[str]]: + """ + Gender of the user, supported values: GENDER*UNSPECIFIED, GENDER*FEMALE, GENDER*MALE, GENDER*DIVERSE + """ + return pulumi.get(self, "gender") + + @gender.setter + def gender(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "gender", value) + + @property + @pulumi.getter(name="initialPassword") + def initial_password(self) -> Optional[pulumi.Input[str]]: + """ + Initially set password for the user, not changeable after creation + """ + return pulumi.get(self, "initial_password") + + @initial_password.setter + def initial_password(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "initial_password", value) + + @property + @pulumi.getter(name="isEmailVerified") + def is_email_verified(self) -> Optional[pulumi.Input[bool]]: + """ + Is the email verified of the user, can only be true if password of the user is set + """ + return pulumi.get(self, "is_email_verified") + + @is_email_verified.setter + def is_email_verified(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_email_verified", value) + + @property + @pulumi.getter(name="isPhoneVerified") + def is_phone_verified(self) -> Optional[pulumi.Input[bool]]: + """ + Is the phone verified of the user + """ + return pulumi.get(self, "is_phone_verified") + + @is_phone_verified.setter + def is_phone_verified(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_phone_verified", value) + + @property + @pulumi.getter(name="nickName") + def nick_name(self) -> Optional[pulumi.Input[str]]: + """ + Nick name of the user + """ + return pulumi.get(self, "nick_name") + + @nick_name.setter + def nick_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "nick_name", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + @property + @pulumi.getter + def phone(self) -> Optional[pulumi.Input[str]]: + """ + Phone of the user + """ + return pulumi.get(self, "phone") + + @phone.setter + def phone(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "phone", value) + + @property + @pulumi.getter(name="preferredLanguage") + def preferred_language(self) -> Optional[pulumi.Input[str]]: + """ + Preferred language of the user + """ + return pulumi.get(self, "preferred_language") + + @preferred_language.setter + def preferred_language(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "preferred_language", value) + + +@pulumi.input_type +class _HumanUserState: + def __init__(__self__, *, + display_name: Optional[pulumi.Input[str]] = None, + email: Optional[pulumi.Input[str]] = None, + first_name: Optional[pulumi.Input[str]] = None, + gender: Optional[pulumi.Input[str]] = None, + initial_password: Optional[pulumi.Input[str]] = None, + is_email_verified: Optional[pulumi.Input[bool]] = None, + is_phone_verified: Optional[pulumi.Input[bool]] = None, + last_name: Optional[pulumi.Input[str]] = None, + login_names: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + nick_name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + phone: Optional[pulumi.Input[str]] = None, + preferred_language: Optional[pulumi.Input[str]] = None, + preferred_login_name: Optional[pulumi.Input[str]] = None, + state: Optional[pulumi.Input[str]] = None, + user_name: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering HumanUser resources. + :param pulumi.Input[str] display_name: Display name of the user + :param pulumi.Input[str] email: Email of the user + :param pulumi.Input[str] first_name: First name of the user + :param pulumi.Input[str] gender: Gender of the user, supported values: GENDER*UNSPECIFIED, GENDER*FEMALE, GENDER*MALE, GENDER*DIVERSE + :param pulumi.Input[str] initial_password: Initially set password for the user, not changeable after creation + :param pulumi.Input[bool] is_email_verified: Is the email verified of the user, can only be true if password of the user is set + :param pulumi.Input[bool] is_phone_verified: Is the phone verified of the user + :param pulumi.Input[str] last_name: Last name of the user + :param pulumi.Input[Sequence[pulumi.Input[str]]] login_names: Loginnames + :param pulumi.Input[str] nick_name: Nick name of the user + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[str] phone: Phone of the user + :param pulumi.Input[str] preferred_language: Preferred language of the user + :param pulumi.Input[str] preferred_login_name: Preferred login name + :param pulumi.Input[str] state: State of the user + :param pulumi.Input[str] user_name: Username + """ + _HumanUserState._configure( + lambda key, value: pulumi.set(__self__, key, value), + display_name=display_name, + email=email, + first_name=first_name, + gender=gender, + initial_password=initial_password, + is_email_verified=is_email_verified, + is_phone_verified=is_phone_verified, + last_name=last_name, + login_names=login_names, + nick_name=nick_name, + org_id=org_id, + phone=phone, + preferred_language=preferred_language, + preferred_login_name=preferred_login_name, + state=state, + user_name=user_name, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + display_name: Optional[pulumi.Input[str]] = None, + email: Optional[pulumi.Input[str]] = None, + first_name: Optional[pulumi.Input[str]] = None, + gender: Optional[pulumi.Input[str]] = None, + initial_password: Optional[pulumi.Input[str]] = None, + is_email_verified: Optional[pulumi.Input[bool]] = None, + is_phone_verified: Optional[pulumi.Input[bool]] = None, + last_name: Optional[pulumi.Input[str]] = None, + login_names: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + nick_name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + phone: Optional[pulumi.Input[str]] = None, + preferred_language: Optional[pulumi.Input[str]] = None, + preferred_login_name: Optional[pulumi.Input[str]] = None, + state: Optional[pulumi.Input[str]] = None, + user_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'displayName' in kwargs: + display_name = kwargs['displayName'] + if 'firstName' in kwargs: + first_name = kwargs['firstName'] + if 'initialPassword' in kwargs: + initial_password = kwargs['initialPassword'] + if 'isEmailVerified' in kwargs: + is_email_verified = kwargs['isEmailVerified'] + if 'isPhoneVerified' in kwargs: + is_phone_verified = kwargs['isPhoneVerified'] + if 'lastName' in kwargs: + last_name = kwargs['lastName'] + if 'loginNames' in kwargs: + login_names = kwargs['loginNames'] + if 'nickName' in kwargs: + nick_name = kwargs['nickName'] + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + if 'preferredLanguage' in kwargs: + preferred_language = kwargs['preferredLanguage'] + if 'preferredLoginName' in kwargs: + preferred_login_name = kwargs['preferredLoginName'] + if 'userName' in kwargs: + user_name = kwargs['userName'] + + if display_name is not None: + _setter("display_name", display_name) + if email is not None: + _setter("email", email) + if first_name is not None: + _setter("first_name", first_name) + if gender is not None: + _setter("gender", gender) + if initial_password is not None: + _setter("initial_password", initial_password) + if is_email_verified is not None: + _setter("is_email_verified", is_email_verified) + if is_phone_verified is not None: + _setter("is_phone_verified", is_phone_verified) + if last_name is not None: + _setter("last_name", last_name) + if login_names is not None: + _setter("login_names", login_names) + if nick_name is not None: + _setter("nick_name", nick_name) + if org_id is not None: + _setter("org_id", org_id) + if phone is not None: + _setter("phone", phone) + if preferred_language is not None: + _setter("preferred_language", preferred_language) + if preferred_login_name is not None: + _setter("preferred_login_name", preferred_login_name) + if state is not None: + _setter("state", state) + if user_name is not None: + _setter("user_name", user_name) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + Display name of the user + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter + def email(self) -> Optional[pulumi.Input[str]]: + """ + Email of the user + """ + return pulumi.get(self, "email") + + @email.setter + def email(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "email", value) + + @property + @pulumi.getter(name="firstName") + def first_name(self) -> Optional[pulumi.Input[str]]: + """ + First name of the user + """ + return pulumi.get(self, "first_name") + + @first_name.setter + def first_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "first_name", value) + + @property + @pulumi.getter + def gender(self) -> Optional[pulumi.Input[str]]: + """ + Gender of the user, supported values: GENDER*UNSPECIFIED, GENDER*FEMALE, GENDER*MALE, GENDER*DIVERSE + """ + return pulumi.get(self, "gender") + + @gender.setter + def gender(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "gender", value) + + @property + @pulumi.getter(name="initialPassword") + def initial_password(self) -> Optional[pulumi.Input[str]]: + """ + Initially set password for the user, not changeable after creation + """ + return pulumi.get(self, "initial_password") + + @initial_password.setter + def initial_password(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "initial_password", value) + + @property + @pulumi.getter(name="isEmailVerified") + def is_email_verified(self) -> Optional[pulumi.Input[bool]]: + """ + Is the email verified of the user, can only be true if password of the user is set + """ + return pulumi.get(self, "is_email_verified") + + @is_email_verified.setter + def is_email_verified(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_email_verified", value) + + @property + @pulumi.getter(name="isPhoneVerified") + def is_phone_verified(self) -> Optional[pulumi.Input[bool]]: + """ + Is the phone verified of the user + """ + return pulumi.get(self, "is_phone_verified") + + @is_phone_verified.setter + def is_phone_verified(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_phone_verified", value) + + @property + @pulumi.getter(name="lastName") + def last_name(self) -> Optional[pulumi.Input[str]]: + """ + Last name of the user + """ + return pulumi.get(self, "last_name") + + @last_name.setter + def last_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "last_name", value) + + @property + @pulumi.getter(name="loginNames") + def login_names(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Loginnames + """ + return pulumi.get(self, "login_names") + + @login_names.setter + def login_names(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "login_names", value) + + @property + @pulumi.getter(name="nickName") + def nick_name(self) -> Optional[pulumi.Input[str]]: + """ + Nick name of the user + """ + return pulumi.get(self, "nick_name") + + @nick_name.setter + def nick_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "nick_name", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + @property + @pulumi.getter + def phone(self) -> Optional[pulumi.Input[str]]: + """ + Phone of the user + """ + return pulumi.get(self, "phone") + + @phone.setter + def phone(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "phone", value) + + @property + @pulumi.getter(name="preferredLanguage") + def preferred_language(self) -> Optional[pulumi.Input[str]]: + """ + Preferred language of the user + """ + return pulumi.get(self, "preferred_language") + + @preferred_language.setter + def preferred_language(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "preferred_language", value) + + @property + @pulumi.getter(name="preferredLoginName") + def preferred_login_name(self) -> Optional[pulumi.Input[str]]: + """ + Preferred login name + """ + return pulumi.get(self, "preferred_login_name") + + @preferred_login_name.setter + def preferred_login_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "preferred_login_name", value) + + @property + @pulumi.getter + def state(self) -> Optional[pulumi.Input[str]]: + """ + State of the user + """ + return pulumi.get(self, "state") + + @state.setter + def state(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "state", value) + + @property + @pulumi.getter(name="userName") + def user_name(self) -> Optional[pulumi.Input[str]]: + """ + Username + """ + return pulumi.get(self, "user_name") + + @user_name.setter + def user_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "user_name", value) + + +class HumanUser(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + display_name: Optional[pulumi.Input[str]] = None, + email: Optional[pulumi.Input[str]] = None, + first_name: Optional[pulumi.Input[str]] = None, + gender: Optional[pulumi.Input[str]] = None, + initial_password: Optional[pulumi.Input[str]] = None, + is_email_verified: Optional[pulumi.Input[bool]] = None, + is_phone_verified: Optional[pulumi.Input[bool]] = None, + last_name: Optional[pulumi.Input[str]] = None, + nick_name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + phone: Optional[pulumi.Input[str]] = None, + preferred_language: Optional[pulumi.Input[str]] = None, + user_name: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + **Caution: Email can only be set verified if a password is set for the user, either with initial_password or during runtime** + + Resource representing a human user situated under an organization, which then can be authorized through memberships or direct grants on other resources. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.HumanUser("default", + org_id=data["zitadel_org"]["default"]["id"], + user_name="humanfull@localhost.com", + first_name="firstname", + last_name="lastname", + nick_name="nickname", + display_name="displayname", + preferred_language="de", + gender="GENDER_MALE", + phone="+41799999999", + is_phone_verified=True, + email="test@zitadel.com", + is_email_verified=True, + initial_password="Password1!") + ``` + + ## Import + + bash The resource can be imported using the ID format `id[:org_id][:initial_password]>`, e.g. + + ```sh + $ pulumi import zitadel:index/humanUser:HumanUser imported '123456789012345678:123456789012345678:Password1!' + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] display_name: Display name of the user + :param pulumi.Input[str] email: Email of the user + :param pulumi.Input[str] first_name: First name of the user + :param pulumi.Input[str] gender: Gender of the user, supported values: GENDER*UNSPECIFIED, GENDER*FEMALE, GENDER*MALE, GENDER*DIVERSE + :param pulumi.Input[str] initial_password: Initially set password for the user, not changeable after creation + :param pulumi.Input[bool] is_email_verified: Is the email verified of the user, can only be true if password of the user is set + :param pulumi.Input[bool] is_phone_verified: Is the phone verified of the user + :param pulumi.Input[str] last_name: Last name of the user + :param pulumi.Input[str] nick_name: Nick name of the user + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[str] phone: Phone of the user + :param pulumi.Input[str] preferred_language: Preferred language of the user + :param pulumi.Input[str] user_name: Username + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: HumanUserArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + **Caution: Email can only be set verified if a password is set for the user, either with initial_password or during runtime** + + Resource representing a human user situated under an organization, which then can be authorized through memberships or direct grants on other resources. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.HumanUser("default", + org_id=data["zitadel_org"]["default"]["id"], + user_name="humanfull@localhost.com", + first_name="firstname", + last_name="lastname", + nick_name="nickname", + display_name="displayname", + preferred_language="de", + gender="GENDER_MALE", + phone="+41799999999", + is_phone_verified=True, + email="test@zitadel.com", + is_email_verified=True, + initial_password="Password1!") + ``` + + ## Import + + bash The resource can be imported using the ID format `id[:org_id][:initial_password]>`, e.g. + + ```sh + $ pulumi import zitadel:index/humanUser:HumanUser imported '123456789012345678:123456789012345678:Password1!' + ``` + + :param str resource_name: The name of the resource. + :param HumanUserArgs 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(HumanUserArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + HumanUserArgs._configure(_setter, **kwargs) + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + display_name: Optional[pulumi.Input[str]] = None, + email: Optional[pulumi.Input[str]] = None, + first_name: Optional[pulumi.Input[str]] = None, + gender: Optional[pulumi.Input[str]] = None, + initial_password: Optional[pulumi.Input[str]] = None, + is_email_verified: Optional[pulumi.Input[bool]] = None, + is_phone_verified: Optional[pulumi.Input[bool]] = None, + last_name: Optional[pulumi.Input[str]] = None, + nick_name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + phone: Optional[pulumi.Input[str]] = None, + preferred_language: Optional[pulumi.Input[str]] = None, + user_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__ = HumanUserArgs.__new__(HumanUserArgs) + + __props__.__dict__["display_name"] = display_name + if email is None and not opts.urn: + raise TypeError("Missing required property 'email'") + __props__.__dict__["email"] = email + if first_name is None and not opts.urn: + raise TypeError("Missing required property 'first_name'") + __props__.__dict__["first_name"] = first_name + __props__.__dict__["gender"] = gender + __props__.__dict__["initial_password"] = None if initial_password is None else pulumi.Output.secret(initial_password) + __props__.__dict__["is_email_verified"] = is_email_verified + __props__.__dict__["is_phone_verified"] = is_phone_verified + if last_name is None and not opts.urn: + raise TypeError("Missing required property 'last_name'") + __props__.__dict__["last_name"] = last_name + __props__.__dict__["nick_name"] = nick_name + __props__.__dict__["org_id"] = org_id + __props__.__dict__["phone"] = phone + __props__.__dict__["preferred_language"] = preferred_language + if user_name is None and not opts.urn: + raise TypeError("Missing required property 'user_name'") + __props__.__dict__["user_name"] = user_name + __props__.__dict__["login_names"] = None + __props__.__dict__["preferred_login_name"] = None + __props__.__dict__["state"] = None + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["initialPassword"]) + opts = pulumi.ResourceOptions.merge(opts, secret_opts) + super(HumanUser, __self__).__init__( + 'zitadel:index/humanUser:HumanUser', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + display_name: Optional[pulumi.Input[str]] = None, + email: Optional[pulumi.Input[str]] = None, + first_name: Optional[pulumi.Input[str]] = None, + gender: Optional[pulumi.Input[str]] = None, + initial_password: Optional[pulumi.Input[str]] = None, + is_email_verified: Optional[pulumi.Input[bool]] = None, + is_phone_verified: Optional[pulumi.Input[bool]] = None, + last_name: Optional[pulumi.Input[str]] = None, + login_names: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + nick_name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + phone: Optional[pulumi.Input[str]] = None, + preferred_language: Optional[pulumi.Input[str]] = None, + preferred_login_name: Optional[pulumi.Input[str]] = None, + state: Optional[pulumi.Input[str]] = None, + user_name: Optional[pulumi.Input[str]] = None) -> 'HumanUser': + """ + Get an existing HumanUser 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[str] display_name: Display name of the user + :param pulumi.Input[str] email: Email of the user + :param pulumi.Input[str] first_name: First name of the user + :param pulumi.Input[str] gender: Gender of the user, supported values: GENDER*UNSPECIFIED, GENDER*FEMALE, GENDER*MALE, GENDER*DIVERSE + :param pulumi.Input[str] initial_password: Initially set password for the user, not changeable after creation + :param pulumi.Input[bool] is_email_verified: Is the email verified of the user, can only be true if password of the user is set + :param pulumi.Input[bool] is_phone_verified: Is the phone verified of the user + :param pulumi.Input[str] last_name: Last name of the user + :param pulumi.Input[Sequence[pulumi.Input[str]]] login_names: Loginnames + :param pulumi.Input[str] nick_name: Nick name of the user + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[str] phone: Phone of the user + :param pulumi.Input[str] preferred_language: Preferred language of the user + :param pulumi.Input[str] preferred_login_name: Preferred login name + :param pulumi.Input[str] state: State of the user + :param pulumi.Input[str] user_name: Username + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _HumanUserState.__new__(_HumanUserState) + + __props__.__dict__["display_name"] = display_name + __props__.__dict__["email"] = email + __props__.__dict__["first_name"] = first_name + __props__.__dict__["gender"] = gender + __props__.__dict__["initial_password"] = initial_password + __props__.__dict__["is_email_verified"] = is_email_verified + __props__.__dict__["is_phone_verified"] = is_phone_verified + __props__.__dict__["last_name"] = last_name + __props__.__dict__["login_names"] = login_names + __props__.__dict__["nick_name"] = nick_name + __props__.__dict__["org_id"] = org_id + __props__.__dict__["phone"] = phone + __props__.__dict__["preferred_language"] = preferred_language + __props__.__dict__["preferred_login_name"] = preferred_login_name + __props__.__dict__["state"] = state + __props__.__dict__["user_name"] = user_name + return HumanUser(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Output[str]: + """ + Display name of the user + """ + return pulumi.get(self, "display_name") + + @property + @pulumi.getter + def email(self) -> pulumi.Output[str]: + """ + Email of the user + """ + return pulumi.get(self, "email") + + @property + @pulumi.getter(name="firstName") + def first_name(self) -> pulumi.Output[str]: + """ + First name of the user + """ + return pulumi.get(self, "first_name") + + @property + @pulumi.getter + def gender(self) -> pulumi.Output[Optional[str]]: + """ + Gender of the user, supported values: GENDER*UNSPECIFIED, GENDER*FEMALE, GENDER*MALE, GENDER*DIVERSE + """ + return pulumi.get(self, "gender") + + @property + @pulumi.getter(name="initialPassword") + def initial_password(self) -> pulumi.Output[Optional[str]]: + """ + Initially set password for the user, not changeable after creation + """ + return pulumi.get(self, "initial_password") + + @property + @pulumi.getter(name="isEmailVerified") + def is_email_verified(self) -> pulumi.Output[Optional[bool]]: + """ + Is the email verified of the user, can only be true if password of the user is set + """ + return pulumi.get(self, "is_email_verified") + + @property + @pulumi.getter(name="isPhoneVerified") + def is_phone_verified(self) -> pulumi.Output[Optional[bool]]: + """ + Is the phone verified of the user + """ + return pulumi.get(self, "is_phone_verified") + + @property + @pulumi.getter(name="lastName") + def last_name(self) -> pulumi.Output[str]: + """ + Last name of the user + """ + return pulumi.get(self, "last_name") + + @property + @pulumi.getter(name="loginNames") + def login_names(self) -> pulumi.Output[Sequence[str]]: + """ + Loginnames + """ + return pulumi.get(self, "login_names") + + @property + @pulumi.getter(name="nickName") + def nick_name(self) -> pulumi.Output[Optional[str]]: + """ + Nick name of the user + """ + return pulumi.get(self, "nick_name") + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> pulumi.Output[Optional[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @property + @pulumi.getter + def phone(self) -> pulumi.Output[Optional[str]]: + """ + Phone of the user + """ + return pulumi.get(self, "phone") + + @property + @pulumi.getter(name="preferredLanguage") + def preferred_language(self) -> pulumi.Output[Optional[str]]: + """ + Preferred language of the user + """ + return pulumi.get(self, "preferred_language") + + @property + @pulumi.getter(name="preferredLoginName") + def preferred_login_name(self) -> pulumi.Output[str]: + """ + Preferred login name + """ + return pulumi.get(self, "preferred_login_name") + + @property + @pulumi.getter + def state(self) -> pulumi.Output[str]: + """ + State of the user + """ + return pulumi.get(self, "state") + + @property + @pulumi.getter(name="userName") + def user_name(self) -> pulumi.Output[str]: + """ + Username + """ + return pulumi.get(self, "user_name") + diff --git a/sdk/python/scoretechnologies_zitadel/idp_azure_ad.py b/sdk/python/scoretechnologies_zitadel/idp_azure_ad.py new file mode 100644 index 0000000..7861c5e --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/idp_azure_ad.py @@ -0,0 +1,788 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['IdpAzureAdArgs', 'IdpAzureAd'] + +@pulumi.input_type +class IdpAzureAdArgs: + def __init__(__self__, *, + client_id: pulumi.Input[str], + client_secret: pulumi.Input[str], + email_verified: pulumi.Input[bool], + is_auto_creation: pulumi.Input[bool], + is_auto_update: pulumi.Input[bool], + is_creation_allowed: pulumi.Input[bool], + is_linking_allowed: pulumi.Input[bool], + name: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + tenant_id: Optional[pulumi.Input[str]] = None, + tenant_type: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a IdpAzureAd resource. + :param pulumi.Input[str] client_id: client id generated by the identity provider + :param pulumi.Input[str] client_secret: client secret generated by the identity provider + :param pulumi.Input[bool] email_verified: automatically mark emails as verified + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[Sequence[pulumi.Input[str]]] scopes: the scopes requested by ZITADEL during the request on the identity provider + :param pulumi.Input[str] tenant_id: if tenant*id is not set, the tenant*type is used + :param pulumi.Input[str] tenant_type: the azure ad tenant type + """ + IdpAzureAdArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + client_id=client_id, + client_secret=client_secret, + email_verified=email_verified, + is_auto_creation=is_auto_creation, + is_auto_update=is_auto_update, + is_creation_allowed=is_creation_allowed, + is_linking_allowed=is_linking_allowed, + name=name, + scopes=scopes, + tenant_id=tenant_id, + tenant_type=tenant_type, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + client_id: pulumi.Input[str], + client_secret: pulumi.Input[str], + email_verified: pulumi.Input[bool], + is_auto_creation: pulumi.Input[bool], + is_auto_update: pulumi.Input[bool], + is_creation_allowed: pulumi.Input[bool], + is_linking_allowed: pulumi.Input[bool], + name: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + tenant_id: Optional[pulumi.Input[str]] = None, + tenant_type: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'clientId' in kwargs: + client_id = kwargs['clientId'] + if 'clientSecret' in kwargs: + client_secret = kwargs['clientSecret'] + if 'emailVerified' in kwargs: + email_verified = kwargs['emailVerified'] + if 'isAutoCreation' in kwargs: + is_auto_creation = kwargs['isAutoCreation'] + if 'isAutoUpdate' in kwargs: + is_auto_update = kwargs['isAutoUpdate'] + if 'isCreationAllowed' in kwargs: + is_creation_allowed = kwargs['isCreationAllowed'] + if 'isLinkingAllowed' in kwargs: + is_linking_allowed = kwargs['isLinkingAllowed'] + if 'tenantId' in kwargs: + tenant_id = kwargs['tenantId'] + if 'tenantType' in kwargs: + tenant_type = kwargs['tenantType'] + + _setter("client_id", client_id) + _setter("client_secret", client_secret) + _setter("email_verified", email_verified) + _setter("is_auto_creation", is_auto_creation) + _setter("is_auto_update", is_auto_update) + _setter("is_creation_allowed", is_creation_allowed) + _setter("is_linking_allowed", is_linking_allowed) + if name is not None: + _setter("name", name) + if scopes is not None: + _setter("scopes", scopes) + if tenant_id is not None: + _setter("tenant_id", tenant_id) + if tenant_type is not None: + _setter("tenant_type", tenant_type) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> pulumi.Input[str]: + """ + client id generated by the identity provider + """ + return pulumi.get(self, "client_id") + + @client_id.setter + def client_id(self, value: pulumi.Input[str]): + pulumi.set(self, "client_id", value) + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> pulumi.Input[str]: + """ + client secret generated by the identity provider + """ + return pulumi.get(self, "client_secret") + + @client_secret.setter + def client_secret(self, value: pulumi.Input[str]): + pulumi.set(self, "client_secret", value) + + @property + @pulumi.getter(name="emailVerified") + def email_verified(self) -> pulumi.Input[bool]: + """ + automatically mark emails as verified + """ + return pulumi.get(self, "email_verified") + + @email_verified.setter + def email_verified(self, value: pulumi.Input[bool]): + pulumi.set(self, "email_verified", value) + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> pulumi.Input[bool]: + """ + enable if a new account in ZITADEL should be created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @is_auto_creation.setter + def is_auto_creation(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_auto_creation", value) + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> pulumi.Input[bool]: + """ + enable if a the ZITADEL account fields should be updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @is_auto_update.setter + def is_auto_update(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_auto_update", value) + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> pulumi.Input[bool]: + """ + enable if users should be able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @is_creation_allowed.setter + def is_creation_allowed(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_creation_allowed", value) + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> pulumi.Input[bool]: + """ + enable if users should be able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @is_linking_allowed.setter + def is_linking_allowed(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_linking_allowed", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def scopes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + the scopes requested by ZITADEL during the request on the identity provider + """ + return pulumi.get(self, "scopes") + + @scopes.setter + def scopes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "scopes", value) + + @property + @pulumi.getter(name="tenantId") + def tenant_id(self) -> Optional[pulumi.Input[str]]: + """ + if tenant*id is not set, the tenant*type is used + """ + return pulumi.get(self, "tenant_id") + + @tenant_id.setter + def tenant_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "tenant_id", value) + + @property + @pulumi.getter(name="tenantType") + def tenant_type(self) -> Optional[pulumi.Input[str]]: + """ + the azure ad tenant type + """ + return pulumi.get(self, "tenant_type") + + @tenant_type.setter + def tenant_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "tenant_type", value) + + +@pulumi.input_type +class _IdpAzureAdState: + def __init__(__self__, *, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + email_verified: Optional[pulumi.Input[bool]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + tenant_id: Optional[pulumi.Input[str]] = None, + tenant_type: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering IdpAzureAd resources. + :param pulumi.Input[str] client_id: client id generated by the identity provider + :param pulumi.Input[str] client_secret: client secret generated by the identity provider + :param pulumi.Input[bool] email_verified: automatically mark emails as verified + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[Sequence[pulumi.Input[str]]] scopes: the scopes requested by ZITADEL during the request on the identity provider + :param pulumi.Input[str] tenant_id: if tenant*id is not set, the tenant*type is used + :param pulumi.Input[str] tenant_type: the azure ad tenant type + """ + _IdpAzureAdState._configure( + lambda key, value: pulumi.set(__self__, key, value), + client_id=client_id, + client_secret=client_secret, + email_verified=email_verified, + is_auto_creation=is_auto_creation, + is_auto_update=is_auto_update, + is_creation_allowed=is_creation_allowed, + is_linking_allowed=is_linking_allowed, + name=name, + scopes=scopes, + tenant_id=tenant_id, + tenant_type=tenant_type, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + email_verified: Optional[pulumi.Input[bool]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + tenant_id: Optional[pulumi.Input[str]] = None, + tenant_type: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'clientId' in kwargs: + client_id = kwargs['clientId'] + if 'clientSecret' in kwargs: + client_secret = kwargs['clientSecret'] + if 'emailVerified' in kwargs: + email_verified = kwargs['emailVerified'] + if 'isAutoCreation' in kwargs: + is_auto_creation = kwargs['isAutoCreation'] + if 'isAutoUpdate' in kwargs: + is_auto_update = kwargs['isAutoUpdate'] + if 'isCreationAllowed' in kwargs: + is_creation_allowed = kwargs['isCreationAllowed'] + if 'isLinkingAllowed' in kwargs: + is_linking_allowed = kwargs['isLinkingAllowed'] + if 'tenantId' in kwargs: + tenant_id = kwargs['tenantId'] + if 'tenantType' in kwargs: + tenant_type = kwargs['tenantType'] + + if client_id is not None: + _setter("client_id", client_id) + if client_secret is not None: + _setter("client_secret", client_secret) + if email_verified is not None: + _setter("email_verified", email_verified) + if is_auto_creation is not None: + _setter("is_auto_creation", is_auto_creation) + if is_auto_update is not None: + _setter("is_auto_update", is_auto_update) + if is_creation_allowed is not None: + _setter("is_creation_allowed", is_creation_allowed) + if is_linking_allowed is not None: + _setter("is_linking_allowed", is_linking_allowed) + if name is not None: + _setter("name", name) + if scopes is not None: + _setter("scopes", scopes) + if tenant_id is not None: + _setter("tenant_id", tenant_id) + if tenant_type is not None: + _setter("tenant_type", tenant_type) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> Optional[pulumi.Input[str]]: + """ + client id generated by the identity provider + """ + return pulumi.get(self, "client_id") + + @client_id.setter + def client_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "client_id", value) + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> Optional[pulumi.Input[str]]: + """ + client secret generated by the identity provider + """ + return pulumi.get(self, "client_secret") + + @client_secret.setter + def client_secret(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "client_secret", value) + + @property + @pulumi.getter(name="emailVerified") + def email_verified(self) -> Optional[pulumi.Input[bool]]: + """ + automatically mark emails as verified + """ + return pulumi.get(self, "email_verified") + + @email_verified.setter + def email_verified(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "email_verified", value) + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> Optional[pulumi.Input[bool]]: + """ + enable if a new account in ZITADEL should be created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @is_auto_creation.setter + def is_auto_creation(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_auto_creation", value) + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> Optional[pulumi.Input[bool]]: + """ + enable if a the ZITADEL account fields should be updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @is_auto_update.setter + def is_auto_update(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_auto_update", value) + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> Optional[pulumi.Input[bool]]: + """ + enable if users should be able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @is_creation_allowed.setter + def is_creation_allowed(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_creation_allowed", value) + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> Optional[pulumi.Input[bool]]: + """ + enable if users should be able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @is_linking_allowed.setter + def is_linking_allowed(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_linking_allowed", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def scopes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + the scopes requested by ZITADEL during the request on the identity provider + """ + return pulumi.get(self, "scopes") + + @scopes.setter + def scopes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "scopes", value) + + @property + @pulumi.getter(name="tenantId") + def tenant_id(self) -> Optional[pulumi.Input[str]]: + """ + if tenant*id is not set, the tenant*type is used + """ + return pulumi.get(self, "tenant_id") + + @tenant_id.setter + def tenant_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "tenant_id", value) + + @property + @pulumi.getter(name="tenantType") + def tenant_type(self) -> Optional[pulumi.Input[str]]: + """ + the azure ad tenant type + """ + return pulumi.get(self, "tenant_type") + + @tenant_type.setter + def tenant_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "tenant_type", value) + + +class IdpAzureAd(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + email_verified: Optional[pulumi.Input[bool]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + tenant_id: Optional[pulumi.Input[str]] = None, + tenant_type: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Resource representing an Azure AD IDP on the instance. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.IdpAzureAd("default", + client_id="9065bfc8-a08a...", + client_secret="H2n***", + email_verified=True, + is_auto_creation=False, + is_auto_update=True, + is_creation_allowed=True, + is_linking_allowed=False, + scopes=[ + "openid", + "profile", + "email", + "User.Read", + ], + tenant_type="AZURE_AD_TENANT_TYPE_ORGANISATIONS") + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/idpAzureAd:IdpAzureAd imported '123456789012345678:12345678-1234-1234-1234-123456789012' + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] client_id: client id generated by the identity provider + :param pulumi.Input[str] client_secret: client secret generated by the identity provider + :param pulumi.Input[bool] email_verified: automatically mark emails as verified + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[Sequence[pulumi.Input[str]]] scopes: the scopes requested by ZITADEL during the request on the identity provider + :param pulumi.Input[str] tenant_id: if tenant*id is not set, the tenant*type is used + :param pulumi.Input[str] tenant_type: the azure ad tenant type + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: IdpAzureAdArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource representing an Azure AD IDP on the instance. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.IdpAzureAd("default", + client_id="9065bfc8-a08a...", + client_secret="H2n***", + email_verified=True, + is_auto_creation=False, + is_auto_update=True, + is_creation_allowed=True, + is_linking_allowed=False, + scopes=[ + "openid", + "profile", + "email", + "User.Read", + ], + tenant_type="AZURE_AD_TENANT_TYPE_ORGANISATIONS") + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/idpAzureAd:IdpAzureAd imported '123456789012345678:12345678-1234-1234-1234-123456789012' + ``` + + :param str resource_name: The name of the resource. + :param IdpAzureAdArgs 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(IdpAzureAdArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + IdpAzureAdArgs._configure(_setter, **kwargs) + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + email_verified: Optional[pulumi.Input[bool]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + tenant_id: Optional[pulumi.Input[str]] = None, + tenant_type: 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__ = IdpAzureAdArgs.__new__(IdpAzureAdArgs) + + if client_id is None and not opts.urn: + raise TypeError("Missing required property 'client_id'") + __props__.__dict__["client_id"] = client_id + if client_secret is None and not opts.urn: + raise TypeError("Missing required property 'client_secret'") + __props__.__dict__["client_secret"] = None if client_secret is None else pulumi.Output.secret(client_secret) + if email_verified is None and not opts.urn: + raise TypeError("Missing required property 'email_verified'") + __props__.__dict__["email_verified"] = email_verified + if is_auto_creation is None and not opts.urn: + raise TypeError("Missing required property 'is_auto_creation'") + __props__.__dict__["is_auto_creation"] = is_auto_creation + if is_auto_update is None and not opts.urn: + raise TypeError("Missing required property 'is_auto_update'") + __props__.__dict__["is_auto_update"] = is_auto_update + if is_creation_allowed is None and not opts.urn: + raise TypeError("Missing required property 'is_creation_allowed'") + __props__.__dict__["is_creation_allowed"] = is_creation_allowed + if is_linking_allowed is None and not opts.urn: + raise TypeError("Missing required property 'is_linking_allowed'") + __props__.__dict__["is_linking_allowed"] = is_linking_allowed + __props__.__dict__["name"] = name + __props__.__dict__["scopes"] = scopes + __props__.__dict__["tenant_id"] = tenant_id + __props__.__dict__["tenant_type"] = tenant_type + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["clientSecret"]) + opts = pulumi.ResourceOptions.merge(opts, secret_opts) + super(IdpAzureAd, __self__).__init__( + 'zitadel:index/idpAzureAd:IdpAzureAd', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + email_verified: Optional[pulumi.Input[bool]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + tenant_id: Optional[pulumi.Input[str]] = None, + tenant_type: Optional[pulumi.Input[str]] = None) -> 'IdpAzureAd': + """ + Get an existing IdpAzureAd 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[str] client_id: client id generated by the identity provider + :param pulumi.Input[str] client_secret: client secret generated by the identity provider + :param pulumi.Input[bool] email_verified: automatically mark emails as verified + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[Sequence[pulumi.Input[str]]] scopes: the scopes requested by ZITADEL during the request on the identity provider + :param pulumi.Input[str] tenant_id: if tenant*id is not set, the tenant*type is used + :param pulumi.Input[str] tenant_type: the azure ad tenant type + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _IdpAzureAdState.__new__(_IdpAzureAdState) + + __props__.__dict__["client_id"] = client_id + __props__.__dict__["client_secret"] = client_secret + __props__.__dict__["email_verified"] = email_verified + __props__.__dict__["is_auto_creation"] = is_auto_creation + __props__.__dict__["is_auto_update"] = is_auto_update + __props__.__dict__["is_creation_allowed"] = is_creation_allowed + __props__.__dict__["is_linking_allowed"] = is_linking_allowed + __props__.__dict__["name"] = name + __props__.__dict__["scopes"] = scopes + __props__.__dict__["tenant_id"] = tenant_id + __props__.__dict__["tenant_type"] = tenant_type + return IdpAzureAd(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> pulumi.Output[str]: + """ + client id generated by the identity provider + """ + return pulumi.get(self, "client_id") + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> pulumi.Output[str]: + """ + client secret generated by the identity provider + """ + return pulumi.get(self, "client_secret") + + @property + @pulumi.getter(name="emailVerified") + def email_verified(self) -> pulumi.Output[bool]: + """ + automatically mark emails as verified + """ + return pulumi.get(self, "email_verified") + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> pulumi.Output[bool]: + """ + enable if a new account in ZITADEL should be created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> pulumi.Output[bool]: + """ + enable if a the ZITADEL account fields should be updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> pulumi.Output[bool]: + """ + enable if users should be able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> pulumi.Output[bool]: + """ + enable if users should be able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def scopes(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + the scopes requested by ZITADEL during the request on the identity provider + """ + return pulumi.get(self, "scopes") + + @property + @pulumi.getter(name="tenantId") + def tenant_id(self) -> pulumi.Output[Optional[str]]: + """ + if tenant*id is not set, the tenant*type is used + """ + return pulumi.get(self, "tenant_id") + + @property + @pulumi.getter(name="tenantType") + def tenant_type(self) -> pulumi.Output[Optional[str]]: + """ + the azure ad tenant type + """ + return pulumi.get(self, "tenant_type") + diff --git a/sdk/python/scoretechnologies_zitadel/idp_github.py b/sdk/python/scoretechnologies_zitadel/idp_github.py new file mode 100644 index 0000000..0b3c4b2 --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/idp_github.py @@ -0,0 +1,616 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['IdpGithubArgs', 'IdpGithub'] + +@pulumi.input_type +class IdpGithubArgs: + def __init__(__self__, *, + client_id: pulumi.Input[str], + client_secret: pulumi.Input[str], + is_auto_creation: pulumi.Input[bool], + is_auto_update: pulumi.Input[bool], + is_creation_allowed: pulumi.Input[bool], + is_linking_allowed: pulumi.Input[bool], + name: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a IdpGithub resource. + :param pulumi.Input[str] client_id: client id generated by the identity provider + :param pulumi.Input[str] client_secret: client secret generated by the identity provider + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[Sequence[pulumi.Input[str]]] scopes: the scopes requested by ZITADEL during the request on the identity provider + """ + IdpGithubArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + client_id=client_id, + client_secret=client_secret, + is_auto_creation=is_auto_creation, + is_auto_update=is_auto_update, + is_creation_allowed=is_creation_allowed, + is_linking_allowed=is_linking_allowed, + name=name, + scopes=scopes, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + client_id: pulumi.Input[str], + client_secret: pulumi.Input[str], + is_auto_creation: pulumi.Input[bool], + is_auto_update: pulumi.Input[bool], + is_creation_allowed: pulumi.Input[bool], + is_linking_allowed: pulumi.Input[bool], + name: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'clientId' in kwargs: + client_id = kwargs['clientId'] + if 'clientSecret' in kwargs: + client_secret = kwargs['clientSecret'] + if 'isAutoCreation' in kwargs: + is_auto_creation = kwargs['isAutoCreation'] + if 'isAutoUpdate' in kwargs: + is_auto_update = kwargs['isAutoUpdate'] + if 'isCreationAllowed' in kwargs: + is_creation_allowed = kwargs['isCreationAllowed'] + if 'isLinkingAllowed' in kwargs: + is_linking_allowed = kwargs['isLinkingAllowed'] + + _setter("client_id", client_id) + _setter("client_secret", client_secret) + _setter("is_auto_creation", is_auto_creation) + _setter("is_auto_update", is_auto_update) + _setter("is_creation_allowed", is_creation_allowed) + _setter("is_linking_allowed", is_linking_allowed) + if name is not None: + _setter("name", name) + if scopes is not None: + _setter("scopes", scopes) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> pulumi.Input[str]: + """ + client id generated by the identity provider + """ + return pulumi.get(self, "client_id") + + @client_id.setter + def client_id(self, value: pulumi.Input[str]): + pulumi.set(self, "client_id", value) + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> pulumi.Input[str]: + """ + client secret generated by the identity provider + """ + return pulumi.get(self, "client_secret") + + @client_secret.setter + def client_secret(self, value: pulumi.Input[str]): + pulumi.set(self, "client_secret", value) + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> pulumi.Input[bool]: + """ + enable if a new account in ZITADEL should be created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @is_auto_creation.setter + def is_auto_creation(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_auto_creation", value) + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> pulumi.Input[bool]: + """ + enable if a the ZITADEL account fields should be updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @is_auto_update.setter + def is_auto_update(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_auto_update", value) + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> pulumi.Input[bool]: + """ + enable if users should be able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @is_creation_allowed.setter + def is_creation_allowed(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_creation_allowed", value) + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> pulumi.Input[bool]: + """ + enable if users should be able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @is_linking_allowed.setter + def is_linking_allowed(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_linking_allowed", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def scopes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + the scopes requested by ZITADEL during the request on the identity provider + """ + return pulumi.get(self, "scopes") + + @scopes.setter + def scopes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "scopes", value) + + +@pulumi.input_type +class _IdpGithubState: + def __init__(__self__, *, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + Input properties used for looking up and filtering IdpGithub resources. + :param pulumi.Input[str] client_id: client id generated by the identity provider + :param pulumi.Input[str] client_secret: client secret generated by the identity provider + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[Sequence[pulumi.Input[str]]] scopes: the scopes requested by ZITADEL during the request on the identity provider + """ + _IdpGithubState._configure( + lambda key, value: pulumi.set(__self__, key, value), + client_id=client_id, + client_secret=client_secret, + is_auto_creation=is_auto_creation, + is_auto_update=is_auto_update, + is_creation_allowed=is_creation_allowed, + is_linking_allowed=is_linking_allowed, + name=name, + scopes=scopes, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'clientId' in kwargs: + client_id = kwargs['clientId'] + if 'clientSecret' in kwargs: + client_secret = kwargs['clientSecret'] + if 'isAutoCreation' in kwargs: + is_auto_creation = kwargs['isAutoCreation'] + if 'isAutoUpdate' in kwargs: + is_auto_update = kwargs['isAutoUpdate'] + if 'isCreationAllowed' in kwargs: + is_creation_allowed = kwargs['isCreationAllowed'] + if 'isLinkingAllowed' in kwargs: + is_linking_allowed = kwargs['isLinkingAllowed'] + + if client_id is not None: + _setter("client_id", client_id) + if client_secret is not None: + _setter("client_secret", client_secret) + if is_auto_creation is not None: + _setter("is_auto_creation", is_auto_creation) + if is_auto_update is not None: + _setter("is_auto_update", is_auto_update) + if is_creation_allowed is not None: + _setter("is_creation_allowed", is_creation_allowed) + if is_linking_allowed is not None: + _setter("is_linking_allowed", is_linking_allowed) + if name is not None: + _setter("name", name) + if scopes is not None: + _setter("scopes", scopes) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> Optional[pulumi.Input[str]]: + """ + client id generated by the identity provider + """ + return pulumi.get(self, "client_id") + + @client_id.setter + def client_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "client_id", value) + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> Optional[pulumi.Input[str]]: + """ + client secret generated by the identity provider + """ + return pulumi.get(self, "client_secret") + + @client_secret.setter + def client_secret(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "client_secret", value) + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> Optional[pulumi.Input[bool]]: + """ + enable if a new account in ZITADEL should be created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @is_auto_creation.setter + def is_auto_creation(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_auto_creation", value) + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> Optional[pulumi.Input[bool]]: + """ + enable if a the ZITADEL account fields should be updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @is_auto_update.setter + def is_auto_update(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_auto_update", value) + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> Optional[pulumi.Input[bool]]: + """ + enable if users should be able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @is_creation_allowed.setter + def is_creation_allowed(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_creation_allowed", value) + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> Optional[pulumi.Input[bool]]: + """ + enable if users should be able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @is_linking_allowed.setter + def is_linking_allowed(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_linking_allowed", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def scopes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + the scopes requested by ZITADEL during the request on the identity provider + """ + return pulumi.get(self, "scopes") + + @scopes.setter + def scopes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "scopes", value) + + +class IdpGithub(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + __props__=None): + """ + Resource representing a GitHub IDP on the instance. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.IdpGithub("default", + client_id="86a165...", + client_secret="*****afdbac18", + is_auto_creation=False, + is_auto_update=True, + is_creation_allowed=True, + is_linking_allowed=False, + scopes=[ + "openid", + "profile", + "email", + ]) + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/idpGithub:IdpGithub imported '123456789012345678:1234567890123456781234567890123456787890' + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] client_id: client id generated by the identity provider + :param pulumi.Input[str] client_secret: client secret generated by the identity provider + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[Sequence[pulumi.Input[str]]] scopes: the scopes requested by ZITADEL during the request on the identity provider + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: IdpGithubArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource representing a GitHub IDP on the instance. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.IdpGithub("default", + client_id="86a165...", + client_secret="*****afdbac18", + is_auto_creation=False, + is_auto_update=True, + is_creation_allowed=True, + is_linking_allowed=False, + scopes=[ + "openid", + "profile", + "email", + ]) + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/idpGithub:IdpGithub imported '123456789012345678:1234567890123456781234567890123456787890' + ``` + + :param str resource_name: The name of the resource. + :param IdpGithubArgs 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(IdpGithubArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + IdpGithubArgs._configure(_setter, **kwargs) + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[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__ = IdpGithubArgs.__new__(IdpGithubArgs) + + if client_id is None and not opts.urn: + raise TypeError("Missing required property 'client_id'") + __props__.__dict__["client_id"] = client_id + if client_secret is None and not opts.urn: + raise TypeError("Missing required property 'client_secret'") + __props__.__dict__["client_secret"] = None if client_secret is None else pulumi.Output.secret(client_secret) + if is_auto_creation is None and not opts.urn: + raise TypeError("Missing required property 'is_auto_creation'") + __props__.__dict__["is_auto_creation"] = is_auto_creation + if is_auto_update is None and not opts.urn: + raise TypeError("Missing required property 'is_auto_update'") + __props__.__dict__["is_auto_update"] = is_auto_update + if is_creation_allowed is None and not opts.urn: + raise TypeError("Missing required property 'is_creation_allowed'") + __props__.__dict__["is_creation_allowed"] = is_creation_allowed + if is_linking_allowed is None and not opts.urn: + raise TypeError("Missing required property 'is_linking_allowed'") + __props__.__dict__["is_linking_allowed"] = is_linking_allowed + __props__.__dict__["name"] = name + __props__.__dict__["scopes"] = scopes + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["clientSecret"]) + opts = pulumi.ResourceOptions.merge(opts, secret_opts) + super(IdpGithub, __self__).__init__( + 'zitadel:index/idpGithub:IdpGithub', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None) -> 'IdpGithub': + """ + Get an existing IdpGithub 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[str] client_id: client id generated by the identity provider + :param pulumi.Input[str] client_secret: client secret generated by the identity provider + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[Sequence[pulumi.Input[str]]] scopes: the scopes requested by ZITADEL during the request on the identity provider + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _IdpGithubState.__new__(_IdpGithubState) + + __props__.__dict__["client_id"] = client_id + __props__.__dict__["client_secret"] = client_secret + __props__.__dict__["is_auto_creation"] = is_auto_creation + __props__.__dict__["is_auto_update"] = is_auto_update + __props__.__dict__["is_creation_allowed"] = is_creation_allowed + __props__.__dict__["is_linking_allowed"] = is_linking_allowed + __props__.__dict__["name"] = name + __props__.__dict__["scopes"] = scopes + return IdpGithub(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> pulumi.Output[str]: + """ + client id generated by the identity provider + """ + return pulumi.get(self, "client_id") + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> pulumi.Output[str]: + """ + client secret generated by the identity provider + """ + return pulumi.get(self, "client_secret") + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> pulumi.Output[bool]: + """ + enable if a new account in ZITADEL should be created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> pulumi.Output[bool]: + """ + enable if a the ZITADEL account fields should be updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> pulumi.Output[bool]: + """ + enable if users should be able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> pulumi.Output[bool]: + """ + enable if users should be able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def scopes(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + the scopes requested by ZITADEL during the request on the identity provider + """ + return pulumi.get(self, "scopes") + diff --git a/sdk/python/scoretechnologies_zitadel/idp_github_es.py b/sdk/python/scoretechnologies_zitadel/idp_github_es.py new file mode 100644 index 0000000..bcd61be --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/idp_github_es.py @@ -0,0 +1,790 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['IdpGithubEsArgs', 'IdpGithubEs'] + +@pulumi.input_type +class IdpGithubEsArgs: + def __init__(__self__, *, + authorization_endpoint: pulumi.Input[str], + client_id: pulumi.Input[str], + client_secret: pulumi.Input[str], + is_auto_creation: pulumi.Input[bool], + is_auto_update: pulumi.Input[bool], + is_creation_allowed: pulumi.Input[bool], + is_linking_allowed: pulumi.Input[bool], + token_endpoint: pulumi.Input[str], + user_endpoint: pulumi.Input[str], + name: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a IdpGithubEs resource. + :param pulumi.Input[str] authorization_endpoint: the providers authorization endpoint + :param pulumi.Input[str] client_id: client id generated by the identity provider + :param pulumi.Input[str] client_secret: client secret generated by the identity provider + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] token_endpoint: the providers token endpoint + :param pulumi.Input[str] user_endpoint: the providers user endpoint + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[Sequence[pulumi.Input[str]]] scopes: the scopes requested by ZITADEL during the request on the identity provider + """ + IdpGithubEsArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + authorization_endpoint=authorization_endpoint, + client_id=client_id, + client_secret=client_secret, + is_auto_creation=is_auto_creation, + is_auto_update=is_auto_update, + is_creation_allowed=is_creation_allowed, + is_linking_allowed=is_linking_allowed, + token_endpoint=token_endpoint, + user_endpoint=user_endpoint, + name=name, + scopes=scopes, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + authorization_endpoint: pulumi.Input[str], + client_id: pulumi.Input[str], + client_secret: pulumi.Input[str], + is_auto_creation: pulumi.Input[bool], + is_auto_update: pulumi.Input[bool], + is_creation_allowed: pulumi.Input[bool], + is_linking_allowed: pulumi.Input[bool], + token_endpoint: pulumi.Input[str], + user_endpoint: pulumi.Input[str], + name: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'authorizationEndpoint' in kwargs: + authorization_endpoint = kwargs['authorizationEndpoint'] + if 'clientId' in kwargs: + client_id = kwargs['clientId'] + if 'clientSecret' in kwargs: + client_secret = kwargs['clientSecret'] + if 'isAutoCreation' in kwargs: + is_auto_creation = kwargs['isAutoCreation'] + if 'isAutoUpdate' in kwargs: + is_auto_update = kwargs['isAutoUpdate'] + if 'isCreationAllowed' in kwargs: + is_creation_allowed = kwargs['isCreationAllowed'] + if 'isLinkingAllowed' in kwargs: + is_linking_allowed = kwargs['isLinkingAllowed'] + if 'tokenEndpoint' in kwargs: + token_endpoint = kwargs['tokenEndpoint'] + if 'userEndpoint' in kwargs: + user_endpoint = kwargs['userEndpoint'] + + _setter("authorization_endpoint", authorization_endpoint) + _setter("client_id", client_id) + _setter("client_secret", client_secret) + _setter("is_auto_creation", is_auto_creation) + _setter("is_auto_update", is_auto_update) + _setter("is_creation_allowed", is_creation_allowed) + _setter("is_linking_allowed", is_linking_allowed) + _setter("token_endpoint", token_endpoint) + _setter("user_endpoint", user_endpoint) + if name is not None: + _setter("name", name) + if scopes is not None: + _setter("scopes", scopes) + + @property + @pulumi.getter(name="authorizationEndpoint") + def authorization_endpoint(self) -> pulumi.Input[str]: + """ + the providers authorization endpoint + """ + return pulumi.get(self, "authorization_endpoint") + + @authorization_endpoint.setter + def authorization_endpoint(self, value: pulumi.Input[str]): + pulumi.set(self, "authorization_endpoint", value) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> pulumi.Input[str]: + """ + client id generated by the identity provider + """ + return pulumi.get(self, "client_id") + + @client_id.setter + def client_id(self, value: pulumi.Input[str]): + pulumi.set(self, "client_id", value) + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> pulumi.Input[str]: + """ + client secret generated by the identity provider + """ + return pulumi.get(self, "client_secret") + + @client_secret.setter + def client_secret(self, value: pulumi.Input[str]): + pulumi.set(self, "client_secret", value) + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> pulumi.Input[bool]: + """ + enable if a new account in ZITADEL should be created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @is_auto_creation.setter + def is_auto_creation(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_auto_creation", value) + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> pulumi.Input[bool]: + """ + enable if a the ZITADEL account fields should be updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @is_auto_update.setter + def is_auto_update(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_auto_update", value) + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> pulumi.Input[bool]: + """ + enable if users should be able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @is_creation_allowed.setter + def is_creation_allowed(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_creation_allowed", value) + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> pulumi.Input[bool]: + """ + enable if users should be able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @is_linking_allowed.setter + def is_linking_allowed(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_linking_allowed", value) + + @property + @pulumi.getter(name="tokenEndpoint") + def token_endpoint(self) -> pulumi.Input[str]: + """ + the providers token endpoint + """ + return pulumi.get(self, "token_endpoint") + + @token_endpoint.setter + def token_endpoint(self, value: pulumi.Input[str]): + pulumi.set(self, "token_endpoint", value) + + @property + @pulumi.getter(name="userEndpoint") + def user_endpoint(self) -> pulumi.Input[str]: + """ + the providers user endpoint + """ + return pulumi.get(self, "user_endpoint") + + @user_endpoint.setter + def user_endpoint(self, value: pulumi.Input[str]): + pulumi.set(self, "user_endpoint", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def scopes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + the scopes requested by ZITADEL during the request on the identity provider + """ + return pulumi.get(self, "scopes") + + @scopes.setter + def scopes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "scopes", value) + + +@pulumi.input_type +class _IdpGithubEsState: + def __init__(__self__, *, + authorization_endpoint: Optional[pulumi.Input[str]] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + token_endpoint: Optional[pulumi.Input[str]] = None, + user_endpoint: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering IdpGithubEs resources. + :param pulumi.Input[str] authorization_endpoint: the providers authorization endpoint + :param pulumi.Input[str] client_id: client id generated by the identity provider + :param pulumi.Input[str] client_secret: client secret generated by the identity provider + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[Sequence[pulumi.Input[str]]] scopes: the scopes requested by ZITADEL during the request on the identity provider + :param pulumi.Input[str] token_endpoint: the providers token endpoint + :param pulumi.Input[str] user_endpoint: the providers user endpoint + """ + _IdpGithubEsState._configure( + lambda key, value: pulumi.set(__self__, key, value), + authorization_endpoint=authorization_endpoint, + client_id=client_id, + client_secret=client_secret, + is_auto_creation=is_auto_creation, + is_auto_update=is_auto_update, + is_creation_allowed=is_creation_allowed, + is_linking_allowed=is_linking_allowed, + name=name, + scopes=scopes, + token_endpoint=token_endpoint, + user_endpoint=user_endpoint, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + authorization_endpoint: Optional[pulumi.Input[str]] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + token_endpoint: Optional[pulumi.Input[str]] = None, + user_endpoint: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'authorizationEndpoint' in kwargs: + authorization_endpoint = kwargs['authorizationEndpoint'] + if 'clientId' in kwargs: + client_id = kwargs['clientId'] + if 'clientSecret' in kwargs: + client_secret = kwargs['clientSecret'] + if 'isAutoCreation' in kwargs: + is_auto_creation = kwargs['isAutoCreation'] + if 'isAutoUpdate' in kwargs: + is_auto_update = kwargs['isAutoUpdate'] + if 'isCreationAllowed' in kwargs: + is_creation_allowed = kwargs['isCreationAllowed'] + if 'isLinkingAllowed' in kwargs: + is_linking_allowed = kwargs['isLinkingAllowed'] + if 'tokenEndpoint' in kwargs: + token_endpoint = kwargs['tokenEndpoint'] + if 'userEndpoint' in kwargs: + user_endpoint = kwargs['userEndpoint'] + + if authorization_endpoint is not None: + _setter("authorization_endpoint", authorization_endpoint) + if client_id is not None: + _setter("client_id", client_id) + if client_secret is not None: + _setter("client_secret", client_secret) + if is_auto_creation is not None: + _setter("is_auto_creation", is_auto_creation) + if is_auto_update is not None: + _setter("is_auto_update", is_auto_update) + if is_creation_allowed is not None: + _setter("is_creation_allowed", is_creation_allowed) + if is_linking_allowed is not None: + _setter("is_linking_allowed", is_linking_allowed) + if name is not None: + _setter("name", name) + if scopes is not None: + _setter("scopes", scopes) + if token_endpoint is not None: + _setter("token_endpoint", token_endpoint) + if user_endpoint is not None: + _setter("user_endpoint", user_endpoint) + + @property + @pulumi.getter(name="authorizationEndpoint") + def authorization_endpoint(self) -> Optional[pulumi.Input[str]]: + """ + the providers authorization endpoint + """ + return pulumi.get(self, "authorization_endpoint") + + @authorization_endpoint.setter + def authorization_endpoint(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "authorization_endpoint", value) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> Optional[pulumi.Input[str]]: + """ + client id generated by the identity provider + """ + return pulumi.get(self, "client_id") + + @client_id.setter + def client_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "client_id", value) + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> Optional[pulumi.Input[str]]: + """ + client secret generated by the identity provider + """ + return pulumi.get(self, "client_secret") + + @client_secret.setter + def client_secret(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "client_secret", value) + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> Optional[pulumi.Input[bool]]: + """ + enable if a new account in ZITADEL should be created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @is_auto_creation.setter + def is_auto_creation(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_auto_creation", value) + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> Optional[pulumi.Input[bool]]: + """ + enable if a the ZITADEL account fields should be updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @is_auto_update.setter + def is_auto_update(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_auto_update", value) + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> Optional[pulumi.Input[bool]]: + """ + enable if users should be able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @is_creation_allowed.setter + def is_creation_allowed(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_creation_allowed", value) + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> Optional[pulumi.Input[bool]]: + """ + enable if users should be able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @is_linking_allowed.setter + def is_linking_allowed(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_linking_allowed", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def scopes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + the scopes requested by ZITADEL during the request on the identity provider + """ + return pulumi.get(self, "scopes") + + @scopes.setter + def scopes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "scopes", value) + + @property + @pulumi.getter(name="tokenEndpoint") + def token_endpoint(self) -> Optional[pulumi.Input[str]]: + """ + the providers token endpoint + """ + return pulumi.get(self, "token_endpoint") + + @token_endpoint.setter + def token_endpoint(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "token_endpoint", value) + + @property + @pulumi.getter(name="userEndpoint") + def user_endpoint(self) -> Optional[pulumi.Input[str]]: + """ + the providers user endpoint + """ + return pulumi.get(self, "user_endpoint") + + @user_endpoint.setter + def user_endpoint(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "user_endpoint", value) + + +class IdpGithubEs(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + authorization_endpoint: Optional[pulumi.Input[str]] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + token_endpoint: Optional[pulumi.Input[str]] = None, + user_endpoint: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Resource representing a GitHub Enterprise IDP on the instance. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.IdpGithubEs("default", + authorization_endpoint="https://auth.endpoint", + client_id="86a165...", + client_secret="*****afdbac18", + is_auto_creation=False, + is_auto_update=True, + is_creation_allowed=True, + is_linking_allowed=False, + scopes=[ + "openid", + "profile", + "email", + ], + token_endpoint="https://token.endpoint", + user_endpoint="https://user.endpoint") + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/idpGithubEs:IdpGithubEs imported '123456789012345678:1234567890123456781234567890123456787890' + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] authorization_endpoint: the providers authorization endpoint + :param pulumi.Input[str] client_id: client id generated by the identity provider + :param pulumi.Input[str] client_secret: client secret generated by the identity provider + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[Sequence[pulumi.Input[str]]] scopes: the scopes requested by ZITADEL during the request on the identity provider + :param pulumi.Input[str] token_endpoint: the providers token endpoint + :param pulumi.Input[str] user_endpoint: the providers user endpoint + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: IdpGithubEsArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource representing a GitHub Enterprise IDP on the instance. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.IdpGithubEs("default", + authorization_endpoint="https://auth.endpoint", + client_id="86a165...", + client_secret="*****afdbac18", + is_auto_creation=False, + is_auto_update=True, + is_creation_allowed=True, + is_linking_allowed=False, + scopes=[ + "openid", + "profile", + "email", + ], + token_endpoint="https://token.endpoint", + user_endpoint="https://user.endpoint") + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/idpGithubEs:IdpGithubEs imported '123456789012345678:1234567890123456781234567890123456787890' + ``` + + :param str resource_name: The name of the resource. + :param IdpGithubEsArgs 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(IdpGithubEsArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + IdpGithubEsArgs._configure(_setter, **kwargs) + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + authorization_endpoint: Optional[pulumi.Input[str]] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + token_endpoint: Optional[pulumi.Input[str]] = None, + user_endpoint: 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__ = IdpGithubEsArgs.__new__(IdpGithubEsArgs) + + if authorization_endpoint is None and not opts.urn: + raise TypeError("Missing required property 'authorization_endpoint'") + __props__.__dict__["authorization_endpoint"] = authorization_endpoint + if client_id is None and not opts.urn: + raise TypeError("Missing required property 'client_id'") + __props__.__dict__["client_id"] = client_id + if client_secret is None and not opts.urn: + raise TypeError("Missing required property 'client_secret'") + __props__.__dict__["client_secret"] = None if client_secret is None else pulumi.Output.secret(client_secret) + if is_auto_creation is None and not opts.urn: + raise TypeError("Missing required property 'is_auto_creation'") + __props__.__dict__["is_auto_creation"] = is_auto_creation + if is_auto_update is None and not opts.urn: + raise TypeError("Missing required property 'is_auto_update'") + __props__.__dict__["is_auto_update"] = is_auto_update + if is_creation_allowed is None and not opts.urn: + raise TypeError("Missing required property 'is_creation_allowed'") + __props__.__dict__["is_creation_allowed"] = is_creation_allowed + if is_linking_allowed is None and not opts.urn: + raise TypeError("Missing required property 'is_linking_allowed'") + __props__.__dict__["is_linking_allowed"] = is_linking_allowed + __props__.__dict__["name"] = name + __props__.__dict__["scopes"] = scopes + if token_endpoint is None and not opts.urn: + raise TypeError("Missing required property 'token_endpoint'") + __props__.__dict__["token_endpoint"] = token_endpoint + if user_endpoint is None and not opts.urn: + raise TypeError("Missing required property 'user_endpoint'") + __props__.__dict__["user_endpoint"] = user_endpoint + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["clientSecret"]) + opts = pulumi.ResourceOptions.merge(opts, secret_opts) + super(IdpGithubEs, __self__).__init__( + 'zitadel:index/idpGithubEs:IdpGithubEs', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + authorization_endpoint: Optional[pulumi.Input[str]] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + token_endpoint: Optional[pulumi.Input[str]] = None, + user_endpoint: Optional[pulumi.Input[str]] = None) -> 'IdpGithubEs': + """ + Get an existing IdpGithubEs 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[str] authorization_endpoint: the providers authorization endpoint + :param pulumi.Input[str] client_id: client id generated by the identity provider + :param pulumi.Input[str] client_secret: client secret generated by the identity provider + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[Sequence[pulumi.Input[str]]] scopes: the scopes requested by ZITADEL during the request on the identity provider + :param pulumi.Input[str] token_endpoint: the providers token endpoint + :param pulumi.Input[str] user_endpoint: the providers user endpoint + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _IdpGithubEsState.__new__(_IdpGithubEsState) + + __props__.__dict__["authorization_endpoint"] = authorization_endpoint + __props__.__dict__["client_id"] = client_id + __props__.__dict__["client_secret"] = client_secret + __props__.__dict__["is_auto_creation"] = is_auto_creation + __props__.__dict__["is_auto_update"] = is_auto_update + __props__.__dict__["is_creation_allowed"] = is_creation_allowed + __props__.__dict__["is_linking_allowed"] = is_linking_allowed + __props__.__dict__["name"] = name + __props__.__dict__["scopes"] = scopes + __props__.__dict__["token_endpoint"] = token_endpoint + __props__.__dict__["user_endpoint"] = user_endpoint + return IdpGithubEs(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="authorizationEndpoint") + def authorization_endpoint(self) -> pulumi.Output[str]: + """ + the providers authorization endpoint + """ + return pulumi.get(self, "authorization_endpoint") + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> pulumi.Output[str]: + """ + client id generated by the identity provider + """ + return pulumi.get(self, "client_id") + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> pulumi.Output[str]: + """ + client secret generated by the identity provider + """ + return pulumi.get(self, "client_secret") + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> pulumi.Output[bool]: + """ + enable if a new account in ZITADEL should be created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> pulumi.Output[bool]: + """ + enable if a the ZITADEL account fields should be updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> pulumi.Output[bool]: + """ + enable if users should be able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> pulumi.Output[bool]: + """ + enable if users should be able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def scopes(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + the scopes requested by ZITADEL during the request on the identity provider + """ + return pulumi.get(self, "scopes") + + @property + @pulumi.getter(name="tokenEndpoint") + def token_endpoint(self) -> pulumi.Output[str]: + """ + the providers token endpoint + """ + return pulumi.get(self, "token_endpoint") + + @property + @pulumi.getter(name="userEndpoint") + def user_endpoint(self) -> pulumi.Output[str]: + """ + the providers user endpoint + """ + return pulumi.get(self, "user_endpoint") + diff --git a/sdk/python/scoretechnologies_zitadel/idp_gitlab.py b/sdk/python/scoretechnologies_zitadel/idp_gitlab.py new file mode 100644 index 0000000..636ea63 --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/idp_gitlab.py @@ -0,0 +1,616 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['IdpGitlabArgs', 'IdpGitlab'] + +@pulumi.input_type +class IdpGitlabArgs: + def __init__(__self__, *, + client_id: pulumi.Input[str], + client_secret: pulumi.Input[str], + is_auto_creation: pulumi.Input[bool], + is_auto_update: pulumi.Input[bool], + is_creation_allowed: pulumi.Input[bool], + is_linking_allowed: pulumi.Input[bool], + name: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a IdpGitlab resource. + :param pulumi.Input[str] client_id: client id generated by the identity provider + :param pulumi.Input[str] client_secret: client secret generated by the identity provider + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[Sequence[pulumi.Input[str]]] scopes: the scopes requested by ZITADEL during the request on the identity provider + """ + IdpGitlabArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + client_id=client_id, + client_secret=client_secret, + is_auto_creation=is_auto_creation, + is_auto_update=is_auto_update, + is_creation_allowed=is_creation_allowed, + is_linking_allowed=is_linking_allowed, + name=name, + scopes=scopes, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + client_id: pulumi.Input[str], + client_secret: pulumi.Input[str], + is_auto_creation: pulumi.Input[bool], + is_auto_update: pulumi.Input[bool], + is_creation_allowed: pulumi.Input[bool], + is_linking_allowed: pulumi.Input[bool], + name: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'clientId' in kwargs: + client_id = kwargs['clientId'] + if 'clientSecret' in kwargs: + client_secret = kwargs['clientSecret'] + if 'isAutoCreation' in kwargs: + is_auto_creation = kwargs['isAutoCreation'] + if 'isAutoUpdate' in kwargs: + is_auto_update = kwargs['isAutoUpdate'] + if 'isCreationAllowed' in kwargs: + is_creation_allowed = kwargs['isCreationAllowed'] + if 'isLinkingAllowed' in kwargs: + is_linking_allowed = kwargs['isLinkingAllowed'] + + _setter("client_id", client_id) + _setter("client_secret", client_secret) + _setter("is_auto_creation", is_auto_creation) + _setter("is_auto_update", is_auto_update) + _setter("is_creation_allowed", is_creation_allowed) + _setter("is_linking_allowed", is_linking_allowed) + if name is not None: + _setter("name", name) + if scopes is not None: + _setter("scopes", scopes) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> pulumi.Input[str]: + """ + client id generated by the identity provider + """ + return pulumi.get(self, "client_id") + + @client_id.setter + def client_id(self, value: pulumi.Input[str]): + pulumi.set(self, "client_id", value) + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> pulumi.Input[str]: + """ + client secret generated by the identity provider + """ + return pulumi.get(self, "client_secret") + + @client_secret.setter + def client_secret(self, value: pulumi.Input[str]): + pulumi.set(self, "client_secret", value) + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> pulumi.Input[bool]: + """ + enable if a new account in ZITADEL should be created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @is_auto_creation.setter + def is_auto_creation(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_auto_creation", value) + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> pulumi.Input[bool]: + """ + enable if a the ZITADEL account fields should be updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @is_auto_update.setter + def is_auto_update(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_auto_update", value) + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> pulumi.Input[bool]: + """ + enable if users should be able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @is_creation_allowed.setter + def is_creation_allowed(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_creation_allowed", value) + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> pulumi.Input[bool]: + """ + enable if users should be able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @is_linking_allowed.setter + def is_linking_allowed(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_linking_allowed", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def scopes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + the scopes requested by ZITADEL during the request on the identity provider + """ + return pulumi.get(self, "scopes") + + @scopes.setter + def scopes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "scopes", value) + + +@pulumi.input_type +class _IdpGitlabState: + def __init__(__self__, *, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + Input properties used for looking up and filtering IdpGitlab resources. + :param pulumi.Input[str] client_id: client id generated by the identity provider + :param pulumi.Input[str] client_secret: client secret generated by the identity provider + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[Sequence[pulumi.Input[str]]] scopes: the scopes requested by ZITADEL during the request on the identity provider + """ + _IdpGitlabState._configure( + lambda key, value: pulumi.set(__self__, key, value), + client_id=client_id, + client_secret=client_secret, + is_auto_creation=is_auto_creation, + is_auto_update=is_auto_update, + is_creation_allowed=is_creation_allowed, + is_linking_allowed=is_linking_allowed, + name=name, + scopes=scopes, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'clientId' in kwargs: + client_id = kwargs['clientId'] + if 'clientSecret' in kwargs: + client_secret = kwargs['clientSecret'] + if 'isAutoCreation' in kwargs: + is_auto_creation = kwargs['isAutoCreation'] + if 'isAutoUpdate' in kwargs: + is_auto_update = kwargs['isAutoUpdate'] + if 'isCreationAllowed' in kwargs: + is_creation_allowed = kwargs['isCreationAllowed'] + if 'isLinkingAllowed' in kwargs: + is_linking_allowed = kwargs['isLinkingAllowed'] + + if client_id is not None: + _setter("client_id", client_id) + if client_secret is not None: + _setter("client_secret", client_secret) + if is_auto_creation is not None: + _setter("is_auto_creation", is_auto_creation) + if is_auto_update is not None: + _setter("is_auto_update", is_auto_update) + if is_creation_allowed is not None: + _setter("is_creation_allowed", is_creation_allowed) + if is_linking_allowed is not None: + _setter("is_linking_allowed", is_linking_allowed) + if name is not None: + _setter("name", name) + if scopes is not None: + _setter("scopes", scopes) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> Optional[pulumi.Input[str]]: + """ + client id generated by the identity provider + """ + return pulumi.get(self, "client_id") + + @client_id.setter + def client_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "client_id", value) + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> Optional[pulumi.Input[str]]: + """ + client secret generated by the identity provider + """ + return pulumi.get(self, "client_secret") + + @client_secret.setter + def client_secret(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "client_secret", value) + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> Optional[pulumi.Input[bool]]: + """ + enable if a new account in ZITADEL should be created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @is_auto_creation.setter + def is_auto_creation(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_auto_creation", value) + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> Optional[pulumi.Input[bool]]: + """ + enable if a the ZITADEL account fields should be updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @is_auto_update.setter + def is_auto_update(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_auto_update", value) + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> Optional[pulumi.Input[bool]]: + """ + enable if users should be able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @is_creation_allowed.setter + def is_creation_allowed(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_creation_allowed", value) + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> Optional[pulumi.Input[bool]]: + """ + enable if users should be able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @is_linking_allowed.setter + def is_linking_allowed(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_linking_allowed", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def scopes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + the scopes requested by ZITADEL during the request on the identity provider + """ + return pulumi.get(self, "scopes") + + @scopes.setter + def scopes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "scopes", value) + + +class IdpGitlab(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + __props__=None): + """ + Resource representing a GitLab IDP on the instance. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.IdpGitlab("default", + client_id="15765e...", + client_secret="*****abcxyz", + is_auto_creation=False, + is_auto_update=True, + is_creation_allowed=True, + is_linking_allowed=False, + scopes=[ + "openid", + "profile", + "email", + ]) + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/idpGitlab:IdpGitlab imported '123456789012345678:1234567890abcdef' + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] client_id: client id generated by the identity provider + :param pulumi.Input[str] client_secret: client secret generated by the identity provider + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[Sequence[pulumi.Input[str]]] scopes: the scopes requested by ZITADEL during the request on the identity provider + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: IdpGitlabArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource representing a GitLab IDP on the instance. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.IdpGitlab("default", + client_id="15765e...", + client_secret="*****abcxyz", + is_auto_creation=False, + is_auto_update=True, + is_creation_allowed=True, + is_linking_allowed=False, + scopes=[ + "openid", + "profile", + "email", + ]) + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/idpGitlab:IdpGitlab imported '123456789012345678:1234567890abcdef' + ``` + + :param str resource_name: The name of the resource. + :param IdpGitlabArgs 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(IdpGitlabArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + IdpGitlabArgs._configure(_setter, **kwargs) + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[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__ = IdpGitlabArgs.__new__(IdpGitlabArgs) + + if client_id is None and not opts.urn: + raise TypeError("Missing required property 'client_id'") + __props__.__dict__["client_id"] = client_id + if client_secret is None and not opts.urn: + raise TypeError("Missing required property 'client_secret'") + __props__.__dict__["client_secret"] = None if client_secret is None else pulumi.Output.secret(client_secret) + if is_auto_creation is None and not opts.urn: + raise TypeError("Missing required property 'is_auto_creation'") + __props__.__dict__["is_auto_creation"] = is_auto_creation + if is_auto_update is None and not opts.urn: + raise TypeError("Missing required property 'is_auto_update'") + __props__.__dict__["is_auto_update"] = is_auto_update + if is_creation_allowed is None and not opts.urn: + raise TypeError("Missing required property 'is_creation_allowed'") + __props__.__dict__["is_creation_allowed"] = is_creation_allowed + if is_linking_allowed is None and not opts.urn: + raise TypeError("Missing required property 'is_linking_allowed'") + __props__.__dict__["is_linking_allowed"] = is_linking_allowed + __props__.__dict__["name"] = name + __props__.__dict__["scopes"] = scopes + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["clientSecret"]) + opts = pulumi.ResourceOptions.merge(opts, secret_opts) + super(IdpGitlab, __self__).__init__( + 'zitadel:index/idpGitlab:IdpGitlab', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None) -> 'IdpGitlab': + """ + Get an existing IdpGitlab 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[str] client_id: client id generated by the identity provider + :param pulumi.Input[str] client_secret: client secret generated by the identity provider + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[Sequence[pulumi.Input[str]]] scopes: the scopes requested by ZITADEL during the request on the identity provider + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _IdpGitlabState.__new__(_IdpGitlabState) + + __props__.__dict__["client_id"] = client_id + __props__.__dict__["client_secret"] = client_secret + __props__.__dict__["is_auto_creation"] = is_auto_creation + __props__.__dict__["is_auto_update"] = is_auto_update + __props__.__dict__["is_creation_allowed"] = is_creation_allowed + __props__.__dict__["is_linking_allowed"] = is_linking_allowed + __props__.__dict__["name"] = name + __props__.__dict__["scopes"] = scopes + return IdpGitlab(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> pulumi.Output[str]: + """ + client id generated by the identity provider + """ + return pulumi.get(self, "client_id") + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> pulumi.Output[str]: + """ + client secret generated by the identity provider + """ + return pulumi.get(self, "client_secret") + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> pulumi.Output[bool]: + """ + enable if a new account in ZITADEL should be created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> pulumi.Output[bool]: + """ + enable if a the ZITADEL account fields should be updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> pulumi.Output[bool]: + """ + enable if users should be able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> pulumi.Output[bool]: + """ + enable if users should be able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def scopes(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + the scopes requested by ZITADEL during the request on the identity provider + """ + return pulumi.get(self, "scopes") + diff --git a/sdk/python/scoretechnologies_zitadel/idp_gitlab_self_hosted.py b/sdk/python/scoretechnologies_zitadel/idp_gitlab_self_hosted.py new file mode 100644 index 0000000..0c06800 --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/idp_gitlab_self_hosted.py @@ -0,0 +1,670 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['IdpGitlabSelfHostedArgs', 'IdpGitlabSelfHosted'] + +@pulumi.input_type +class IdpGitlabSelfHostedArgs: + def __init__(__self__, *, + client_id: pulumi.Input[str], + client_secret: pulumi.Input[str], + is_auto_creation: pulumi.Input[bool], + is_auto_update: pulumi.Input[bool], + is_creation_allowed: pulumi.Input[bool], + is_linking_allowed: pulumi.Input[bool], + issuer: pulumi.Input[str], + name: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a IdpGitlabSelfHosted resource. + :param pulumi.Input[str] client_id: client id generated by the identity provider + :param pulumi.Input[str] client_secret: client secret generated by the identity provider + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] issuer: the providers issuer + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[Sequence[pulumi.Input[str]]] scopes: the scopes requested by ZITADEL during the request on the identity provider + """ + IdpGitlabSelfHostedArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + client_id=client_id, + client_secret=client_secret, + is_auto_creation=is_auto_creation, + is_auto_update=is_auto_update, + is_creation_allowed=is_creation_allowed, + is_linking_allowed=is_linking_allowed, + issuer=issuer, + name=name, + scopes=scopes, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + client_id: pulumi.Input[str], + client_secret: pulumi.Input[str], + is_auto_creation: pulumi.Input[bool], + is_auto_update: pulumi.Input[bool], + is_creation_allowed: pulumi.Input[bool], + is_linking_allowed: pulumi.Input[bool], + issuer: pulumi.Input[str], + name: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'clientId' in kwargs: + client_id = kwargs['clientId'] + if 'clientSecret' in kwargs: + client_secret = kwargs['clientSecret'] + if 'isAutoCreation' in kwargs: + is_auto_creation = kwargs['isAutoCreation'] + if 'isAutoUpdate' in kwargs: + is_auto_update = kwargs['isAutoUpdate'] + if 'isCreationAllowed' in kwargs: + is_creation_allowed = kwargs['isCreationAllowed'] + if 'isLinkingAllowed' in kwargs: + is_linking_allowed = kwargs['isLinkingAllowed'] + + _setter("client_id", client_id) + _setter("client_secret", client_secret) + _setter("is_auto_creation", is_auto_creation) + _setter("is_auto_update", is_auto_update) + _setter("is_creation_allowed", is_creation_allowed) + _setter("is_linking_allowed", is_linking_allowed) + _setter("issuer", issuer) + if name is not None: + _setter("name", name) + if scopes is not None: + _setter("scopes", scopes) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> pulumi.Input[str]: + """ + client id generated by the identity provider + """ + return pulumi.get(self, "client_id") + + @client_id.setter + def client_id(self, value: pulumi.Input[str]): + pulumi.set(self, "client_id", value) + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> pulumi.Input[str]: + """ + client secret generated by the identity provider + """ + return pulumi.get(self, "client_secret") + + @client_secret.setter + def client_secret(self, value: pulumi.Input[str]): + pulumi.set(self, "client_secret", value) + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> pulumi.Input[bool]: + """ + enable if a new account in ZITADEL should be created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @is_auto_creation.setter + def is_auto_creation(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_auto_creation", value) + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> pulumi.Input[bool]: + """ + enable if a the ZITADEL account fields should be updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @is_auto_update.setter + def is_auto_update(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_auto_update", value) + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> pulumi.Input[bool]: + """ + enable if users should be able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @is_creation_allowed.setter + def is_creation_allowed(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_creation_allowed", value) + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> pulumi.Input[bool]: + """ + enable if users should be able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @is_linking_allowed.setter + def is_linking_allowed(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_linking_allowed", value) + + @property + @pulumi.getter + def issuer(self) -> pulumi.Input[str]: + """ + the providers issuer + """ + return pulumi.get(self, "issuer") + + @issuer.setter + def issuer(self, value: pulumi.Input[str]): + pulumi.set(self, "issuer", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def scopes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + the scopes requested by ZITADEL during the request on the identity provider + """ + return pulumi.get(self, "scopes") + + @scopes.setter + def scopes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "scopes", value) + + +@pulumi.input_type +class _IdpGitlabSelfHostedState: + def __init__(__self__, *, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + issuer: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + Input properties used for looking up and filtering IdpGitlabSelfHosted resources. + :param pulumi.Input[str] client_id: client id generated by the identity provider + :param pulumi.Input[str] client_secret: client secret generated by the identity provider + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] issuer: the providers issuer + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[Sequence[pulumi.Input[str]]] scopes: the scopes requested by ZITADEL during the request on the identity provider + """ + _IdpGitlabSelfHostedState._configure( + lambda key, value: pulumi.set(__self__, key, value), + client_id=client_id, + client_secret=client_secret, + is_auto_creation=is_auto_creation, + is_auto_update=is_auto_update, + is_creation_allowed=is_creation_allowed, + is_linking_allowed=is_linking_allowed, + issuer=issuer, + name=name, + scopes=scopes, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + issuer: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'clientId' in kwargs: + client_id = kwargs['clientId'] + if 'clientSecret' in kwargs: + client_secret = kwargs['clientSecret'] + if 'isAutoCreation' in kwargs: + is_auto_creation = kwargs['isAutoCreation'] + if 'isAutoUpdate' in kwargs: + is_auto_update = kwargs['isAutoUpdate'] + if 'isCreationAllowed' in kwargs: + is_creation_allowed = kwargs['isCreationAllowed'] + if 'isLinkingAllowed' in kwargs: + is_linking_allowed = kwargs['isLinkingAllowed'] + + if client_id is not None: + _setter("client_id", client_id) + if client_secret is not None: + _setter("client_secret", client_secret) + if is_auto_creation is not None: + _setter("is_auto_creation", is_auto_creation) + if is_auto_update is not None: + _setter("is_auto_update", is_auto_update) + if is_creation_allowed is not None: + _setter("is_creation_allowed", is_creation_allowed) + if is_linking_allowed is not None: + _setter("is_linking_allowed", is_linking_allowed) + if issuer is not None: + _setter("issuer", issuer) + if name is not None: + _setter("name", name) + if scopes is not None: + _setter("scopes", scopes) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> Optional[pulumi.Input[str]]: + """ + client id generated by the identity provider + """ + return pulumi.get(self, "client_id") + + @client_id.setter + def client_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "client_id", value) + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> Optional[pulumi.Input[str]]: + """ + client secret generated by the identity provider + """ + return pulumi.get(self, "client_secret") + + @client_secret.setter + def client_secret(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "client_secret", value) + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> Optional[pulumi.Input[bool]]: + """ + enable if a new account in ZITADEL should be created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @is_auto_creation.setter + def is_auto_creation(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_auto_creation", value) + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> Optional[pulumi.Input[bool]]: + """ + enable if a the ZITADEL account fields should be updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @is_auto_update.setter + def is_auto_update(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_auto_update", value) + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> Optional[pulumi.Input[bool]]: + """ + enable if users should be able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @is_creation_allowed.setter + def is_creation_allowed(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_creation_allowed", value) + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> Optional[pulumi.Input[bool]]: + """ + enable if users should be able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @is_linking_allowed.setter + def is_linking_allowed(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_linking_allowed", value) + + @property + @pulumi.getter + def issuer(self) -> Optional[pulumi.Input[str]]: + """ + the providers issuer + """ + return pulumi.get(self, "issuer") + + @issuer.setter + def issuer(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "issuer", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def scopes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + the scopes requested by ZITADEL during the request on the identity provider + """ + return pulumi.get(self, "scopes") + + @scopes.setter + def scopes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "scopes", value) + + +class IdpGitlabSelfHosted(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + issuer: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + __props__=None): + """ + Resource representing a GitLab Self Hosted IDP on the instance. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.IdpGitlabSelfHosted("default", + client_id="15765e...", + client_secret="*****abcxyz", + is_auto_creation=False, + is_auto_update=True, + is_creation_allowed=True, + is_linking_allowed=False, + issuer="https://my.issuer", + scopes=[ + "openid", + "profile", + "email", + ]) + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/idpGitlabSelfHosted:IdpGitlabSelfHosted imported '123456789012345678:1234567890abcdef' + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] client_id: client id generated by the identity provider + :param pulumi.Input[str] client_secret: client secret generated by the identity provider + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] issuer: the providers issuer + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[Sequence[pulumi.Input[str]]] scopes: the scopes requested by ZITADEL during the request on the identity provider + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: IdpGitlabSelfHostedArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource representing a GitLab Self Hosted IDP on the instance. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.IdpGitlabSelfHosted("default", + client_id="15765e...", + client_secret="*****abcxyz", + is_auto_creation=False, + is_auto_update=True, + is_creation_allowed=True, + is_linking_allowed=False, + issuer="https://my.issuer", + scopes=[ + "openid", + "profile", + "email", + ]) + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/idpGitlabSelfHosted:IdpGitlabSelfHosted imported '123456789012345678:1234567890abcdef' + ``` + + :param str resource_name: The name of the resource. + :param IdpGitlabSelfHostedArgs 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(IdpGitlabSelfHostedArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + IdpGitlabSelfHostedArgs._configure(_setter, **kwargs) + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + issuer: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[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__ = IdpGitlabSelfHostedArgs.__new__(IdpGitlabSelfHostedArgs) + + if client_id is None and not opts.urn: + raise TypeError("Missing required property 'client_id'") + __props__.__dict__["client_id"] = client_id + if client_secret is None and not opts.urn: + raise TypeError("Missing required property 'client_secret'") + __props__.__dict__["client_secret"] = None if client_secret is None else pulumi.Output.secret(client_secret) + if is_auto_creation is None and not opts.urn: + raise TypeError("Missing required property 'is_auto_creation'") + __props__.__dict__["is_auto_creation"] = is_auto_creation + if is_auto_update is None and not opts.urn: + raise TypeError("Missing required property 'is_auto_update'") + __props__.__dict__["is_auto_update"] = is_auto_update + if is_creation_allowed is None and not opts.urn: + raise TypeError("Missing required property 'is_creation_allowed'") + __props__.__dict__["is_creation_allowed"] = is_creation_allowed + if is_linking_allowed is None and not opts.urn: + raise TypeError("Missing required property 'is_linking_allowed'") + __props__.__dict__["is_linking_allowed"] = is_linking_allowed + if issuer is None and not opts.urn: + raise TypeError("Missing required property 'issuer'") + __props__.__dict__["issuer"] = issuer + __props__.__dict__["name"] = name + __props__.__dict__["scopes"] = scopes + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["clientSecret"]) + opts = pulumi.ResourceOptions.merge(opts, secret_opts) + super(IdpGitlabSelfHosted, __self__).__init__( + 'zitadel:index/idpGitlabSelfHosted:IdpGitlabSelfHosted', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + issuer: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None) -> 'IdpGitlabSelfHosted': + """ + Get an existing IdpGitlabSelfHosted 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[str] client_id: client id generated by the identity provider + :param pulumi.Input[str] client_secret: client secret generated by the identity provider + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] issuer: the providers issuer + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[Sequence[pulumi.Input[str]]] scopes: the scopes requested by ZITADEL during the request on the identity provider + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _IdpGitlabSelfHostedState.__new__(_IdpGitlabSelfHostedState) + + __props__.__dict__["client_id"] = client_id + __props__.__dict__["client_secret"] = client_secret + __props__.__dict__["is_auto_creation"] = is_auto_creation + __props__.__dict__["is_auto_update"] = is_auto_update + __props__.__dict__["is_creation_allowed"] = is_creation_allowed + __props__.__dict__["is_linking_allowed"] = is_linking_allowed + __props__.__dict__["issuer"] = issuer + __props__.__dict__["name"] = name + __props__.__dict__["scopes"] = scopes + return IdpGitlabSelfHosted(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> pulumi.Output[str]: + """ + client id generated by the identity provider + """ + return pulumi.get(self, "client_id") + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> pulumi.Output[str]: + """ + client secret generated by the identity provider + """ + return pulumi.get(self, "client_secret") + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> pulumi.Output[bool]: + """ + enable if a new account in ZITADEL should be created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> pulumi.Output[bool]: + """ + enable if a the ZITADEL account fields should be updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> pulumi.Output[bool]: + """ + enable if users should be able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> pulumi.Output[bool]: + """ + enable if users should be able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @property + @pulumi.getter + def issuer(self) -> pulumi.Output[str]: + """ + the providers issuer + """ + return pulumi.get(self, "issuer") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def scopes(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + the scopes requested by ZITADEL during the request on the identity provider + """ + return pulumi.get(self, "scopes") + diff --git a/sdk/python/scoretechnologies_zitadel/idp_google.py b/sdk/python/scoretechnologies_zitadel/idp_google.py new file mode 100644 index 0000000..03ec4ea --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/idp_google.py @@ -0,0 +1,616 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['IdpGoogleArgs', 'IdpGoogle'] + +@pulumi.input_type +class IdpGoogleArgs: + def __init__(__self__, *, + client_id: pulumi.Input[str], + client_secret: pulumi.Input[str], + is_auto_creation: pulumi.Input[bool], + is_auto_update: pulumi.Input[bool], + is_creation_allowed: pulumi.Input[bool], + is_linking_allowed: pulumi.Input[bool], + name: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a IdpGoogle resource. + :param pulumi.Input[str] client_id: client id generated by the identity provider + :param pulumi.Input[str] client_secret: client secret generated by the identity provider + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[Sequence[pulumi.Input[str]]] scopes: the scopes requested by ZITADEL during the request on the identity provider + """ + IdpGoogleArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + client_id=client_id, + client_secret=client_secret, + is_auto_creation=is_auto_creation, + is_auto_update=is_auto_update, + is_creation_allowed=is_creation_allowed, + is_linking_allowed=is_linking_allowed, + name=name, + scopes=scopes, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + client_id: pulumi.Input[str], + client_secret: pulumi.Input[str], + is_auto_creation: pulumi.Input[bool], + is_auto_update: pulumi.Input[bool], + is_creation_allowed: pulumi.Input[bool], + is_linking_allowed: pulumi.Input[bool], + name: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'clientId' in kwargs: + client_id = kwargs['clientId'] + if 'clientSecret' in kwargs: + client_secret = kwargs['clientSecret'] + if 'isAutoCreation' in kwargs: + is_auto_creation = kwargs['isAutoCreation'] + if 'isAutoUpdate' in kwargs: + is_auto_update = kwargs['isAutoUpdate'] + if 'isCreationAllowed' in kwargs: + is_creation_allowed = kwargs['isCreationAllowed'] + if 'isLinkingAllowed' in kwargs: + is_linking_allowed = kwargs['isLinkingAllowed'] + + _setter("client_id", client_id) + _setter("client_secret", client_secret) + _setter("is_auto_creation", is_auto_creation) + _setter("is_auto_update", is_auto_update) + _setter("is_creation_allowed", is_creation_allowed) + _setter("is_linking_allowed", is_linking_allowed) + if name is not None: + _setter("name", name) + if scopes is not None: + _setter("scopes", scopes) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> pulumi.Input[str]: + """ + client id generated by the identity provider + """ + return pulumi.get(self, "client_id") + + @client_id.setter + def client_id(self, value: pulumi.Input[str]): + pulumi.set(self, "client_id", value) + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> pulumi.Input[str]: + """ + client secret generated by the identity provider + """ + return pulumi.get(self, "client_secret") + + @client_secret.setter + def client_secret(self, value: pulumi.Input[str]): + pulumi.set(self, "client_secret", value) + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> pulumi.Input[bool]: + """ + enable if a new account in ZITADEL should be created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @is_auto_creation.setter + def is_auto_creation(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_auto_creation", value) + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> pulumi.Input[bool]: + """ + enable if a the ZITADEL account fields should be updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @is_auto_update.setter + def is_auto_update(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_auto_update", value) + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> pulumi.Input[bool]: + """ + enable if users should be able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @is_creation_allowed.setter + def is_creation_allowed(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_creation_allowed", value) + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> pulumi.Input[bool]: + """ + enable if users should be able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @is_linking_allowed.setter + def is_linking_allowed(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_linking_allowed", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def scopes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + the scopes requested by ZITADEL during the request on the identity provider + """ + return pulumi.get(self, "scopes") + + @scopes.setter + def scopes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "scopes", value) + + +@pulumi.input_type +class _IdpGoogleState: + def __init__(__self__, *, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + Input properties used for looking up and filtering IdpGoogle resources. + :param pulumi.Input[str] client_id: client id generated by the identity provider + :param pulumi.Input[str] client_secret: client secret generated by the identity provider + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[Sequence[pulumi.Input[str]]] scopes: the scopes requested by ZITADEL during the request on the identity provider + """ + _IdpGoogleState._configure( + lambda key, value: pulumi.set(__self__, key, value), + client_id=client_id, + client_secret=client_secret, + is_auto_creation=is_auto_creation, + is_auto_update=is_auto_update, + is_creation_allowed=is_creation_allowed, + is_linking_allowed=is_linking_allowed, + name=name, + scopes=scopes, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'clientId' in kwargs: + client_id = kwargs['clientId'] + if 'clientSecret' in kwargs: + client_secret = kwargs['clientSecret'] + if 'isAutoCreation' in kwargs: + is_auto_creation = kwargs['isAutoCreation'] + if 'isAutoUpdate' in kwargs: + is_auto_update = kwargs['isAutoUpdate'] + if 'isCreationAllowed' in kwargs: + is_creation_allowed = kwargs['isCreationAllowed'] + if 'isLinkingAllowed' in kwargs: + is_linking_allowed = kwargs['isLinkingAllowed'] + + if client_id is not None: + _setter("client_id", client_id) + if client_secret is not None: + _setter("client_secret", client_secret) + if is_auto_creation is not None: + _setter("is_auto_creation", is_auto_creation) + if is_auto_update is not None: + _setter("is_auto_update", is_auto_update) + if is_creation_allowed is not None: + _setter("is_creation_allowed", is_creation_allowed) + if is_linking_allowed is not None: + _setter("is_linking_allowed", is_linking_allowed) + if name is not None: + _setter("name", name) + if scopes is not None: + _setter("scopes", scopes) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> Optional[pulumi.Input[str]]: + """ + client id generated by the identity provider + """ + return pulumi.get(self, "client_id") + + @client_id.setter + def client_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "client_id", value) + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> Optional[pulumi.Input[str]]: + """ + client secret generated by the identity provider + """ + return pulumi.get(self, "client_secret") + + @client_secret.setter + def client_secret(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "client_secret", value) + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> Optional[pulumi.Input[bool]]: + """ + enable if a new account in ZITADEL should be created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @is_auto_creation.setter + def is_auto_creation(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_auto_creation", value) + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> Optional[pulumi.Input[bool]]: + """ + enable if a the ZITADEL account fields should be updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @is_auto_update.setter + def is_auto_update(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_auto_update", value) + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> Optional[pulumi.Input[bool]]: + """ + enable if users should be able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @is_creation_allowed.setter + def is_creation_allowed(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_creation_allowed", value) + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> Optional[pulumi.Input[bool]]: + """ + enable if users should be able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @is_linking_allowed.setter + def is_linking_allowed(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_linking_allowed", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def scopes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + the scopes requested by ZITADEL during the request on the identity provider + """ + return pulumi.get(self, "scopes") + + @scopes.setter + def scopes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "scopes", value) + + +class IdpGoogle(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + __props__=None): + """ + Resource representing a Google IDP on the instance. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.IdpGoogle("default", + client_id="182902...", + client_secret="GOCSPX-*****", + is_auto_creation=False, + is_auto_update=True, + is_creation_allowed=True, + is_linking_allowed=False, + scopes=[ + "openid", + "profile", + "email", + ]) + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/idpGoogle:IdpGoogle imported '123456789012345678:G1234567890123' + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] client_id: client id generated by the identity provider + :param pulumi.Input[str] client_secret: client secret generated by the identity provider + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[Sequence[pulumi.Input[str]]] scopes: the scopes requested by ZITADEL during the request on the identity provider + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: IdpGoogleArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource representing a Google IDP on the instance. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.IdpGoogle("default", + client_id="182902...", + client_secret="GOCSPX-*****", + is_auto_creation=False, + is_auto_update=True, + is_creation_allowed=True, + is_linking_allowed=False, + scopes=[ + "openid", + "profile", + "email", + ]) + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/idpGoogle:IdpGoogle imported '123456789012345678:G1234567890123' + ``` + + :param str resource_name: The name of the resource. + :param IdpGoogleArgs 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(IdpGoogleArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + IdpGoogleArgs._configure(_setter, **kwargs) + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[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__ = IdpGoogleArgs.__new__(IdpGoogleArgs) + + if client_id is None and not opts.urn: + raise TypeError("Missing required property 'client_id'") + __props__.__dict__["client_id"] = client_id + if client_secret is None and not opts.urn: + raise TypeError("Missing required property 'client_secret'") + __props__.__dict__["client_secret"] = None if client_secret is None else pulumi.Output.secret(client_secret) + if is_auto_creation is None and not opts.urn: + raise TypeError("Missing required property 'is_auto_creation'") + __props__.__dict__["is_auto_creation"] = is_auto_creation + if is_auto_update is None and not opts.urn: + raise TypeError("Missing required property 'is_auto_update'") + __props__.__dict__["is_auto_update"] = is_auto_update + if is_creation_allowed is None and not opts.urn: + raise TypeError("Missing required property 'is_creation_allowed'") + __props__.__dict__["is_creation_allowed"] = is_creation_allowed + if is_linking_allowed is None and not opts.urn: + raise TypeError("Missing required property 'is_linking_allowed'") + __props__.__dict__["is_linking_allowed"] = is_linking_allowed + __props__.__dict__["name"] = name + __props__.__dict__["scopes"] = scopes + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["clientSecret"]) + opts = pulumi.ResourceOptions.merge(opts, secret_opts) + super(IdpGoogle, __self__).__init__( + 'zitadel:index/idpGoogle:IdpGoogle', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None) -> 'IdpGoogle': + """ + Get an existing IdpGoogle 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[str] client_id: client id generated by the identity provider + :param pulumi.Input[str] client_secret: client secret generated by the identity provider + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[Sequence[pulumi.Input[str]]] scopes: the scopes requested by ZITADEL during the request on the identity provider + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _IdpGoogleState.__new__(_IdpGoogleState) + + __props__.__dict__["client_id"] = client_id + __props__.__dict__["client_secret"] = client_secret + __props__.__dict__["is_auto_creation"] = is_auto_creation + __props__.__dict__["is_auto_update"] = is_auto_update + __props__.__dict__["is_creation_allowed"] = is_creation_allowed + __props__.__dict__["is_linking_allowed"] = is_linking_allowed + __props__.__dict__["name"] = name + __props__.__dict__["scopes"] = scopes + return IdpGoogle(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> pulumi.Output[str]: + """ + client id generated by the identity provider + """ + return pulumi.get(self, "client_id") + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> pulumi.Output[str]: + """ + client secret generated by the identity provider + """ + return pulumi.get(self, "client_secret") + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> pulumi.Output[bool]: + """ + enable if a new account in ZITADEL should be created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> pulumi.Output[bool]: + """ + enable if a the ZITADEL account fields should be updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> pulumi.Output[bool]: + """ + enable if users should be able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> pulumi.Output[bool]: + """ + enable if users should be able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def scopes(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + the scopes requested by ZITADEL during the request on the identity provider + """ + return pulumi.get(self, "scopes") + diff --git a/sdk/python/scoretechnologies_zitadel/idp_ldap.py b/sdk/python/scoretechnologies_zitadel/idp_ldap.py new file mode 100644 index 0000000..c5831b9 --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/idp_ldap.py @@ -0,0 +1,1686 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['IdpLdapArgs', 'IdpLdap'] + +@pulumi.input_type +class IdpLdapArgs: + def __init__(__self__, *, + base_dn: pulumi.Input[str], + bind_dn: pulumi.Input[str], + bind_password: pulumi.Input[str], + is_auto_creation: pulumi.Input[bool], + is_auto_update: pulumi.Input[bool], + is_creation_allowed: pulumi.Input[bool], + is_linking_allowed: pulumi.Input[bool], + servers: pulumi.Input[Sequence[pulumi.Input[str]]], + start_tls: pulumi.Input[bool], + timeout: pulumi.Input[str], + user_base: pulumi.Input[str], + user_filters: pulumi.Input[Sequence[pulumi.Input[str]]], + user_object_classes: pulumi.Input[Sequence[pulumi.Input[str]]], + avatar_url_attribute: Optional[pulumi.Input[str]] = None, + display_name_attribute: Optional[pulumi.Input[str]] = None, + email_attribute: Optional[pulumi.Input[str]] = None, + email_verified_attribute: Optional[pulumi.Input[str]] = None, + first_name_attribute: Optional[pulumi.Input[str]] = None, + id_attribute: Optional[pulumi.Input[str]] = None, + last_name_attribute: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + nick_name_attribute: Optional[pulumi.Input[str]] = None, + phone_attribute: Optional[pulumi.Input[str]] = None, + phone_verified_attribute: Optional[pulumi.Input[str]] = None, + preferred_language_attribute: Optional[pulumi.Input[str]] = None, + preferred_username_attribute: Optional[pulumi.Input[str]] = None, + profile_attribute: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a IdpLdap resource. + :param pulumi.Input[str] base_dn: Base DN for LDAP connections + :param pulumi.Input[str] bind_dn: Bind DN for LDAP connections + :param pulumi.Input[str] bind_password: Bind password for LDAP connections + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[Sequence[pulumi.Input[str]]] servers: Servers to try in order for establishing LDAP connections + :param pulumi.Input[bool] start_tls: Wether to use StartTLS for LDAP connections + :param pulumi.Input[str] timeout: Timeout for LDAP connections + :param pulumi.Input[str] user_base: User base for LDAP connections + :param pulumi.Input[Sequence[pulumi.Input[str]]] user_filters: User filters for LDAP connections + :param pulumi.Input[Sequence[pulumi.Input[str]]] user_object_classes: User object classes for LDAP connections + :param pulumi.Input[str] avatar_url_attribute: User attribute for the avatar url + :param pulumi.Input[str] display_name_attribute: User attribute for the display name + :param pulumi.Input[str] email_attribute: User attribute for the email + :param pulumi.Input[str] email_verified_attribute: User attribute for the email verified state + :param pulumi.Input[str] first_name_attribute: User attribute for the first name + :param pulumi.Input[str] id_attribute: User attribute for the id + :param pulumi.Input[str] last_name_attribute: User attribute for the last name + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[str] nick_name_attribute: User attribute for the nick name + :param pulumi.Input[str] phone_attribute: User attribute for the phone + :param pulumi.Input[str] phone_verified_attribute: User attribute for the phone verified state + :param pulumi.Input[str] preferred_language_attribute: User attribute for the preferred language + :param pulumi.Input[str] preferred_username_attribute: User attribute for the preferred username + :param pulumi.Input[str] profile_attribute: User attribute for the profile + """ + IdpLdapArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + base_dn=base_dn, + bind_dn=bind_dn, + bind_password=bind_password, + is_auto_creation=is_auto_creation, + is_auto_update=is_auto_update, + is_creation_allowed=is_creation_allowed, + is_linking_allowed=is_linking_allowed, + servers=servers, + start_tls=start_tls, + timeout=timeout, + user_base=user_base, + user_filters=user_filters, + user_object_classes=user_object_classes, + avatar_url_attribute=avatar_url_attribute, + display_name_attribute=display_name_attribute, + email_attribute=email_attribute, + email_verified_attribute=email_verified_attribute, + first_name_attribute=first_name_attribute, + id_attribute=id_attribute, + last_name_attribute=last_name_attribute, + name=name, + nick_name_attribute=nick_name_attribute, + phone_attribute=phone_attribute, + phone_verified_attribute=phone_verified_attribute, + preferred_language_attribute=preferred_language_attribute, + preferred_username_attribute=preferred_username_attribute, + profile_attribute=profile_attribute, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + base_dn: pulumi.Input[str], + bind_dn: pulumi.Input[str], + bind_password: pulumi.Input[str], + is_auto_creation: pulumi.Input[bool], + is_auto_update: pulumi.Input[bool], + is_creation_allowed: pulumi.Input[bool], + is_linking_allowed: pulumi.Input[bool], + servers: pulumi.Input[Sequence[pulumi.Input[str]]], + start_tls: pulumi.Input[bool], + timeout: pulumi.Input[str], + user_base: pulumi.Input[str], + user_filters: pulumi.Input[Sequence[pulumi.Input[str]]], + user_object_classes: pulumi.Input[Sequence[pulumi.Input[str]]], + avatar_url_attribute: Optional[pulumi.Input[str]] = None, + display_name_attribute: Optional[pulumi.Input[str]] = None, + email_attribute: Optional[pulumi.Input[str]] = None, + email_verified_attribute: Optional[pulumi.Input[str]] = None, + first_name_attribute: Optional[pulumi.Input[str]] = None, + id_attribute: Optional[pulumi.Input[str]] = None, + last_name_attribute: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + nick_name_attribute: Optional[pulumi.Input[str]] = None, + phone_attribute: Optional[pulumi.Input[str]] = None, + phone_verified_attribute: Optional[pulumi.Input[str]] = None, + preferred_language_attribute: Optional[pulumi.Input[str]] = None, + preferred_username_attribute: Optional[pulumi.Input[str]] = None, + profile_attribute: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'baseDn' in kwargs: + base_dn = kwargs['baseDn'] + if 'bindDn' in kwargs: + bind_dn = kwargs['bindDn'] + if 'bindPassword' in kwargs: + bind_password = kwargs['bindPassword'] + if 'isAutoCreation' in kwargs: + is_auto_creation = kwargs['isAutoCreation'] + if 'isAutoUpdate' in kwargs: + is_auto_update = kwargs['isAutoUpdate'] + if 'isCreationAllowed' in kwargs: + is_creation_allowed = kwargs['isCreationAllowed'] + if 'isLinkingAllowed' in kwargs: + is_linking_allowed = kwargs['isLinkingAllowed'] + if 'startTls' in kwargs: + start_tls = kwargs['startTls'] + if 'userBase' in kwargs: + user_base = kwargs['userBase'] + if 'userFilters' in kwargs: + user_filters = kwargs['userFilters'] + if 'userObjectClasses' in kwargs: + user_object_classes = kwargs['userObjectClasses'] + if 'avatarUrlAttribute' in kwargs: + avatar_url_attribute = kwargs['avatarUrlAttribute'] + if 'displayNameAttribute' in kwargs: + display_name_attribute = kwargs['displayNameAttribute'] + if 'emailAttribute' in kwargs: + email_attribute = kwargs['emailAttribute'] + if 'emailVerifiedAttribute' in kwargs: + email_verified_attribute = kwargs['emailVerifiedAttribute'] + if 'firstNameAttribute' in kwargs: + first_name_attribute = kwargs['firstNameAttribute'] + if 'idAttribute' in kwargs: + id_attribute = kwargs['idAttribute'] + if 'lastNameAttribute' in kwargs: + last_name_attribute = kwargs['lastNameAttribute'] + if 'nickNameAttribute' in kwargs: + nick_name_attribute = kwargs['nickNameAttribute'] + if 'phoneAttribute' in kwargs: + phone_attribute = kwargs['phoneAttribute'] + if 'phoneVerifiedAttribute' in kwargs: + phone_verified_attribute = kwargs['phoneVerifiedAttribute'] + if 'preferredLanguageAttribute' in kwargs: + preferred_language_attribute = kwargs['preferredLanguageAttribute'] + if 'preferredUsernameAttribute' in kwargs: + preferred_username_attribute = kwargs['preferredUsernameAttribute'] + if 'profileAttribute' in kwargs: + profile_attribute = kwargs['profileAttribute'] + + _setter("base_dn", base_dn) + _setter("bind_dn", bind_dn) + _setter("bind_password", bind_password) + _setter("is_auto_creation", is_auto_creation) + _setter("is_auto_update", is_auto_update) + _setter("is_creation_allowed", is_creation_allowed) + _setter("is_linking_allowed", is_linking_allowed) + _setter("servers", servers) + _setter("start_tls", start_tls) + _setter("timeout", timeout) + _setter("user_base", user_base) + _setter("user_filters", user_filters) + _setter("user_object_classes", user_object_classes) + if avatar_url_attribute is not None: + _setter("avatar_url_attribute", avatar_url_attribute) + if display_name_attribute is not None: + _setter("display_name_attribute", display_name_attribute) + if email_attribute is not None: + _setter("email_attribute", email_attribute) + if email_verified_attribute is not None: + _setter("email_verified_attribute", email_verified_attribute) + if first_name_attribute is not None: + _setter("first_name_attribute", first_name_attribute) + if id_attribute is not None: + _setter("id_attribute", id_attribute) + if last_name_attribute is not None: + _setter("last_name_attribute", last_name_attribute) + if name is not None: + _setter("name", name) + if nick_name_attribute is not None: + _setter("nick_name_attribute", nick_name_attribute) + if phone_attribute is not None: + _setter("phone_attribute", phone_attribute) + if phone_verified_attribute is not None: + _setter("phone_verified_attribute", phone_verified_attribute) + if preferred_language_attribute is not None: + _setter("preferred_language_attribute", preferred_language_attribute) + if preferred_username_attribute is not None: + _setter("preferred_username_attribute", preferred_username_attribute) + if profile_attribute is not None: + _setter("profile_attribute", profile_attribute) + + @property + @pulumi.getter(name="baseDn") + def base_dn(self) -> pulumi.Input[str]: + """ + Base DN for LDAP connections + """ + return pulumi.get(self, "base_dn") + + @base_dn.setter + def base_dn(self, value: pulumi.Input[str]): + pulumi.set(self, "base_dn", value) + + @property + @pulumi.getter(name="bindDn") + def bind_dn(self) -> pulumi.Input[str]: + """ + Bind DN for LDAP connections + """ + return pulumi.get(self, "bind_dn") + + @bind_dn.setter + def bind_dn(self, value: pulumi.Input[str]): + pulumi.set(self, "bind_dn", value) + + @property + @pulumi.getter(name="bindPassword") + def bind_password(self) -> pulumi.Input[str]: + """ + Bind password for LDAP connections + """ + return pulumi.get(self, "bind_password") + + @bind_password.setter + def bind_password(self, value: pulumi.Input[str]): + pulumi.set(self, "bind_password", value) + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> pulumi.Input[bool]: + """ + enable if a new account in ZITADEL should be created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @is_auto_creation.setter + def is_auto_creation(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_auto_creation", value) + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> pulumi.Input[bool]: + """ + enable if a the ZITADEL account fields should be updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @is_auto_update.setter + def is_auto_update(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_auto_update", value) + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> pulumi.Input[bool]: + """ + enable if users should be able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @is_creation_allowed.setter + def is_creation_allowed(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_creation_allowed", value) + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> pulumi.Input[bool]: + """ + enable if users should be able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @is_linking_allowed.setter + def is_linking_allowed(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_linking_allowed", value) + + @property + @pulumi.getter + def servers(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + Servers to try in order for establishing LDAP connections + """ + return pulumi.get(self, "servers") + + @servers.setter + def servers(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "servers", value) + + @property + @pulumi.getter(name="startTls") + def start_tls(self) -> pulumi.Input[bool]: + """ + Wether to use StartTLS for LDAP connections + """ + return pulumi.get(self, "start_tls") + + @start_tls.setter + def start_tls(self, value: pulumi.Input[bool]): + pulumi.set(self, "start_tls", value) + + @property + @pulumi.getter + def timeout(self) -> pulumi.Input[str]: + """ + Timeout for LDAP connections + """ + return pulumi.get(self, "timeout") + + @timeout.setter + def timeout(self, value: pulumi.Input[str]): + pulumi.set(self, "timeout", value) + + @property + @pulumi.getter(name="userBase") + def user_base(self) -> pulumi.Input[str]: + """ + User base for LDAP connections + """ + return pulumi.get(self, "user_base") + + @user_base.setter + def user_base(self, value: pulumi.Input[str]): + pulumi.set(self, "user_base", value) + + @property + @pulumi.getter(name="userFilters") + def user_filters(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + User filters for LDAP connections + """ + return pulumi.get(self, "user_filters") + + @user_filters.setter + def user_filters(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "user_filters", value) + + @property + @pulumi.getter(name="userObjectClasses") + def user_object_classes(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + User object classes for LDAP connections + """ + return pulumi.get(self, "user_object_classes") + + @user_object_classes.setter + def user_object_classes(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "user_object_classes", value) + + @property + @pulumi.getter(name="avatarUrlAttribute") + def avatar_url_attribute(self) -> Optional[pulumi.Input[str]]: + """ + User attribute for the avatar url + """ + return pulumi.get(self, "avatar_url_attribute") + + @avatar_url_attribute.setter + def avatar_url_attribute(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "avatar_url_attribute", value) + + @property + @pulumi.getter(name="displayNameAttribute") + def display_name_attribute(self) -> Optional[pulumi.Input[str]]: + """ + User attribute for the display name + """ + return pulumi.get(self, "display_name_attribute") + + @display_name_attribute.setter + def display_name_attribute(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name_attribute", value) + + @property + @pulumi.getter(name="emailAttribute") + def email_attribute(self) -> Optional[pulumi.Input[str]]: + """ + User attribute for the email + """ + return pulumi.get(self, "email_attribute") + + @email_attribute.setter + def email_attribute(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "email_attribute", value) + + @property + @pulumi.getter(name="emailVerifiedAttribute") + def email_verified_attribute(self) -> Optional[pulumi.Input[str]]: + """ + User attribute for the email verified state + """ + return pulumi.get(self, "email_verified_attribute") + + @email_verified_attribute.setter + def email_verified_attribute(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "email_verified_attribute", value) + + @property + @pulumi.getter(name="firstNameAttribute") + def first_name_attribute(self) -> Optional[pulumi.Input[str]]: + """ + User attribute for the first name + """ + return pulumi.get(self, "first_name_attribute") + + @first_name_attribute.setter + def first_name_attribute(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "first_name_attribute", value) + + @property + @pulumi.getter(name="idAttribute") + def id_attribute(self) -> Optional[pulumi.Input[str]]: + """ + User attribute for the id + """ + return pulumi.get(self, "id_attribute") + + @id_attribute.setter + def id_attribute(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "id_attribute", value) + + @property + @pulumi.getter(name="lastNameAttribute") + def last_name_attribute(self) -> Optional[pulumi.Input[str]]: + """ + User attribute for the last name + """ + return pulumi.get(self, "last_name_attribute") + + @last_name_attribute.setter + def last_name_attribute(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "last_name_attribute", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="nickNameAttribute") + def nick_name_attribute(self) -> Optional[pulumi.Input[str]]: + """ + User attribute for the nick name + """ + return pulumi.get(self, "nick_name_attribute") + + @nick_name_attribute.setter + def nick_name_attribute(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "nick_name_attribute", value) + + @property + @pulumi.getter(name="phoneAttribute") + def phone_attribute(self) -> Optional[pulumi.Input[str]]: + """ + User attribute for the phone + """ + return pulumi.get(self, "phone_attribute") + + @phone_attribute.setter + def phone_attribute(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "phone_attribute", value) + + @property + @pulumi.getter(name="phoneVerifiedAttribute") + def phone_verified_attribute(self) -> Optional[pulumi.Input[str]]: + """ + User attribute for the phone verified state + """ + return pulumi.get(self, "phone_verified_attribute") + + @phone_verified_attribute.setter + def phone_verified_attribute(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "phone_verified_attribute", value) + + @property + @pulumi.getter(name="preferredLanguageAttribute") + def preferred_language_attribute(self) -> Optional[pulumi.Input[str]]: + """ + User attribute for the preferred language + """ + return pulumi.get(self, "preferred_language_attribute") + + @preferred_language_attribute.setter + def preferred_language_attribute(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "preferred_language_attribute", value) + + @property + @pulumi.getter(name="preferredUsernameAttribute") + def preferred_username_attribute(self) -> Optional[pulumi.Input[str]]: + """ + User attribute for the preferred username + """ + return pulumi.get(self, "preferred_username_attribute") + + @preferred_username_attribute.setter + def preferred_username_attribute(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "preferred_username_attribute", value) + + @property + @pulumi.getter(name="profileAttribute") + def profile_attribute(self) -> Optional[pulumi.Input[str]]: + """ + User attribute for the profile + """ + return pulumi.get(self, "profile_attribute") + + @profile_attribute.setter + def profile_attribute(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "profile_attribute", value) + + +@pulumi.input_type +class _IdpLdapState: + def __init__(__self__, *, + avatar_url_attribute: Optional[pulumi.Input[str]] = None, + base_dn: Optional[pulumi.Input[str]] = None, + bind_dn: Optional[pulumi.Input[str]] = None, + bind_password: Optional[pulumi.Input[str]] = None, + display_name_attribute: Optional[pulumi.Input[str]] = None, + email_attribute: Optional[pulumi.Input[str]] = None, + email_verified_attribute: Optional[pulumi.Input[str]] = None, + first_name_attribute: Optional[pulumi.Input[str]] = None, + id_attribute: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + last_name_attribute: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + nick_name_attribute: Optional[pulumi.Input[str]] = None, + phone_attribute: Optional[pulumi.Input[str]] = None, + phone_verified_attribute: Optional[pulumi.Input[str]] = None, + preferred_language_attribute: Optional[pulumi.Input[str]] = None, + preferred_username_attribute: Optional[pulumi.Input[str]] = None, + profile_attribute: Optional[pulumi.Input[str]] = None, + servers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + start_tls: Optional[pulumi.Input[bool]] = None, + timeout: Optional[pulumi.Input[str]] = None, + user_base: Optional[pulumi.Input[str]] = None, + user_filters: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + user_object_classes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + Input properties used for looking up and filtering IdpLdap resources. + :param pulumi.Input[str] avatar_url_attribute: User attribute for the avatar url + :param pulumi.Input[str] base_dn: Base DN for LDAP connections + :param pulumi.Input[str] bind_dn: Bind DN for LDAP connections + :param pulumi.Input[str] bind_password: Bind password for LDAP connections + :param pulumi.Input[str] display_name_attribute: User attribute for the display name + :param pulumi.Input[str] email_attribute: User attribute for the email + :param pulumi.Input[str] email_verified_attribute: User attribute for the email verified state + :param pulumi.Input[str] first_name_attribute: User attribute for the first name + :param pulumi.Input[str] id_attribute: User attribute for the id + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] last_name_attribute: User attribute for the last name + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[str] nick_name_attribute: User attribute for the nick name + :param pulumi.Input[str] phone_attribute: User attribute for the phone + :param pulumi.Input[str] phone_verified_attribute: User attribute for the phone verified state + :param pulumi.Input[str] preferred_language_attribute: User attribute for the preferred language + :param pulumi.Input[str] preferred_username_attribute: User attribute for the preferred username + :param pulumi.Input[str] profile_attribute: User attribute for the profile + :param pulumi.Input[Sequence[pulumi.Input[str]]] servers: Servers to try in order for establishing LDAP connections + :param pulumi.Input[bool] start_tls: Wether to use StartTLS for LDAP connections + :param pulumi.Input[str] timeout: Timeout for LDAP connections + :param pulumi.Input[str] user_base: User base for LDAP connections + :param pulumi.Input[Sequence[pulumi.Input[str]]] user_filters: User filters for LDAP connections + :param pulumi.Input[Sequence[pulumi.Input[str]]] user_object_classes: User object classes for LDAP connections + """ + _IdpLdapState._configure( + lambda key, value: pulumi.set(__self__, key, value), + avatar_url_attribute=avatar_url_attribute, + base_dn=base_dn, + bind_dn=bind_dn, + bind_password=bind_password, + display_name_attribute=display_name_attribute, + email_attribute=email_attribute, + email_verified_attribute=email_verified_attribute, + first_name_attribute=first_name_attribute, + id_attribute=id_attribute, + is_auto_creation=is_auto_creation, + is_auto_update=is_auto_update, + is_creation_allowed=is_creation_allowed, + is_linking_allowed=is_linking_allowed, + last_name_attribute=last_name_attribute, + name=name, + nick_name_attribute=nick_name_attribute, + phone_attribute=phone_attribute, + phone_verified_attribute=phone_verified_attribute, + preferred_language_attribute=preferred_language_attribute, + preferred_username_attribute=preferred_username_attribute, + profile_attribute=profile_attribute, + servers=servers, + start_tls=start_tls, + timeout=timeout, + user_base=user_base, + user_filters=user_filters, + user_object_classes=user_object_classes, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + avatar_url_attribute: Optional[pulumi.Input[str]] = None, + base_dn: Optional[pulumi.Input[str]] = None, + bind_dn: Optional[pulumi.Input[str]] = None, + bind_password: Optional[pulumi.Input[str]] = None, + display_name_attribute: Optional[pulumi.Input[str]] = None, + email_attribute: Optional[pulumi.Input[str]] = None, + email_verified_attribute: Optional[pulumi.Input[str]] = None, + first_name_attribute: Optional[pulumi.Input[str]] = None, + id_attribute: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + last_name_attribute: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + nick_name_attribute: Optional[pulumi.Input[str]] = None, + phone_attribute: Optional[pulumi.Input[str]] = None, + phone_verified_attribute: Optional[pulumi.Input[str]] = None, + preferred_language_attribute: Optional[pulumi.Input[str]] = None, + preferred_username_attribute: Optional[pulumi.Input[str]] = None, + profile_attribute: Optional[pulumi.Input[str]] = None, + servers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + start_tls: Optional[pulumi.Input[bool]] = None, + timeout: Optional[pulumi.Input[str]] = None, + user_base: Optional[pulumi.Input[str]] = None, + user_filters: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + user_object_classes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'avatarUrlAttribute' in kwargs: + avatar_url_attribute = kwargs['avatarUrlAttribute'] + if 'baseDn' in kwargs: + base_dn = kwargs['baseDn'] + if 'bindDn' in kwargs: + bind_dn = kwargs['bindDn'] + if 'bindPassword' in kwargs: + bind_password = kwargs['bindPassword'] + if 'displayNameAttribute' in kwargs: + display_name_attribute = kwargs['displayNameAttribute'] + if 'emailAttribute' in kwargs: + email_attribute = kwargs['emailAttribute'] + if 'emailVerifiedAttribute' in kwargs: + email_verified_attribute = kwargs['emailVerifiedAttribute'] + if 'firstNameAttribute' in kwargs: + first_name_attribute = kwargs['firstNameAttribute'] + if 'idAttribute' in kwargs: + id_attribute = kwargs['idAttribute'] + if 'isAutoCreation' in kwargs: + is_auto_creation = kwargs['isAutoCreation'] + if 'isAutoUpdate' in kwargs: + is_auto_update = kwargs['isAutoUpdate'] + if 'isCreationAllowed' in kwargs: + is_creation_allowed = kwargs['isCreationAllowed'] + if 'isLinkingAllowed' in kwargs: + is_linking_allowed = kwargs['isLinkingAllowed'] + if 'lastNameAttribute' in kwargs: + last_name_attribute = kwargs['lastNameAttribute'] + if 'nickNameAttribute' in kwargs: + nick_name_attribute = kwargs['nickNameAttribute'] + if 'phoneAttribute' in kwargs: + phone_attribute = kwargs['phoneAttribute'] + if 'phoneVerifiedAttribute' in kwargs: + phone_verified_attribute = kwargs['phoneVerifiedAttribute'] + if 'preferredLanguageAttribute' in kwargs: + preferred_language_attribute = kwargs['preferredLanguageAttribute'] + if 'preferredUsernameAttribute' in kwargs: + preferred_username_attribute = kwargs['preferredUsernameAttribute'] + if 'profileAttribute' in kwargs: + profile_attribute = kwargs['profileAttribute'] + if 'startTls' in kwargs: + start_tls = kwargs['startTls'] + if 'userBase' in kwargs: + user_base = kwargs['userBase'] + if 'userFilters' in kwargs: + user_filters = kwargs['userFilters'] + if 'userObjectClasses' in kwargs: + user_object_classes = kwargs['userObjectClasses'] + + if avatar_url_attribute is not None: + _setter("avatar_url_attribute", avatar_url_attribute) + if base_dn is not None: + _setter("base_dn", base_dn) + if bind_dn is not None: + _setter("bind_dn", bind_dn) + if bind_password is not None: + _setter("bind_password", bind_password) + if display_name_attribute is not None: + _setter("display_name_attribute", display_name_attribute) + if email_attribute is not None: + _setter("email_attribute", email_attribute) + if email_verified_attribute is not None: + _setter("email_verified_attribute", email_verified_attribute) + if first_name_attribute is not None: + _setter("first_name_attribute", first_name_attribute) + if id_attribute is not None: + _setter("id_attribute", id_attribute) + if is_auto_creation is not None: + _setter("is_auto_creation", is_auto_creation) + if is_auto_update is not None: + _setter("is_auto_update", is_auto_update) + if is_creation_allowed is not None: + _setter("is_creation_allowed", is_creation_allowed) + if is_linking_allowed is not None: + _setter("is_linking_allowed", is_linking_allowed) + if last_name_attribute is not None: + _setter("last_name_attribute", last_name_attribute) + if name is not None: + _setter("name", name) + if nick_name_attribute is not None: + _setter("nick_name_attribute", nick_name_attribute) + if phone_attribute is not None: + _setter("phone_attribute", phone_attribute) + if phone_verified_attribute is not None: + _setter("phone_verified_attribute", phone_verified_attribute) + if preferred_language_attribute is not None: + _setter("preferred_language_attribute", preferred_language_attribute) + if preferred_username_attribute is not None: + _setter("preferred_username_attribute", preferred_username_attribute) + if profile_attribute is not None: + _setter("profile_attribute", profile_attribute) + if servers is not None: + _setter("servers", servers) + if start_tls is not None: + _setter("start_tls", start_tls) + if timeout is not None: + _setter("timeout", timeout) + if user_base is not None: + _setter("user_base", user_base) + if user_filters is not None: + _setter("user_filters", user_filters) + if user_object_classes is not None: + _setter("user_object_classes", user_object_classes) + + @property + @pulumi.getter(name="avatarUrlAttribute") + def avatar_url_attribute(self) -> Optional[pulumi.Input[str]]: + """ + User attribute for the avatar url + """ + return pulumi.get(self, "avatar_url_attribute") + + @avatar_url_attribute.setter + def avatar_url_attribute(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "avatar_url_attribute", value) + + @property + @pulumi.getter(name="baseDn") + def base_dn(self) -> Optional[pulumi.Input[str]]: + """ + Base DN for LDAP connections + """ + return pulumi.get(self, "base_dn") + + @base_dn.setter + def base_dn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "base_dn", value) + + @property + @pulumi.getter(name="bindDn") + def bind_dn(self) -> Optional[pulumi.Input[str]]: + """ + Bind DN for LDAP connections + """ + return pulumi.get(self, "bind_dn") + + @bind_dn.setter + def bind_dn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "bind_dn", value) + + @property + @pulumi.getter(name="bindPassword") + def bind_password(self) -> Optional[pulumi.Input[str]]: + """ + Bind password for LDAP connections + """ + return pulumi.get(self, "bind_password") + + @bind_password.setter + def bind_password(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "bind_password", value) + + @property + @pulumi.getter(name="displayNameAttribute") + def display_name_attribute(self) -> Optional[pulumi.Input[str]]: + """ + User attribute for the display name + """ + return pulumi.get(self, "display_name_attribute") + + @display_name_attribute.setter + def display_name_attribute(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name_attribute", value) + + @property + @pulumi.getter(name="emailAttribute") + def email_attribute(self) -> Optional[pulumi.Input[str]]: + """ + User attribute for the email + """ + return pulumi.get(self, "email_attribute") + + @email_attribute.setter + def email_attribute(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "email_attribute", value) + + @property + @pulumi.getter(name="emailVerifiedAttribute") + def email_verified_attribute(self) -> Optional[pulumi.Input[str]]: + """ + User attribute for the email verified state + """ + return pulumi.get(self, "email_verified_attribute") + + @email_verified_attribute.setter + def email_verified_attribute(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "email_verified_attribute", value) + + @property + @pulumi.getter(name="firstNameAttribute") + def first_name_attribute(self) -> Optional[pulumi.Input[str]]: + """ + User attribute for the first name + """ + return pulumi.get(self, "first_name_attribute") + + @first_name_attribute.setter + def first_name_attribute(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "first_name_attribute", value) + + @property + @pulumi.getter(name="idAttribute") + def id_attribute(self) -> Optional[pulumi.Input[str]]: + """ + User attribute for the id + """ + return pulumi.get(self, "id_attribute") + + @id_attribute.setter + def id_attribute(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "id_attribute", value) + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> Optional[pulumi.Input[bool]]: + """ + enable if a new account in ZITADEL should be created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @is_auto_creation.setter + def is_auto_creation(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_auto_creation", value) + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> Optional[pulumi.Input[bool]]: + """ + enable if a the ZITADEL account fields should be updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @is_auto_update.setter + def is_auto_update(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_auto_update", value) + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> Optional[pulumi.Input[bool]]: + """ + enable if users should be able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @is_creation_allowed.setter + def is_creation_allowed(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_creation_allowed", value) + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> Optional[pulumi.Input[bool]]: + """ + enable if users should be able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @is_linking_allowed.setter + def is_linking_allowed(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_linking_allowed", value) + + @property + @pulumi.getter(name="lastNameAttribute") + def last_name_attribute(self) -> Optional[pulumi.Input[str]]: + """ + User attribute for the last name + """ + return pulumi.get(self, "last_name_attribute") + + @last_name_attribute.setter + def last_name_attribute(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "last_name_attribute", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="nickNameAttribute") + def nick_name_attribute(self) -> Optional[pulumi.Input[str]]: + """ + User attribute for the nick name + """ + return pulumi.get(self, "nick_name_attribute") + + @nick_name_attribute.setter + def nick_name_attribute(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "nick_name_attribute", value) + + @property + @pulumi.getter(name="phoneAttribute") + def phone_attribute(self) -> Optional[pulumi.Input[str]]: + """ + User attribute for the phone + """ + return pulumi.get(self, "phone_attribute") + + @phone_attribute.setter + def phone_attribute(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "phone_attribute", value) + + @property + @pulumi.getter(name="phoneVerifiedAttribute") + def phone_verified_attribute(self) -> Optional[pulumi.Input[str]]: + """ + User attribute for the phone verified state + """ + return pulumi.get(self, "phone_verified_attribute") + + @phone_verified_attribute.setter + def phone_verified_attribute(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "phone_verified_attribute", value) + + @property + @pulumi.getter(name="preferredLanguageAttribute") + def preferred_language_attribute(self) -> Optional[pulumi.Input[str]]: + """ + User attribute for the preferred language + """ + return pulumi.get(self, "preferred_language_attribute") + + @preferred_language_attribute.setter + def preferred_language_attribute(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "preferred_language_attribute", value) + + @property + @pulumi.getter(name="preferredUsernameAttribute") + def preferred_username_attribute(self) -> Optional[pulumi.Input[str]]: + """ + User attribute for the preferred username + """ + return pulumi.get(self, "preferred_username_attribute") + + @preferred_username_attribute.setter + def preferred_username_attribute(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "preferred_username_attribute", value) + + @property + @pulumi.getter(name="profileAttribute") + def profile_attribute(self) -> Optional[pulumi.Input[str]]: + """ + User attribute for the profile + """ + return pulumi.get(self, "profile_attribute") + + @profile_attribute.setter + def profile_attribute(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "profile_attribute", value) + + @property + @pulumi.getter + def servers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Servers to try in order for establishing LDAP connections + """ + return pulumi.get(self, "servers") + + @servers.setter + def servers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "servers", value) + + @property + @pulumi.getter(name="startTls") + def start_tls(self) -> Optional[pulumi.Input[bool]]: + """ + Wether to use StartTLS for LDAP connections + """ + return pulumi.get(self, "start_tls") + + @start_tls.setter + def start_tls(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "start_tls", value) + + @property + @pulumi.getter + def timeout(self) -> Optional[pulumi.Input[str]]: + """ + Timeout for LDAP connections + """ + return pulumi.get(self, "timeout") + + @timeout.setter + def timeout(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "timeout", value) + + @property + @pulumi.getter(name="userBase") + def user_base(self) -> Optional[pulumi.Input[str]]: + """ + User base for LDAP connections + """ + return pulumi.get(self, "user_base") + + @user_base.setter + def user_base(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "user_base", value) + + @property + @pulumi.getter(name="userFilters") + def user_filters(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + User filters for LDAP connections + """ + return pulumi.get(self, "user_filters") + + @user_filters.setter + def user_filters(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "user_filters", value) + + @property + @pulumi.getter(name="userObjectClasses") + def user_object_classes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + User object classes for LDAP connections + """ + return pulumi.get(self, "user_object_classes") + + @user_object_classes.setter + def user_object_classes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "user_object_classes", value) + + +class IdpLdap(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + avatar_url_attribute: Optional[pulumi.Input[str]] = None, + base_dn: Optional[pulumi.Input[str]] = None, + bind_dn: Optional[pulumi.Input[str]] = None, + bind_password: Optional[pulumi.Input[str]] = None, + display_name_attribute: Optional[pulumi.Input[str]] = None, + email_attribute: Optional[pulumi.Input[str]] = None, + email_verified_attribute: Optional[pulumi.Input[str]] = None, + first_name_attribute: Optional[pulumi.Input[str]] = None, + id_attribute: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + last_name_attribute: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + nick_name_attribute: Optional[pulumi.Input[str]] = None, + phone_attribute: Optional[pulumi.Input[str]] = None, + phone_verified_attribute: Optional[pulumi.Input[str]] = None, + preferred_language_attribute: Optional[pulumi.Input[str]] = None, + preferred_username_attribute: Optional[pulumi.Input[str]] = None, + profile_attribute: Optional[pulumi.Input[str]] = None, + servers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + start_tls: Optional[pulumi.Input[bool]] = None, + timeout: Optional[pulumi.Input[str]] = None, + user_base: Optional[pulumi.Input[str]] = None, + user_filters: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + user_object_classes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + __props__=None): + """ + Resource representing an LDAP IDP on the instance. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.IdpLdap("default", + base_dn="dc=example,dc=com", + bind_dn="cn=admin,dc=example,dc=com", + bind_password="Password1!", + first_name_attribute="firstname", + id_attribute="uid", + is_auto_creation=False, + is_auto_update=True, + is_creation_allowed=True, + is_linking_allowed=False, + last_name_attribute="lastname", + servers=[ + "ldaps://my.primary.server:389", + "ldaps://my.secondary.server:389", + ], + start_tls=False, + timeout="10s", + user_base="dn", + user_filters=[ + "uid", + "email", + ], + user_object_classes=["inetOrgPerson"]) + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/idpLdap:IdpLdap imported '123456789012345678:b1nd_p4ssw0rd' + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] avatar_url_attribute: User attribute for the avatar url + :param pulumi.Input[str] base_dn: Base DN for LDAP connections + :param pulumi.Input[str] bind_dn: Bind DN for LDAP connections + :param pulumi.Input[str] bind_password: Bind password for LDAP connections + :param pulumi.Input[str] display_name_attribute: User attribute for the display name + :param pulumi.Input[str] email_attribute: User attribute for the email + :param pulumi.Input[str] email_verified_attribute: User attribute for the email verified state + :param pulumi.Input[str] first_name_attribute: User attribute for the first name + :param pulumi.Input[str] id_attribute: User attribute for the id + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] last_name_attribute: User attribute for the last name + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[str] nick_name_attribute: User attribute for the nick name + :param pulumi.Input[str] phone_attribute: User attribute for the phone + :param pulumi.Input[str] phone_verified_attribute: User attribute for the phone verified state + :param pulumi.Input[str] preferred_language_attribute: User attribute for the preferred language + :param pulumi.Input[str] preferred_username_attribute: User attribute for the preferred username + :param pulumi.Input[str] profile_attribute: User attribute for the profile + :param pulumi.Input[Sequence[pulumi.Input[str]]] servers: Servers to try in order for establishing LDAP connections + :param pulumi.Input[bool] start_tls: Wether to use StartTLS for LDAP connections + :param pulumi.Input[str] timeout: Timeout for LDAP connections + :param pulumi.Input[str] user_base: User base for LDAP connections + :param pulumi.Input[Sequence[pulumi.Input[str]]] user_filters: User filters for LDAP connections + :param pulumi.Input[Sequence[pulumi.Input[str]]] user_object_classes: User object classes for LDAP connections + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: IdpLdapArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource representing an LDAP IDP on the instance. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.IdpLdap("default", + base_dn="dc=example,dc=com", + bind_dn="cn=admin,dc=example,dc=com", + bind_password="Password1!", + first_name_attribute="firstname", + id_attribute="uid", + is_auto_creation=False, + is_auto_update=True, + is_creation_allowed=True, + is_linking_allowed=False, + last_name_attribute="lastname", + servers=[ + "ldaps://my.primary.server:389", + "ldaps://my.secondary.server:389", + ], + start_tls=False, + timeout="10s", + user_base="dn", + user_filters=[ + "uid", + "email", + ], + user_object_classes=["inetOrgPerson"]) + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/idpLdap:IdpLdap imported '123456789012345678:b1nd_p4ssw0rd' + ``` + + :param str resource_name: The name of the resource. + :param IdpLdapArgs 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(IdpLdapArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + IdpLdapArgs._configure(_setter, **kwargs) + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + avatar_url_attribute: Optional[pulumi.Input[str]] = None, + base_dn: Optional[pulumi.Input[str]] = None, + bind_dn: Optional[pulumi.Input[str]] = None, + bind_password: Optional[pulumi.Input[str]] = None, + display_name_attribute: Optional[pulumi.Input[str]] = None, + email_attribute: Optional[pulumi.Input[str]] = None, + email_verified_attribute: Optional[pulumi.Input[str]] = None, + first_name_attribute: Optional[pulumi.Input[str]] = None, + id_attribute: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + last_name_attribute: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + nick_name_attribute: Optional[pulumi.Input[str]] = None, + phone_attribute: Optional[pulumi.Input[str]] = None, + phone_verified_attribute: Optional[pulumi.Input[str]] = None, + preferred_language_attribute: Optional[pulumi.Input[str]] = None, + preferred_username_attribute: Optional[pulumi.Input[str]] = None, + profile_attribute: Optional[pulumi.Input[str]] = None, + servers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + start_tls: Optional[pulumi.Input[bool]] = None, + timeout: Optional[pulumi.Input[str]] = None, + user_base: Optional[pulumi.Input[str]] = None, + user_filters: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + user_object_classes: Optional[pulumi.Input[Sequence[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__ = IdpLdapArgs.__new__(IdpLdapArgs) + + __props__.__dict__["avatar_url_attribute"] = avatar_url_attribute + if base_dn is None and not opts.urn: + raise TypeError("Missing required property 'base_dn'") + __props__.__dict__["base_dn"] = base_dn + if bind_dn is None and not opts.urn: + raise TypeError("Missing required property 'bind_dn'") + __props__.__dict__["bind_dn"] = bind_dn + if bind_password is None and not opts.urn: + raise TypeError("Missing required property 'bind_password'") + __props__.__dict__["bind_password"] = None if bind_password is None else pulumi.Output.secret(bind_password) + __props__.__dict__["display_name_attribute"] = display_name_attribute + __props__.__dict__["email_attribute"] = email_attribute + __props__.__dict__["email_verified_attribute"] = email_verified_attribute + __props__.__dict__["first_name_attribute"] = first_name_attribute + __props__.__dict__["id_attribute"] = id_attribute + if is_auto_creation is None and not opts.urn: + raise TypeError("Missing required property 'is_auto_creation'") + __props__.__dict__["is_auto_creation"] = is_auto_creation + if is_auto_update is None and not opts.urn: + raise TypeError("Missing required property 'is_auto_update'") + __props__.__dict__["is_auto_update"] = is_auto_update + if is_creation_allowed is None and not opts.urn: + raise TypeError("Missing required property 'is_creation_allowed'") + __props__.__dict__["is_creation_allowed"] = is_creation_allowed + if is_linking_allowed is None and not opts.urn: + raise TypeError("Missing required property 'is_linking_allowed'") + __props__.__dict__["is_linking_allowed"] = is_linking_allowed + __props__.__dict__["last_name_attribute"] = last_name_attribute + __props__.__dict__["name"] = name + __props__.__dict__["nick_name_attribute"] = nick_name_attribute + __props__.__dict__["phone_attribute"] = phone_attribute + __props__.__dict__["phone_verified_attribute"] = phone_verified_attribute + __props__.__dict__["preferred_language_attribute"] = preferred_language_attribute + __props__.__dict__["preferred_username_attribute"] = preferred_username_attribute + __props__.__dict__["profile_attribute"] = profile_attribute + if servers is None and not opts.urn: + raise TypeError("Missing required property 'servers'") + __props__.__dict__["servers"] = servers + if start_tls is None and not opts.urn: + raise TypeError("Missing required property 'start_tls'") + __props__.__dict__["start_tls"] = start_tls + if timeout is None and not opts.urn: + raise TypeError("Missing required property 'timeout'") + __props__.__dict__["timeout"] = timeout + if user_base is None and not opts.urn: + raise TypeError("Missing required property 'user_base'") + __props__.__dict__["user_base"] = user_base + if user_filters is None and not opts.urn: + raise TypeError("Missing required property 'user_filters'") + __props__.__dict__["user_filters"] = user_filters + if user_object_classes is None and not opts.urn: + raise TypeError("Missing required property 'user_object_classes'") + __props__.__dict__["user_object_classes"] = user_object_classes + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["bindPassword"]) + opts = pulumi.ResourceOptions.merge(opts, secret_opts) + super(IdpLdap, __self__).__init__( + 'zitadel:index/idpLdap:IdpLdap', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + avatar_url_attribute: Optional[pulumi.Input[str]] = None, + base_dn: Optional[pulumi.Input[str]] = None, + bind_dn: Optional[pulumi.Input[str]] = None, + bind_password: Optional[pulumi.Input[str]] = None, + display_name_attribute: Optional[pulumi.Input[str]] = None, + email_attribute: Optional[pulumi.Input[str]] = None, + email_verified_attribute: Optional[pulumi.Input[str]] = None, + first_name_attribute: Optional[pulumi.Input[str]] = None, + id_attribute: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + last_name_attribute: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + nick_name_attribute: Optional[pulumi.Input[str]] = None, + phone_attribute: Optional[pulumi.Input[str]] = None, + phone_verified_attribute: Optional[pulumi.Input[str]] = None, + preferred_language_attribute: Optional[pulumi.Input[str]] = None, + preferred_username_attribute: Optional[pulumi.Input[str]] = None, + profile_attribute: Optional[pulumi.Input[str]] = None, + servers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + start_tls: Optional[pulumi.Input[bool]] = None, + timeout: Optional[pulumi.Input[str]] = None, + user_base: Optional[pulumi.Input[str]] = None, + user_filters: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + user_object_classes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None) -> 'IdpLdap': + """ + Get an existing IdpLdap 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[str] avatar_url_attribute: User attribute for the avatar url + :param pulumi.Input[str] base_dn: Base DN for LDAP connections + :param pulumi.Input[str] bind_dn: Bind DN for LDAP connections + :param pulumi.Input[str] bind_password: Bind password for LDAP connections + :param pulumi.Input[str] display_name_attribute: User attribute for the display name + :param pulumi.Input[str] email_attribute: User attribute for the email + :param pulumi.Input[str] email_verified_attribute: User attribute for the email verified state + :param pulumi.Input[str] first_name_attribute: User attribute for the first name + :param pulumi.Input[str] id_attribute: User attribute for the id + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] last_name_attribute: User attribute for the last name + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[str] nick_name_attribute: User attribute for the nick name + :param pulumi.Input[str] phone_attribute: User attribute for the phone + :param pulumi.Input[str] phone_verified_attribute: User attribute for the phone verified state + :param pulumi.Input[str] preferred_language_attribute: User attribute for the preferred language + :param pulumi.Input[str] preferred_username_attribute: User attribute for the preferred username + :param pulumi.Input[str] profile_attribute: User attribute for the profile + :param pulumi.Input[Sequence[pulumi.Input[str]]] servers: Servers to try in order for establishing LDAP connections + :param pulumi.Input[bool] start_tls: Wether to use StartTLS for LDAP connections + :param pulumi.Input[str] timeout: Timeout for LDAP connections + :param pulumi.Input[str] user_base: User base for LDAP connections + :param pulumi.Input[Sequence[pulumi.Input[str]]] user_filters: User filters for LDAP connections + :param pulumi.Input[Sequence[pulumi.Input[str]]] user_object_classes: User object classes for LDAP connections + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _IdpLdapState.__new__(_IdpLdapState) + + __props__.__dict__["avatar_url_attribute"] = avatar_url_attribute + __props__.__dict__["base_dn"] = base_dn + __props__.__dict__["bind_dn"] = bind_dn + __props__.__dict__["bind_password"] = bind_password + __props__.__dict__["display_name_attribute"] = display_name_attribute + __props__.__dict__["email_attribute"] = email_attribute + __props__.__dict__["email_verified_attribute"] = email_verified_attribute + __props__.__dict__["first_name_attribute"] = first_name_attribute + __props__.__dict__["id_attribute"] = id_attribute + __props__.__dict__["is_auto_creation"] = is_auto_creation + __props__.__dict__["is_auto_update"] = is_auto_update + __props__.__dict__["is_creation_allowed"] = is_creation_allowed + __props__.__dict__["is_linking_allowed"] = is_linking_allowed + __props__.__dict__["last_name_attribute"] = last_name_attribute + __props__.__dict__["name"] = name + __props__.__dict__["nick_name_attribute"] = nick_name_attribute + __props__.__dict__["phone_attribute"] = phone_attribute + __props__.__dict__["phone_verified_attribute"] = phone_verified_attribute + __props__.__dict__["preferred_language_attribute"] = preferred_language_attribute + __props__.__dict__["preferred_username_attribute"] = preferred_username_attribute + __props__.__dict__["profile_attribute"] = profile_attribute + __props__.__dict__["servers"] = servers + __props__.__dict__["start_tls"] = start_tls + __props__.__dict__["timeout"] = timeout + __props__.__dict__["user_base"] = user_base + __props__.__dict__["user_filters"] = user_filters + __props__.__dict__["user_object_classes"] = user_object_classes + return IdpLdap(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="avatarUrlAttribute") + def avatar_url_attribute(self) -> pulumi.Output[Optional[str]]: + """ + User attribute for the avatar url + """ + return pulumi.get(self, "avatar_url_attribute") + + @property + @pulumi.getter(name="baseDn") + def base_dn(self) -> pulumi.Output[str]: + """ + Base DN for LDAP connections + """ + return pulumi.get(self, "base_dn") + + @property + @pulumi.getter(name="bindDn") + def bind_dn(self) -> pulumi.Output[str]: + """ + Bind DN for LDAP connections + """ + return pulumi.get(self, "bind_dn") + + @property + @pulumi.getter(name="bindPassword") + def bind_password(self) -> pulumi.Output[str]: + """ + Bind password for LDAP connections + """ + return pulumi.get(self, "bind_password") + + @property + @pulumi.getter(name="displayNameAttribute") + def display_name_attribute(self) -> pulumi.Output[Optional[str]]: + """ + User attribute for the display name + """ + return pulumi.get(self, "display_name_attribute") + + @property + @pulumi.getter(name="emailAttribute") + def email_attribute(self) -> pulumi.Output[Optional[str]]: + """ + User attribute for the email + """ + return pulumi.get(self, "email_attribute") + + @property + @pulumi.getter(name="emailVerifiedAttribute") + def email_verified_attribute(self) -> pulumi.Output[Optional[str]]: + """ + User attribute for the email verified state + """ + return pulumi.get(self, "email_verified_attribute") + + @property + @pulumi.getter(name="firstNameAttribute") + def first_name_attribute(self) -> pulumi.Output[Optional[str]]: + """ + User attribute for the first name + """ + return pulumi.get(self, "first_name_attribute") + + @property + @pulumi.getter(name="idAttribute") + def id_attribute(self) -> pulumi.Output[Optional[str]]: + """ + User attribute for the id + """ + return pulumi.get(self, "id_attribute") + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> pulumi.Output[bool]: + """ + enable if a new account in ZITADEL should be created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> pulumi.Output[bool]: + """ + enable if a the ZITADEL account fields should be updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> pulumi.Output[bool]: + """ + enable if users should be able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> pulumi.Output[bool]: + """ + enable if users should be able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @property + @pulumi.getter(name="lastNameAttribute") + def last_name_attribute(self) -> pulumi.Output[Optional[str]]: + """ + User attribute for the last name + """ + return pulumi.get(self, "last_name_attribute") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="nickNameAttribute") + def nick_name_attribute(self) -> pulumi.Output[Optional[str]]: + """ + User attribute for the nick name + """ + return pulumi.get(self, "nick_name_attribute") + + @property + @pulumi.getter(name="phoneAttribute") + def phone_attribute(self) -> pulumi.Output[Optional[str]]: + """ + User attribute for the phone + """ + return pulumi.get(self, "phone_attribute") + + @property + @pulumi.getter(name="phoneVerifiedAttribute") + def phone_verified_attribute(self) -> pulumi.Output[Optional[str]]: + """ + User attribute for the phone verified state + """ + return pulumi.get(self, "phone_verified_attribute") + + @property + @pulumi.getter(name="preferredLanguageAttribute") + def preferred_language_attribute(self) -> pulumi.Output[Optional[str]]: + """ + User attribute for the preferred language + """ + return pulumi.get(self, "preferred_language_attribute") + + @property + @pulumi.getter(name="preferredUsernameAttribute") + def preferred_username_attribute(self) -> pulumi.Output[Optional[str]]: + """ + User attribute for the preferred username + """ + return pulumi.get(self, "preferred_username_attribute") + + @property + @pulumi.getter(name="profileAttribute") + def profile_attribute(self) -> pulumi.Output[Optional[str]]: + """ + User attribute for the profile + """ + return pulumi.get(self, "profile_attribute") + + @property + @pulumi.getter + def servers(self) -> pulumi.Output[Sequence[str]]: + """ + Servers to try in order for establishing LDAP connections + """ + return pulumi.get(self, "servers") + + @property + @pulumi.getter(name="startTls") + def start_tls(self) -> pulumi.Output[bool]: + """ + Wether to use StartTLS for LDAP connections + """ + return pulumi.get(self, "start_tls") + + @property + @pulumi.getter + def timeout(self) -> pulumi.Output[str]: + """ + Timeout for LDAP connections + """ + return pulumi.get(self, "timeout") + + @property + @pulumi.getter(name="userBase") + def user_base(self) -> pulumi.Output[str]: + """ + User base for LDAP connections + """ + return pulumi.get(self, "user_base") + + @property + @pulumi.getter(name="userFilters") + def user_filters(self) -> pulumi.Output[Sequence[str]]: + """ + User filters for LDAP connections + """ + return pulumi.get(self, "user_filters") + + @property + @pulumi.getter(name="userObjectClasses") + def user_object_classes(self) -> pulumi.Output[Sequence[str]]: + """ + User object classes for LDAP connections + """ + return pulumi.get(self, "user_object_classes") + diff --git a/sdk/python/scoretechnologies_zitadel/idp_oauth.py b/sdk/python/scoretechnologies_zitadel/idp_oauth.py new file mode 100644 index 0000000..826a4f9 --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/idp_oauth.py @@ -0,0 +1,848 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['IdpOauthArgs', 'IdpOauth'] + +@pulumi.input_type +class IdpOauthArgs: + def __init__(__self__, *, + authorization_endpoint: pulumi.Input[str], + client_id: pulumi.Input[str], + client_secret: pulumi.Input[str], + id_attribute: pulumi.Input[str], + is_auto_creation: pulumi.Input[bool], + is_auto_update: pulumi.Input[bool], + is_creation_allowed: pulumi.Input[bool], + is_linking_allowed: pulumi.Input[bool], + token_endpoint: pulumi.Input[str], + user_endpoint: pulumi.Input[str], + name: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a IdpOauth resource. + :param pulumi.Input[str] authorization_endpoint: The authorization endpoint + :param pulumi.Input[str] client_id: client id generated by the identity provider + :param pulumi.Input[str] client_secret: client secret generated by the identity provider + :param pulumi.Input[str] id_attribute: The id attribute + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] token_endpoint: The token endpoint + :param pulumi.Input[str] user_endpoint: The user endpoint + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[Sequence[pulumi.Input[str]]] scopes: the scopes requested by ZITADEL during the request on the identity provider + """ + IdpOauthArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + authorization_endpoint=authorization_endpoint, + client_id=client_id, + client_secret=client_secret, + id_attribute=id_attribute, + is_auto_creation=is_auto_creation, + is_auto_update=is_auto_update, + is_creation_allowed=is_creation_allowed, + is_linking_allowed=is_linking_allowed, + token_endpoint=token_endpoint, + user_endpoint=user_endpoint, + name=name, + scopes=scopes, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + authorization_endpoint: pulumi.Input[str], + client_id: pulumi.Input[str], + client_secret: pulumi.Input[str], + id_attribute: pulumi.Input[str], + is_auto_creation: pulumi.Input[bool], + is_auto_update: pulumi.Input[bool], + is_creation_allowed: pulumi.Input[bool], + is_linking_allowed: pulumi.Input[bool], + token_endpoint: pulumi.Input[str], + user_endpoint: pulumi.Input[str], + name: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'authorizationEndpoint' in kwargs: + authorization_endpoint = kwargs['authorizationEndpoint'] + if 'clientId' in kwargs: + client_id = kwargs['clientId'] + if 'clientSecret' in kwargs: + client_secret = kwargs['clientSecret'] + if 'idAttribute' in kwargs: + id_attribute = kwargs['idAttribute'] + if 'isAutoCreation' in kwargs: + is_auto_creation = kwargs['isAutoCreation'] + if 'isAutoUpdate' in kwargs: + is_auto_update = kwargs['isAutoUpdate'] + if 'isCreationAllowed' in kwargs: + is_creation_allowed = kwargs['isCreationAllowed'] + if 'isLinkingAllowed' in kwargs: + is_linking_allowed = kwargs['isLinkingAllowed'] + if 'tokenEndpoint' in kwargs: + token_endpoint = kwargs['tokenEndpoint'] + if 'userEndpoint' in kwargs: + user_endpoint = kwargs['userEndpoint'] + + _setter("authorization_endpoint", authorization_endpoint) + _setter("client_id", client_id) + _setter("client_secret", client_secret) + _setter("id_attribute", id_attribute) + _setter("is_auto_creation", is_auto_creation) + _setter("is_auto_update", is_auto_update) + _setter("is_creation_allowed", is_creation_allowed) + _setter("is_linking_allowed", is_linking_allowed) + _setter("token_endpoint", token_endpoint) + _setter("user_endpoint", user_endpoint) + if name is not None: + _setter("name", name) + if scopes is not None: + _setter("scopes", scopes) + + @property + @pulumi.getter(name="authorizationEndpoint") + def authorization_endpoint(self) -> pulumi.Input[str]: + """ + The authorization endpoint + """ + return pulumi.get(self, "authorization_endpoint") + + @authorization_endpoint.setter + def authorization_endpoint(self, value: pulumi.Input[str]): + pulumi.set(self, "authorization_endpoint", value) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> pulumi.Input[str]: + """ + client id generated by the identity provider + """ + return pulumi.get(self, "client_id") + + @client_id.setter + def client_id(self, value: pulumi.Input[str]): + pulumi.set(self, "client_id", value) + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> pulumi.Input[str]: + """ + client secret generated by the identity provider + """ + return pulumi.get(self, "client_secret") + + @client_secret.setter + def client_secret(self, value: pulumi.Input[str]): + pulumi.set(self, "client_secret", value) + + @property + @pulumi.getter(name="idAttribute") + def id_attribute(self) -> pulumi.Input[str]: + """ + The id attribute + """ + return pulumi.get(self, "id_attribute") + + @id_attribute.setter + def id_attribute(self, value: pulumi.Input[str]): + pulumi.set(self, "id_attribute", value) + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> pulumi.Input[bool]: + """ + enable if a new account in ZITADEL should be created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @is_auto_creation.setter + def is_auto_creation(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_auto_creation", value) + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> pulumi.Input[bool]: + """ + enable if a the ZITADEL account fields should be updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @is_auto_update.setter + def is_auto_update(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_auto_update", value) + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> pulumi.Input[bool]: + """ + enable if users should be able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @is_creation_allowed.setter + def is_creation_allowed(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_creation_allowed", value) + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> pulumi.Input[bool]: + """ + enable if users should be able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @is_linking_allowed.setter + def is_linking_allowed(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_linking_allowed", value) + + @property + @pulumi.getter(name="tokenEndpoint") + def token_endpoint(self) -> pulumi.Input[str]: + """ + The token endpoint + """ + return pulumi.get(self, "token_endpoint") + + @token_endpoint.setter + def token_endpoint(self, value: pulumi.Input[str]): + pulumi.set(self, "token_endpoint", value) + + @property + @pulumi.getter(name="userEndpoint") + def user_endpoint(self) -> pulumi.Input[str]: + """ + The user endpoint + """ + return pulumi.get(self, "user_endpoint") + + @user_endpoint.setter + def user_endpoint(self, value: pulumi.Input[str]): + pulumi.set(self, "user_endpoint", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def scopes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + the scopes requested by ZITADEL during the request on the identity provider + """ + return pulumi.get(self, "scopes") + + @scopes.setter + def scopes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "scopes", value) + + +@pulumi.input_type +class _IdpOauthState: + def __init__(__self__, *, + authorization_endpoint: Optional[pulumi.Input[str]] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + id_attribute: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + token_endpoint: Optional[pulumi.Input[str]] = None, + user_endpoint: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering IdpOauth resources. + :param pulumi.Input[str] authorization_endpoint: The authorization endpoint + :param pulumi.Input[str] client_id: client id generated by the identity provider + :param pulumi.Input[str] client_secret: client secret generated by the identity provider + :param pulumi.Input[str] id_attribute: The id attribute + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[Sequence[pulumi.Input[str]]] scopes: the scopes requested by ZITADEL during the request on the identity provider + :param pulumi.Input[str] token_endpoint: The token endpoint + :param pulumi.Input[str] user_endpoint: The user endpoint + """ + _IdpOauthState._configure( + lambda key, value: pulumi.set(__self__, key, value), + authorization_endpoint=authorization_endpoint, + client_id=client_id, + client_secret=client_secret, + id_attribute=id_attribute, + is_auto_creation=is_auto_creation, + is_auto_update=is_auto_update, + is_creation_allowed=is_creation_allowed, + is_linking_allowed=is_linking_allowed, + name=name, + scopes=scopes, + token_endpoint=token_endpoint, + user_endpoint=user_endpoint, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + authorization_endpoint: Optional[pulumi.Input[str]] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + id_attribute: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + token_endpoint: Optional[pulumi.Input[str]] = None, + user_endpoint: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'authorizationEndpoint' in kwargs: + authorization_endpoint = kwargs['authorizationEndpoint'] + if 'clientId' in kwargs: + client_id = kwargs['clientId'] + if 'clientSecret' in kwargs: + client_secret = kwargs['clientSecret'] + if 'idAttribute' in kwargs: + id_attribute = kwargs['idAttribute'] + if 'isAutoCreation' in kwargs: + is_auto_creation = kwargs['isAutoCreation'] + if 'isAutoUpdate' in kwargs: + is_auto_update = kwargs['isAutoUpdate'] + if 'isCreationAllowed' in kwargs: + is_creation_allowed = kwargs['isCreationAllowed'] + if 'isLinkingAllowed' in kwargs: + is_linking_allowed = kwargs['isLinkingAllowed'] + if 'tokenEndpoint' in kwargs: + token_endpoint = kwargs['tokenEndpoint'] + if 'userEndpoint' in kwargs: + user_endpoint = kwargs['userEndpoint'] + + if authorization_endpoint is not None: + _setter("authorization_endpoint", authorization_endpoint) + if client_id is not None: + _setter("client_id", client_id) + if client_secret is not None: + _setter("client_secret", client_secret) + if id_attribute is not None: + _setter("id_attribute", id_attribute) + if is_auto_creation is not None: + _setter("is_auto_creation", is_auto_creation) + if is_auto_update is not None: + _setter("is_auto_update", is_auto_update) + if is_creation_allowed is not None: + _setter("is_creation_allowed", is_creation_allowed) + if is_linking_allowed is not None: + _setter("is_linking_allowed", is_linking_allowed) + if name is not None: + _setter("name", name) + if scopes is not None: + _setter("scopes", scopes) + if token_endpoint is not None: + _setter("token_endpoint", token_endpoint) + if user_endpoint is not None: + _setter("user_endpoint", user_endpoint) + + @property + @pulumi.getter(name="authorizationEndpoint") + def authorization_endpoint(self) -> Optional[pulumi.Input[str]]: + """ + The authorization endpoint + """ + return pulumi.get(self, "authorization_endpoint") + + @authorization_endpoint.setter + def authorization_endpoint(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "authorization_endpoint", value) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> Optional[pulumi.Input[str]]: + """ + client id generated by the identity provider + """ + return pulumi.get(self, "client_id") + + @client_id.setter + def client_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "client_id", value) + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> Optional[pulumi.Input[str]]: + """ + client secret generated by the identity provider + """ + return pulumi.get(self, "client_secret") + + @client_secret.setter + def client_secret(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "client_secret", value) + + @property + @pulumi.getter(name="idAttribute") + def id_attribute(self) -> Optional[pulumi.Input[str]]: + """ + The id attribute + """ + return pulumi.get(self, "id_attribute") + + @id_attribute.setter + def id_attribute(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "id_attribute", value) + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> Optional[pulumi.Input[bool]]: + """ + enable if a new account in ZITADEL should be created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @is_auto_creation.setter + def is_auto_creation(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_auto_creation", value) + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> Optional[pulumi.Input[bool]]: + """ + enable if a the ZITADEL account fields should be updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @is_auto_update.setter + def is_auto_update(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_auto_update", value) + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> Optional[pulumi.Input[bool]]: + """ + enable if users should be able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @is_creation_allowed.setter + def is_creation_allowed(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_creation_allowed", value) + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> Optional[pulumi.Input[bool]]: + """ + enable if users should be able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @is_linking_allowed.setter + def is_linking_allowed(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_linking_allowed", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def scopes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + the scopes requested by ZITADEL during the request on the identity provider + """ + return pulumi.get(self, "scopes") + + @scopes.setter + def scopes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "scopes", value) + + @property + @pulumi.getter(name="tokenEndpoint") + def token_endpoint(self) -> Optional[pulumi.Input[str]]: + """ + The token endpoint + """ + return pulumi.get(self, "token_endpoint") + + @token_endpoint.setter + def token_endpoint(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "token_endpoint", value) + + @property + @pulumi.getter(name="userEndpoint") + def user_endpoint(self) -> Optional[pulumi.Input[str]]: + """ + The user endpoint + """ + return pulumi.get(self, "user_endpoint") + + @user_endpoint.setter + def user_endpoint(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "user_endpoint", value) + + +class IdpOauth(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + authorization_endpoint: Optional[pulumi.Input[str]] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + id_attribute: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + token_endpoint: Optional[pulumi.Input[str]] = None, + user_endpoint: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Resource representing a generic OAuth2 IDP on the instance. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.IdpOauth("default", + authorization_endpoint="https://accounts.google.com/o/oauth2/v2/auth", + client_id="15765e...", + client_secret="*****abcxyz", + id_attribute="user_id", + is_auto_creation=False, + is_auto_update=True, + is_creation_allowed=True, + is_linking_allowed=False, + scopes=[ + "openid", + "profile", + "email", + ], + token_endpoint="https://oauth2.googleapis.com/token", + user_endpoint="https://openidconnect.googleapis.com/v1/userinfo") + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/idpOauth:IdpOauth imported '123456789012345678:1234567890abcdef' + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] authorization_endpoint: The authorization endpoint + :param pulumi.Input[str] client_id: client id generated by the identity provider + :param pulumi.Input[str] client_secret: client secret generated by the identity provider + :param pulumi.Input[str] id_attribute: The id attribute + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[Sequence[pulumi.Input[str]]] scopes: the scopes requested by ZITADEL during the request on the identity provider + :param pulumi.Input[str] token_endpoint: The token endpoint + :param pulumi.Input[str] user_endpoint: The user endpoint + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: IdpOauthArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource representing a generic OAuth2 IDP on the instance. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.IdpOauth("default", + authorization_endpoint="https://accounts.google.com/o/oauth2/v2/auth", + client_id="15765e...", + client_secret="*****abcxyz", + id_attribute="user_id", + is_auto_creation=False, + is_auto_update=True, + is_creation_allowed=True, + is_linking_allowed=False, + scopes=[ + "openid", + "profile", + "email", + ], + token_endpoint="https://oauth2.googleapis.com/token", + user_endpoint="https://openidconnect.googleapis.com/v1/userinfo") + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/idpOauth:IdpOauth imported '123456789012345678:1234567890abcdef' + ``` + + :param str resource_name: The name of the resource. + :param IdpOauthArgs 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(IdpOauthArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + IdpOauthArgs._configure(_setter, **kwargs) + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + authorization_endpoint: Optional[pulumi.Input[str]] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + id_attribute: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + token_endpoint: Optional[pulumi.Input[str]] = None, + user_endpoint: 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__ = IdpOauthArgs.__new__(IdpOauthArgs) + + if authorization_endpoint is None and not opts.urn: + raise TypeError("Missing required property 'authorization_endpoint'") + __props__.__dict__["authorization_endpoint"] = authorization_endpoint + if client_id is None and not opts.urn: + raise TypeError("Missing required property 'client_id'") + __props__.__dict__["client_id"] = client_id + if client_secret is None and not opts.urn: + raise TypeError("Missing required property 'client_secret'") + __props__.__dict__["client_secret"] = None if client_secret is None else pulumi.Output.secret(client_secret) + if id_attribute is None and not opts.urn: + raise TypeError("Missing required property 'id_attribute'") + __props__.__dict__["id_attribute"] = id_attribute + if is_auto_creation is None and not opts.urn: + raise TypeError("Missing required property 'is_auto_creation'") + __props__.__dict__["is_auto_creation"] = is_auto_creation + if is_auto_update is None and not opts.urn: + raise TypeError("Missing required property 'is_auto_update'") + __props__.__dict__["is_auto_update"] = is_auto_update + if is_creation_allowed is None and not opts.urn: + raise TypeError("Missing required property 'is_creation_allowed'") + __props__.__dict__["is_creation_allowed"] = is_creation_allowed + if is_linking_allowed is None and not opts.urn: + raise TypeError("Missing required property 'is_linking_allowed'") + __props__.__dict__["is_linking_allowed"] = is_linking_allowed + __props__.__dict__["name"] = name + __props__.__dict__["scopes"] = scopes + if token_endpoint is None and not opts.urn: + raise TypeError("Missing required property 'token_endpoint'") + __props__.__dict__["token_endpoint"] = token_endpoint + if user_endpoint is None and not opts.urn: + raise TypeError("Missing required property 'user_endpoint'") + __props__.__dict__["user_endpoint"] = user_endpoint + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["clientSecret"]) + opts = pulumi.ResourceOptions.merge(opts, secret_opts) + super(IdpOauth, __self__).__init__( + 'zitadel:index/idpOauth:IdpOauth', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + authorization_endpoint: Optional[pulumi.Input[str]] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + id_attribute: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + token_endpoint: Optional[pulumi.Input[str]] = None, + user_endpoint: Optional[pulumi.Input[str]] = None) -> 'IdpOauth': + """ + Get an existing IdpOauth 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[str] authorization_endpoint: The authorization endpoint + :param pulumi.Input[str] client_id: client id generated by the identity provider + :param pulumi.Input[str] client_secret: client secret generated by the identity provider + :param pulumi.Input[str] id_attribute: The id attribute + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[Sequence[pulumi.Input[str]]] scopes: the scopes requested by ZITADEL during the request on the identity provider + :param pulumi.Input[str] token_endpoint: The token endpoint + :param pulumi.Input[str] user_endpoint: The user endpoint + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _IdpOauthState.__new__(_IdpOauthState) + + __props__.__dict__["authorization_endpoint"] = authorization_endpoint + __props__.__dict__["client_id"] = client_id + __props__.__dict__["client_secret"] = client_secret + __props__.__dict__["id_attribute"] = id_attribute + __props__.__dict__["is_auto_creation"] = is_auto_creation + __props__.__dict__["is_auto_update"] = is_auto_update + __props__.__dict__["is_creation_allowed"] = is_creation_allowed + __props__.__dict__["is_linking_allowed"] = is_linking_allowed + __props__.__dict__["name"] = name + __props__.__dict__["scopes"] = scopes + __props__.__dict__["token_endpoint"] = token_endpoint + __props__.__dict__["user_endpoint"] = user_endpoint + return IdpOauth(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="authorizationEndpoint") + def authorization_endpoint(self) -> pulumi.Output[str]: + """ + The authorization endpoint + """ + return pulumi.get(self, "authorization_endpoint") + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> pulumi.Output[str]: + """ + client id generated by the identity provider + """ + return pulumi.get(self, "client_id") + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> pulumi.Output[str]: + """ + client secret generated by the identity provider + """ + return pulumi.get(self, "client_secret") + + @property + @pulumi.getter(name="idAttribute") + def id_attribute(self) -> pulumi.Output[str]: + """ + The id attribute + """ + return pulumi.get(self, "id_attribute") + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> pulumi.Output[bool]: + """ + enable if a new account in ZITADEL should be created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> pulumi.Output[bool]: + """ + enable if a the ZITADEL account fields should be updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> pulumi.Output[bool]: + """ + enable if users should be able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> pulumi.Output[bool]: + """ + enable if users should be able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def scopes(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + the scopes requested by ZITADEL during the request on the identity provider + """ + return pulumi.get(self, "scopes") + + @property + @pulumi.getter(name="tokenEndpoint") + def token_endpoint(self) -> pulumi.Output[str]: + """ + The token endpoint + """ + return pulumi.get(self, "token_endpoint") + + @property + @pulumi.getter(name="userEndpoint") + def user_endpoint(self) -> pulumi.Output[str]: + """ + The user endpoint + """ + return pulumi.get(self, "user_endpoint") + diff --git a/sdk/python/scoretechnologies_zitadel/idp_saml.py b/sdk/python/scoretechnologies_zitadel/idp_saml.py new file mode 100644 index 0000000..0fd1faf --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/idp_saml.py @@ -0,0 +1,681 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['IdpSamlArgs', 'IdpSaml'] + +@pulumi.input_type +class IdpSamlArgs: + def __init__(__self__, *, + is_auto_creation: pulumi.Input[bool], + is_auto_update: pulumi.Input[bool], + is_creation_allowed: pulumi.Input[bool], + is_linking_allowed: pulumi.Input[bool], + metadata_xml: pulumi.Input[str], + binding: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + with_signed_request: Optional[pulumi.Input[bool]] = None): + """ + The set of arguments for constructing a IdpSaml resource. + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] metadata_xml: The metadata XML as plain string + :param pulumi.Input[str] binding: The binding, supported values: SAML*BINDING*UNSPECIFIED, SAML*BINDING*POST, SAML*BINDING*REDIRECT, SAML*BINDING*ARTIFACT + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[bool] with_signed_request: Whether the SAML IDP requires signed requests + """ + IdpSamlArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + is_auto_creation=is_auto_creation, + is_auto_update=is_auto_update, + is_creation_allowed=is_creation_allowed, + is_linking_allowed=is_linking_allowed, + metadata_xml=metadata_xml, + binding=binding, + name=name, + with_signed_request=with_signed_request, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + is_auto_creation: pulumi.Input[bool], + is_auto_update: pulumi.Input[bool], + is_creation_allowed: pulumi.Input[bool], + is_linking_allowed: pulumi.Input[bool], + metadata_xml: pulumi.Input[str], + binding: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + with_signed_request: Optional[pulumi.Input[bool]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'isAutoCreation' in kwargs: + is_auto_creation = kwargs['isAutoCreation'] + if 'isAutoUpdate' in kwargs: + is_auto_update = kwargs['isAutoUpdate'] + if 'isCreationAllowed' in kwargs: + is_creation_allowed = kwargs['isCreationAllowed'] + if 'isLinkingAllowed' in kwargs: + is_linking_allowed = kwargs['isLinkingAllowed'] + if 'metadataXml' in kwargs: + metadata_xml = kwargs['metadataXml'] + if 'withSignedRequest' in kwargs: + with_signed_request = kwargs['withSignedRequest'] + + _setter("is_auto_creation", is_auto_creation) + _setter("is_auto_update", is_auto_update) + _setter("is_creation_allowed", is_creation_allowed) + _setter("is_linking_allowed", is_linking_allowed) + _setter("metadata_xml", metadata_xml) + if binding is not None: + _setter("binding", binding) + if name is not None: + _setter("name", name) + if with_signed_request is not None: + _setter("with_signed_request", with_signed_request) + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> pulumi.Input[bool]: + """ + enable if a new account in ZITADEL should be created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @is_auto_creation.setter + def is_auto_creation(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_auto_creation", value) + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> pulumi.Input[bool]: + """ + enable if a the ZITADEL account fields should be updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @is_auto_update.setter + def is_auto_update(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_auto_update", value) + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> pulumi.Input[bool]: + """ + enable if users should be able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @is_creation_allowed.setter + def is_creation_allowed(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_creation_allowed", value) + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> pulumi.Input[bool]: + """ + enable if users should be able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @is_linking_allowed.setter + def is_linking_allowed(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_linking_allowed", value) + + @property + @pulumi.getter(name="metadataXml") + def metadata_xml(self) -> pulumi.Input[str]: + """ + The metadata XML as plain string + """ + return pulumi.get(self, "metadata_xml") + + @metadata_xml.setter + def metadata_xml(self, value: pulumi.Input[str]): + pulumi.set(self, "metadata_xml", value) + + @property + @pulumi.getter + def binding(self) -> Optional[pulumi.Input[str]]: + """ + The binding, supported values: SAML*BINDING*UNSPECIFIED, SAML*BINDING*POST, SAML*BINDING*REDIRECT, SAML*BINDING*ARTIFACT + """ + return pulumi.get(self, "binding") + + @binding.setter + def binding(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "binding", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="withSignedRequest") + def with_signed_request(self) -> Optional[pulumi.Input[bool]]: + """ + Whether the SAML IDP requires signed requests + """ + return pulumi.get(self, "with_signed_request") + + @with_signed_request.setter + def with_signed_request(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "with_signed_request", value) + + +@pulumi.input_type +class _IdpSamlState: + def __init__(__self__, *, + binding: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + metadata_xml: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + with_signed_request: Optional[pulumi.Input[bool]] = None): + """ + Input properties used for looking up and filtering IdpSaml resources. + :param pulumi.Input[str] binding: The binding, supported values: SAML*BINDING*UNSPECIFIED, SAML*BINDING*POST, SAML*BINDING*REDIRECT, SAML*BINDING*ARTIFACT + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] metadata_xml: The metadata XML as plain string + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[bool] with_signed_request: Whether the SAML IDP requires signed requests + """ + _IdpSamlState._configure( + lambda key, value: pulumi.set(__self__, key, value), + binding=binding, + is_auto_creation=is_auto_creation, + is_auto_update=is_auto_update, + is_creation_allowed=is_creation_allowed, + is_linking_allowed=is_linking_allowed, + metadata_xml=metadata_xml, + name=name, + with_signed_request=with_signed_request, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + binding: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + metadata_xml: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + with_signed_request: Optional[pulumi.Input[bool]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'isAutoCreation' in kwargs: + is_auto_creation = kwargs['isAutoCreation'] + if 'isAutoUpdate' in kwargs: + is_auto_update = kwargs['isAutoUpdate'] + if 'isCreationAllowed' in kwargs: + is_creation_allowed = kwargs['isCreationAllowed'] + if 'isLinkingAllowed' in kwargs: + is_linking_allowed = kwargs['isLinkingAllowed'] + if 'metadataXml' in kwargs: + metadata_xml = kwargs['metadataXml'] + if 'withSignedRequest' in kwargs: + with_signed_request = kwargs['withSignedRequest'] + + if binding is not None: + _setter("binding", binding) + if is_auto_creation is not None: + _setter("is_auto_creation", is_auto_creation) + if is_auto_update is not None: + _setter("is_auto_update", is_auto_update) + if is_creation_allowed is not None: + _setter("is_creation_allowed", is_creation_allowed) + if is_linking_allowed is not None: + _setter("is_linking_allowed", is_linking_allowed) + if metadata_xml is not None: + _setter("metadata_xml", metadata_xml) + if name is not None: + _setter("name", name) + if with_signed_request is not None: + _setter("with_signed_request", with_signed_request) + + @property + @pulumi.getter + def binding(self) -> Optional[pulumi.Input[str]]: + """ + The binding, supported values: SAML*BINDING*UNSPECIFIED, SAML*BINDING*POST, SAML*BINDING*REDIRECT, SAML*BINDING*ARTIFACT + """ + return pulumi.get(self, "binding") + + @binding.setter + def binding(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "binding", value) + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> Optional[pulumi.Input[bool]]: + """ + enable if a new account in ZITADEL should be created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @is_auto_creation.setter + def is_auto_creation(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_auto_creation", value) + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> Optional[pulumi.Input[bool]]: + """ + enable if a the ZITADEL account fields should be updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @is_auto_update.setter + def is_auto_update(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_auto_update", value) + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> Optional[pulumi.Input[bool]]: + """ + enable if users should be able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @is_creation_allowed.setter + def is_creation_allowed(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_creation_allowed", value) + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> Optional[pulumi.Input[bool]]: + """ + enable if users should be able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @is_linking_allowed.setter + def is_linking_allowed(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_linking_allowed", value) + + @property + @pulumi.getter(name="metadataXml") + def metadata_xml(self) -> Optional[pulumi.Input[str]]: + """ + The metadata XML as plain string + """ + return pulumi.get(self, "metadata_xml") + + @metadata_xml.setter + def metadata_xml(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "metadata_xml", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="withSignedRequest") + def with_signed_request(self) -> Optional[pulumi.Input[bool]]: + """ + Whether the SAML IDP requires signed requests + """ + return pulumi.get(self, "with_signed_request") + + @with_signed_request.setter + def with_signed_request(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "with_signed_request", value) + + +class IdpSaml(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + binding: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + metadata_xml: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + with_signed_request: Optional[pulumi.Input[bool]] = None, + __props__=None): + """ + Resource representing a SAML IDP on the instance. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.IdpSaml("default", + binding="SAML_BINDING_POST", + is_auto_creation=False, + is_auto_update=True, + is_creation_allowed=True, + is_linking_allowed=False, + metadata_xml=\"\"\" + + + + + + MIIC4jCCAcoCCQC33wnybT5QZDANBgkqhkiG9w0BAQsFADAyMQswCQYDVQQGEwJV + SzEPMA0GA1UECgwGQm94eUhRMRIwEAYDVQQDDAlNb2NrIFNBTUwwIBcNMjIwMjI4 + MjE0NjM4WhgPMzAyMTA3MDEyMTQ2MzhaMDIxCzAJBgNVBAYTAlVLMQ8wDQYDVQQK + DAZCb3h5SFExEjAQBgNVBAMMCU1vY2sgU0FNTDCCASIwDQYJKoZIhvcNAQEBBQAD + ggEPADCCAQoCggEBALGfYettMsct1T6tVUwTudNJH5Pnb9GGnkXi9Zw/e6x45DD0 + RuRONbFlJ2T4RjAE/uG+AjXxXQ8o2SZfb9+GgmCHuTJFNgHoZ1nFVXCmb/Hg8Hpd + 4vOAGXndixaReOiq3EH5XvpMjMkJ3+8+9VYMzMZOjkgQtAqO36eAFFfNKX7dTj3V + pwLkvz6/KFCq8OAwY+AUi4eZm5J57D31GzjHwfjH9WTeX0MyndmnNB1qV75qQR3b + 2/W5sGHRv+9AarggJkF+ptUkXoLtVA51wcfYm6hILptpde5FQC8RWY1YrswBWAEZ + NfyrR4JeSweElNHg4NVOs4TwGjOPwWGqzTfgTlECAwEAATANBgkqhkiG9w0BAQsF + AAOCAQEAAYRlYflSXAWoZpFfwNiCQVE5d9zZ0DPzNdWhAybXcTyMf0z5mDf6FWBW + 5Gyoi9u3EMEDnzLcJNkwJAAc39Apa4I2/tml+Jy29dk8bTyX6m93ngmCgdLh5Za4 + khuU3AM3L63g7VexCuO7kwkjh/+LqdcIXsVGO6XDfu2QOs1Xpe9zIzLpwm/RNYeX + UjbSj5ce/jekpAw7qyVVL4xOyh8AtUW1ek3wIw1MJvEgEPt0d16oshWJpoS1OT8L + r/22SvYEo3EmSGdTVGgk3x3s+A0qWAqTcyjr7Q4s/GKYRFfomGwz0TZ4Iw1ZN99M + m0eo2USlSRTVl7QHRTuiuSThHpLKQQ== + + + + urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress + + + + + + \"\"\", + with_signed_request=True) + ``` + ## Loading the XML Metadata + + If you don't want to pass the XML metadata inline, you have plenty of options. For example: + - local_file Data Source + - http Data Source + - terracurl_request Data Source + - ... + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/idpSaml:IdpSaml imported '123456789012345678' + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] binding: The binding, supported values: SAML*BINDING*UNSPECIFIED, SAML*BINDING*POST, SAML*BINDING*REDIRECT, SAML*BINDING*ARTIFACT + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] metadata_xml: The metadata XML as plain string + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[bool] with_signed_request: Whether the SAML IDP requires signed requests + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: IdpSamlArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource representing a SAML IDP on the instance. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.IdpSaml("default", + binding="SAML_BINDING_POST", + is_auto_creation=False, + is_auto_update=True, + is_creation_allowed=True, + is_linking_allowed=False, + metadata_xml=\"\"\" + + + + + + MIIC4jCCAcoCCQC33wnybT5QZDANBgkqhkiG9w0BAQsFADAyMQswCQYDVQQGEwJV + SzEPMA0GA1UECgwGQm94eUhRMRIwEAYDVQQDDAlNb2NrIFNBTUwwIBcNMjIwMjI4 + MjE0NjM4WhgPMzAyMTA3MDEyMTQ2MzhaMDIxCzAJBgNVBAYTAlVLMQ8wDQYDVQQK + DAZCb3h5SFExEjAQBgNVBAMMCU1vY2sgU0FNTDCCASIwDQYJKoZIhvcNAQEBBQAD + ggEPADCCAQoCggEBALGfYettMsct1T6tVUwTudNJH5Pnb9GGnkXi9Zw/e6x45DD0 + RuRONbFlJ2T4RjAE/uG+AjXxXQ8o2SZfb9+GgmCHuTJFNgHoZ1nFVXCmb/Hg8Hpd + 4vOAGXndixaReOiq3EH5XvpMjMkJ3+8+9VYMzMZOjkgQtAqO36eAFFfNKX7dTj3V + pwLkvz6/KFCq8OAwY+AUi4eZm5J57D31GzjHwfjH9WTeX0MyndmnNB1qV75qQR3b + 2/W5sGHRv+9AarggJkF+ptUkXoLtVA51wcfYm6hILptpde5FQC8RWY1YrswBWAEZ + NfyrR4JeSweElNHg4NVOs4TwGjOPwWGqzTfgTlECAwEAATANBgkqhkiG9w0BAQsF + AAOCAQEAAYRlYflSXAWoZpFfwNiCQVE5d9zZ0DPzNdWhAybXcTyMf0z5mDf6FWBW + 5Gyoi9u3EMEDnzLcJNkwJAAc39Apa4I2/tml+Jy29dk8bTyX6m93ngmCgdLh5Za4 + khuU3AM3L63g7VexCuO7kwkjh/+LqdcIXsVGO6XDfu2QOs1Xpe9zIzLpwm/RNYeX + UjbSj5ce/jekpAw7qyVVL4xOyh8AtUW1ek3wIw1MJvEgEPt0d16oshWJpoS1OT8L + r/22SvYEo3EmSGdTVGgk3x3s+A0qWAqTcyjr7Q4s/GKYRFfomGwz0TZ4Iw1ZN99M + m0eo2USlSRTVl7QHRTuiuSThHpLKQQ== + + + + urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress + + + + + + \"\"\", + with_signed_request=True) + ``` + ## Loading the XML Metadata + + If you don't want to pass the XML metadata inline, you have plenty of options. For example: + - local_file Data Source + - http Data Source + - terracurl_request Data Source + - ... + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/idpSaml:IdpSaml imported '123456789012345678' + ``` + + :param str resource_name: The name of the resource. + :param IdpSamlArgs 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(IdpSamlArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + IdpSamlArgs._configure(_setter, **kwargs) + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + binding: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + metadata_xml: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + with_signed_request: Optional[pulumi.Input[bool]] = 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__ = IdpSamlArgs.__new__(IdpSamlArgs) + + __props__.__dict__["binding"] = binding + if is_auto_creation is None and not opts.urn: + raise TypeError("Missing required property 'is_auto_creation'") + __props__.__dict__["is_auto_creation"] = is_auto_creation + if is_auto_update is None and not opts.urn: + raise TypeError("Missing required property 'is_auto_update'") + __props__.__dict__["is_auto_update"] = is_auto_update + if is_creation_allowed is None and not opts.urn: + raise TypeError("Missing required property 'is_creation_allowed'") + __props__.__dict__["is_creation_allowed"] = is_creation_allowed + if is_linking_allowed is None and not opts.urn: + raise TypeError("Missing required property 'is_linking_allowed'") + __props__.__dict__["is_linking_allowed"] = is_linking_allowed + if metadata_xml is None and not opts.urn: + raise TypeError("Missing required property 'metadata_xml'") + __props__.__dict__["metadata_xml"] = metadata_xml + __props__.__dict__["name"] = name + __props__.__dict__["with_signed_request"] = with_signed_request + super(IdpSaml, __self__).__init__( + 'zitadel:index/idpSaml:IdpSaml', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + binding: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + metadata_xml: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + with_signed_request: Optional[pulumi.Input[bool]] = None) -> 'IdpSaml': + """ + Get an existing IdpSaml 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[str] binding: The binding, supported values: SAML*BINDING*UNSPECIFIED, SAML*BINDING*POST, SAML*BINDING*REDIRECT, SAML*BINDING*ARTIFACT + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] metadata_xml: The metadata XML as plain string + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[bool] with_signed_request: Whether the SAML IDP requires signed requests + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _IdpSamlState.__new__(_IdpSamlState) + + __props__.__dict__["binding"] = binding + __props__.__dict__["is_auto_creation"] = is_auto_creation + __props__.__dict__["is_auto_update"] = is_auto_update + __props__.__dict__["is_creation_allowed"] = is_creation_allowed + __props__.__dict__["is_linking_allowed"] = is_linking_allowed + __props__.__dict__["metadata_xml"] = metadata_xml + __props__.__dict__["name"] = name + __props__.__dict__["with_signed_request"] = with_signed_request + return IdpSaml(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def binding(self) -> pulumi.Output[Optional[str]]: + """ + The binding, supported values: SAML*BINDING*UNSPECIFIED, SAML*BINDING*POST, SAML*BINDING*REDIRECT, SAML*BINDING*ARTIFACT + """ + return pulumi.get(self, "binding") + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> pulumi.Output[bool]: + """ + enable if a new account in ZITADEL should be created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> pulumi.Output[bool]: + """ + enable if a the ZITADEL account fields should be updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> pulumi.Output[bool]: + """ + enable if users should be able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> pulumi.Output[bool]: + """ + enable if users should be able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @property + @pulumi.getter(name="metadataXml") + def metadata_xml(self) -> pulumi.Output[str]: + """ + The metadata XML as plain string + """ + return pulumi.get(self, "metadata_xml") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="withSignedRequest") + def with_signed_request(self) -> pulumi.Output[Optional[bool]]: + """ + Whether the SAML IDP requires signed requests + """ + return pulumi.get(self, "with_signed_request") + diff --git a/sdk/python/scoretechnologies_zitadel/instance_member.py b/sdk/python/scoretechnologies_zitadel/instance_member.py new file mode 100644 index 0000000..0db34c2 --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/instance_member.py @@ -0,0 +1,266 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['InstanceMemberArgs', 'InstanceMember'] + +@pulumi.input_type +class InstanceMemberArgs: + def __init__(__self__, *, + roles: pulumi.Input[Sequence[pulumi.Input[str]]], + user_id: pulumi.Input[str]): + """ + The set of arguments for constructing a InstanceMember resource. + :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: List of roles granted, full list available here: https://zitadel.com/docs/guides/manage/console/managers#roles + :param pulumi.Input[str] user_id: ID of the user + """ + InstanceMemberArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + roles=roles, + user_id=user_id, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + roles: pulumi.Input[Sequence[pulumi.Input[str]]], + user_id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'userId' in kwargs: + user_id = kwargs['userId'] + + _setter("roles", roles) + _setter("user_id", user_id) + + @property + @pulumi.getter + def roles(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + List of roles granted, full list available here: https://zitadel.com/docs/guides/manage/console/managers#roles + """ + return pulumi.get(self, "roles") + + @roles.setter + def roles(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "roles", value) + + @property + @pulumi.getter(name="userId") + def user_id(self) -> pulumi.Input[str]: + """ + ID of the user + """ + return pulumi.get(self, "user_id") + + @user_id.setter + def user_id(self, value: pulumi.Input[str]): + pulumi.set(self, "user_id", value) + + +@pulumi.input_type +class _InstanceMemberState: + def __init__(__self__, *, + roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + user_id: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering InstanceMember resources. + :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: List of roles granted, full list available here: https://zitadel.com/docs/guides/manage/console/managers#roles + :param pulumi.Input[str] user_id: ID of the user + """ + _InstanceMemberState._configure( + lambda key, value: pulumi.set(__self__, key, value), + roles=roles, + user_id=user_id, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + user_id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'userId' in kwargs: + user_id = kwargs['userId'] + + if roles is not None: + _setter("roles", roles) + if user_id is not None: + _setter("user_id", user_id) + + @property + @pulumi.getter + def roles(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + List of roles granted, full list available here: https://zitadel.com/docs/guides/manage/console/managers#roles + """ + return pulumi.get(self, "roles") + + @roles.setter + def roles(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "roles", value) + + @property + @pulumi.getter(name="userId") + def user_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the user + """ + return pulumi.get(self, "user_id") + + @user_id.setter + def user_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "user_id", value) + + +class InstanceMember(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + user_id: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Resource representing the membership of a user on an instance, defined with the given role. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.InstanceMember("default", + user_id=data["zitadel_human_user"]["default"]["id"], + roles=["IAM_OWNER"]) + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/instanceMember:InstanceMember imported '123456789012345678' + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: List of roles granted, full list available here: https://zitadel.com/docs/guides/manage/console/managers#roles + :param pulumi.Input[str] user_id: ID of the user + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: InstanceMemberArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource representing the membership of a user on an instance, defined with the given role. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.InstanceMember("default", + user_id=data["zitadel_human_user"]["default"]["id"], + roles=["IAM_OWNER"]) + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/instanceMember:InstanceMember imported '123456789012345678' + ``` + + :param str resource_name: The name of the resource. + :param InstanceMemberArgs 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(InstanceMemberArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + InstanceMemberArgs._configure(_setter, **kwargs) + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + user_id: 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__ = InstanceMemberArgs.__new__(InstanceMemberArgs) + + if roles is None and not opts.urn: + raise TypeError("Missing required property 'roles'") + __props__.__dict__["roles"] = roles + if user_id is None and not opts.urn: + raise TypeError("Missing required property 'user_id'") + __props__.__dict__["user_id"] = user_id + super(InstanceMember, __self__).__init__( + 'zitadel:index/instanceMember:InstanceMember', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + user_id: Optional[pulumi.Input[str]] = None) -> 'InstanceMember': + """ + Get an existing InstanceMember 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[Sequence[pulumi.Input[str]]] roles: List of roles granted, full list available here: https://zitadel.com/docs/guides/manage/console/managers#roles + :param pulumi.Input[str] user_id: ID of the user + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _InstanceMemberState.__new__(_InstanceMemberState) + + __props__.__dict__["roles"] = roles + __props__.__dict__["user_id"] = user_id + return InstanceMember(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def roles(self) -> pulumi.Output[Sequence[str]]: + """ + List of roles granted, full list available here: https://zitadel.com/docs/guides/manage/console/managers#roles + """ + return pulumi.get(self, "roles") + + @property + @pulumi.getter(name="userId") + def user_id(self) -> pulumi.Output[str]: + """ + ID of the user + """ + return pulumi.get(self, "user_id") + diff --git a/sdk/python/scoretechnologies_zitadel/label_policy.py b/sdk/python/scoretechnologies_zitadel/label_policy.py new file mode 100644 index 0000000..66fbd7d --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/label_policy.py @@ -0,0 +1,1401 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['LabelPolicyArgs', 'LabelPolicy'] + +@pulumi.input_type +class LabelPolicyArgs: + def __init__(__self__, *, + background_color: pulumi.Input[str], + background_color_dark: pulumi.Input[str], + disable_watermark: pulumi.Input[bool], + font_color: pulumi.Input[str], + font_color_dark: pulumi.Input[str], + hide_login_name_suffix: pulumi.Input[bool], + primary_color: pulumi.Input[str], + primary_color_dark: pulumi.Input[str], + warn_color: pulumi.Input[str], + warn_color_dark: pulumi.Input[str], + font_hash: Optional[pulumi.Input[str]] = None, + font_path: Optional[pulumi.Input[str]] = None, + icon_dark_hash: Optional[pulumi.Input[str]] = None, + icon_dark_path: Optional[pulumi.Input[str]] = None, + icon_hash: Optional[pulumi.Input[str]] = None, + icon_path: Optional[pulumi.Input[str]] = None, + logo_dark_hash: Optional[pulumi.Input[str]] = None, + logo_dark_path: Optional[pulumi.Input[str]] = None, + logo_hash: Optional[pulumi.Input[str]] = None, + logo_path: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + set_active: Optional[pulumi.Input[bool]] = None, + theme_mode: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a LabelPolicy resource. + :param pulumi.Input[str] background_color: hex value for background color + :param pulumi.Input[str] background_color_dark: hex value for background color dark theme + :param pulumi.Input[bool] disable_watermark: disable watermark + :param pulumi.Input[str] font_color: hex value for font color + :param pulumi.Input[str] font_color_dark: hex value for font color dark theme + :param pulumi.Input[bool] hide_login_name_suffix: hides the org suffix on the login form if the scope "urn:zitadel:iam:org:domain:primary:{domainname}" is set. Details about this scope in https://zitadel.com/docs/apis/openidoauth/scopes#reserved-scopes + :param pulumi.Input[str] primary_color: hex value for primary color + :param pulumi.Input[str] primary_color_dark: hex value for primary color dark theme + :param pulumi.Input[str] warn_color: hex value for warn color + :param pulumi.Input[str] warn_color_dark: hex value for warn color dark theme + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[bool] set_active: set the label policy active after creating/updating + :param pulumi.Input[str] theme_mode: theme mode, supported values: THEME*MODE*UNSPECIFIED, THEME*MODE*AUTO, THEME*MODE*DARK, THEME*MODE*LIGHT + """ + LabelPolicyArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + background_color=background_color, + background_color_dark=background_color_dark, + disable_watermark=disable_watermark, + font_color=font_color, + font_color_dark=font_color_dark, + hide_login_name_suffix=hide_login_name_suffix, + primary_color=primary_color, + primary_color_dark=primary_color_dark, + warn_color=warn_color, + warn_color_dark=warn_color_dark, + font_hash=font_hash, + font_path=font_path, + icon_dark_hash=icon_dark_hash, + icon_dark_path=icon_dark_path, + icon_hash=icon_hash, + icon_path=icon_path, + logo_dark_hash=logo_dark_hash, + logo_dark_path=logo_dark_path, + logo_hash=logo_hash, + logo_path=logo_path, + org_id=org_id, + set_active=set_active, + theme_mode=theme_mode, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + background_color: pulumi.Input[str], + background_color_dark: pulumi.Input[str], + disable_watermark: pulumi.Input[bool], + font_color: pulumi.Input[str], + font_color_dark: pulumi.Input[str], + hide_login_name_suffix: pulumi.Input[bool], + primary_color: pulumi.Input[str], + primary_color_dark: pulumi.Input[str], + warn_color: pulumi.Input[str], + warn_color_dark: pulumi.Input[str], + font_hash: Optional[pulumi.Input[str]] = None, + font_path: Optional[pulumi.Input[str]] = None, + icon_dark_hash: Optional[pulumi.Input[str]] = None, + icon_dark_path: Optional[pulumi.Input[str]] = None, + icon_hash: Optional[pulumi.Input[str]] = None, + icon_path: Optional[pulumi.Input[str]] = None, + logo_dark_hash: Optional[pulumi.Input[str]] = None, + logo_dark_path: Optional[pulumi.Input[str]] = None, + logo_hash: Optional[pulumi.Input[str]] = None, + logo_path: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + set_active: Optional[pulumi.Input[bool]] = None, + theme_mode: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'backgroundColor' in kwargs: + background_color = kwargs['backgroundColor'] + if 'backgroundColorDark' in kwargs: + background_color_dark = kwargs['backgroundColorDark'] + if 'disableWatermark' in kwargs: + disable_watermark = kwargs['disableWatermark'] + if 'fontColor' in kwargs: + font_color = kwargs['fontColor'] + if 'fontColorDark' in kwargs: + font_color_dark = kwargs['fontColorDark'] + if 'hideLoginNameSuffix' in kwargs: + hide_login_name_suffix = kwargs['hideLoginNameSuffix'] + if 'primaryColor' in kwargs: + primary_color = kwargs['primaryColor'] + if 'primaryColorDark' in kwargs: + primary_color_dark = kwargs['primaryColorDark'] + if 'warnColor' in kwargs: + warn_color = kwargs['warnColor'] + if 'warnColorDark' in kwargs: + warn_color_dark = kwargs['warnColorDark'] + if 'fontHash' in kwargs: + font_hash = kwargs['fontHash'] + if 'fontPath' in kwargs: + font_path = kwargs['fontPath'] + if 'iconDarkHash' in kwargs: + icon_dark_hash = kwargs['iconDarkHash'] + if 'iconDarkPath' in kwargs: + icon_dark_path = kwargs['iconDarkPath'] + if 'iconHash' in kwargs: + icon_hash = kwargs['iconHash'] + if 'iconPath' in kwargs: + icon_path = kwargs['iconPath'] + if 'logoDarkHash' in kwargs: + logo_dark_hash = kwargs['logoDarkHash'] + if 'logoDarkPath' in kwargs: + logo_dark_path = kwargs['logoDarkPath'] + if 'logoHash' in kwargs: + logo_hash = kwargs['logoHash'] + if 'logoPath' in kwargs: + logo_path = kwargs['logoPath'] + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + if 'setActive' in kwargs: + set_active = kwargs['setActive'] + if 'themeMode' in kwargs: + theme_mode = kwargs['themeMode'] + + _setter("background_color", background_color) + _setter("background_color_dark", background_color_dark) + _setter("disable_watermark", disable_watermark) + _setter("font_color", font_color) + _setter("font_color_dark", font_color_dark) + _setter("hide_login_name_suffix", hide_login_name_suffix) + _setter("primary_color", primary_color) + _setter("primary_color_dark", primary_color_dark) + _setter("warn_color", warn_color) + _setter("warn_color_dark", warn_color_dark) + if font_hash is not None: + _setter("font_hash", font_hash) + if font_path is not None: + _setter("font_path", font_path) + if icon_dark_hash is not None: + _setter("icon_dark_hash", icon_dark_hash) + if icon_dark_path is not None: + _setter("icon_dark_path", icon_dark_path) + if icon_hash is not None: + _setter("icon_hash", icon_hash) + if icon_path is not None: + _setter("icon_path", icon_path) + if logo_dark_hash is not None: + _setter("logo_dark_hash", logo_dark_hash) + if logo_dark_path is not None: + _setter("logo_dark_path", logo_dark_path) + if logo_hash is not None: + _setter("logo_hash", logo_hash) + if logo_path is not None: + _setter("logo_path", logo_path) + if org_id is not None: + _setter("org_id", org_id) + if set_active is not None: + _setter("set_active", set_active) + if theme_mode is not None: + _setter("theme_mode", theme_mode) + + @property + @pulumi.getter(name="backgroundColor") + def background_color(self) -> pulumi.Input[str]: + """ + hex value for background color + """ + return pulumi.get(self, "background_color") + + @background_color.setter + def background_color(self, value: pulumi.Input[str]): + pulumi.set(self, "background_color", value) + + @property + @pulumi.getter(name="backgroundColorDark") + def background_color_dark(self) -> pulumi.Input[str]: + """ + hex value for background color dark theme + """ + return pulumi.get(self, "background_color_dark") + + @background_color_dark.setter + def background_color_dark(self, value: pulumi.Input[str]): + pulumi.set(self, "background_color_dark", value) + + @property + @pulumi.getter(name="disableWatermark") + def disable_watermark(self) -> pulumi.Input[bool]: + """ + disable watermark + """ + return pulumi.get(self, "disable_watermark") + + @disable_watermark.setter + def disable_watermark(self, value: pulumi.Input[bool]): + pulumi.set(self, "disable_watermark", value) + + @property + @pulumi.getter(name="fontColor") + def font_color(self) -> pulumi.Input[str]: + """ + hex value for font color + """ + return pulumi.get(self, "font_color") + + @font_color.setter + def font_color(self, value: pulumi.Input[str]): + pulumi.set(self, "font_color", value) + + @property + @pulumi.getter(name="fontColorDark") + def font_color_dark(self) -> pulumi.Input[str]: + """ + hex value for font color dark theme + """ + return pulumi.get(self, "font_color_dark") + + @font_color_dark.setter + def font_color_dark(self, value: pulumi.Input[str]): + pulumi.set(self, "font_color_dark", value) + + @property + @pulumi.getter(name="hideLoginNameSuffix") + def hide_login_name_suffix(self) -> pulumi.Input[bool]: + """ + hides the org suffix on the login form if the scope "urn:zitadel:iam:org:domain:primary:{domainname}" is set. Details about this scope in https://zitadel.com/docs/apis/openidoauth/scopes#reserved-scopes + """ + return pulumi.get(self, "hide_login_name_suffix") + + @hide_login_name_suffix.setter + def hide_login_name_suffix(self, value: pulumi.Input[bool]): + pulumi.set(self, "hide_login_name_suffix", value) + + @property + @pulumi.getter(name="primaryColor") + def primary_color(self) -> pulumi.Input[str]: + """ + hex value for primary color + """ + return pulumi.get(self, "primary_color") + + @primary_color.setter + def primary_color(self, value: pulumi.Input[str]): + pulumi.set(self, "primary_color", value) + + @property + @pulumi.getter(name="primaryColorDark") + def primary_color_dark(self) -> pulumi.Input[str]: + """ + hex value for primary color dark theme + """ + return pulumi.get(self, "primary_color_dark") + + @primary_color_dark.setter + def primary_color_dark(self, value: pulumi.Input[str]): + pulumi.set(self, "primary_color_dark", value) + + @property + @pulumi.getter(name="warnColor") + def warn_color(self) -> pulumi.Input[str]: + """ + hex value for warn color + """ + return pulumi.get(self, "warn_color") + + @warn_color.setter + def warn_color(self, value: pulumi.Input[str]): + pulumi.set(self, "warn_color", value) + + @property + @pulumi.getter(name="warnColorDark") + def warn_color_dark(self) -> pulumi.Input[str]: + """ + hex value for warn color dark theme + """ + return pulumi.get(self, "warn_color_dark") + + @warn_color_dark.setter + def warn_color_dark(self, value: pulumi.Input[str]): + pulumi.set(self, "warn_color_dark", value) + + @property + @pulumi.getter(name="fontHash") + def font_hash(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "font_hash") + + @font_hash.setter + def font_hash(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "font_hash", value) + + @property + @pulumi.getter(name="fontPath") + def font_path(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "font_path") + + @font_path.setter + def font_path(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "font_path", value) + + @property + @pulumi.getter(name="iconDarkHash") + def icon_dark_hash(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "icon_dark_hash") + + @icon_dark_hash.setter + def icon_dark_hash(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "icon_dark_hash", value) + + @property + @pulumi.getter(name="iconDarkPath") + def icon_dark_path(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "icon_dark_path") + + @icon_dark_path.setter + def icon_dark_path(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "icon_dark_path", value) + + @property + @pulumi.getter(name="iconHash") + def icon_hash(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "icon_hash") + + @icon_hash.setter + def icon_hash(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "icon_hash", value) + + @property + @pulumi.getter(name="iconPath") + def icon_path(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "icon_path") + + @icon_path.setter + def icon_path(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "icon_path", value) + + @property + @pulumi.getter(name="logoDarkHash") + def logo_dark_hash(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "logo_dark_hash") + + @logo_dark_hash.setter + def logo_dark_hash(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "logo_dark_hash", value) + + @property + @pulumi.getter(name="logoDarkPath") + def logo_dark_path(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "logo_dark_path") + + @logo_dark_path.setter + def logo_dark_path(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "logo_dark_path", value) + + @property + @pulumi.getter(name="logoHash") + def logo_hash(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "logo_hash") + + @logo_hash.setter + def logo_hash(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "logo_hash", value) + + @property + @pulumi.getter(name="logoPath") + def logo_path(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "logo_path") + + @logo_path.setter + def logo_path(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "logo_path", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + @property + @pulumi.getter(name="setActive") + def set_active(self) -> Optional[pulumi.Input[bool]]: + """ + set the label policy active after creating/updating + """ + return pulumi.get(self, "set_active") + + @set_active.setter + def set_active(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "set_active", value) + + @property + @pulumi.getter(name="themeMode") + def theme_mode(self) -> Optional[pulumi.Input[str]]: + """ + theme mode, supported values: THEME*MODE*UNSPECIFIED, THEME*MODE*AUTO, THEME*MODE*DARK, THEME*MODE*LIGHT + """ + return pulumi.get(self, "theme_mode") + + @theme_mode.setter + def theme_mode(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "theme_mode", value) + + +@pulumi.input_type +class _LabelPolicyState: + def __init__(__self__, *, + background_color: Optional[pulumi.Input[str]] = None, + background_color_dark: Optional[pulumi.Input[str]] = None, + disable_watermark: Optional[pulumi.Input[bool]] = None, + font_color: Optional[pulumi.Input[str]] = None, + font_color_dark: Optional[pulumi.Input[str]] = None, + font_hash: Optional[pulumi.Input[str]] = None, + font_path: Optional[pulumi.Input[str]] = None, + font_url: Optional[pulumi.Input[str]] = None, + hide_login_name_suffix: Optional[pulumi.Input[bool]] = None, + icon_dark_hash: Optional[pulumi.Input[str]] = None, + icon_dark_path: Optional[pulumi.Input[str]] = None, + icon_hash: Optional[pulumi.Input[str]] = None, + icon_path: Optional[pulumi.Input[str]] = None, + icon_url: Optional[pulumi.Input[str]] = None, + icon_url_dark: Optional[pulumi.Input[str]] = None, + logo_dark_hash: Optional[pulumi.Input[str]] = None, + logo_dark_path: Optional[pulumi.Input[str]] = None, + logo_hash: Optional[pulumi.Input[str]] = None, + logo_path: Optional[pulumi.Input[str]] = None, + logo_url: Optional[pulumi.Input[str]] = None, + logo_url_dark: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + primary_color: Optional[pulumi.Input[str]] = None, + primary_color_dark: Optional[pulumi.Input[str]] = None, + set_active: Optional[pulumi.Input[bool]] = None, + theme_mode: Optional[pulumi.Input[str]] = None, + warn_color: Optional[pulumi.Input[str]] = None, + warn_color_dark: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering LabelPolicy resources. + :param pulumi.Input[str] background_color: hex value for background color + :param pulumi.Input[str] background_color_dark: hex value for background color dark theme + :param pulumi.Input[bool] disable_watermark: disable watermark + :param pulumi.Input[str] font_color: hex value for font color + :param pulumi.Input[str] font_color_dark: hex value for font color dark theme + :param pulumi.Input[bool] hide_login_name_suffix: hides the org suffix on the login form if the scope "urn:zitadel:iam:org:domain:primary:{domainname}" is set. Details about this scope in https://zitadel.com/docs/apis/openidoauth/scopes#reserved-scopes + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[str] primary_color: hex value for primary color + :param pulumi.Input[str] primary_color_dark: hex value for primary color dark theme + :param pulumi.Input[bool] set_active: set the label policy active after creating/updating + :param pulumi.Input[str] theme_mode: theme mode, supported values: THEME*MODE*UNSPECIFIED, THEME*MODE*AUTO, THEME*MODE*DARK, THEME*MODE*LIGHT + :param pulumi.Input[str] warn_color: hex value for warn color + :param pulumi.Input[str] warn_color_dark: hex value for warn color dark theme + """ + _LabelPolicyState._configure( + lambda key, value: pulumi.set(__self__, key, value), + background_color=background_color, + background_color_dark=background_color_dark, + disable_watermark=disable_watermark, + font_color=font_color, + font_color_dark=font_color_dark, + font_hash=font_hash, + font_path=font_path, + font_url=font_url, + hide_login_name_suffix=hide_login_name_suffix, + icon_dark_hash=icon_dark_hash, + icon_dark_path=icon_dark_path, + icon_hash=icon_hash, + icon_path=icon_path, + icon_url=icon_url, + icon_url_dark=icon_url_dark, + logo_dark_hash=logo_dark_hash, + logo_dark_path=logo_dark_path, + logo_hash=logo_hash, + logo_path=logo_path, + logo_url=logo_url, + logo_url_dark=logo_url_dark, + org_id=org_id, + primary_color=primary_color, + primary_color_dark=primary_color_dark, + set_active=set_active, + theme_mode=theme_mode, + warn_color=warn_color, + warn_color_dark=warn_color_dark, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + background_color: Optional[pulumi.Input[str]] = None, + background_color_dark: Optional[pulumi.Input[str]] = None, + disable_watermark: Optional[pulumi.Input[bool]] = None, + font_color: Optional[pulumi.Input[str]] = None, + font_color_dark: Optional[pulumi.Input[str]] = None, + font_hash: Optional[pulumi.Input[str]] = None, + font_path: Optional[pulumi.Input[str]] = None, + font_url: Optional[pulumi.Input[str]] = None, + hide_login_name_suffix: Optional[pulumi.Input[bool]] = None, + icon_dark_hash: Optional[pulumi.Input[str]] = None, + icon_dark_path: Optional[pulumi.Input[str]] = None, + icon_hash: Optional[pulumi.Input[str]] = None, + icon_path: Optional[pulumi.Input[str]] = None, + icon_url: Optional[pulumi.Input[str]] = None, + icon_url_dark: Optional[pulumi.Input[str]] = None, + logo_dark_hash: Optional[pulumi.Input[str]] = None, + logo_dark_path: Optional[pulumi.Input[str]] = None, + logo_hash: Optional[pulumi.Input[str]] = None, + logo_path: Optional[pulumi.Input[str]] = None, + logo_url: Optional[pulumi.Input[str]] = None, + logo_url_dark: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + primary_color: Optional[pulumi.Input[str]] = None, + primary_color_dark: Optional[pulumi.Input[str]] = None, + set_active: Optional[pulumi.Input[bool]] = None, + theme_mode: Optional[pulumi.Input[str]] = None, + warn_color: Optional[pulumi.Input[str]] = None, + warn_color_dark: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'backgroundColor' in kwargs: + background_color = kwargs['backgroundColor'] + if 'backgroundColorDark' in kwargs: + background_color_dark = kwargs['backgroundColorDark'] + if 'disableWatermark' in kwargs: + disable_watermark = kwargs['disableWatermark'] + if 'fontColor' in kwargs: + font_color = kwargs['fontColor'] + if 'fontColorDark' in kwargs: + font_color_dark = kwargs['fontColorDark'] + if 'fontHash' in kwargs: + font_hash = kwargs['fontHash'] + if 'fontPath' in kwargs: + font_path = kwargs['fontPath'] + if 'fontUrl' in kwargs: + font_url = kwargs['fontUrl'] + if 'hideLoginNameSuffix' in kwargs: + hide_login_name_suffix = kwargs['hideLoginNameSuffix'] + if 'iconDarkHash' in kwargs: + icon_dark_hash = kwargs['iconDarkHash'] + if 'iconDarkPath' in kwargs: + icon_dark_path = kwargs['iconDarkPath'] + if 'iconHash' in kwargs: + icon_hash = kwargs['iconHash'] + if 'iconPath' in kwargs: + icon_path = kwargs['iconPath'] + if 'iconUrl' in kwargs: + icon_url = kwargs['iconUrl'] + if 'iconUrlDark' in kwargs: + icon_url_dark = kwargs['iconUrlDark'] + if 'logoDarkHash' in kwargs: + logo_dark_hash = kwargs['logoDarkHash'] + if 'logoDarkPath' in kwargs: + logo_dark_path = kwargs['logoDarkPath'] + if 'logoHash' in kwargs: + logo_hash = kwargs['logoHash'] + if 'logoPath' in kwargs: + logo_path = kwargs['logoPath'] + if 'logoUrl' in kwargs: + logo_url = kwargs['logoUrl'] + if 'logoUrlDark' in kwargs: + logo_url_dark = kwargs['logoUrlDark'] + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + if 'primaryColor' in kwargs: + primary_color = kwargs['primaryColor'] + if 'primaryColorDark' in kwargs: + primary_color_dark = kwargs['primaryColorDark'] + if 'setActive' in kwargs: + set_active = kwargs['setActive'] + if 'themeMode' in kwargs: + theme_mode = kwargs['themeMode'] + if 'warnColor' in kwargs: + warn_color = kwargs['warnColor'] + if 'warnColorDark' in kwargs: + warn_color_dark = kwargs['warnColorDark'] + + if background_color is not None: + _setter("background_color", background_color) + if background_color_dark is not None: + _setter("background_color_dark", background_color_dark) + if disable_watermark is not None: + _setter("disable_watermark", disable_watermark) + if font_color is not None: + _setter("font_color", font_color) + if font_color_dark is not None: + _setter("font_color_dark", font_color_dark) + if font_hash is not None: + _setter("font_hash", font_hash) + if font_path is not None: + _setter("font_path", font_path) + if font_url is not None: + _setter("font_url", font_url) + if hide_login_name_suffix is not None: + _setter("hide_login_name_suffix", hide_login_name_suffix) + if icon_dark_hash is not None: + _setter("icon_dark_hash", icon_dark_hash) + if icon_dark_path is not None: + _setter("icon_dark_path", icon_dark_path) + if icon_hash is not None: + _setter("icon_hash", icon_hash) + if icon_path is not None: + _setter("icon_path", icon_path) + if icon_url is not None: + _setter("icon_url", icon_url) + if icon_url_dark is not None: + _setter("icon_url_dark", icon_url_dark) + if logo_dark_hash is not None: + _setter("logo_dark_hash", logo_dark_hash) + if logo_dark_path is not None: + _setter("logo_dark_path", logo_dark_path) + if logo_hash is not None: + _setter("logo_hash", logo_hash) + if logo_path is not None: + _setter("logo_path", logo_path) + if logo_url is not None: + _setter("logo_url", logo_url) + if logo_url_dark is not None: + _setter("logo_url_dark", logo_url_dark) + if org_id is not None: + _setter("org_id", org_id) + if primary_color is not None: + _setter("primary_color", primary_color) + if primary_color_dark is not None: + _setter("primary_color_dark", primary_color_dark) + if set_active is not None: + _setter("set_active", set_active) + if theme_mode is not None: + _setter("theme_mode", theme_mode) + if warn_color is not None: + _setter("warn_color", warn_color) + if warn_color_dark is not None: + _setter("warn_color_dark", warn_color_dark) + + @property + @pulumi.getter(name="backgroundColor") + def background_color(self) -> Optional[pulumi.Input[str]]: + """ + hex value for background color + """ + return pulumi.get(self, "background_color") + + @background_color.setter + def background_color(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "background_color", value) + + @property + @pulumi.getter(name="backgroundColorDark") + def background_color_dark(self) -> Optional[pulumi.Input[str]]: + """ + hex value for background color dark theme + """ + return pulumi.get(self, "background_color_dark") + + @background_color_dark.setter + def background_color_dark(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "background_color_dark", value) + + @property + @pulumi.getter(name="disableWatermark") + def disable_watermark(self) -> Optional[pulumi.Input[bool]]: + """ + disable watermark + """ + return pulumi.get(self, "disable_watermark") + + @disable_watermark.setter + def disable_watermark(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "disable_watermark", value) + + @property + @pulumi.getter(name="fontColor") + def font_color(self) -> Optional[pulumi.Input[str]]: + """ + hex value for font color + """ + return pulumi.get(self, "font_color") + + @font_color.setter + def font_color(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "font_color", value) + + @property + @pulumi.getter(name="fontColorDark") + def font_color_dark(self) -> Optional[pulumi.Input[str]]: + """ + hex value for font color dark theme + """ + return pulumi.get(self, "font_color_dark") + + @font_color_dark.setter + def font_color_dark(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "font_color_dark", value) + + @property + @pulumi.getter(name="fontHash") + def font_hash(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "font_hash") + + @font_hash.setter + def font_hash(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "font_hash", value) + + @property + @pulumi.getter(name="fontPath") + def font_path(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "font_path") + + @font_path.setter + def font_path(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "font_path", value) + + @property + @pulumi.getter(name="fontUrl") + def font_url(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "font_url") + + @font_url.setter + def font_url(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "font_url", value) + + @property + @pulumi.getter(name="hideLoginNameSuffix") + def hide_login_name_suffix(self) -> Optional[pulumi.Input[bool]]: + """ + hides the org suffix on the login form if the scope "urn:zitadel:iam:org:domain:primary:{domainname}" is set. Details about this scope in https://zitadel.com/docs/apis/openidoauth/scopes#reserved-scopes + """ + return pulumi.get(self, "hide_login_name_suffix") + + @hide_login_name_suffix.setter + def hide_login_name_suffix(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "hide_login_name_suffix", value) + + @property + @pulumi.getter(name="iconDarkHash") + def icon_dark_hash(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "icon_dark_hash") + + @icon_dark_hash.setter + def icon_dark_hash(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "icon_dark_hash", value) + + @property + @pulumi.getter(name="iconDarkPath") + def icon_dark_path(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "icon_dark_path") + + @icon_dark_path.setter + def icon_dark_path(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "icon_dark_path", value) + + @property + @pulumi.getter(name="iconHash") + def icon_hash(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "icon_hash") + + @icon_hash.setter + def icon_hash(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "icon_hash", value) + + @property + @pulumi.getter(name="iconPath") + def icon_path(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "icon_path") + + @icon_path.setter + def icon_path(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "icon_path", value) + + @property + @pulumi.getter(name="iconUrl") + def icon_url(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "icon_url") + + @icon_url.setter + def icon_url(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "icon_url", value) + + @property + @pulumi.getter(name="iconUrlDark") + def icon_url_dark(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "icon_url_dark") + + @icon_url_dark.setter + def icon_url_dark(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "icon_url_dark", value) + + @property + @pulumi.getter(name="logoDarkHash") + def logo_dark_hash(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "logo_dark_hash") + + @logo_dark_hash.setter + def logo_dark_hash(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "logo_dark_hash", value) + + @property + @pulumi.getter(name="logoDarkPath") + def logo_dark_path(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "logo_dark_path") + + @logo_dark_path.setter + def logo_dark_path(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "logo_dark_path", value) + + @property + @pulumi.getter(name="logoHash") + def logo_hash(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "logo_hash") + + @logo_hash.setter + def logo_hash(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "logo_hash", value) + + @property + @pulumi.getter(name="logoPath") + def logo_path(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "logo_path") + + @logo_path.setter + def logo_path(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "logo_path", value) + + @property + @pulumi.getter(name="logoUrl") + def logo_url(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "logo_url") + + @logo_url.setter + def logo_url(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "logo_url", value) + + @property + @pulumi.getter(name="logoUrlDark") + def logo_url_dark(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "logo_url_dark") + + @logo_url_dark.setter + def logo_url_dark(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "logo_url_dark", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + @property + @pulumi.getter(name="primaryColor") + def primary_color(self) -> Optional[pulumi.Input[str]]: + """ + hex value for primary color + """ + return pulumi.get(self, "primary_color") + + @primary_color.setter + def primary_color(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "primary_color", value) + + @property + @pulumi.getter(name="primaryColorDark") + def primary_color_dark(self) -> Optional[pulumi.Input[str]]: + """ + hex value for primary color dark theme + """ + return pulumi.get(self, "primary_color_dark") + + @primary_color_dark.setter + def primary_color_dark(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "primary_color_dark", value) + + @property + @pulumi.getter(name="setActive") + def set_active(self) -> Optional[pulumi.Input[bool]]: + """ + set the label policy active after creating/updating + """ + return pulumi.get(self, "set_active") + + @set_active.setter + def set_active(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "set_active", value) + + @property + @pulumi.getter(name="themeMode") + def theme_mode(self) -> Optional[pulumi.Input[str]]: + """ + theme mode, supported values: THEME*MODE*UNSPECIFIED, THEME*MODE*AUTO, THEME*MODE*DARK, THEME*MODE*LIGHT + """ + return pulumi.get(self, "theme_mode") + + @theme_mode.setter + def theme_mode(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "theme_mode", value) + + @property + @pulumi.getter(name="warnColor") + def warn_color(self) -> Optional[pulumi.Input[str]]: + """ + hex value for warn color + """ + return pulumi.get(self, "warn_color") + + @warn_color.setter + def warn_color(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "warn_color", value) + + @property + @pulumi.getter(name="warnColorDark") + def warn_color_dark(self) -> Optional[pulumi.Input[str]]: + """ + hex value for warn color dark theme + """ + return pulumi.get(self, "warn_color_dark") + + @warn_color_dark.setter + def warn_color_dark(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "warn_color_dark", value) + + +class LabelPolicy(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + background_color: Optional[pulumi.Input[str]] = None, + background_color_dark: Optional[pulumi.Input[str]] = None, + disable_watermark: Optional[pulumi.Input[bool]] = None, + font_color: Optional[pulumi.Input[str]] = None, + font_color_dark: Optional[pulumi.Input[str]] = None, + font_hash: Optional[pulumi.Input[str]] = None, + font_path: Optional[pulumi.Input[str]] = None, + hide_login_name_suffix: Optional[pulumi.Input[bool]] = None, + icon_dark_hash: Optional[pulumi.Input[str]] = None, + icon_dark_path: Optional[pulumi.Input[str]] = None, + icon_hash: Optional[pulumi.Input[str]] = None, + icon_path: Optional[pulumi.Input[str]] = None, + logo_dark_hash: Optional[pulumi.Input[str]] = None, + logo_dark_path: Optional[pulumi.Input[str]] = None, + logo_hash: Optional[pulumi.Input[str]] = None, + logo_path: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + primary_color: Optional[pulumi.Input[str]] = None, + primary_color_dark: Optional[pulumi.Input[str]] = None, + set_active: Optional[pulumi.Input[bool]] = None, + theme_mode: Optional[pulumi.Input[str]] = None, + warn_color: Optional[pulumi.Input[str]] = None, + warn_color_dark: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Resource representing the custom label policy of an organization. + + ## Import + + bash The resource can be imported using the ID format `<[org_id]>`, e.g. + + ```sh + $ pulumi import zitadel:index/labelPolicy:LabelPolicy imported '123456789012345678' + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] background_color: hex value for background color + :param pulumi.Input[str] background_color_dark: hex value for background color dark theme + :param pulumi.Input[bool] disable_watermark: disable watermark + :param pulumi.Input[str] font_color: hex value for font color + :param pulumi.Input[str] font_color_dark: hex value for font color dark theme + :param pulumi.Input[bool] hide_login_name_suffix: hides the org suffix on the login form if the scope "urn:zitadel:iam:org:domain:primary:{domainname}" is set. Details about this scope in https://zitadel.com/docs/apis/openidoauth/scopes#reserved-scopes + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[str] primary_color: hex value for primary color + :param pulumi.Input[str] primary_color_dark: hex value for primary color dark theme + :param pulumi.Input[bool] set_active: set the label policy active after creating/updating + :param pulumi.Input[str] theme_mode: theme mode, supported values: THEME*MODE*UNSPECIFIED, THEME*MODE*AUTO, THEME*MODE*DARK, THEME*MODE*LIGHT + :param pulumi.Input[str] warn_color: hex value for warn color + :param pulumi.Input[str] warn_color_dark: hex value for warn color dark theme + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: LabelPolicyArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource representing the custom label policy of an organization. + + ## Import + + bash The resource can be imported using the ID format `<[org_id]>`, e.g. + + ```sh + $ pulumi import zitadel:index/labelPolicy:LabelPolicy imported '123456789012345678' + ``` + + :param str resource_name: The name of the resource. + :param LabelPolicyArgs 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(LabelPolicyArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + LabelPolicyArgs._configure(_setter, **kwargs) + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + background_color: Optional[pulumi.Input[str]] = None, + background_color_dark: Optional[pulumi.Input[str]] = None, + disable_watermark: Optional[pulumi.Input[bool]] = None, + font_color: Optional[pulumi.Input[str]] = None, + font_color_dark: Optional[pulumi.Input[str]] = None, + font_hash: Optional[pulumi.Input[str]] = None, + font_path: Optional[pulumi.Input[str]] = None, + hide_login_name_suffix: Optional[pulumi.Input[bool]] = None, + icon_dark_hash: Optional[pulumi.Input[str]] = None, + icon_dark_path: Optional[pulumi.Input[str]] = None, + icon_hash: Optional[pulumi.Input[str]] = None, + icon_path: Optional[pulumi.Input[str]] = None, + logo_dark_hash: Optional[pulumi.Input[str]] = None, + logo_dark_path: Optional[pulumi.Input[str]] = None, + logo_hash: Optional[pulumi.Input[str]] = None, + logo_path: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + primary_color: Optional[pulumi.Input[str]] = None, + primary_color_dark: Optional[pulumi.Input[str]] = None, + set_active: Optional[pulumi.Input[bool]] = None, + theme_mode: Optional[pulumi.Input[str]] = None, + warn_color: Optional[pulumi.Input[str]] = None, + warn_color_dark: 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__ = LabelPolicyArgs.__new__(LabelPolicyArgs) + + if background_color is None and not opts.urn: + raise TypeError("Missing required property 'background_color'") + __props__.__dict__["background_color"] = background_color + if background_color_dark is None and not opts.urn: + raise TypeError("Missing required property 'background_color_dark'") + __props__.__dict__["background_color_dark"] = background_color_dark + if disable_watermark is None and not opts.urn: + raise TypeError("Missing required property 'disable_watermark'") + __props__.__dict__["disable_watermark"] = disable_watermark + if font_color is None and not opts.urn: + raise TypeError("Missing required property 'font_color'") + __props__.__dict__["font_color"] = font_color + if font_color_dark is None and not opts.urn: + raise TypeError("Missing required property 'font_color_dark'") + __props__.__dict__["font_color_dark"] = font_color_dark + __props__.__dict__["font_hash"] = font_hash + __props__.__dict__["font_path"] = font_path + if hide_login_name_suffix is None and not opts.urn: + raise TypeError("Missing required property 'hide_login_name_suffix'") + __props__.__dict__["hide_login_name_suffix"] = hide_login_name_suffix + __props__.__dict__["icon_dark_hash"] = icon_dark_hash + __props__.__dict__["icon_dark_path"] = icon_dark_path + __props__.__dict__["icon_hash"] = icon_hash + __props__.__dict__["icon_path"] = icon_path + __props__.__dict__["logo_dark_hash"] = logo_dark_hash + __props__.__dict__["logo_dark_path"] = logo_dark_path + __props__.__dict__["logo_hash"] = logo_hash + __props__.__dict__["logo_path"] = logo_path + __props__.__dict__["org_id"] = org_id + if primary_color is None and not opts.urn: + raise TypeError("Missing required property 'primary_color'") + __props__.__dict__["primary_color"] = primary_color + if primary_color_dark is None and not opts.urn: + raise TypeError("Missing required property 'primary_color_dark'") + __props__.__dict__["primary_color_dark"] = primary_color_dark + __props__.__dict__["set_active"] = set_active + __props__.__dict__["theme_mode"] = theme_mode + if warn_color is None and not opts.urn: + raise TypeError("Missing required property 'warn_color'") + __props__.__dict__["warn_color"] = warn_color + if warn_color_dark is None and not opts.urn: + raise TypeError("Missing required property 'warn_color_dark'") + __props__.__dict__["warn_color_dark"] = warn_color_dark + __props__.__dict__["font_url"] = None + __props__.__dict__["icon_url"] = None + __props__.__dict__["icon_url_dark"] = None + __props__.__dict__["logo_url"] = None + __props__.__dict__["logo_url_dark"] = None + super(LabelPolicy, __self__).__init__( + 'zitadel:index/labelPolicy:LabelPolicy', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + background_color: Optional[pulumi.Input[str]] = None, + background_color_dark: Optional[pulumi.Input[str]] = None, + disable_watermark: Optional[pulumi.Input[bool]] = None, + font_color: Optional[pulumi.Input[str]] = None, + font_color_dark: Optional[pulumi.Input[str]] = None, + font_hash: Optional[pulumi.Input[str]] = None, + font_path: Optional[pulumi.Input[str]] = None, + font_url: Optional[pulumi.Input[str]] = None, + hide_login_name_suffix: Optional[pulumi.Input[bool]] = None, + icon_dark_hash: Optional[pulumi.Input[str]] = None, + icon_dark_path: Optional[pulumi.Input[str]] = None, + icon_hash: Optional[pulumi.Input[str]] = None, + icon_path: Optional[pulumi.Input[str]] = None, + icon_url: Optional[pulumi.Input[str]] = None, + icon_url_dark: Optional[pulumi.Input[str]] = None, + logo_dark_hash: Optional[pulumi.Input[str]] = None, + logo_dark_path: Optional[pulumi.Input[str]] = None, + logo_hash: Optional[pulumi.Input[str]] = None, + logo_path: Optional[pulumi.Input[str]] = None, + logo_url: Optional[pulumi.Input[str]] = None, + logo_url_dark: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + primary_color: Optional[pulumi.Input[str]] = None, + primary_color_dark: Optional[pulumi.Input[str]] = None, + set_active: Optional[pulumi.Input[bool]] = None, + theme_mode: Optional[pulumi.Input[str]] = None, + warn_color: Optional[pulumi.Input[str]] = None, + warn_color_dark: Optional[pulumi.Input[str]] = None) -> 'LabelPolicy': + """ + Get an existing LabelPolicy 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[str] background_color: hex value for background color + :param pulumi.Input[str] background_color_dark: hex value for background color dark theme + :param pulumi.Input[bool] disable_watermark: disable watermark + :param pulumi.Input[str] font_color: hex value for font color + :param pulumi.Input[str] font_color_dark: hex value for font color dark theme + :param pulumi.Input[bool] hide_login_name_suffix: hides the org suffix on the login form if the scope "urn:zitadel:iam:org:domain:primary:{domainname}" is set. Details about this scope in https://zitadel.com/docs/apis/openidoauth/scopes#reserved-scopes + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[str] primary_color: hex value for primary color + :param pulumi.Input[str] primary_color_dark: hex value for primary color dark theme + :param pulumi.Input[bool] set_active: set the label policy active after creating/updating + :param pulumi.Input[str] theme_mode: theme mode, supported values: THEME*MODE*UNSPECIFIED, THEME*MODE*AUTO, THEME*MODE*DARK, THEME*MODE*LIGHT + :param pulumi.Input[str] warn_color: hex value for warn color + :param pulumi.Input[str] warn_color_dark: hex value for warn color dark theme + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _LabelPolicyState.__new__(_LabelPolicyState) + + __props__.__dict__["background_color"] = background_color + __props__.__dict__["background_color_dark"] = background_color_dark + __props__.__dict__["disable_watermark"] = disable_watermark + __props__.__dict__["font_color"] = font_color + __props__.__dict__["font_color_dark"] = font_color_dark + __props__.__dict__["font_hash"] = font_hash + __props__.__dict__["font_path"] = font_path + __props__.__dict__["font_url"] = font_url + __props__.__dict__["hide_login_name_suffix"] = hide_login_name_suffix + __props__.__dict__["icon_dark_hash"] = icon_dark_hash + __props__.__dict__["icon_dark_path"] = icon_dark_path + __props__.__dict__["icon_hash"] = icon_hash + __props__.__dict__["icon_path"] = icon_path + __props__.__dict__["icon_url"] = icon_url + __props__.__dict__["icon_url_dark"] = icon_url_dark + __props__.__dict__["logo_dark_hash"] = logo_dark_hash + __props__.__dict__["logo_dark_path"] = logo_dark_path + __props__.__dict__["logo_hash"] = logo_hash + __props__.__dict__["logo_path"] = logo_path + __props__.__dict__["logo_url"] = logo_url + __props__.__dict__["logo_url_dark"] = logo_url_dark + __props__.__dict__["org_id"] = org_id + __props__.__dict__["primary_color"] = primary_color + __props__.__dict__["primary_color_dark"] = primary_color_dark + __props__.__dict__["set_active"] = set_active + __props__.__dict__["theme_mode"] = theme_mode + __props__.__dict__["warn_color"] = warn_color + __props__.__dict__["warn_color_dark"] = warn_color_dark + return LabelPolicy(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="backgroundColor") + def background_color(self) -> pulumi.Output[str]: + """ + hex value for background color + """ + return pulumi.get(self, "background_color") + + @property + @pulumi.getter(name="backgroundColorDark") + def background_color_dark(self) -> pulumi.Output[str]: + """ + hex value for background color dark theme + """ + return pulumi.get(self, "background_color_dark") + + @property + @pulumi.getter(name="disableWatermark") + def disable_watermark(self) -> pulumi.Output[bool]: + """ + disable watermark + """ + return pulumi.get(self, "disable_watermark") + + @property + @pulumi.getter(name="fontColor") + def font_color(self) -> pulumi.Output[str]: + """ + hex value for font color + """ + return pulumi.get(self, "font_color") + + @property + @pulumi.getter(name="fontColorDark") + def font_color_dark(self) -> pulumi.Output[str]: + """ + hex value for font color dark theme + """ + return pulumi.get(self, "font_color_dark") + + @property + @pulumi.getter(name="fontHash") + def font_hash(self) -> pulumi.Output[Optional[str]]: + return pulumi.get(self, "font_hash") + + @property + @pulumi.getter(name="fontPath") + def font_path(self) -> pulumi.Output[Optional[str]]: + return pulumi.get(self, "font_path") + + @property + @pulumi.getter(name="fontUrl") + def font_url(self) -> pulumi.Output[str]: + return pulumi.get(self, "font_url") + + @property + @pulumi.getter(name="hideLoginNameSuffix") + def hide_login_name_suffix(self) -> pulumi.Output[bool]: + """ + hides the org suffix on the login form if the scope "urn:zitadel:iam:org:domain:primary:{domainname}" is set. Details about this scope in https://zitadel.com/docs/apis/openidoauth/scopes#reserved-scopes + """ + return pulumi.get(self, "hide_login_name_suffix") + + @property + @pulumi.getter(name="iconDarkHash") + def icon_dark_hash(self) -> pulumi.Output[Optional[str]]: + return pulumi.get(self, "icon_dark_hash") + + @property + @pulumi.getter(name="iconDarkPath") + def icon_dark_path(self) -> pulumi.Output[Optional[str]]: + return pulumi.get(self, "icon_dark_path") + + @property + @pulumi.getter(name="iconHash") + def icon_hash(self) -> pulumi.Output[Optional[str]]: + return pulumi.get(self, "icon_hash") + + @property + @pulumi.getter(name="iconPath") + def icon_path(self) -> pulumi.Output[Optional[str]]: + return pulumi.get(self, "icon_path") + + @property + @pulumi.getter(name="iconUrl") + def icon_url(self) -> pulumi.Output[str]: + return pulumi.get(self, "icon_url") + + @property + @pulumi.getter(name="iconUrlDark") + def icon_url_dark(self) -> pulumi.Output[str]: + return pulumi.get(self, "icon_url_dark") + + @property + @pulumi.getter(name="logoDarkHash") + def logo_dark_hash(self) -> pulumi.Output[Optional[str]]: + return pulumi.get(self, "logo_dark_hash") + + @property + @pulumi.getter(name="logoDarkPath") + def logo_dark_path(self) -> pulumi.Output[Optional[str]]: + return pulumi.get(self, "logo_dark_path") + + @property + @pulumi.getter(name="logoHash") + def logo_hash(self) -> pulumi.Output[Optional[str]]: + return pulumi.get(self, "logo_hash") + + @property + @pulumi.getter(name="logoPath") + def logo_path(self) -> pulumi.Output[Optional[str]]: + return pulumi.get(self, "logo_path") + + @property + @pulumi.getter(name="logoUrl") + def logo_url(self) -> pulumi.Output[str]: + return pulumi.get(self, "logo_url") + + @property + @pulumi.getter(name="logoUrlDark") + def logo_url_dark(self) -> pulumi.Output[str]: + return pulumi.get(self, "logo_url_dark") + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> pulumi.Output[Optional[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @property + @pulumi.getter(name="primaryColor") + def primary_color(self) -> pulumi.Output[str]: + """ + hex value for primary color + """ + return pulumi.get(self, "primary_color") + + @property + @pulumi.getter(name="primaryColorDark") + def primary_color_dark(self) -> pulumi.Output[str]: + """ + hex value for primary color dark theme + """ + return pulumi.get(self, "primary_color_dark") + + @property + @pulumi.getter(name="setActive") + def set_active(self) -> pulumi.Output[Optional[bool]]: + """ + set the label policy active after creating/updating + """ + return pulumi.get(self, "set_active") + + @property + @pulumi.getter(name="themeMode") + def theme_mode(self) -> pulumi.Output[Optional[str]]: + """ + theme mode, supported values: THEME*MODE*UNSPECIFIED, THEME*MODE*AUTO, THEME*MODE*DARK, THEME*MODE*LIGHT + """ + return pulumi.get(self, "theme_mode") + + @property + @pulumi.getter(name="warnColor") + def warn_color(self) -> pulumi.Output[str]: + """ + hex value for warn color + """ + return pulumi.get(self, "warn_color") + + @property + @pulumi.getter(name="warnColorDark") + def warn_color_dark(self) -> pulumi.Output[str]: + """ + hex value for warn color dark theme + """ + return pulumi.get(self, "warn_color_dark") + diff --git a/sdk/python/scoretechnologies_zitadel/lockout_policy.py b/sdk/python/scoretechnologies_zitadel/lockout_policy.py new file mode 100644 index 0000000..d1c15e7 --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/lockout_policy.py @@ -0,0 +1,269 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['LockoutPolicyArgs', 'LockoutPolicy'] + +@pulumi.input_type +class LockoutPolicyArgs: + def __init__(__self__, *, + max_password_attempts: pulumi.Input[int], + org_id: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a LockoutPolicy resource. + :param pulumi.Input[int] max_password_attempts: Maximum password check attempts before the account gets locked. Attempts are reset as soon as the password is entered correct or the password is reset. + :param pulumi.Input[str] org_id: ID of the organization + """ + LockoutPolicyArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + max_password_attempts=max_password_attempts, + org_id=org_id, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + max_password_attempts: pulumi.Input[int], + org_id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'maxPasswordAttempts' in kwargs: + max_password_attempts = kwargs['maxPasswordAttempts'] + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + + _setter("max_password_attempts", max_password_attempts) + if org_id is not None: + _setter("org_id", org_id) + + @property + @pulumi.getter(name="maxPasswordAttempts") + def max_password_attempts(self) -> pulumi.Input[int]: + """ + Maximum password check attempts before the account gets locked. Attempts are reset as soon as the password is entered correct or the password is reset. + """ + return pulumi.get(self, "max_password_attempts") + + @max_password_attempts.setter + def max_password_attempts(self, value: pulumi.Input[int]): + pulumi.set(self, "max_password_attempts", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + +@pulumi.input_type +class _LockoutPolicyState: + def __init__(__self__, *, + max_password_attempts: Optional[pulumi.Input[int]] = None, + org_id: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering LockoutPolicy resources. + :param pulumi.Input[int] max_password_attempts: Maximum password check attempts before the account gets locked. Attempts are reset as soon as the password is entered correct or the password is reset. + :param pulumi.Input[str] org_id: ID of the organization + """ + _LockoutPolicyState._configure( + lambda key, value: pulumi.set(__self__, key, value), + max_password_attempts=max_password_attempts, + org_id=org_id, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + max_password_attempts: Optional[pulumi.Input[int]] = None, + org_id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'maxPasswordAttempts' in kwargs: + max_password_attempts = kwargs['maxPasswordAttempts'] + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + + if max_password_attempts is not None: + _setter("max_password_attempts", max_password_attempts) + if org_id is not None: + _setter("org_id", org_id) + + @property + @pulumi.getter(name="maxPasswordAttempts") + def max_password_attempts(self) -> Optional[pulumi.Input[int]]: + """ + Maximum password check attempts before the account gets locked. Attempts are reset as soon as the password is entered correct or the password is reset. + """ + return pulumi.get(self, "max_password_attempts") + + @max_password_attempts.setter + def max_password_attempts(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "max_password_attempts", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + +class LockoutPolicy(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + max_password_attempts: Optional[pulumi.Input[int]] = None, + org_id: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Resource representing the custom lockout policy of an organization. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.LockoutPolicy("default", + org_id=data["zitadel_org"]["default"]["id"], + max_password_attempts=5) + ``` + + ## Import + + bash The resource can be imported using the ID format `<[org_id]>`, e.g. + + ```sh + $ pulumi import zitadel:index/lockoutPolicy:LockoutPolicy imported '123456789012345678' + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[int] max_password_attempts: Maximum password check attempts before the account gets locked. Attempts are reset as soon as the password is entered correct or the password is reset. + :param pulumi.Input[str] org_id: ID of the organization + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: LockoutPolicyArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource representing the custom lockout policy of an organization. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.LockoutPolicy("default", + org_id=data["zitadel_org"]["default"]["id"], + max_password_attempts=5) + ``` + + ## Import + + bash The resource can be imported using the ID format `<[org_id]>`, e.g. + + ```sh + $ pulumi import zitadel:index/lockoutPolicy:LockoutPolicy imported '123456789012345678' + ``` + + :param str resource_name: The name of the resource. + :param LockoutPolicyArgs 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(LockoutPolicyArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + LockoutPolicyArgs._configure(_setter, **kwargs) + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + max_password_attempts: Optional[pulumi.Input[int]] = None, + org_id: 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__ = LockoutPolicyArgs.__new__(LockoutPolicyArgs) + + if max_password_attempts is None and not opts.urn: + raise TypeError("Missing required property 'max_password_attempts'") + __props__.__dict__["max_password_attempts"] = max_password_attempts + __props__.__dict__["org_id"] = org_id + super(LockoutPolicy, __self__).__init__( + 'zitadel:index/lockoutPolicy:LockoutPolicy', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + max_password_attempts: Optional[pulumi.Input[int]] = None, + org_id: Optional[pulumi.Input[str]] = None) -> 'LockoutPolicy': + """ + Get an existing LockoutPolicy 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[int] max_password_attempts: Maximum password check attempts before the account gets locked. Attempts are reset as soon as the password is entered correct or the password is reset. + :param pulumi.Input[str] org_id: ID of the organization + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _LockoutPolicyState.__new__(_LockoutPolicyState) + + __props__.__dict__["max_password_attempts"] = max_password_attempts + __props__.__dict__["org_id"] = org_id + return LockoutPolicy(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="maxPasswordAttempts") + def max_password_attempts(self) -> pulumi.Output[int]: + """ + Maximum password check attempts before the account gets locked. Attempts are reset as soon as the password is entered correct or the password is reset. + """ + return pulumi.get(self, "max_password_attempts") + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> pulumi.Output[Optional[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + diff --git a/sdk/python/scoretechnologies_zitadel/login_policy.py b/sdk/python/scoretechnologies_zitadel/login_policy.py new file mode 100644 index 0000000..2de1724 --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/login_policy.py @@ -0,0 +1,1308 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['LoginPolicyArgs', 'LoginPolicy'] + +@pulumi.input_type +class LoginPolicyArgs: + def __init__(__self__, *, + allow_external_idp: pulumi.Input[bool], + allow_register: pulumi.Input[bool], + default_redirect_uri: pulumi.Input[str], + external_login_check_lifetime: pulumi.Input[str], + force_mfa: pulumi.Input[bool], + force_mfa_local_only: pulumi.Input[bool], + hide_password_reset: pulumi.Input[bool], + ignore_unknown_usernames: pulumi.Input[bool], + mfa_init_skip_lifetime: pulumi.Input[str], + multi_factor_check_lifetime: pulumi.Input[str], + password_check_lifetime: pulumi.Input[str], + passwordless_type: pulumi.Input[str], + second_factor_check_lifetime: pulumi.Input[str], + user_login: pulumi.Input[bool], + allow_domain_discovery: Optional[pulumi.Input[bool]] = None, + disable_login_with_email: Optional[pulumi.Input[bool]] = None, + disable_login_with_phone: Optional[pulumi.Input[bool]] = None, + idps: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + multi_factors: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + org_id: Optional[pulumi.Input[str]] = None, + second_factors: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a LoginPolicy resource. + :param pulumi.Input[bool] allow_external_idp: defines if a user is allowed to add a defined identity provider. E.g. Google auth + :param pulumi.Input[bool] allow_register: defines if a person is allowed to register a user on this organisation + :param pulumi.Input[str] default_redirect_uri: defines where the user will be redirected to if the login is started without app context (e.g. from mail) + :param pulumi.Input[bool] force_mfa: defines if a user MUST use a multi factor to log in + :param pulumi.Input[bool] force_mfa_local_only: if activated, ZITADEL only enforces MFA on local authentications. On authentications through MFA, ZITADEL won't prompt for MFA. + :param pulumi.Input[bool] hide_password_reset: defines if password reset link should be shown in the login screen + :param pulumi.Input[bool] ignore_unknown_usernames: defines if unknown username on login screen directly return an error or always display the password screen + :param pulumi.Input[str] passwordless_type: defines if passwordless is allowed for users + :param pulumi.Input[bool] user_login: defines if a user is allowed to login with his username and password + :param pulumi.Input[bool] allow_domain_discovery: if set to true, the suffix (@domain.com) of an unknown username input on the login screen will be matched against the org domains and will redirect to the registration of that organisation on success. + :param pulumi.Input[bool] disable_login_with_email: defines if user can additionally (to the loginname) be identified by their verified email address + :param pulumi.Input[bool] disable_login_with_phone: defines if user can additionally (to the loginname) be identified by their verified phone number + :param pulumi.Input[Sequence[pulumi.Input[str]]] idps: allowed idps to login or register + :param pulumi.Input[Sequence[pulumi.Input[str]]] multi_factors: allowed multi factors + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[Sequence[pulumi.Input[str]]] second_factors: allowed second factors + """ + LoginPolicyArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + allow_external_idp=allow_external_idp, + allow_register=allow_register, + default_redirect_uri=default_redirect_uri, + external_login_check_lifetime=external_login_check_lifetime, + force_mfa=force_mfa, + force_mfa_local_only=force_mfa_local_only, + hide_password_reset=hide_password_reset, + ignore_unknown_usernames=ignore_unknown_usernames, + mfa_init_skip_lifetime=mfa_init_skip_lifetime, + multi_factor_check_lifetime=multi_factor_check_lifetime, + password_check_lifetime=password_check_lifetime, + passwordless_type=passwordless_type, + second_factor_check_lifetime=second_factor_check_lifetime, + user_login=user_login, + allow_domain_discovery=allow_domain_discovery, + disable_login_with_email=disable_login_with_email, + disable_login_with_phone=disable_login_with_phone, + idps=idps, + multi_factors=multi_factors, + org_id=org_id, + second_factors=second_factors, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + allow_external_idp: pulumi.Input[bool], + allow_register: pulumi.Input[bool], + default_redirect_uri: pulumi.Input[str], + external_login_check_lifetime: pulumi.Input[str], + force_mfa: pulumi.Input[bool], + force_mfa_local_only: pulumi.Input[bool], + hide_password_reset: pulumi.Input[bool], + ignore_unknown_usernames: pulumi.Input[bool], + mfa_init_skip_lifetime: pulumi.Input[str], + multi_factor_check_lifetime: pulumi.Input[str], + password_check_lifetime: pulumi.Input[str], + passwordless_type: pulumi.Input[str], + second_factor_check_lifetime: pulumi.Input[str], + user_login: pulumi.Input[bool], + allow_domain_discovery: Optional[pulumi.Input[bool]] = None, + disable_login_with_email: Optional[pulumi.Input[bool]] = None, + disable_login_with_phone: Optional[pulumi.Input[bool]] = None, + idps: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + multi_factors: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + org_id: Optional[pulumi.Input[str]] = None, + second_factors: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'allowExternalIdp' in kwargs: + allow_external_idp = kwargs['allowExternalIdp'] + if 'allowRegister' in kwargs: + allow_register = kwargs['allowRegister'] + if 'defaultRedirectUri' in kwargs: + default_redirect_uri = kwargs['defaultRedirectUri'] + if 'externalLoginCheckLifetime' in kwargs: + external_login_check_lifetime = kwargs['externalLoginCheckLifetime'] + if 'forceMfa' in kwargs: + force_mfa = kwargs['forceMfa'] + if 'forceMfaLocalOnly' in kwargs: + force_mfa_local_only = kwargs['forceMfaLocalOnly'] + if 'hidePasswordReset' in kwargs: + hide_password_reset = kwargs['hidePasswordReset'] + if 'ignoreUnknownUsernames' in kwargs: + ignore_unknown_usernames = kwargs['ignoreUnknownUsernames'] + if 'mfaInitSkipLifetime' in kwargs: + mfa_init_skip_lifetime = kwargs['mfaInitSkipLifetime'] + if 'multiFactorCheckLifetime' in kwargs: + multi_factor_check_lifetime = kwargs['multiFactorCheckLifetime'] + if 'passwordCheckLifetime' in kwargs: + password_check_lifetime = kwargs['passwordCheckLifetime'] + if 'passwordlessType' in kwargs: + passwordless_type = kwargs['passwordlessType'] + if 'secondFactorCheckLifetime' in kwargs: + second_factor_check_lifetime = kwargs['secondFactorCheckLifetime'] + if 'userLogin' in kwargs: + user_login = kwargs['userLogin'] + if 'allowDomainDiscovery' in kwargs: + allow_domain_discovery = kwargs['allowDomainDiscovery'] + if 'disableLoginWithEmail' in kwargs: + disable_login_with_email = kwargs['disableLoginWithEmail'] + if 'disableLoginWithPhone' in kwargs: + disable_login_with_phone = kwargs['disableLoginWithPhone'] + if 'multiFactors' in kwargs: + multi_factors = kwargs['multiFactors'] + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + if 'secondFactors' in kwargs: + second_factors = kwargs['secondFactors'] + + _setter("allow_external_idp", allow_external_idp) + _setter("allow_register", allow_register) + _setter("default_redirect_uri", default_redirect_uri) + _setter("external_login_check_lifetime", external_login_check_lifetime) + _setter("force_mfa", force_mfa) + _setter("force_mfa_local_only", force_mfa_local_only) + _setter("hide_password_reset", hide_password_reset) + _setter("ignore_unknown_usernames", ignore_unknown_usernames) + _setter("mfa_init_skip_lifetime", mfa_init_skip_lifetime) + _setter("multi_factor_check_lifetime", multi_factor_check_lifetime) + _setter("password_check_lifetime", password_check_lifetime) + _setter("passwordless_type", passwordless_type) + _setter("second_factor_check_lifetime", second_factor_check_lifetime) + _setter("user_login", user_login) + if allow_domain_discovery is not None: + _setter("allow_domain_discovery", allow_domain_discovery) + if disable_login_with_email is not None: + _setter("disable_login_with_email", disable_login_with_email) + if disable_login_with_phone is not None: + _setter("disable_login_with_phone", disable_login_with_phone) + if idps is not None: + _setter("idps", idps) + if multi_factors is not None: + _setter("multi_factors", multi_factors) + if org_id is not None: + _setter("org_id", org_id) + if second_factors is not None: + _setter("second_factors", second_factors) + + @property + @pulumi.getter(name="allowExternalIdp") + def allow_external_idp(self) -> pulumi.Input[bool]: + """ + defines if a user is allowed to add a defined identity provider. E.g. Google auth + """ + return pulumi.get(self, "allow_external_idp") + + @allow_external_idp.setter + def allow_external_idp(self, value: pulumi.Input[bool]): + pulumi.set(self, "allow_external_idp", value) + + @property + @pulumi.getter(name="allowRegister") + def allow_register(self) -> pulumi.Input[bool]: + """ + defines if a person is allowed to register a user on this organisation + """ + return pulumi.get(self, "allow_register") + + @allow_register.setter + def allow_register(self, value: pulumi.Input[bool]): + pulumi.set(self, "allow_register", value) + + @property + @pulumi.getter(name="defaultRedirectUri") + def default_redirect_uri(self) -> pulumi.Input[str]: + """ + defines where the user will be redirected to if the login is started without app context (e.g. from mail) + """ + return pulumi.get(self, "default_redirect_uri") + + @default_redirect_uri.setter + def default_redirect_uri(self, value: pulumi.Input[str]): + pulumi.set(self, "default_redirect_uri", value) + + @property + @pulumi.getter(name="externalLoginCheckLifetime") + def external_login_check_lifetime(self) -> pulumi.Input[str]: + return pulumi.get(self, "external_login_check_lifetime") + + @external_login_check_lifetime.setter + def external_login_check_lifetime(self, value: pulumi.Input[str]): + pulumi.set(self, "external_login_check_lifetime", value) + + @property + @pulumi.getter(name="forceMfa") + def force_mfa(self) -> pulumi.Input[bool]: + """ + defines if a user MUST use a multi factor to log in + """ + return pulumi.get(self, "force_mfa") + + @force_mfa.setter + def force_mfa(self, value: pulumi.Input[bool]): + pulumi.set(self, "force_mfa", value) + + @property + @pulumi.getter(name="forceMfaLocalOnly") + def force_mfa_local_only(self) -> pulumi.Input[bool]: + """ + if activated, ZITADEL only enforces MFA on local authentications. On authentications through MFA, ZITADEL won't prompt for MFA. + """ + return pulumi.get(self, "force_mfa_local_only") + + @force_mfa_local_only.setter + def force_mfa_local_only(self, value: pulumi.Input[bool]): + pulumi.set(self, "force_mfa_local_only", value) + + @property + @pulumi.getter(name="hidePasswordReset") + def hide_password_reset(self) -> pulumi.Input[bool]: + """ + defines if password reset link should be shown in the login screen + """ + return pulumi.get(self, "hide_password_reset") + + @hide_password_reset.setter + def hide_password_reset(self, value: pulumi.Input[bool]): + pulumi.set(self, "hide_password_reset", value) + + @property + @pulumi.getter(name="ignoreUnknownUsernames") + def ignore_unknown_usernames(self) -> pulumi.Input[bool]: + """ + defines if unknown username on login screen directly return an error or always display the password screen + """ + return pulumi.get(self, "ignore_unknown_usernames") + + @ignore_unknown_usernames.setter + def ignore_unknown_usernames(self, value: pulumi.Input[bool]): + pulumi.set(self, "ignore_unknown_usernames", value) + + @property + @pulumi.getter(name="mfaInitSkipLifetime") + def mfa_init_skip_lifetime(self) -> pulumi.Input[str]: + return pulumi.get(self, "mfa_init_skip_lifetime") + + @mfa_init_skip_lifetime.setter + def mfa_init_skip_lifetime(self, value: pulumi.Input[str]): + pulumi.set(self, "mfa_init_skip_lifetime", value) + + @property + @pulumi.getter(name="multiFactorCheckLifetime") + def multi_factor_check_lifetime(self) -> pulumi.Input[str]: + return pulumi.get(self, "multi_factor_check_lifetime") + + @multi_factor_check_lifetime.setter + def multi_factor_check_lifetime(self, value: pulumi.Input[str]): + pulumi.set(self, "multi_factor_check_lifetime", value) + + @property + @pulumi.getter(name="passwordCheckLifetime") + def password_check_lifetime(self) -> pulumi.Input[str]: + return pulumi.get(self, "password_check_lifetime") + + @password_check_lifetime.setter + def password_check_lifetime(self, value: pulumi.Input[str]): + pulumi.set(self, "password_check_lifetime", value) + + @property + @pulumi.getter(name="passwordlessType") + def passwordless_type(self) -> pulumi.Input[str]: + """ + defines if passwordless is allowed for users + """ + return pulumi.get(self, "passwordless_type") + + @passwordless_type.setter + def passwordless_type(self, value: pulumi.Input[str]): + pulumi.set(self, "passwordless_type", value) + + @property + @pulumi.getter(name="secondFactorCheckLifetime") + def second_factor_check_lifetime(self) -> pulumi.Input[str]: + return pulumi.get(self, "second_factor_check_lifetime") + + @second_factor_check_lifetime.setter + def second_factor_check_lifetime(self, value: pulumi.Input[str]): + pulumi.set(self, "second_factor_check_lifetime", value) + + @property + @pulumi.getter(name="userLogin") + def user_login(self) -> pulumi.Input[bool]: + """ + defines if a user is allowed to login with his username and password + """ + return pulumi.get(self, "user_login") + + @user_login.setter + def user_login(self, value: pulumi.Input[bool]): + pulumi.set(self, "user_login", value) + + @property + @pulumi.getter(name="allowDomainDiscovery") + def allow_domain_discovery(self) -> Optional[pulumi.Input[bool]]: + """ + if set to true, the suffix (@domain.com) of an unknown username input on the login screen will be matched against the org domains and will redirect to the registration of that organisation on success. + """ + return pulumi.get(self, "allow_domain_discovery") + + @allow_domain_discovery.setter + def allow_domain_discovery(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "allow_domain_discovery", value) + + @property + @pulumi.getter(name="disableLoginWithEmail") + def disable_login_with_email(self) -> Optional[pulumi.Input[bool]]: + """ + defines if user can additionally (to the loginname) be identified by their verified email address + """ + return pulumi.get(self, "disable_login_with_email") + + @disable_login_with_email.setter + def disable_login_with_email(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "disable_login_with_email", value) + + @property + @pulumi.getter(name="disableLoginWithPhone") + def disable_login_with_phone(self) -> Optional[pulumi.Input[bool]]: + """ + defines if user can additionally (to the loginname) be identified by their verified phone number + """ + return pulumi.get(self, "disable_login_with_phone") + + @disable_login_with_phone.setter + def disable_login_with_phone(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "disable_login_with_phone", value) + + @property + @pulumi.getter + def idps(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + allowed idps to login or register + """ + return pulumi.get(self, "idps") + + @idps.setter + def idps(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "idps", value) + + @property + @pulumi.getter(name="multiFactors") + def multi_factors(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + allowed multi factors + """ + return pulumi.get(self, "multi_factors") + + @multi_factors.setter + def multi_factors(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "multi_factors", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + @property + @pulumi.getter(name="secondFactors") + def second_factors(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + allowed second factors + """ + return pulumi.get(self, "second_factors") + + @second_factors.setter + def second_factors(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "second_factors", value) + + +@pulumi.input_type +class _LoginPolicyState: + def __init__(__self__, *, + allow_domain_discovery: Optional[pulumi.Input[bool]] = None, + allow_external_idp: Optional[pulumi.Input[bool]] = None, + allow_register: Optional[pulumi.Input[bool]] = None, + default_redirect_uri: Optional[pulumi.Input[str]] = None, + disable_login_with_email: Optional[pulumi.Input[bool]] = None, + disable_login_with_phone: Optional[pulumi.Input[bool]] = None, + external_login_check_lifetime: Optional[pulumi.Input[str]] = None, + force_mfa: Optional[pulumi.Input[bool]] = None, + force_mfa_local_only: Optional[pulumi.Input[bool]] = None, + hide_password_reset: Optional[pulumi.Input[bool]] = None, + idps: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + ignore_unknown_usernames: Optional[pulumi.Input[bool]] = None, + mfa_init_skip_lifetime: Optional[pulumi.Input[str]] = None, + multi_factor_check_lifetime: Optional[pulumi.Input[str]] = None, + multi_factors: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + org_id: Optional[pulumi.Input[str]] = None, + password_check_lifetime: Optional[pulumi.Input[str]] = None, + passwordless_type: Optional[pulumi.Input[str]] = None, + second_factor_check_lifetime: Optional[pulumi.Input[str]] = None, + second_factors: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + user_login: Optional[pulumi.Input[bool]] = None): + """ + Input properties used for looking up and filtering LoginPolicy resources. + :param pulumi.Input[bool] allow_domain_discovery: if set to true, the suffix (@domain.com) of an unknown username input on the login screen will be matched against the org domains and will redirect to the registration of that organisation on success. + :param pulumi.Input[bool] allow_external_idp: defines if a user is allowed to add a defined identity provider. E.g. Google auth + :param pulumi.Input[bool] allow_register: defines if a person is allowed to register a user on this organisation + :param pulumi.Input[str] default_redirect_uri: defines where the user will be redirected to if the login is started without app context (e.g. from mail) + :param pulumi.Input[bool] disable_login_with_email: defines if user can additionally (to the loginname) be identified by their verified email address + :param pulumi.Input[bool] disable_login_with_phone: defines if user can additionally (to the loginname) be identified by their verified phone number + :param pulumi.Input[bool] force_mfa: defines if a user MUST use a multi factor to log in + :param pulumi.Input[bool] force_mfa_local_only: if activated, ZITADEL only enforces MFA on local authentications. On authentications through MFA, ZITADEL won't prompt for MFA. + :param pulumi.Input[bool] hide_password_reset: defines if password reset link should be shown in the login screen + :param pulumi.Input[Sequence[pulumi.Input[str]]] idps: allowed idps to login or register + :param pulumi.Input[bool] ignore_unknown_usernames: defines if unknown username on login screen directly return an error or always display the password screen + :param pulumi.Input[Sequence[pulumi.Input[str]]] multi_factors: allowed multi factors + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[str] passwordless_type: defines if passwordless is allowed for users + :param pulumi.Input[Sequence[pulumi.Input[str]]] second_factors: allowed second factors + :param pulumi.Input[bool] user_login: defines if a user is allowed to login with his username and password + """ + _LoginPolicyState._configure( + lambda key, value: pulumi.set(__self__, key, value), + allow_domain_discovery=allow_domain_discovery, + allow_external_idp=allow_external_idp, + allow_register=allow_register, + default_redirect_uri=default_redirect_uri, + disable_login_with_email=disable_login_with_email, + disable_login_with_phone=disable_login_with_phone, + external_login_check_lifetime=external_login_check_lifetime, + force_mfa=force_mfa, + force_mfa_local_only=force_mfa_local_only, + hide_password_reset=hide_password_reset, + idps=idps, + ignore_unknown_usernames=ignore_unknown_usernames, + mfa_init_skip_lifetime=mfa_init_skip_lifetime, + multi_factor_check_lifetime=multi_factor_check_lifetime, + multi_factors=multi_factors, + org_id=org_id, + password_check_lifetime=password_check_lifetime, + passwordless_type=passwordless_type, + second_factor_check_lifetime=second_factor_check_lifetime, + second_factors=second_factors, + user_login=user_login, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + allow_domain_discovery: Optional[pulumi.Input[bool]] = None, + allow_external_idp: Optional[pulumi.Input[bool]] = None, + allow_register: Optional[pulumi.Input[bool]] = None, + default_redirect_uri: Optional[pulumi.Input[str]] = None, + disable_login_with_email: Optional[pulumi.Input[bool]] = None, + disable_login_with_phone: Optional[pulumi.Input[bool]] = None, + external_login_check_lifetime: Optional[pulumi.Input[str]] = None, + force_mfa: Optional[pulumi.Input[bool]] = None, + force_mfa_local_only: Optional[pulumi.Input[bool]] = None, + hide_password_reset: Optional[pulumi.Input[bool]] = None, + idps: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + ignore_unknown_usernames: Optional[pulumi.Input[bool]] = None, + mfa_init_skip_lifetime: Optional[pulumi.Input[str]] = None, + multi_factor_check_lifetime: Optional[pulumi.Input[str]] = None, + multi_factors: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + org_id: Optional[pulumi.Input[str]] = None, + password_check_lifetime: Optional[pulumi.Input[str]] = None, + passwordless_type: Optional[pulumi.Input[str]] = None, + second_factor_check_lifetime: Optional[pulumi.Input[str]] = None, + second_factors: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + user_login: Optional[pulumi.Input[bool]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'allowDomainDiscovery' in kwargs: + allow_domain_discovery = kwargs['allowDomainDiscovery'] + if 'allowExternalIdp' in kwargs: + allow_external_idp = kwargs['allowExternalIdp'] + if 'allowRegister' in kwargs: + allow_register = kwargs['allowRegister'] + if 'defaultRedirectUri' in kwargs: + default_redirect_uri = kwargs['defaultRedirectUri'] + if 'disableLoginWithEmail' in kwargs: + disable_login_with_email = kwargs['disableLoginWithEmail'] + if 'disableLoginWithPhone' in kwargs: + disable_login_with_phone = kwargs['disableLoginWithPhone'] + if 'externalLoginCheckLifetime' in kwargs: + external_login_check_lifetime = kwargs['externalLoginCheckLifetime'] + if 'forceMfa' in kwargs: + force_mfa = kwargs['forceMfa'] + if 'forceMfaLocalOnly' in kwargs: + force_mfa_local_only = kwargs['forceMfaLocalOnly'] + if 'hidePasswordReset' in kwargs: + hide_password_reset = kwargs['hidePasswordReset'] + if 'ignoreUnknownUsernames' in kwargs: + ignore_unknown_usernames = kwargs['ignoreUnknownUsernames'] + if 'mfaInitSkipLifetime' in kwargs: + mfa_init_skip_lifetime = kwargs['mfaInitSkipLifetime'] + if 'multiFactorCheckLifetime' in kwargs: + multi_factor_check_lifetime = kwargs['multiFactorCheckLifetime'] + if 'multiFactors' in kwargs: + multi_factors = kwargs['multiFactors'] + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + if 'passwordCheckLifetime' in kwargs: + password_check_lifetime = kwargs['passwordCheckLifetime'] + if 'passwordlessType' in kwargs: + passwordless_type = kwargs['passwordlessType'] + if 'secondFactorCheckLifetime' in kwargs: + second_factor_check_lifetime = kwargs['secondFactorCheckLifetime'] + if 'secondFactors' in kwargs: + second_factors = kwargs['secondFactors'] + if 'userLogin' in kwargs: + user_login = kwargs['userLogin'] + + if allow_domain_discovery is not None: + _setter("allow_domain_discovery", allow_domain_discovery) + if allow_external_idp is not None: + _setter("allow_external_idp", allow_external_idp) + if allow_register is not None: + _setter("allow_register", allow_register) + if default_redirect_uri is not None: + _setter("default_redirect_uri", default_redirect_uri) + if disable_login_with_email is not None: + _setter("disable_login_with_email", disable_login_with_email) + if disable_login_with_phone is not None: + _setter("disable_login_with_phone", disable_login_with_phone) + if external_login_check_lifetime is not None: + _setter("external_login_check_lifetime", external_login_check_lifetime) + if force_mfa is not None: + _setter("force_mfa", force_mfa) + if force_mfa_local_only is not None: + _setter("force_mfa_local_only", force_mfa_local_only) + if hide_password_reset is not None: + _setter("hide_password_reset", hide_password_reset) + if idps is not None: + _setter("idps", idps) + if ignore_unknown_usernames is not None: + _setter("ignore_unknown_usernames", ignore_unknown_usernames) + if mfa_init_skip_lifetime is not None: + _setter("mfa_init_skip_lifetime", mfa_init_skip_lifetime) + if multi_factor_check_lifetime is not None: + _setter("multi_factor_check_lifetime", multi_factor_check_lifetime) + if multi_factors is not None: + _setter("multi_factors", multi_factors) + if org_id is not None: + _setter("org_id", org_id) + if password_check_lifetime is not None: + _setter("password_check_lifetime", password_check_lifetime) + if passwordless_type is not None: + _setter("passwordless_type", passwordless_type) + if second_factor_check_lifetime is not None: + _setter("second_factor_check_lifetime", second_factor_check_lifetime) + if second_factors is not None: + _setter("second_factors", second_factors) + if user_login is not None: + _setter("user_login", user_login) + + @property + @pulumi.getter(name="allowDomainDiscovery") + def allow_domain_discovery(self) -> Optional[pulumi.Input[bool]]: + """ + if set to true, the suffix (@domain.com) of an unknown username input on the login screen will be matched against the org domains and will redirect to the registration of that organisation on success. + """ + return pulumi.get(self, "allow_domain_discovery") + + @allow_domain_discovery.setter + def allow_domain_discovery(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "allow_domain_discovery", value) + + @property + @pulumi.getter(name="allowExternalIdp") + def allow_external_idp(self) -> Optional[pulumi.Input[bool]]: + """ + defines if a user is allowed to add a defined identity provider. E.g. Google auth + """ + return pulumi.get(self, "allow_external_idp") + + @allow_external_idp.setter + def allow_external_idp(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "allow_external_idp", value) + + @property + @pulumi.getter(name="allowRegister") + def allow_register(self) -> Optional[pulumi.Input[bool]]: + """ + defines if a person is allowed to register a user on this organisation + """ + return pulumi.get(self, "allow_register") + + @allow_register.setter + def allow_register(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "allow_register", value) + + @property + @pulumi.getter(name="defaultRedirectUri") + def default_redirect_uri(self) -> Optional[pulumi.Input[str]]: + """ + defines where the user will be redirected to if the login is started without app context (e.g. from mail) + """ + return pulumi.get(self, "default_redirect_uri") + + @default_redirect_uri.setter + def default_redirect_uri(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "default_redirect_uri", value) + + @property + @pulumi.getter(name="disableLoginWithEmail") + def disable_login_with_email(self) -> Optional[pulumi.Input[bool]]: + """ + defines if user can additionally (to the loginname) be identified by their verified email address + """ + return pulumi.get(self, "disable_login_with_email") + + @disable_login_with_email.setter + def disable_login_with_email(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "disable_login_with_email", value) + + @property + @pulumi.getter(name="disableLoginWithPhone") + def disable_login_with_phone(self) -> Optional[pulumi.Input[bool]]: + """ + defines if user can additionally (to the loginname) be identified by their verified phone number + """ + return pulumi.get(self, "disable_login_with_phone") + + @disable_login_with_phone.setter + def disable_login_with_phone(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "disable_login_with_phone", value) + + @property + @pulumi.getter(name="externalLoginCheckLifetime") + def external_login_check_lifetime(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "external_login_check_lifetime") + + @external_login_check_lifetime.setter + def external_login_check_lifetime(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "external_login_check_lifetime", value) + + @property + @pulumi.getter(name="forceMfa") + def force_mfa(self) -> Optional[pulumi.Input[bool]]: + """ + defines if a user MUST use a multi factor to log in + """ + return pulumi.get(self, "force_mfa") + + @force_mfa.setter + def force_mfa(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "force_mfa", value) + + @property + @pulumi.getter(name="forceMfaLocalOnly") + def force_mfa_local_only(self) -> Optional[pulumi.Input[bool]]: + """ + if activated, ZITADEL only enforces MFA on local authentications. On authentications through MFA, ZITADEL won't prompt for MFA. + """ + return pulumi.get(self, "force_mfa_local_only") + + @force_mfa_local_only.setter + def force_mfa_local_only(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "force_mfa_local_only", value) + + @property + @pulumi.getter(name="hidePasswordReset") + def hide_password_reset(self) -> Optional[pulumi.Input[bool]]: + """ + defines if password reset link should be shown in the login screen + """ + return pulumi.get(self, "hide_password_reset") + + @hide_password_reset.setter + def hide_password_reset(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "hide_password_reset", value) + + @property + @pulumi.getter + def idps(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + allowed idps to login or register + """ + return pulumi.get(self, "idps") + + @idps.setter + def idps(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "idps", value) + + @property + @pulumi.getter(name="ignoreUnknownUsernames") + def ignore_unknown_usernames(self) -> Optional[pulumi.Input[bool]]: + """ + defines if unknown username on login screen directly return an error or always display the password screen + """ + return pulumi.get(self, "ignore_unknown_usernames") + + @ignore_unknown_usernames.setter + def ignore_unknown_usernames(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "ignore_unknown_usernames", value) + + @property + @pulumi.getter(name="mfaInitSkipLifetime") + def mfa_init_skip_lifetime(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "mfa_init_skip_lifetime") + + @mfa_init_skip_lifetime.setter + def mfa_init_skip_lifetime(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "mfa_init_skip_lifetime", value) + + @property + @pulumi.getter(name="multiFactorCheckLifetime") + def multi_factor_check_lifetime(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "multi_factor_check_lifetime") + + @multi_factor_check_lifetime.setter + def multi_factor_check_lifetime(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "multi_factor_check_lifetime", value) + + @property + @pulumi.getter(name="multiFactors") + def multi_factors(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + allowed multi factors + """ + return pulumi.get(self, "multi_factors") + + @multi_factors.setter + def multi_factors(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "multi_factors", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + @property + @pulumi.getter(name="passwordCheckLifetime") + def password_check_lifetime(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "password_check_lifetime") + + @password_check_lifetime.setter + def password_check_lifetime(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "password_check_lifetime", value) + + @property + @pulumi.getter(name="passwordlessType") + def passwordless_type(self) -> Optional[pulumi.Input[str]]: + """ + defines if passwordless is allowed for users + """ + return pulumi.get(self, "passwordless_type") + + @passwordless_type.setter + def passwordless_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "passwordless_type", value) + + @property + @pulumi.getter(name="secondFactorCheckLifetime") + def second_factor_check_lifetime(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "second_factor_check_lifetime") + + @second_factor_check_lifetime.setter + def second_factor_check_lifetime(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "second_factor_check_lifetime", value) + + @property + @pulumi.getter(name="secondFactors") + def second_factors(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + allowed second factors + """ + return pulumi.get(self, "second_factors") + + @second_factors.setter + def second_factors(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "second_factors", value) + + @property + @pulumi.getter(name="userLogin") + def user_login(self) -> Optional[pulumi.Input[bool]]: + """ + defines if a user is allowed to login with his username and password + """ + return pulumi.get(self, "user_login") + + @user_login.setter + def user_login(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "user_login", value) + + +class LoginPolicy(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + allow_domain_discovery: Optional[pulumi.Input[bool]] = None, + allow_external_idp: Optional[pulumi.Input[bool]] = None, + allow_register: Optional[pulumi.Input[bool]] = None, + default_redirect_uri: Optional[pulumi.Input[str]] = None, + disable_login_with_email: Optional[pulumi.Input[bool]] = None, + disable_login_with_phone: Optional[pulumi.Input[bool]] = None, + external_login_check_lifetime: Optional[pulumi.Input[str]] = None, + force_mfa: Optional[pulumi.Input[bool]] = None, + force_mfa_local_only: Optional[pulumi.Input[bool]] = None, + hide_password_reset: Optional[pulumi.Input[bool]] = None, + idps: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + ignore_unknown_usernames: Optional[pulumi.Input[bool]] = None, + mfa_init_skip_lifetime: Optional[pulumi.Input[str]] = None, + multi_factor_check_lifetime: Optional[pulumi.Input[str]] = None, + multi_factors: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + org_id: Optional[pulumi.Input[str]] = None, + password_check_lifetime: Optional[pulumi.Input[str]] = None, + passwordless_type: Optional[pulumi.Input[str]] = None, + second_factor_check_lifetime: Optional[pulumi.Input[str]] = None, + second_factors: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + user_login: Optional[pulumi.Input[bool]] = None, + __props__=None): + """ + Resource representing the custom login policy of an organization. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.LoginPolicy("default", + org_id=data["zitadel_org"]["default"]["id"], + user_login=True, + allow_register=True, + allow_external_idp=True, + force_mfa=False, + force_mfa_local_only=False, + passwordless_type="PASSWORDLESS_TYPE_ALLOWED", + hide_password_reset=False, + password_check_lifetime="240h0m0s", + external_login_check_lifetime="240h0m0s", + multi_factor_check_lifetime="24h0m0s", + mfa_init_skip_lifetime="720h0m0s", + second_factor_check_lifetime="24h0m0s", + ignore_unknown_usernames=True, + default_redirect_uri="localhost:8080", + second_factors=[ + "SECOND_FACTOR_TYPE_OTP", + "SECOND_FACTOR_TYPE_U2F", + ], + multi_factors=["MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION"], + idps=[ + data["zitadel_idp_google"]["default"]["id"], + data["zitadel_idp_azure_ad"]["default"]["id"], + ], + allow_domain_discovery=True, + disable_login_with_email=True, + disable_login_with_phone=True) + ``` + + ## Import + + bash The resource can be imported using the ID format `<[org_id]>`, e.g. + + ```sh + $ pulumi import zitadel:index/loginPolicy:LoginPolicy imported '123456789012345678' + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[bool] allow_domain_discovery: if set to true, the suffix (@domain.com) of an unknown username input on the login screen will be matched against the org domains and will redirect to the registration of that organisation on success. + :param pulumi.Input[bool] allow_external_idp: defines if a user is allowed to add a defined identity provider. E.g. Google auth + :param pulumi.Input[bool] allow_register: defines if a person is allowed to register a user on this organisation + :param pulumi.Input[str] default_redirect_uri: defines where the user will be redirected to if the login is started without app context (e.g. from mail) + :param pulumi.Input[bool] disable_login_with_email: defines if user can additionally (to the loginname) be identified by their verified email address + :param pulumi.Input[bool] disable_login_with_phone: defines if user can additionally (to the loginname) be identified by their verified phone number + :param pulumi.Input[bool] force_mfa: defines if a user MUST use a multi factor to log in + :param pulumi.Input[bool] force_mfa_local_only: if activated, ZITADEL only enforces MFA on local authentications. On authentications through MFA, ZITADEL won't prompt for MFA. + :param pulumi.Input[bool] hide_password_reset: defines if password reset link should be shown in the login screen + :param pulumi.Input[Sequence[pulumi.Input[str]]] idps: allowed idps to login or register + :param pulumi.Input[bool] ignore_unknown_usernames: defines if unknown username on login screen directly return an error or always display the password screen + :param pulumi.Input[Sequence[pulumi.Input[str]]] multi_factors: allowed multi factors + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[str] passwordless_type: defines if passwordless is allowed for users + :param pulumi.Input[Sequence[pulumi.Input[str]]] second_factors: allowed second factors + :param pulumi.Input[bool] user_login: defines if a user is allowed to login with his username and password + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: LoginPolicyArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource representing the custom login policy of an organization. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.LoginPolicy("default", + org_id=data["zitadel_org"]["default"]["id"], + user_login=True, + allow_register=True, + allow_external_idp=True, + force_mfa=False, + force_mfa_local_only=False, + passwordless_type="PASSWORDLESS_TYPE_ALLOWED", + hide_password_reset=False, + password_check_lifetime="240h0m0s", + external_login_check_lifetime="240h0m0s", + multi_factor_check_lifetime="24h0m0s", + mfa_init_skip_lifetime="720h0m0s", + second_factor_check_lifetime="24h0m0s", + ignore_unknown_usernames=True, + default_redirect_uri="localhost:8080", + second_factors=[ + "SECOND_FACTOR_TYPE_OTP", + "SECOND_FACTOR_TYPE_U2F", + ], + multi_factors=["MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION"], + idps=[ + data["zitadel_idp_google"]["default"]["id"], + data["zitadel_idp_azure_ad"]["default"]["id"], + ], + allow_domain_discovery=True, + disable_login_with_email=True, + disable_login_with_phone=True) + ``` + + ## Import + + bash The resource can be imported using the ID format `<[org_id]>`, e.g. + + ```sh + $ pulumi import zitadel:index/loginPolicy:LoginPolicy imported '123456789012345678' + ``` + + :param str resource_name: The name of the resource. + :param LoginPolicyArgs 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(LoginPolicyArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + LoginPolicyArgs._configure(_setter, **kwargs) + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + allow_domain_discovery: Optional[pulumi.Input[bool]] = None, + allow_external_idp: Optional[pulumi.Input[bool]] = None, + allow_register: Optional[pulumi.Input[bool]] = None, + default_redirect_uri: Optional[pulumi.Input[str]] = None, + disable_login_with_email: Optional[pulumi.Input[bool]] = None, + disable_login_with_phone: Optional[pulumi.Input[bool]] = None, + external_login_check_lifetime: Optional[pulumi.Input[str]] = None, + force_mfa: Optional[pulumi.Input[bool]] = None, + force_mfa_local_only: Optional[pulumi.Input[bool]] = None, + hide_password_reset: Optional[pulumi.Input[bool]] = None, + idps: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + ignore_unknown_usernames: Optional[pulumi.Input[bool]] = None, + mfa_init_skip_lifetime: Optional[pulumi.Input[str]] = None, + multi_factor_check_lifetime: Optional[pulumi.Input[str]] = None, + multi_factors: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + org_id: Optional[pulumi.Input[str]] = None, + password_check_lifetime: Optional[pulumi.Input[str]] = None, + passwordless_type: Optional[pulumi.Input[str]] = None, + second_factor_check_lifetime: Optional[pulumi.Input[str]] = None, + second_factors: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + user_login: Optional[pulumi.Input[bool]] = 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__ = LoginPolicyArgs.__new__(LoginPolicyArgs) + + __props__.__dict__["allow_domain_discovery"] = allow_domain_discovery + if allow_external_idp is None and not opts.urn: + raise TypeError("Missing required property 'allow_external_idp'") + __props__.__dict__["allow_external_idp"] = allow_external_idp + if allow_register is None and not opts.urn: + raise TypeError("Missing required property 'allow_register'") + __props__.__dict__["allow_register"] = allow_register + if default_redirect_uri is None and not opts.urn: + raise TypeError("Missing required property 'default_redirect_uri'") + __props__.__dict__["default_redirect_uri"] = default_redirect_uri + __props__.__dict__["disable_login_with_email"] = disable_login_with_email + __props__.__dict__["disable_login_with_phone"] = disable_login_with_phone + if external_login_check_lifetime is None and not opts.urn: + raise TypeError("Missing required property 'external_login_check_lifetime'") + __props__.__dict__["external_login_check_lifetime"] = external_login_check_lifetime + if force_mfa is None and not opts.urn: + raise TypeError("Missing required property 'force_mfa'") + __props__.__dict__["force_mfa"] = force_mfa + if force_mfa_local_only is None and not opts.urn: + raise TypeError("Missing required property 'force_mfa_local_only'") + __props__.__dict__["force_mfa_local_only"] = force_mfa_local_only + if hide_password_reset is None and not opts.urn: + raise TypeError("Missing required property 'hide_password_reset'") + __props__.__dict__["hide_password_reset"] = hide_password_reset + __props__.__dict__["idps"] = idps + if ignore_unknown_usernames is None and not opts.urn: + raise TypeError("Missing required property 'ignore_unknown_usernames'") + __props__.__dict__["ignore_unknown_usernames"] = ignore_unknown_usernames + if mfa_init_skip_lifetime is None and not opts.urn: + raise TypeError("Missing required property 'mfa_init_skip_lifetime'") + __props__.__dict__["mfa_init_skip_lifetime"] = mfa_init_skip_lifetime + if multi_factor_check_lifetime is None and not opts.urn: + raise TypeError("Missing required property 'multi_factor_check_lifetime'") + __props__.__dict__["multi_factor_check_lifetime"] = multi_factor_check_lifetime + __props__.__dict__["multi_factors"] = multi_factors + __props__.__dict__["org_id"] = org_id + if password_check_lifetime is None and not opts.urn: + raise TypeError("Missing required property 'password_check_lifetime'") + __props__.__dict__["password_check_lifetime"] = password_check_lifetime + if passwordless_type is None and not opts.urn: + raise TypeError("Missing required property 'passwordless_type'") + __props__.__dict__["passwordless_type"] = passwordless_type + if second_factor_check_lifetime is None and not opts.urn: + raise TypeError("Missing required property 'second_factor_check_lifetime'") + __props__.__dict__["second_factor_check_lifetime"] = second_factor_check_lifetime + __props__.__dict__["second_factors"] = second_factors + if user_login is None and not opts.urn: + raise TypeError("Missing required property 'user_login'") + __props__.__dict__["user_login"] = user_login + super(LoginPolicy, __self__).__init__( + 'zitadel:index/loginPolicy:LoginPolicy', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + allow_domain_discovery: Optional[pulumi.Input[bool]] = None, + allow_external_idp: Optional[pulumi.Input[bool]] = None, + allow_register: Optional[pulumi.Input[bool]] = None, + default_redirect_uri: Optional[pulumi.Input[str]] = None, + disable_login_with_email: Optional[pulumi.Input[bool]] = None, + disable_login_with_phone: Optional[pulumi.Input[bool]] = None, + external_login_check_lifetime: Optional[pulumi.Input[str]] = None, + force_mfa: Optional[pulumi.Input[bool]] = None, + force_mfa_local_only: Optional[pulumi.Input[bool]] = None, + hide_password_reset: Optional[pulumi.Input[bool]] = None, + idps: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + ignore_unknown_usernames: Optional[pulumi.Input[bool]] = None, + mfa_init_skip_lifetime: Optional[pulumi.Input[str]] = None, + multi_factor_check_lifetime: Optional[pulumi.Input[str]] = None, + multi_factors: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + org_id: Optional[pulumi.Input[str]] = None, + password_check_lifetime: Optional[pulumi.Input[str]] = None, + passwordless_type: Optional[pulumi.Input[str]] = None, + second_factor_check_lifetime: Optional[pulumi.Input[str]] = None, + second_factors: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + user_login: Optional[pulumi.Input[bool]] = None) -> 'LoginPolicy': + """ + Get an existing LoginPolicy 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] allow_domain_discovery: if set to true, the suffix (@domain.com) of an unknown username input on the login screen will be matched against the org domains and will redirect to the registration of that organisation on success. + :param pulumi.Input[bool] allow_external_idp: defines if a user is allowed to add a defined identity provider. E.g. Google auth + :param pulumi.Input[bool] allow_register: defines if a person is allowed to register a user on this organisation + :param pulumi.Input[str] default_redirect_uri: defines where the user will be redirected to if the login is started without app context (e.g. from mail) + :param pulumi.Input[bool] disable_login_with_email: defines if user can additionally (to the loginname) be identified by their verified email address + :param pulumi.Input[bool] disable_login_with_phone: defines if user can additionally (to the loginname) be identified by their verified phone number + :param pulumi.Input[bool] force_mfa: defines if a user MUST use a multi factor to log in + :param pulumi.Input[bool] force_mfa_local_only: if activated, ZITADEL only enforces MFA on local authentications. On authentications through MFA, ZITADEL won't prompt for MFA. + :param pulumi.Input[bool] hide_password_reset: defines if password reset link should be shown in the login screen + :param pulumi.Input[Sequence[pulumi.Input[str]]] idps: allowed idps to login or register + :param pulumi.Input[bool] ignore_unknown_usernames: defines if unknown username on login screen directly return an error or always display the password screen + :param pulumi.Input[Sequence[pulumi.Input[str]]] multi_factors: allowed multi factors + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[str] passwordless_type: defines if passwordless is allowed for users + :param pulumi.Input[Sequence[pulumi.Input[str]]] second_factors: allowed second factors + :param pulumi.Input[bool] user_login: defines if a user is allowed to login with his username and password + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _LoginPolicyState.__new__(_LoginPolicyState) + + __props__.__dict__["allow_domain_discovery"] = allow_domain_discovery + __props__.__dict__["allow_external_idp"] = allow_external_idp + __props__.__dict__["allow_register"] = allow_register + __props__.__dict__["default_redirect_uri"] = default_redirect_uri + __props__.__dict__["disable_login_with_email"] = disable_login_with_email + __props__.__dict__["disable_login_with_phone"] = disable_login_with_phone + __props__.__dict__["external_login_check_lifetime"] = external_login_check_lifetime + __props__.__dict__["force_mfa"] = force_mfa + __props__.__dict__["force_mfa_local_only"] = force_mfa_local_only + __props__.__dict__["hide_password_reset"] = hide_password_reset + __props__.__dict__["idps"] = idps + __props__.__dict__["ignore_unknown_usernames"] = ignore_unknown_usernames + __props__.__dict__["mfa_init_skip_lifetime"] = mfa_init_skip_lifetime + __props__.__dict__["multi_factor_check_lifetime"] = multi_factor_check_lifetime + __props__.__dict__["multi_factors"] = multi_factors + __props__.__dict__["org_id"] = org_id + __props__.__dict__["password_check_lifetime"] = password_check_lifetime + __props__.__dict__["passwordless_type"] = passwordless_type + __props__.__dict__["second_factor_check_lifetime"] = second_factor_check_lifetime + __props__.__dict__["second_factors"] = second_factors + __props__.__dict__["user_login"] = user_login + return LoginPolicy(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="allowDomainDiscovery") + def allow_domain_discovery(self) -> pulumi.Output[Optional[bool]]: + """ + if set to true, the suffix (@domain.com) of an unknown username input on the login screen will be matched against the org domains and will redirect to the registration of that organisation on success. + """ + return pulumi.get(self, "allow_domain_discovery") + + @property + @pulumi.getter(name="allowExternalIdp") + def allow_external_idp(self) -> pulumi.Output[bool]: + """ + defines if a user is allowed to add a defined identity provider. E.g. Google auth + """ + return pulumi.get(self, "allow_external_idp") + + @property + @pulumi.getter(name="allowRegister") + def allow_register(self) -> pulumi.Output[bool]: + """ + defines if a person is allowed to register a user on this organisation + """ + return pulumi.get(self, "allow_register") + + @property + @pulumi.getter(name="defaultRedirectUri") + def default_redirect_uri(self) -> pulumi.Output[str]: + """ + defines where the user will be redirected to if the login is started without app context (e.g. from mail) + """ + return pulumi.get(self, "default_redirect_uri") + + @property + @pulumi.getter(name="disableLoginWithEmail") + def disable_login_with_email(self) -> pulumi.Output[Optional[bool]]: + """ + defines if user can additionally (to the loginname) be identified by their verified email address + """ + return pulumi.get(self, "disable_login_with_email") + + @property + @pulumi.getter(name="disableLoginWithPhone") + def disable_login_with_phone(self) -> pulumi.Output[Optional[bool]]: + """ + defines if user can additionally (to the loginname) be identified by their verified phone number + """ + return pulumi.get(self, "disable_login_with_phone") + + @property + @pulumi.getter(name="externalLoginCheckLifetime") + def external_login_check_lifetime(self) -> pulumi.Output[str]: + return pulumi.get(self, "external_login_check_lifetime") + + @property + @pulumi.getter(name="forceMfa") + def force_mfa(self) -> pulumi.Output[bool]: + """ + defines if a user MUST use a multi factor to log in + """ + return pulumi.get(self, "force_mfa") + + @property + @pulumi.getter(name="forceMfaLocalOnly") + def force_mfa_local_only(self) -> pulumi.Output[bool]: + """ + if activated, ZITADEL only enforces MFA on local authentications. On authentications through MFA, ZITADEL won't prompt for MFA. + """ + return pulumi.get(self, "force_mfa_local_only") + + @property + @pulumi.getter(name="hidePasswordReset") + def hide_password_reset(self) -> pulumi.Output[bool]: + """ + defines if password reset link should be shown in the login screen + """ + return pulumi.get(self, "hide_password_reset") + + @property + @pulumi.getter + def idps(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + allowed idps to login or register + """ + return pulumi.get(self, "idps") + + @property + @pulumi.getter(name="ignoreUnknownUsernames") + def ignore_unknown_usernames(self) -> pulumi.Output[bool]: + """ + defines if unknown username on login screen directly return an error or always display the password screen + """ + return pulumi.get(self, "ignore_unknown_usernames") + + @property + @pulumi.getter(name="mfaInitSkipLifetime") + def mfa_init_skip_lifetime(self) -> pulumi.Output[str]: + return pulumi.get(self, "mfa_init_skip_lifetime") + + @property + @pulumi.getter(name="multiFactorCheckLifetime") + def multi_factor_check_lifetime(self) -> pulumi.Output[str]: + return pulumi.get(self, "multi_factor_check_lifetime") + + @property + @pulumi.getter(name="multiFactors") + def multi_factors(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + allowed multi factors + """ + return pulumi.get(self, "multi_factors") + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> pulumi.Output[Optional[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @property + @pulumi.getter(name="passwordCheckLifetime") + def password_check_lifetime(self) -> pulumi.Output[str]: + return pulumi.get(self, "password_check_lifetime") + + @property + @pulumi.getter(name="passwordlessType") + def passwordless_type(self) -> pulumi.Output[str]: + """ + defines if passwordless is allowed for users + """ + return pulumi.get(self, "passwordless_type") + + @property + @pulumi.getter(name="secondFactorCheckLifetime") + def second_factor_check_lifetime(self) -> pulumi.Output[str]: + return pulumi.get(self, "second_factor_check_lifetime") + + @property + @pulumi.getter(name="secondFactors") + def second_factors(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + allowed second factors + """ + return pulumi.get(self, "second_factors") + + @property + @pulumi.getter(name="userLogin") + def user_login(self) -> pulumi.Output[bool]: + """ + defines if a user is allowed to login with his username and password + """ + return pulumi.get(self, "user_login") + diff --git a/sdk/python/scoretechnologies_zitadel/machine_key.py b/sdk/python/scoretechnologies_zitadel/machine_key.py new file mode 100644 index 0000000..9713f68 --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/machine_key.py @@ -0,0 +1,418 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['MachineKeyArgs', 'MachineKey'] + +@pulumi.input_type +class MachineKeyArgs: + def __init__(__self__, *, + key_type: pulumi.Input[str], + user_id: pulumi.Input[str], + expiration_date: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a MachineKey resource. + :param pulumi.Input[str] key_type: Type of the machine key, supported values: KEY*TYPE*UNSPECIFIED, KEY*TYPE*JSON + :param pulumi.Input[str] user_id: ID of the user + :param pulumi.Input[str] expiration_date: Expiration date of the machine key in the RFC3339 format + :param pulumi.Input[str] org_id: ID of the organization + """ + MachineKeyArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + key_type=key_type, + user_id=user_id, + expiration_date=expiration_date, + org_id=org_id, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + key_type: pulumi.Input[str], + user_id: pulumi.Input[str], + expiration_date: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'keyType' in kwargs: + key_type = kwargs['keyType'] + if 'userId' in kwargs: + user_id = kwargs['userId'] + if 'expirationDate' in kwargs: + expiration_date = kwargs['expirationDate'] + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + + _setter("key_type", key_type) + _setter("user_id", user_id) + if expiration_date is not None: + _setter("expiration_date", expiration_date) + if org_id is not None: + _setter("org_id", org_id) + + @property + @pulumi.getter(name="keyType") + def key_type(self) -> pulumi.Input[str]: + """ + Type of the machine key, supported values: KEY*TYPE*UNSPECIFIED, KEY*TYPE*JSON + """ + return pulumi.get(self, "key_type") + + @key_type.setter + def key_type(self, value: pulumi.Input[str]): + pulumi.set(self, "key_type", value) + + @property + @pulumi.getter(name="userId") + def user_id(self) -> pulumi.Input[str]: + """ + ID of the user + """ + return pulumi.get(self, "user_id") + + @user_id.setter + def user_id(self, value: pulumi.Input[str]): + pulumi.set(self, "user_id", value) + + @property + @pulumi.getter(name="expirationDate") + def expiration_date(self) -> Optional[pulumi.Input[str]]: + """ + Expiration date of the machine key in the RFC3339 format + """ + return pulumi.get(self, "expiration_date") + + @expiration_date.setter + def expiration_date(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "expiration_date", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + +@pulumi.input_type +class _MachineKeyState: + def __init__(__self__, *, + expiration_date: Optional[pulumi.Input[str]] = None, + key_details: Optional[pulumi.Input[str]] = None, + key_type: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + user_id: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering MachineKey resources. + :param pulumi.Input[str] expiration_date: Expiration date of the machine key in the RFC3339 format + :param pulumi.Input[str] key_details: Value of the machine key + :param pulumi.Input[str] key_type: Type of the machine key, supported values: KEY*TYPE*UNSPECIFIED, KEY*TYPE*JSON + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[str] user_id: ID of the user + """ + _MachineKeyState._configure( + lambda key, value: pulumi.set(__self__, key, value), + expiration_date=expiration_date, + key_details=key_details, + key_type=key_type, + org_id=org_id, + user_id=user_id, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + expiration_date: Optional[pulumi.Input[str]] = None, + key_details: Optional[pulumi.Input[str]] = None, + key_type: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + user_id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'expirationDate' in kwargs: + expiration_date = kwargs['expirationDate'] + if 'keyDetails' in kwargs: + key_details = kwargs['keyDetails'] + if 'keyType' in kwargs: + key_type = kwargs['keyType'] + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + if 'userId' in kwargs: + user_id = kwargs['userId'] + + if expiration_date is not None: + _setter("expiration_date", expiration_date) + if key_details is not None: + _setter("key_details", key_details) + if key_type is not None: + _setter("key_type", key_type) + if org_id is not None: + _setter("org_id", org_id) + if user_id is not None: + _setter("user_id", user_id) + + @property + @pulumi.getter(name="expirationDate") + def expiration_date(self) -> Optional[pulumi.Input[str]]: + """ + Expiration date of the machine key in the RFC3339 format + """ + return pulumi.get(self, "expiration_date") + + @expiration_date.setter + def expiration_date(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "expiration_date", value) + + @property + @pulumi.getter(name="keyDetails") + def key_details(self) -> Optional[pulumi.Input[str]]: + """ + Value of the machine key + """ + return pulumi.get(self, "key_details") + + @key_details.setter + def key_details(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "key_details", value) + + @property + @pulumi.getter(name="keyType") + def key_type(self) -> Optional[pulumi.Input[str]]: + """ + Type of the machine key, supported values: KEY*TYPE*UNSPECIFIED, KEY*TYPE*JSON + """ + return pulumi.get(self, "key_type") + + @key_type.setter + def key_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "key_type", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + @property + @pulumi.getter(name="userId") + def user_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the user + """ + return pulumi.get(self, "user_id") + + @user_id.setter + def user_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "user_id", value) + + +class MachineKey(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + expiration_date: Optional[pulumi.Input[str]] = None, + key_type: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + user_id: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Resource representing a machine key + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.MachineKey("default", + org_id=data["zitadel_org"]["default"]["id"], + user_id=data["zitadel_machine_user"]["default"]["id"], + key_type="KEY_TYPE_JSON", + expiration_date="2519-04-01T08:45:00Z") + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/machineKey:MachineKey imported '123456789012345678:123456789012345678:123456789012345678:{"type":"serviceaccount","keyId":"123456789012345678","key":"-----BEGIN RSA PRIVATE KEY-----\\nMIIEpQ...-----END RSA PRIVATE KEY-----\\n","userId":"123456789012345678"}' + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] expiration_date: Expiration date of the machine key in the RFC3339 format + :param pulumi.Input[str] key_type: Type of the machine key, supported values: KEY*TYPE*UNSPECIFIED, KEY*TYPE*JSON + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[str] user_id: ID of the user + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: MachineKeyArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource representing a machine key + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.MachineKey("default", + org_id=data["zitadel_org"]["default"]["id"], + user_id=data["zitadel_machine_user"]["default"]["id"], + key_type="KEY_TYPE_JSON", + expiration_date="2519-04-01T08:45:00Z") + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/machineKey:MachineKey imported '123456789012345678:123456789012345678:123456789012345678:{"type":"serviceaccount","keyId":"123456789012345678","key":"-----BEGIN RSA PRIVATE KEY-----\\nMIIEpQ...-----END RSA PRIVATE KEY-----\\n","userId":"123456789012345678"}' + ``` + + :param str resource_name: The name of the resource. + :param MachineKeyArgs 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(MachineKeyArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + MachineKeyArgs._configure(_setter, **kwargs) + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + expiration_date: Optional[pulumi.Input[str]] = None, + key_type: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + user_id: 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__ = MachineKeyArgs.__new__(MachineKeyArgs) + + __props__.__dict__["expiration_date"] = expiration_date + if key_type is None and not opts.urn: + raise TypeError("Missing required property 'key_type'") + __props__.__dict__["key_type"] = key_type + __props__.__dict__["org_id"] = org_id + if user_id is None and not opts.urn: + raise TypeError("Missing required property 'user_id'") + __props__.__dict__["user_id"] = user_id + __props__.__dict__["key_details"] = None + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["keyDetails"]) + opts = pulumi.ResourceOptions.merge(opts, secret_opts) + super(MachineKey, __self__).__init__( + 'zitadel:index/machineKey:MachineKey', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + expiration_date: Optional[pulumi.Input[str]] = None, + key_details: Optional[pulumi.Input[str]] = None, + key_type: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + user_id: Optional[pulumi.Input[str]] = None) -> 'MachineKey': + """ + Get an existing MachineKey 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[str] expiration_date: Expiration date of the machine key in the RFC3339 format + :param pulumi.Input[str] key_details: Value of the machine key + :param pulumi.Input[str] key_type: Type of the machine key, supported values: KEY*TYPE*UNSPECIFIED, KEY*TYPE*JSON + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[str] user_id: ID of the user + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _MachineKeyState.__new__(_MachineKeyState) + + __props__.__dict__["expiration_date"] = expiration_date + __props__.__dict__["key_details"] = key_details + __props__.__dict__["key_type"] = key_type + __props__.__dict__["org_id"] = org_id + __props__.__dict__["user_id"] = user_id + return MachineKey(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="expirationDate") + def expiration_date(self) -> pulumi.Output[str]: + """ + Expiration date of the machine key in the RFC3339 format + """ + return pulumi.get(self, "expiration_date") + + @property + @pulumi.getter(name="keyDetails") + def key_details(self) -> pulumi.Output[str]: + """ + Value of the machine key + """ + return pulumi.get(self, "key_details") + + @property + @pulumi.getter(name="keyType") + def key_type(self) -> pulumi.Output[str]: + """ + Type of the machine key, supported values: KEY*TYPE*UNSPECIFIED, KEY*TYPE*JSON + """ + return pulumi.get(self, "key_type") + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> pulumi.Output[Optional[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @property + @pulumi.getter(name="userId") + def user_id(self) -> pulumi.Output[str]: + """ + ID of the user + """ + return pulumi.get(self, "user_id") + diff --git a/sdk/python/scoretechnologies_zitadel/machine_user.py b/sdk/python/scoretechnologies_zitadel/machine_user.py new file mode 100644 index 0000000..8f22bc5 --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/machine_user.py @@ -0,0 +1,645 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['MachineUserArgs', 'MachineUser'] + +@pulumi.input_type +class MachineUserArgs: + def __init__(__self__, *, + user_name: pulumi.Input[str], + access_token_type: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + with_secret: Optional[pulumi.Input[bool]] = None): + """ + The set of arguments for constructing a MachineUser resource. + :param pulumi.Input[str] user_name: Username + :param pulumi.Input[str] access_token_type: Access token type, supported values: ACCESS*TOKEN*TYPE*BEARER, ACCESS*TOKEN*TYPE*JWT + :param pulumi.Input[str] description: Description of the user + :param pulumi.Input[str] name: Name of the machine user + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[bool] with_secret: Generate machine secret, only applicable if creation or change from false + """ + MachineUserArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + user_name=user_name, + access_token_type=access_token_type, + description=description, + name=name, + org_id=org_id, + with_secret=with_secret, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + user_name: pulumi.Input[str], + access_token_type: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + with_secret: Optional[pulumi.Input[bool]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'userName' in kwargs: + user_name = kwargs['userName'] + if 'accessTokenType' in kwargs: + access_token_type = kwargs['accessTokenType'] + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + if 'withSecret' in kwargs: + with_secret = kwargs['withSecret'] + + _setter("user_name", user_name) + if access_token_type is not None: + _setter("access_token_type", access_token_type) + if description is not None: + _setter("description", description) + if name is not None: + _setter("name", name) + if org_id is not None: + _setter("org_id", org_id) + if with_secret is not None: + _setter("with_secret", with_secret) + + @property + @pulumi.getter(name="userName") + def user_name(self) -> pulumi.Input[str]: + """ + Username + """ + return pulumi.get(self, "user_name") + + @user_name.setter + def user_name(self, value: pulumi.Input[str]): + pulumi.set(self, "user_name", value) + + @property + @pulumi.getter(name="accessTokenType") + def access_token_type(self) -> Optional[pulumi.Input[str]]: + """ + Access token type, supported values: ACCESS*TOKEN*TYPE*BEARER, ACCESS*TOKEN*TYPE*JWT + """ + return pulumi.get(self, "access_token_type") + + @access_token_type.setter + def access_token_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "access_token_type", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Description of the user + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the machine user + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + @property + @pulumi.getter(name="withSecret") + def with_secret(self) -> Optional[pulumi.Input[bool]]: + """ + Generate machine secret, only applicable if creation or change from false + """ + return pulumi.get(self, "with_secret") + + @with_secret.setter + def with_secret(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "with_secret", value) + + +@pulumi.input_type +class _MachineUserState: + def __init__(__self__, *, + access_token_type: Optional[pulumi.Input[str]] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + login_names: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + preferred_login_name: Optional[pulumi.Input[str]] = None, + state: Optional[pulumi.Input[str]] = None, + user_name: Optional[pulumi.Input[str]] = None, + with_secret: Optional[pulumi.Input[bool]] = None): + """ + Input properties used for looking up and filtering MachineUser resources. + :param pulumi.Input[str] access_token_type: Access token type, supported values: ACCESS*TOKEN*TYPE*BEARER, ACCESS*TOKEN*TYPE*JWT + :param pulumi.Input[str] client_id: Value of the client ID if withSecret is true + :param pulumi.Input[str] client_secret: Value of the client secret if withSecret is true + :param pulumi.Input[str] description: Description of the user + :param pulumi.Input[Sequence[pulumi.Input[str]]] login_names: Loginnames + :param pulumi.Input[str] name: Name of the machine user + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[str] preferred_login_name: Preferred login name + :param pulumi.Input[str] state: State of the user + :param pulumi.Input[str] user_name: Username + :param pulumi.Input[bool] with_secret: Generate machine secret, only applicable if creation or change from false + """ + _MachineUserState._configure( + lambda key, value: pulumi.set(__self__, key, value), + access_token_type=access_token_type, + client_id=client_id, + client_secret=client_secret, + description=description, + login_names=login_names, + name=name, + org_id=org_id, + preferred_login_name=preferred_login_name, + state=state, + user_name=user_name, + with_secret=with_secret, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + access_token_type: Optional[pulumi.Input[str]] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + login_names: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + preferred_login_name: Optional[pulumi.Input[str]] = None, + state: Optional[pulumi.Input[str]] = None, + user_name: Optional[pulumi.Input[str]] = None, + with_secret: Optional[pulumi.Input[bool]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'accessTokenType' in kwargs: + access_token_type = kwargs['accessTokenType'] + if 'clientId' in kwargs: + client_id = kwargs['clientId'] + if 'clientSecret' in kwargs: + client_secret = kwargs['clientSecret'] + if 'loginNames' in kwargs: + login_names = kwargs['loginNames'] + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + if 'preferredLoginName' in kwargs: + preferred_login_name = kwargs['preferredLoginName'] + if 'userName' in kwargs: + user_name = kwargs['userName'] + if 'withSecret' in kwargs: + with_secret = kwargs['withSecret'] + + if access_token_type is not None: + _setter("access_token_type", access_token_type) + if client_id is not None: + _setter("client_id", client_id) + if client_secret is not None: + _setter("client_secret", client_secret) + if description is not None: + _setter("description", description) + if login_names is not None: + _setter("login_names", login_names) + if name is not None: + _setter("name", name) + if org_id is not None: + _setter("org_id", org_id) + if preferred_login_name is not None: + _setter("preferred_login_name", preferred_login_name) + if state is not None: + _setter("state", state) + if user_name is not None: + _setter("user_name", user_name) + if with_secret is not None: + _setter("with_secret", with_secret) + + @property + @pulumi.getter(name="accessTokenType") + def access_token_type(self) -> Optional[pulumi.Input[str]]: + """ + Access token type, supported values: ACCESS*TOKEN*TYPE*BEARER, ACCESS*TOKEN*TYPE*JWT + """ + return pulumi.get(self, "access_token_type") + + @access_token_type.setter + def access_token_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "access_token_type", value) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> Optional[pulumi.Input[str]]: + """ + Value of the client ID if withSecret is true + """ + return pulumi.get(self, "client_id") + + @client_id.setter + def client_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "client_id", value) + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> Optional[pulumi.Input[str]]: + """ + Value of the client secret if withSecret is true + """ + return pulumi.get(self, "client_secret") + + @client_secret.setter + def client_secret(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "client_secret", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Description of the user + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="loginNames") + def login_names(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Loginnames + """ + return pulumi.get(self, "login_names") + + @login_names.setter + def login_names(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "login_names", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the machine user + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + @property + @pulumi.getter(name="preferredLoginName") + def preferred_login_name(self) -> Optional[pulumi.Input[str]]: + """ + Preferred login name + """ + return pulumi.get(self, "preferred_login_name") + + @preferred_login_name.setter + def preferred_login_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "preferred_login_name", value) + + @property + @pulumi.getter + def state(self) -> Optional[pulumi.Input[str]]: + """ + State of the user + """ + return pulumi.get(self, "state") + + @state.setter + def state(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "state", value) + + @property + @pulumi.getter(name="userName") + def user_name(self) -> Optional[pulumi.Input[str]]: + """ + Username + """ + return pulumi.get(self, "user_name") + + @user_name.setter + def user_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "user_name", value) + + @property + @pulumi.getter(name="withSecret") + def with_secret(self) -> Optional[pulumi.Input[bool]]: + """ + Generate machine secret, only applicable if creation or change from false + """ + return pulumi.get(self, "with_secret") + + @with_secret.setter + def with_secret(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "with_secret", value) + + +class MachineUser(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + access_token_type: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + user_name: Optional[pulumi.Input[str]] = None, + with_secret: Optional[pulumi.Input[bool]] = None, + __props__=None): + """ + Resource representing a serviceaccount situated under an organization, which then can be authorized through memberships or direct grants on other resources. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.MachineUser("default", + org_id=data["zitadel_org"]["default"]["id"], + user_name="machine@example.com", + description="a machine user", + with_secret=False) + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/machineUser:MachineUser imported '123456789012345678:123456789012345678:true:my-machine-user:j76mh34CHVrGGoXPQOg80lch67FIxwc2qIXjBkZoB6oMbf31eGMkB6bvRyaPjR2t' + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] access_token_type: Access token type, supported values: ACCESS*TOKEN*TYPE*BEARER, ACCESS*TOKEN*TYPE*JWT + :param pulumi.Input[str] description: Description of the user + :param pulumi.Input[str] name: Name of the machine user + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[str] user_name: Username + :param pulumi.Input[bool] with_secret: Generate machine secret, only applicable if creation or change from false + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: MachineUserArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource representing a serviceaccount situated under an organization, which then can be authorized through memberships or direct grants on other resources. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.MachineUser("default", + org_id=data["zitadel_org"]["default"]["id"], + user_name="machine@example.com", + description="a machine user", + with_secret=False) + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/machineUser:MachineUser imported '123456789012345678:123456789012345678:true:my-machine-user:j76mh34CHVrGGoXPQOg80lch67FIxwc2qIXjBkZoB6oMbf31eGMkB6bvRyaPjR2t' + ``` + + :param str resource_name: The name of the resource. + :param MachineUserArgs 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(MachineUserArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + MachineUserArgs._configure(_setter, **kwargs) + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + access_token_type: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + user_name: Optional[pulumi.Input[str]] = None, + with_secret: Optional[pulumi.Input[bool]] = 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__ = MachineUserArgs.__new__(MachineUserArgs) + + __props__.__dict__["access_token_type"] = access_token_type + __props__.__dict__["description"] = description + __props__.__dict__["name"] = name + __props__.__dict__["org_id"] = org_id + if user_name is None and not opts.urn: + raise TypeError("Missing required property 'user_name'") + __props__.__dict__["user_name"] = user_name + __props__.__dict__["with_secret"] = with_secret + __props__.__dict__["client_id"] = None + __props__.__dict__["client_secret"] = None + __props__.__dict__["login_names"] = None + __props__.__dict__["preferred_login_name"] = None + __props__.__dict__["state"] = None + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["clientId", "clientSecret"]) + opts = pulumi.ResourceOptions.merge(opts, secret_opts) + super(MachineUser, __self__).__init__( + 'zitadel:index/machineUser:MachineUser', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + access_token_type: Optional[pulumi.Input[str]] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + login_names: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + preferred_login_name: Optional[pulumi.Input[str]] = None, + state: Optional[pulumi.Input[str]] = None, + user_name: Optional[pulumi.Input[str]] = None, + with_secret: Optional[pulumi.Input[bool]] = None) -> 'MachineUser': + """ + Get an existing MachineUser 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[str] access_token_type: Access token type, supported values: ACCESS*TOKEN*TYPE*BEARER, ACCESS*TOKEN*TYPE*JWT + :param pulumi.Input[str] client_id: Value of the client ID if withSecret is true + :param pulumi.Input[str] client_secret: Value of the client secret if withSecret is true + :param pulumi.Input[str] description: Description of the user + :param pulumi.Input[Sequence[pulumi.Input[str]]] login_names: Loginnames + :param pulumi.Input[str] name: Name of the machine user + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[str] preferred_login_name: Preferred login name + :param pulumi.Input[str] state: State of the user + :param pulumi.Input[str] user_name: Username + :param pulumi.Input[bool] with_secret: Generate machine secret, only applicable if creation or change from false + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _MachineUserState.__new__(_MachineUserState) + + __props__.__dict__["access_token_type"] = access_token_type + __props__.__dict__["client_id"] = client_id + __props__.__dict__["client_secret"] = client_secret + __props__.__dict__["description"] = description + __props__.__dict__["login_names"] = login_names + __props__.__dict__["name"] = name + __props__.__dict__["org_id"] = org_id + __props__.__dict__["preferred_login_name"] = preferred_login_name + __props__.__dict__["state"] = state + __props__.__dict__["user_name"] = user_name + __props__.__dict__["with_secret"] = with_secret + return MachineUser(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="accessTokenType") + def access_token_type(self) -> pulumi.Output[Optional[str]]: + """ + Access token type, supported values: ACCESS*TOKEN*TYPE*BEARER, ACCESS*TOKEN*TYPE*JWT + """ + return pulumi.get(self, "access_token_type") + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> pulumi.Output[str]: + """ + Value of the client ID if withSecret is true + """ + return pulumi.get(self, "client_id") + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> pulumi.Output[str]: + """ + Value of the client secret if withSecret is true + """ + return pulumi.get(self, "client_secret") + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + Description of the user + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="loginNames") + def login_names(self) -> pulumi.Output[Sequence[str]]: + """ + Loginnames + """ + return pulumi.get(self, "login_names") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Name of the machine user + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> pulumi.Output[Optional[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @property + @pulumi.getter(name="preferredLoginName") + def preferred_login_name(self) -> pulumi.Output[str]: + """ + Preferred login name + """ + return pulumi.get(self, "preferred_login_name") + + @property + @pulumi.getter + def state(self) -> pulumi.Output[str]: + """ + State of the user + """ + return pulumi.get(self, "state") + + @property + @pulumi.getter(name="userName") + def user_name(self) -> pulumi.Output[str]: + """ + Username + """ + return pulumi.get(self, "user_name") + + @property + @pulumi.getter(name="withSecret") + def with_secret(self) -> pulumi.Output[Optional[bool]]: + """ + Generate machine secret, only applicable if creation or change from false + """ + return pulumi.get(self, "with_secret") + diff --git a/sdk/python/scoretechnologies_zitadel/notification_policy.py b/sdk/python/scoretechnologies_zitadel/notification_policy.py new file mode 100644 index 0000000..9592727 --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/notification_policy.py @@ -0,0 +1,269 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['NotificationPolicyArgs', 'NotificationPolicy'] + +@pulumi.input_type +class NotificationPolicyArgs: + def __init__(__self__, *, + password_change: pulumi.Input[bool], + org_id: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a NotificationPolicy resource. + :param pulumi.Input[bool] password_change: Send notification if a user changes his password + :param pulumi.Input[str] org_id: ID of the organization + """ + NotificationPolicyArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + password_change=password_change, + org_id=org_id, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + password_change: pulumi.Input[bool], + org_id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'passwordChange' in kwargs: + password_change = kwargs['passwordChange'] + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + + _setter("password_change", password_change) + if org_id is not None: + _setter("org_id", org_id) + + @property + @pulumi.getter(name="passwordChange") + def password_change(self) -> pulumi.Input[bool]: + """ + Send notification if a user changes his password + """ + return pulumi.get(self, "password_change") + + @password_change.setter + def password_change(self, value: pulumi.Input[bool]): + pulumi.set(self, "password_change", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + +@pulumi.input_type +class _NotificationPolicyState: + def __init__(__self__, *, + org_id: Optional[pulumi.Input[str]] = None, + password_change: Optional[pulumi.Input[bool]] = None): + """ + Input properties used for looking up and filtering NotificationPolicy resources. + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[bool] password_change: Send notification if a user changes his password + """ + _NotificationPolicyState._configure( + lambda key, value: pulumi.set(__self__, key, value), + org_id=org_id, + password_change=password_change, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + org_id: Optional[pulumi.Input[str]] = None, + password_change: Optional[pulumi.Input[bool]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + if 'passwordChange' in kwargs: + password_change = kwargs['passwordChange'] + + if org_id is not None: + _setter("org_id", org_id) + if password_change is not None: + _setter("password_change", password_change) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + @property + @pulumi.getter(name="passwordChange") + def password_change(self) -> Optional[pulumi.Input[bool]]: + """ + Send notification if a user changes his password + """ + return pulumi.get(self, "password_change") + + @password_change.setter + def password_change(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "password_change", value) + + +class NotificationPolicy(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + org_id: Optional[pulumi.Input[str]] = None, + password_change: Optional[pulumi.Input[bool]] = None, + __props__=None): + """ + Resource representing the custom notification policy of an organization. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.NotificationPolicy("default", + org_id=data["zitadel_org"]["default"]["id"], + password_change=False) + ``` + + ## Import + + bash The resource can be imported using the ID format `<[org_id]>`, e.g. + + ```sh + $ pulumi import zitadel:index/notificationPolicy:NotificationPolicy imported '123456789012345678' + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[bool] password_change: Send notification if a user changes his password + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: NotificationPolicyArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource representing the custom notification policy of an organization. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.NotificationPolicy("default", + org_id=data["zitadel_org"]["default"]["id"], + password_change=False) + ``` + + ## Import + + bash The resource can be imported using the ID format `<[org_id]>`, e.g. + + ```sh + $ pulumi import zitadel:index/notificationPolicy:NotificationPolicy imported '123456789012345678' + ``` + + :param str resource_name: The name of the resource. + :param NotificationPolicyArgs 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(NotificationPolicyArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + NotificationPolicyArgs._configure(_setter, **kwargs) + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + org_id: Optional[pulumi.Input[str]] = None, + password_change: Optional[pulumi.Input[bool]] = 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__ = NotificationPolicyArgs.__new__(NotificationPolicyArgs) + + __props__.__dict__["org_id"] = org_id + if password_change is None and not opts.urn: + raise TypeError("Missing required property 'password_change'") + __props__.__dict__["password_change"] = password_change + super(NotificationPolicy, __self__).__init__( + 'zitadel:index/notificationPolicy:NotificationPolicy', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + org_id: Optional[pulumi.Input[str]] = None, + password_change: Optional[pulumi.Input[bool]] = None) -> 'NotificationPolicy': + """ + Get an existing NotificationPolicy 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[str] org_id: ID of the organization + :param pulumi.Input[bool] password_change: Send notification if a user changes his password + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _NotificationPolicyState.__new__(_NotificationPolicyState) + + __props__.__dict__["org_id"] = org_id + __props__.__dict__["password_change"] = password_change + return NotificationPolicy(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> pulumi.Output[Optional[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @property + @pulumi.getter(name="passwordChange") + def password_change(self) -> pulumi.Output[bool]: + """ + Send notification if a user changes his password + """ + return pulumi.get(self, "password_change") + diff --git a/sdk/python/scoretechnologies_zitadel/org.py b/sdk/python/scoretechnologies_zitadel/org.py new file mode 100644 index 0000000..ad2fe4e --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/org.py @@ -0,0 +1,322 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['OrgArgs', 'Org'] + +@pulumi.input_type +class OrgArgs: + def __init__(__self__, *, + is_default: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a Org resource. + :param pulumi.Input[bool] is_default: True sets the org as default org for the instance. Only one org can be default org. Nothing happens if you set it to false until you set another org as default org. + :param pulumi.Input[str] name: Name of the org + """ + OrgArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + is_default=is_default, + name=name, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + is_default: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'isDefault' in kwargs: + is_default = kwargs['isDefault'] + + if is_default is not None: + _setter("is_default", is_default) + if name is not None: + _setter("name", name) + + @property + @pulumi.getter(name="isDefault") + def is_default(self) -> Optional[pulumi.Input[bool]]: + """ + True sets the org as default org for the instance. Only one org can be default org. Nothing happens if you set it to false until you set another org as default org. + """ + return pulumi.get(self, "is_default") + + @is_default.setter + def is_default(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_default", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the org + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + +@pulumi.input_type +class _OrgState: + def __init__(__self__, *, + is_default: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + primary_domain: Optional[pulumi.Input[str]] = None, + state: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering Org resources. + :param pulumi.Input[bool] is_default: True sets the org as default org for the instance. Only one org can be default org. Nothing happens if you set it to false until you set another org as default org. + :param pulumi.Input[str] name: Name of the org + :param pulumi.Input[str] primary_domain: Primary domain of the org + :param pulumi.Input[str] state: State of the org + """ + _OrgState._configure( + lambda key, value: pulumi.set(__self__, key, value), + is_default=is_default, + name=name, + primary_domain=primary_domain, + state=state, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + is_default: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + primary_domain: Optional[pulumi.Input[str]] = None, + state: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'isDefault' in kwargs: + is_default = kwargs['isDefault'] + if 'primaryDomain' in kwargs: + primary_domain = kwargs['primaryDomain'] + + if is_default is not None: + _setter("is_default", is_default) + if name is not None: + _setter("name", name) + if primary_domain is not None: + _setter("primary_domain", primary_domain) + if state is not None: + _setter("state", state) + + @property + @pulumi.getter(name="isDefault") + def is_default(self) -> Optional[pulumi.Input[bool]]: + """ + True sets the org as default org for the instance. Only one org can be default org. Nothing happens if you set it to false until you set another org as default org. + """ + return pulumi.get(self, "is_default") + + @is_default.setter + def is_default(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_default", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the org + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="primaryDomain") + def primary_domain(self) -> Optional[pulumi.Input[str]]: + """ + Primary domain of the org + """ + return pulumi.get(self, "primary_domain") + + @primary_domain.setter + def primary_domain(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "primary_domain", value) + + @property + @pulumi.getter + def state(self) -> Optional[pulumi.Input[str]]: + """ + State of the org + """ + return pulumi.get(self, "state") + + @state.setter + def state(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "state", value) + + +class Org(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + is_default: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Resource representing an organization in ZITADEL, which is the highest level after the instance and contains several other resource including policies if the configuration differs to the default policies on the instance. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.Org("default") + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/org:Org imported '123456789012345678' + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[bool] is_default: True sets the org as default org for the instance. Only one org can be default org. Nothing happens if you set it to false until you set another org as default org. + :param pulumi.Input[str] name: Name of the org + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: Optional[OrgArgs] = None, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource representing an organization in ZITADEL, which is the highest level after the instance and contains several other resource including policies if the configuration differs to the default policies on the instance. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.Org("default") + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/org:Org imported '123456789012345678' + ``` + + :param str resource_name: The name of the resource. + :param OrgArgs 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(OrgArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + OrgArgs._configure(_setter, **kwargs) + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + is_default: Optional[pulumi.Input[bool]] = None, + 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__ = OrgArgs.__new__(OrgArgs) + + __props__.__dict__["is_default"] = is_default + __props__.__dict__["name"] = name + __props__.__dict__["primary_domain"] = None + __props__.__dict__["state"] = None + super(Org, __self__).__init__( + 'zitadel:index/org:Org', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + is_default: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + primary_domain: Optional[pulumi.Input[str]] = None, + state: Optional[pulumi.Input[str]] = None) -> 'Org': + """ + Get an existing Org 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] is_default: True sets the org as default org for the instance. Only one org can be default org. Nothing happens if you set it to false until you set another org as default org. + :param pulumi.Input[str] name: Name of the org + :param pulumi.Input[str] primary_domain: Primary domain of the org + :param pulumi.Input[str] state: State of the org + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _OrgState.__new__(_OrgState) + + __props__.__dict__["is_default"] = is_default + __props__.__dict__["name"] = name + __props__.__dict__["primary_domain"] = primary_domain + __props__.__dict__["state"] = state + return Org(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="isDefault") + def is_default(self) -> pulumi.Output[Optional[bool]]: + """ + True sets the org as default org for the instance. Only one org can be default org. Nothing happens if you set it to false until you set another org as default org. + """ + return pulumi.get(self, "is_default") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Name of the org + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="primaryDomain") + def primary_domain(self) -> pulumi.Output[str]: + """ + Primary domain of the org + """ + return pulumi.get(self, "primary_domain") + + @property + @pulumi.getter + def state(self) -> pulumi.Output[str]: + """ + State of the org + """ + return pulumi.get(self, "state") + diff --git a/sdk/python/scoretechnologies_zitadel/org_idp_azure_ad.py b/sdk/python/scoretechnologies_zitadel/org_idp_azure_ad.py new file mode 100644 index 0000000..0e6a5e9 --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/org_idp_azure_ad.py @@ -0,0 +1,845 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['OrgIdpAzureAdArgs', 'OrgIdpAzureAd'] + +@pulumi.input_type +class OrgIdpAzureAdArgs: + def __init__(__self__, *, + client_id: pulumi.Input[str], + client_secret: pulumi.Input[str], + email_verified: pulumi.Input[bool], + is_auto_creation: pulumi.Input[bool], + is_auto_update: pulumi.Input[bool], + is_creation_allowed: pulumi.Input[bool], + is_linking_allowed: pulumi.Input[bool], + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + tenant_id: Optional[pulumi.Input[str]] = None, + tenant_type: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a OrgIdpAzureAd resource. + :param pulumi.Input[str] client_id: client id generated by the identity provider + :param pulumi.Input[str] client_secret: client secret generated by the identity provider + :param pulumi.Input[bool] email_verified: automatically mark emails as verified + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[Sequence[pulumi.Input[str]]] scopes: the scopes requested by ZITADEL during the request on the identity provider + :param pulumi.Input[str] tenant_id: if tenant*id is not set, the tenant*type is used + :param pulumi.Input[str] tenant_type: the azure ad tenant type + """ + OrgIdpAzureAdArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + client_id=client_id, + client_secret=client_secret, + email_verified=email_verified, + is_auto_creation=is_auto_creation, + is_auto_update=is_auto_update, + is_creation_allowed=is_creation_allowed, + is_linking_allowed=is_linking_allowed, + name=name, + org_id=org_id, + scopes=scopes, + tenant_id=tenant_id, + tenant_type=tenant_type, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + client_id: pulumi.Input[str], + client_secret: pulumi.Input[str], + email_verified: pulumi.Input[bool], + is_auto_creation: pulumi.Input[bool], + is_auto_update: pulumi.Input[bool], + is_creation_allowed: pulumi.Input[bool], + is_linking_allowed: pulumi.Input[bool], + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + tenant_id: Optional[pulumi.Input[str]] = None, + tenant_type: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'clientId' in kwargs: + client_id = kwargs['clientId'] + if 'clientSecret' in kwargs: + client_secret = kwargs['clientSecret'] + if 'emailVerified' in kwargs: + email_verified = kwargs['emailVerified'] + if 'isAutoCreation' in kwargs: + is_auto_creation = kwargs['isAutoCreation'] + if 'isAutoUpdate' in kwargs: + is_auto_update = kwargs['isAutoUpdate'] + if 'isCreationAllowed' in kwargs: + is_creation_allowed = kwargs['isCreationAllowed'] + if 'isLinkingAllowed' in kwargs: + is_linking_allowed = kwargs['isLinkingAllowed'] + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + if 'tenantId' in kwargs: + tenant_id = kwargs['tenantId'] + if 'tenantType' in kwargs: + tenant_type = kwargs['tenantType'] + + _setter("client_id", client_id) + _setter("client_secret", client_secret) + _setter("email_verified", email_verified) + _setter("is_auto_creation", is_auto_creation) + _setter("is_auto_update", is_auto_update) + _setter("is_creation_allowed", is_creation_allowed) + _setter("is_linking_allowed", is_linking_allowed) + if name is not None: + _setter("name", name) + if org_id is not None: + _setter("org_id", org_id) + if scopes is not None: + _setter("scopes", scopes) + if tenant_id is not None: + _setter("tenant_id", tenant_id) + if tenant_type is not None: + _setter("tenant_type", tenant_type) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> pulumi.Input[str]: + """ + client id generated by the identity provider + """ + return pulumi.get(self, "client_id") + + @client_id.setter + def client_id(self, value: pulumi.Input[str]): + pulumi.set(self, "client_id", value) + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> pulumi.Input[str]: + """ + client secret generated by the identity provider + """ + return pulumi.get(self, "client_secret") + + @client_secret.setter + def client_secret(self, value: pulumi.Input[str]): + pulumi.set(self, "client_secret", value) + + @property + @pulumi.getter(name="emailVerified") + def email_verified(self) -> pulumi.Input[bool]: + """ + automatically mark emails as verified + """ + return pulumi.get(self, "email_verified") + + @email_verified.setter + def email_verified(self, value: pulumi.Input[bool]): + pulumi.set(self, "email_verified", value) + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> pulumi.Input[bool]: + """ + enable if a new account in ZITADEL should be created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @is_auto_creation.setter + def is_auto_creation(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_auto_creation", value) + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> pulumi.Input[bool]: + """ + enable if a the ZITADEL account fields should be updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @is_auto_update.setter + def is_auto_update(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_auto_update", value) + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> pulumi.Input[bool]: + """ + enable if users should be able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @is_creation_allowed.setter + def is_creation_allowed(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_creation_allowed", value) + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> pulumi.Input[bool]: + """ + enable if users should be able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @is_linking_allowed.setter + def is_linking_allowed(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_linking_allowed", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + @property + @pulumi.getter + def scopes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + the scopes requested by ZITADEL during the request on the identity provider + """ + return pulumi.get(self, "scopes") + + @scopes.setter + def scopes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "scopes", value) + + @property + @pulumi.getter(name="tenantId") + def tenant_id(self) -> Optional[pulumi.Input[str]]: + """ + if tenant*id is not set, the tenant*type is used + """ + return pulumi.get(self, "tenant_id") + + @tenant_id.setter + def tenant_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "tenant_id", value) + + @property + @pulumi.getter(name="tenantType") + def tenant_type(self) -> Optional[pulumi.Input[str]]: + """ + the azure ad tenant type + """ + return pulumi.get(self, "tenant_type") + + @tenant_type.setter + def tenant_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "tenant_type", value) + + +@pulumi.input_type +class _OrgIdpAzureAdState: + def __init__(__self__, *, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + email_verified: Optional[pulumi.Input[bool]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + tenant_id: Optional[pulumi.Input[str]] = None, + tenant_type: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering OrgIdpAzureAd resources. + :param pulumi.Input[str] client_id: client id generated by the identity provider + :param pulumi.Input[str] client_secret: client secret generated by the identity provider + :param pulumi.Input[bool] email_verified: automatically mark emails as verified + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[Sequence[pulumi.Input[str]]] scopes: the scopes requested by ZITADEL during the request on the identity provider + :param pulumi.Input[str] tenant_id: if tenant*id is not set, the tenant*type is used + :param pulumi.Input[str] tenant_type: the azure ad tenant type + """ + _OrgIdpAzureAdState._configure( + lambda key, value: pulumi.set(__self__, key, value), + client_id=client_id, + client_secret=client_secret, + email_verified=email_verified, + is_auto_creation=is_auto_creation, + is_auto_update=is_auto_update, + is_creation_allowed=is_creation_allowed, + is_linking_allowed=is_linking_allowed, + name=name, + org_id=org_id, + scopes=scopes, + tenant_id=tenant_id, + tenant_type=tenant_type, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + email_verified: Optional[pulumi.Input[bool]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + tenant_id: Optional[pulumi.Input[str]] = None, + tenant_type: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'clientId' in kwargs: + client_id = kwargs['clientId'] + if 'clientSecret' in kwargs: + client_secret = kwargs['clientSecret'] + if 'emailVerified' in kwargs: + email_verified = kwargs['emailVerified'] + if 'isAutoCreation' in kwargs: + is_auto_creation = kwargs['isAutoCreation'] + if 'isAutoUpdate' in kwargs: + is_auto_update = kwargs['isAutoUpdate'] + if 'isCreationAllowed' in kwargs: + is_creation_allowed = kwargs['isCreationAllowed'] + if 'isLinkingAllowed' in kwargs: + is_linking_allowed = kwargs['isLinkingAllowed'] + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + if 'tenantId' in kwargs: + tenant_id = kwargs['tenantId'] + if 'tenantType' in kwargs: + tenant_type = kwargs['tenantType'] + + if client_id is not None: + _setter("client_id", client_id) + if client_secret is not None: + _setter("client_secret", client_secret) + if email_verified is not None: + _setter("email_verified", email_verified) + if is_auto_creation is not None: + _setter("is_auto_creation", is_auto_creation) + if is_auto_update is not None: + _setter("is_auto_update", is_auto_update) + if is_creation_allowed is not None: + _setter("is_creation_allowed", is_creation_allowed) + if is_linking_allowed is not None: + _setter("is_linking_allowed", is_linking_allowed) + if name is not None: + _setter("name", name) + if org_id is not None: + _setter("org_id", org_id) + if scopes is not None: + _setter("scopes", scopes) + if tenant_id is not None: + _setter("tenant_id", tenant_id) + if tenant_type is not None: + _setter("tenant_type", tenant_type) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> Optional[pulumi.Input[str]]: + """ + client id generated by the identity provider + """ + return pulumi.get(self, "client_id") + + @client_id.setter + def client_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "client_id", value) + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> Optional[pulumi.Input[str]]: + """ + client secret generated by the identity provider + """ + return pulumi.get(self, "client_secret") + + @client_secret.setter + def client_secret(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "client_secret", value) + + @property + @pulumi.getter(name="emailVerified") + def email_verified(self) -> Optional[pulumi.Input[bool]]: + """ + automatically mark emails as verified + """ + return pulumi.get(self, "email_verified") + + @email_verified.setter + def email_verified(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "email_verified", value) + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> Optional[pulumi.Input[bool]]: + """ + enable if a new account in ZITADEL should be created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @is_auto_creation.setter + def is_auto_creation(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_auto_creation", value) + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> Optional[pulumi.Input[bool]]: + """ + enable if a the ZITADEL account fields should be updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @is_auto_update.setter + def is_auto_update(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_auto_update", value) + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> Optional[pulumi.Input[bool]]: + """ + enable if users should be able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @is_creation_allowed.setter + def is_creation_allowed(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_creation_allowed", value) + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> Optional[pulumi.Input[bool]]: + """ + enable if users should be able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @is_linking_allowed.setter + def is_linking_allowed(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_linking_allowed", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + @property + @pulumi.getter + def scopes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + the scopes requested by ZITADEL during the request on the identity provider + """ + return pulumi.get(self, "scopes") + + @scopes.setter + def scopes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "scopes", value) + + @property + @pulumi.getter(name="tenantId") + def tenant_id(self) -> Optional[pulumi.Input[str]]: + """ + if tenant*id is not set, the tenant*type is used + """ + return pulumi.get(self, "tenant_id") + + @tenant_id.setter + def tenant_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "tenant_id", value) + + @property + @pulumi.getter(name="tenantType") + def tenant_type(self) -> Optional[pulumi.Input[str]]: + """ + the azure ad tenant type + """ + return pulumi.get(self, "tenant_type") + + @tenant_type.setter + def tenant_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "tenant_type", value) + + +class OrgIdpAzureAd(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + email_verified: Optional[pulumi.Input[bool]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + tenant_id: Optional[pulumi.Input[str]] = None, + tenant_type: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Resource representing an Azure AD IdP on the organization. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.OrgIdpAzureAd("default", + org_id=data["zitadel_org"]["default"]["id"], + client_id="9065bfc8-a08a...", + client_secret="H2n***", + scopes=[ + "openid", + "profile", + "email", + "User.Read", + ], + tenant_type="AZURE_AD_TENANT_TYPE_ORGANISATIONS", + email_verified=True, + is_linking_allowed=False, + is_creation_allowed=True, + is_auto_creation=False, + is_auto_update=True) + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/orgIdpAzureAd:OrgIdpAzureAd imported '123456789012345678:123456789012345678:12345678-1234-1234-1234-123456789012' + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] client_id: client id generated by the identity provider + :param pulumi.Input[str] client_secret: client secret generated by the identity provider + :param pulumi.Input[bool] email_verified: automatically mark emails as verified + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[Sequence[pulumi.Input[str]]] scopes: the scopes requested by ZITADEL during the request on the identity provider + :param pulumi.Input[str] tenant_id: if tenant*id is not set, the tenant*type is used + :param pulumi.Input[str] tenant_type: the azure ad tenant type + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: OrgIdpAzureAdArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource representing an Azure AD IdP on the organization. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.OrgIdpAzureAd("default", + org_id=data["zitadel_org"]["default"]["id"], + client_id="9065bfc8-a08a...", + client_secret="H2n***", + scopes=[ + "openid", + "profile", + "email", + "User.Read", + ], + tenant_type="AZURE_AD_TENANT_TYPE_ORGANISATIONS", + email_verified=True, + is_linking_allowed=False, + is_creation_allowed=True, + is_auto_creation=False, + is_auto_update=True) + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/orgIdpAzureAd:OrgIdpAzureAd imported '123456789012345678:123456789012345678:12345678-1234-1234-1234-123456789012' + ``` + + :param str resource_name: The name of the resource. + :param OrgIdpAzureAdArgs 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(OrgIdpAzureAdArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + OrgIdpAzureAdArgs._configure(_setter, **kwargs) + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + email_verified: Optional[pulumi.Input[bool]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + tenant_id: Optional[pulumi.Input[str]] = None, + tenant_type: 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__ = OrgIdpAzureAdArgs.__new__(OrgIdpAzureAdArgs) + + if client_id is None and not opts.urn: + raise TypeError("Missing required property 'client_id'") + __props__.__dict__["client_id"] = client_id + if client_secret is None and not opts.urn: + raise TypeError("Missing required property 'client_secret'") + __props__.__dict__["client_secret"] = None if client_secret is None else pulumi.Output.secret(client_secret) + if email_verified is None and not opts.urn: + raise TypeError("Missing required property 'email_verified'") + __props__.__dict__["email_verified"] = email_verified + if is_auto_creation is None and not opts.urn: + raise TypeError("Missing required property 'is_auto_creation'") + __props__.__dict__["is_auto_creation"] = is_auto_creation + if is_auto_update is None and not opts.urn: + raise TypeError("Missing required property 'is_auto_update'") + __props__.__dict__["is_auto_update"] = is_auto_update + if is_creation_allowed is None and not opts.urn: + raise TypeError("Missing required property 'is_creation_allowed'") + __props__.__dict__["is_creation_allowed"] = is_creation_allowed + if is_linking_allowed is None and not opts.urn: + raise TypeError("Missing required property 'is_linking_allowed'") + __props__.__dict__["is_linking_allowed"] = is_linking_allowed + __props__.__dict__["name"] = name + __props__.__dict__["org_id"] = org_id + __props__.__dict__["scopes"] = scopes + __props__.__dict__["tenant_id"] = tenant_id + __props__.__dict__["tenant_type"] = tenant_type + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["clientSecret"]) + opts = pulumi.ResourceOptions.merge(opts, secret_opts) + super(OrgIdpAzureAd, __self__).__init__( + 'zitadel:index/orgIdpAzureAd:OrgIdpAzureAd', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + email_verified: Optional[pulumi.Input[bool]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + tenant_id: Optional[pulumi.Input[str]] = None, + tenant_type: Optional[pulumi.Input[str]] = None) -> 'OrgIdpAzureAd': + """ + Get an existing OrgIdpAzureAd 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[str] client_id: client id generated by the identity provider + :param pulumi.Input[str] client_secret: client secret generated by the identity provider + :param pulumi.Input[bool] email_verified: automatically mark emails as verified + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[Sequence[pulumi.Input[str]]] scopes: the scopes requested by ZITADEL during the request on the identity provider + :param pulumi.Input[str] tenant_id: if tenant*id is not set, the tenant*type is used + :param pulumi.Input[str] tenant_type: the azure ad tenant type + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _OrgIdpAzureAdState.__new__(_OrgIdpAzureAdState) + + __props__.__dict__["client_id"] = client_id + __props__.__dict__["client_secret"] = client_secret + __props__.__dict__["email_verified"] = email_verified + __props__.__dict__["is_auto_creation"] = is_auto_creation + __props__.__dict__["is_auto_update"] = is_auto_update + __props__.__dict__["is_creation_allowed"] = is_creation_allowed + __props__.__dict__["is_linking_allowed"] = is_linking_allowed + __props__.__dict__["name"] = name + __props__.__dict__["org_id"] = org_id + __props__.__dict__["scopes"] = scopes + __props__.__dict__["tenant_id"] = tenant_id + __props__.__dict__["tenant_type"] = tenant_type + return OrgIdpAzureAd(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> pulumi.Output[str]: + """ + client id generated by the identity provider + """ + return pulumi.get(self, "client_id") + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> pulumi.Output[str]: + """ + client secret generated by the identity provider + """ + return pulumi.get(self, "client_secret") + + @property + @pulumi.getter(name="emailVerified") + def email_verified(self) -> pulumi.Output[bool]: + """ + automatically mark emails as verified + """ + return pulumi.get(self, "email_verified") + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> pulumi.Output[bool]: + """ + enable if a new account in ZITADEL should be created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> pulumi.Output[bool]: + """ + enable if a the ZITADEL account fields should be updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> pulumi.Output[bool]: + """ + enable if users should be able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> pulumi.Output[bool]: + """ + enable if users should be able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> pulumi.Output[Optional[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @property + @pulumi.getter + def scopes(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + the scopes requested by ZITADEL during the request on the identity provider + """ + return pulumi.get(self, "scopes") + + @property + @pulumi.getter(name="tenantId") + def tenant_id(self) -> pulumi.Output[Optional[str]]: + """ + if tenant*id is not set, the tenant*type is used + """ + return pulumi.get(self, "tenant_id") + + @property + @pulumi.getter(name="tenantType") + def tenant_type(self) -> pulumi.Output[Optional[str]]: + """ + the azure ad tenant type + """ + return pulumi.get(self, "tenant_type") + diff --git a/sdk/python/scoretechnologies_zitadel/org_idp_github.py b/sdk/python/scoretechnologies_zitadel/org_idp_github.py new file mode 100644 index 0000000..4c7778b --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/org_idp_github.py @@ -0,0 +1,673 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['OrgIdpGithubArgs', 'OrgIdpGithub'] + +@pulumi.input_type +class OrgIdpGithubArgs: + def __init__(__self__, *, + client_id: pulumi.Input[str], + client_secret: pulumi.Input[str], + is_auto_creation: pulumi.Input[bool], + is_auto_update: pulumi.Input[bool], + is_creation_allowed: pulumi.Input[bool], + is_linking_allowed: pulumi.Input[bool], + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a OrgIdpGithub resource. + :param pulumi.Input[str] client_id: client id generated by the identity provider + :param pulumi.Input[str] client_secret: client secret generated by the identity provider + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[Sequence[pulumi.Input[str]]] scopes: the scopes requested by ZITADEL during the request on the identity provider + """ + OrgIdpGithubArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + client_id=client_id, + client_secret=client_secret, + is_auto_creation=is_auto_creation, + is_auto_update=is_auto_update, + is_creation_allowed=is_creation_allowed, + is_linking_allowed=is_linking_allowed, + name=name, + org_id=org_id, + scopes=scopes, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + client_id: pulumi.Input[str], + client_secret: pulumi.Input[str], + is_auto_creation: pulumi.Input[bool], + is_auto_update: pulumi.Input[bool], + is_creation_allowed: pulumi.Input[bool], + is_linking_allowed: pulumi.Input[bool], + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'clientId' in kwargs: + client_id = kwargs['clientId'] + if 'clientSecret' in kwargs: + client_secret = kwargs['clientSecret'] + if 'isAutoCreation' in kwargs: + is_auto_creation = kwargs['isAutoCreation'] + if 'isAutoUpdate' in kwargs: + is_auto_update = kwargs['isAutoUpdate'] + if 'isCreationAllowed' in kwargs: + is_creation_allowed = kwargs['isCreationAllowed'] + if 'isLinkingAllowed' in kwargs: + is_linking_allowed = kwargs['isLinkingAllowed'] + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + + _setter("client_id", client_id) + _setter("client_secret", client_secret) + _setter("is_auto_creation", is_auto_creation) + _setter("is_auto_update", is_auto_update) + _setter("is_creation_allowed", is_creation_allowed) + _setter("is_linking_allowed", is_linking_allowed) + if name is not None: + _setter("name", name) + if org_id is not None: + _setter("org_id", org_id) + if scopes is not None: + _setter("scopes", scopes) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> pulumi.Input[str]: + """ + client id generated by the identity provider + """ + return pulumi.get(self, "client_id") + + @client_id.setter + def client_id(self, value: pulumi.Input[str]): + pulumi.set(self, "client_id", value) + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> pulumi.Input[str]: + """ + client secret generated by the identity provider + """ + return pulumi.get(self, "client_secret") + + @client_secret.setter + def client_secret(self, value: pulumi.Input[str]): + pulumi.set(self, "client_secret", value) + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> pulumi.Input[bool]: + """ + enable if a new account in ZITADEL should be created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @is_auto_creation.setter + def is_auto_creation(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_auto_creation", value) + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> pulumi.Input[bool]: + """ + enable if a the ZITADEL account fields should be updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @is_auto_update.setter + def is_auto_update(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_auto_update", value) + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> pulumi.Input[bool]: + """ + enable if users should be able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @is_creation_allowed.setter + def is_creation_allowed(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_creation_allowed", value) + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> pulumi.Input[bool]: + """ + enable if users should be able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @is_linking_allowed.setter + def is_linking_allowed(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_linking_allowed", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + @property + @pulumi.getter + def scopes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + the scopes requested by ZITADEL during the request on the identity provider + """ + return pulumi.get(self, "scopes") + + @scopes.setter + def scopes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "scopes", value) + + +@pulumi.input_type +class _OrgIdpGithubState: + def __init__(__self__, *, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + Input properties used for looking up and filtering OrgIdpGithub resources. + :param pulumi.Input[str] client_id: client id generated by the identity provider + :param pulumi.Input[str] client_secret: client secret generated by the identity provider + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[Sequence[pulumi.Input[str]]] scopes: the scopes requested by ZITADEL during the request on the identity provider + """ + _OrgIdpGithubState._configure( + lambda key, value: pulumi.set(__self__, key, value), + client_id=client_id, + client_secret=client_secret, + is_auto_creation=is_auto_creation, + is_auto_update=is_auto_update, + is_creation_allowed=is_creation_allowed, + is_linking_allowed=is_linking_allowed, + name=name, + org_id=org_id, + scopes=scopes, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'clientId' in kwargs: + client_id = kwargs['clientId'] + if 'clientSecret' in kwargs: + client_secret = kwargs['clientSecret'] + if 'isAutoCreation' in kwargs: + is_auto_creation = kwargs['isAutoCreation'] + if 'isAutoUpdate' in kwargs: + is_auto_update = kwargs['isAutoUpdate'] + if 'isCreationAllowed' in kwargs: + is_creation_allowed = kwargs['isCreationAllowed'] + if 'isLinkingAllowed' in kwargs: + is_linking_allowed = kwargs['isLinkingAllowed'] + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + + if client_id is not None: + _setter("client_id", client_id) + if client_secret is not None: + _setter("client_secret", client_secret) + if is_auto_creation is not None: + _setter("is_auto_creation", is_auto_creation) + if is_auto_update is not None: + _setter("is_auto_update", is_auto_update) + if is_creation_allowed is not None: + _setter("is_creation_allowed", is_creation_allowed) + if is_linking_allowed is not None: + _setter("is_linking_allowed", is_linking_allowed) + if name is not None: + _setter("name", name) + if org_id is not None: + _setter("org_id", org_id) + if scopes is not None: + _setter("scopes", scopes) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> Optional[pulumi.Input[str]]: + """ + client id generated by the identity provider + """ + return pulumi.get(self, "client_id") + + @client_id.setter + def client_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "client_id", value) + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> Optional[pulumi.Input[str]]: + """ + client secret generated by the identity provider + """ + return pulumi.get(self, "client_secret") + + @client_secret.setter + def client_secret(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "client_secret", value) + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> Optional[pulumi.Input[bool]]: + """ + enable if a new account in ZITADEL should be created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @is_auto_creation.setter + def is_auto_creation(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_auto_creation", value) + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> Optional[pulumi.Input[bool]]: + """ + enable if a the ZITADEL account fields should be updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @is_auto_update.setter + def is_auto_update(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_auto_update", value) + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> Optional[pulumi.Input[bool]]: + """ + enable if users should be able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @is_creation_allowed.setter + def is_creation_allowed(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_creation_allowed", value) + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> Optional[pulumi.Input[bool]]: + """ + enable if users should be able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @is_linking_allowed.setter + def is_linking_allowed(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_linking_allowed", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + @property + @pulumi.getter + def scopes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + the scopes requested by ZITADEL during the request on the identity provider + """ + return pulumi.get(self, "scopes") + + @scopes.setter + def scopes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "scopes", value) + + +class OrgIdpGithub(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + __props__=None): + """ + Resource representing a GitHub IdP on the organization. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.OrgIdpGithub("default", + org_id=data["zitadel_org"]["default"]["id"], + client_id="86a165...", + client_secret="*****afdbac18", + scopes=[ + "openid", + "profile", + "email", + ], + is_linking_allowed=False, + is_creation_allowed=True, + is_auto_creation=False, + is_auto_update=True) + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/orgIdpGithub:OrgIdpGithub imported '123456789012345678:123456789012345678:1234567890123456781234567890123456787890' + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] client_id: client id generated by the identity provider + :param pulumi.Input[str] client_secret: client secret generated by the identity provider + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[Sequence[pulumi.Input[str]]] scopes: the scopes requested by ZITADEL during the request on the identity provider + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: OrgIdpGithubArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource representing a GitHub IdP on the organization. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.OrgIdpGithub("default", + org_id=data["zitadel_org"]["default"]["id"], + client_id="86a165...", + client_secret="*****afdbac18", + scopes=[ + "openid", + "profile", + "email", + ], + is_linking_allowed=False, + is_creation_allowed=True, + is_auto_creation=False, + is_auto_update=True) + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/orgIdpGithub:OrgIdpGithub imported '123456789012345678:123456789012345678:1234567890123456781234567890123456787890' + ``` + + :param str resource_name: The name of the resource. + :param OrgIdpGithubArgs 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(OrgIdpGithubArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + OrgIdpGithubArgs._configure(_setter, **kwargs) + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[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__ = OrgIdpGithubArgs.__new__(OrgIdpGithubArgs) + + if client_id is None and not opts.urn: + raise TypeError("Missing required property 'client_id'") + __props__.__dict__["client_id"] = client_id + if client_secret is None and not opts.urn: + raise TypeError("Missing required property 'client_secret'") + __props__.__dict__["client_secret"] = None if client_secret is None else pulumi.Output.secret(client_secret) + if is_auto_creation is None and not opts.urn: + raise TypeError("Missing required property 'is_auto_creation'") + __props__.__dict__["is_auto_creation"] = is_auto_creation + if is_auto_update is None and not opts.urn: + raise TypeError("Missing required property 'is_auto_update'") + __props__.__dict__["is_auto_update"] = is_auto_update + if is_creation_allowed is None and not opts.urn: + raise TypeError("Missing required property 'is_creation_allowed'") + __props__.__dict__["is_creation_allowed"] = is_creation_allowed + if is_linking_allowed is None and not opts.urn: + raise TypeError("Missing required property 'is_linking_allowed'") + __props__.__dict__["is_linking_allowed"] = is_linking_allowed + __props__.__dict__["name"] = name + __props__.__dict__["org_id"] = org_id + __props__.__dict__["scopes"] = scopes + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["clientSecret"]) + opts = pulumi.ResourceOptions.merge(opts, secret_opts) + super(OrgIdpGithub, __self__).__init__( + 'zitadel:index/orgIdpGithub:OrgIdpGithub', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None) -> 'OrgIdpGithub': + """ + Get an existing OrgIdpGithub 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[str] client_id: client id generated by the identity provider + :param pulumi.Input[str] client_secret: client secret generated by the identity provider + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[Sequence[pulumi.Input[str]]] scopes: the scopes requested by ZITADEL during the request on the identity provider + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _OrgIdpGithubState.__new__(_OrgIdpGithubState) + + __props__.__dict__["client_id"] = client_id + __props__.__dict__["client_secret"] = client_secret + __props__.__dict__["is_auto_creation"] = is_auto_creation + __props__.__dict__["is_auto_update"] = is_auto_update + __props__.__dict__["is_creation_allowed"] = is_creation_allowed + __props__.__dict__["is_linking_allowed"] = is_linking_allowed + __props__.__dict__["name"] = name + __props__.__dict__["org_id"] = org_id + __props__.__dict__["scopes"] = scopes + return OrgIdpGithub(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> pulumi.Output[str]: + """ + client id generated by the identity provider + """ + return pulumi.get(self, "client_id") + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> pulumi.Output[str]: + """ + client secret generated by the identity provider + """ + return pulumi.get(self, "client_secret") + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> pulumi.Output[bool]: + """ + enable if a new account in ZITADEL should be created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> pulumi.Output[bool]: + """ + enable if a the ZITADEL account fields should be updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> pulumi.Output[bool]: + """ + enable if users should be able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> pulumi.Output[bool]: + """ + enable if users should be able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> pulumi.Output[Optional[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @property + @pulumi.getter + def scopes(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + the scopes requested by ZITADEL during the request on the identity provider + """ + return pulumi.get(self, "scopes") + diff --git a/sdk/python/scoretechnologies_zitadel/org_idp_github_es.py b/sdk/python/scoretechnologies_zitadel/org_idp_github_es.py new file mode 100644 index 0000000..ce3c00a --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/org_idp_github_es.py @@ -0,0 +1,847 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['OrgIdpGithubEsArgs', 'OrgIdpGithubEs'] + +@pulumi.input_type +class OrgIdpGithubEsArgs: + def __init__(__self__, *, + authorization_endpoint: pulumi.Input[str], + client_id: pulumi.Input[str], + client_secret: pulumi.Input[str], + is_auto_creation: pulumi.Input[bool], + is_auto_update: pulumi.Input[bool], + is_creation_allowed: pulumi.Input[bool], + is_linking_allowed: pulumi.Input[bool], + token_endpoint: pulumi.Input[str], + user_endpoint: pulumi.Input[str], + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a OrgIdpGithubEs resource. + :param pulumi.Input[str] authorization_endpoint: the providers authorization endpoint + :param pulumi.Input[str] client_id: client id generated by the identity provider + :param pulumi.Input[str] client_secret: client secret generated by the identity provider + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] token_endpoint: the providers token endpoint + :param pulumi.Input[str] user_endpoint: the providers user endpoint + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[Sequence[pulumi.Input[str]]] scopes: the scopes requested by ZITADEL during the request on the identity provider + """ + OrgIdpGithubEsArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + authorization_endpoint=authorization_endpoint, + client_id=client_id, + client_secret=client_secret, + is_auto_creation=is_auto_creation, + is_auto_update=is_auto_update, + is_creation_allowed=is_creation_allowed, + is_linking_allowed=is_linking_allowed, + token_endpoint=token_endpoint, + user_endpoint=user_endpoint, + name=name, + org_id=org_id, + scopes=scopes, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + authorization_endpoint: pulumi.Input[str], + client_id: pulumi.Input[str], + client_secret: pulumi.Input[str], + is_auto_creation: pulumi.Input[bool], + is_auto_update: pulumi.Input[bool], + is_creation_allowed: pulumi.Input[bool], + is_linking_allowed: pulumi.Input[bool], + token_endpoint: pulumi.Input[str], + user_endpoint: pulumi.Input[str], + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'authorizationEndpoint' in kwargs: + authorization_endpoint = kwargs['authorizationEndpoint'] + if 'clientId' in kwargs: + client_id = kwargs['clientId'] + if 'clientSecret' in kwargs: + client_secret = kwargs['clientSecret'] + if 'isAutoCreation' in kwargs: + is_auto_creation = kwargs['isAutoCreation'] + if 'isAutoUpdate' in kwargs: + is_auto_update = kwargs['isAutoUpdate'] + if 'isCreationAllowed' in kwargs: + is_creation_allowed = kwargs['isCreationAllowed'] + if 'isLinkingAllowed' in kwargs: + is_linking_allowed = kwargs['isLinkingAllowed'] + if 'tokenEndpoint' in kwargs: + token_endpoint = kwargs['tokenEndpoint'] + if 'userEndpoint' in kwargs: + user_endpoint = kwargs['userEndpoint'] + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + + _setter("authorization_endpoint", authorization_endpoint) + _setter("client_id", client_id) + _setter("client_secret", client_secret) + _setter("is_auto_creation", is_auto_creation) + _setter("is_auto_update", is_auto_update) + _setter("is_creation_allowed", is_creation_allowed) + _setter("is_linking_allowed", is_linking_allowed) + _setter("token_endpoint", token_endpoint) + _setter("user_endpoint", user_endpoint) + if name is not None: + _setter("name", name) + if org_id is not None: + _setter("org_id", org_id) + if scopes is not None: + _setter("scopes", scopes) + + @property + @pulumi.getter(name="authorizationEndpoint") + def authorization_endpoint(self) -> pulumi.Input[str]: + """ + the providers authorization endpoint + """ + return pulumi.get(self, "authorization_endpoint") + + @authorization_endpoint.setter + def authorization_endpoint(self, value: pulumi.Input[str]): + pulumi.set(self, "authorization_endpoint", value) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> pulumi.Input[str]: + """ + client id generated by the identity provider + """ + return pulumi.get(self, "client_id") + + @client_id.setter + def client_id(self, value: pulumi.Input[str]): + pulumi.set(self, "client_id", value) + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> pulumi.Input[str]: + """ + client secret generated by the identity provider + """ + return pulumi.get(self, "client_secret") + + @client_secret.setter + def client_secret(self, value: pulumi.Input[str]): + pulumi.set(self, "client_secret", value) + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> pulumi.Input[bool]: + """ + enable if a new account in ZITADEL should be created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @is_auto_creation.setter + def is_auto_creation(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_auto_creation", value) + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> pulumi.Input[bool]: + """ + enable if a the ZITADEL account fields should be updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @is_auto_update.setter + def is_auto_update(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_auto_update", value) + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> pulumi.Input[bool]: + """ + enable if users should be able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @is_creation_allowed.setter + def is_creation_allowed(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_creation_allowed", value) + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> pulumi.Input[bool]: + """ + enable if users should be able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @is_linking_allowed.setter + def is_linking_allowed(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_linking_allowed", value) + + @property + @pulumi.getter(name="tokenEndpoint") + def token_endpoint(self) -> pulumi.Input[str]: + """ + the providers token endpoint + """ + return pulumi.get(self, "token_endpoint") + + @token_endpoint.setter + def token_endpoint(self, value: pulumi.Input[str]): + pulumi.set(self, "token_endpoint", value) + + @property + @pulumi.getter(name="userEndpoint") + def user_endpoint(self) -> pulumi.Input[str]: + """ + the providers user endpoint + """ + return pulumi.get(self, "user_endpoint") + + @user_endpoint.setter + def user_endpoint(self, value: pulumi.Input[str]): + pulumi.set(self, "user_endpoint", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + @property + @pulumi.getter + def scopes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + the scopes requested by ZITADEL during the request on the identity provider + """ + return pulumi.get(self, "scopes") + + @scopes.setter + def scopes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "scopes", value) + + +@pulumi.input_type +class _OrgIdpGithubEsState: + def __init__(__self__, *, + authorization_endpoint: Optional[pulumi.Input[str]] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + token_endpoint: Optional[pulumi.Input[str]] = None, + user_endpoint: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering OrgIdpGithubEs resources. + :param pulumi.Input[str] authorization_endpoint: the providers authorization endpoint + :param pulumi.Input[str] client_id: client id generated by the identity provider + :param pulumi.Input[str] client_secret: client secret generated by the identity provider + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[Sequence[pulumi.Input[str]]] scopes: the scopes requested by ZITADEL during the request on the identity provider + :param pulumi.Input[str] token_endpoint: the providers token endpoint + :param pulumi.Input[str] user_endpoint: the providers user endpoint + """ + _OrgIdpGithubEsState._configure( + lambda key, value: pulumi.set(__self__, key, value), + authorization_endpoint=authorization_endpoint, + client_id=client_id, + client_secret=client_secret, + is_auto_creation=is_auto_creation, + is_auto_update=is_auto_update, + is_creation_allowed=is_creation_allowed, + is_linking_allowed=is_linking_allowed, + name=name, + org_id=org_id, + scopes=scopes, + token_endpoint=token_endpoint, + user_endpoint=user_endpoint, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + authorization_endpoint: Optional[pulumi.Input[str]] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + token_endpoint: Optional[pulumi.Input[str]] = None, + user_endpoint: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'authorizationEndpoint' in kwargs: + authorization_endpoint = kwargs['authorizationEndpoint'] + if 'clientId' in kwargs: + client_id = kwargs['clientId'] + if 'clientSecret' in kwargs: + client_secret = kwargs['clientSecret'] + if 'isAutoCreation' in kwargs: + is_auto_creation = kwargs['isAutoCreation'] + if 'isAutoUpdate' in kwargs: + is_auto_update = kwargs['isAutoUpdate'] + if 'isCreationAllowed' in kwargs: + is_creation_allowed = kwargs['isCreationAllowed'] + if 'isLinkingAllowed' in kwargs: + is_linking_allowed = kwargs['isLinkingAllowed'] + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + if 'tokenEndpoint' in kwargs: + token_endpoint = kwargs['tokenEndpoint'] + if 'userEndpoint' in kwargs: + user_endpoint = kwargs['userEndpoint'] + + if authorization_endpoint is not None: + _setter("authorization_endpoint", authorization_endpoint) + if client_id is not None: + _setter("client_id", client_id) + if client_secret is not None: + _setter("client_secret", client_secret) + if is_auto_creation is not None: + _setter("is_auto_creation", is_auto_creation) + if is_auto_update is not None: + _setter("is_auto_update", is_auto_update) + if is_creation_allowed is not None: + _setter("is_creation_allowed", is_creation_allowed) + if is_linking_allowed is not None: + _setter("is_linking_allowed", is_linking_allowed) + if name is not None: + _setter("name", name) + if org_id is not None: + _setter("org_id", org_id) + if scopes is not None: + _setter("scopes", scopes) + if token_endpoint is not None: + _setter("token_endpoint", token_endpoint) + if user_endpoint is not None: + _setter("user_endpoint", user_endpoint) + + @property + @pulumi.getter(name="authorizationEndpoint") + def authorization_endpoint(self) -> Optional[pulumi.Input[str]]: + """ + the providers authorization endpoint + """ + return pulumi.get(self, "authorization_endpoint") + + @authorization_endpoint.setter + def authorization_endpoint(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "authorization_endpoint", value) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> Optional[pulumi.Input[str]]: + """ + client id generated by the identity provider + """ + return pulumi.get(self, "client_id") + + @client_id.setter + def client_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "client_id", value) + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> Optional[pulumi.Input[str]]: + """ + client secret generated by the identity provider + """ + return pulumi.get(self, "client_secret") + + @client_secret.setter + def client_secret(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "client_secret", value) + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> Optional[pulumi.Input[bool]]: + """ + enable if a new account in ZITADEL should be created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @is_auto_creation.setter + def is_auto_creation(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_auto_creation", value) + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> Optional[pulumi.Input[bool]]: + """ + enable if a the ZITADEL account fields should be updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @is_auto_update.setter + def is_auto_update(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_auto_update", value) + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> Optional[pulumi.Input[bool]]: + """ + enable if users should be able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @is_creation_allowed.setter + def is_creation_allowed(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_creation_allowed", value) + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> Optional[pulumi.Input[bool]]: + """ + enable if users should be able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @is_linking_allowed.setter + def is_linking_allowed(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_linking_allowed", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + @property + @pulumi.getter + def scopes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + the scopes requested by ZITADEL during the request on the identity provider + """ + return pulumi.get(self, "scopes") + + @scopes.setter + def scopes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "scopes", value) + + @property + @pulumi.getter(name="tokenEndpoint") + def token_endpoint(self) -> Optional[pulumi.Input[str]]: + """ + the providers token endpoint + """ + return pulumi.get(self, "token_endpoint") + + @token_endpoint.setter + def token_endpoint(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "token_endpoint", value) + + @property + @pulumi.getter(name="userEndpoint") + def user_endpoint(self) -> Optional[pulumi.Input[str]]: + """ + the providers user endpoint + """ + return pulumi.get(self, "user_endpoint") + + @user_endpoint.setter + def user_endpoint(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "user_endpoint", value) + + +class OrgIdpGithubEs(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + authorization_endpoint: Optional[pulumi.Input[str]] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + token_endpoint: Optional[pulumi.Input[str]] = None, + user_endpoint: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Resource representing a GitHub Enterprise IdP on the organization. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.OrgIdpGithubEs("default", + org_id=data["zitadel_org"]["default"]["id"], + client_id="86a165...", + client_secret="*****afdbac18", + scopes=[ + "openid", + "profile", + "email", + ], + authorization_endpoint="https://auth.endpoint", + token_endpoint="https://token.endpoint", + user_endpoint="https://user.endpoint", + is_linking_allowed=False, + is_creation_allowed=True, + is_auto_creation=False, + is_auto_update=True) + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/orgIdpGithubEs:OrgIdpGithubEs imported '123456789012345678:123456789012345678:123456789012345678:123456789012345678' + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] authorization_endpoint: the providers authorization endpoint + :param pulumi.Input[str] client_id: client id generated by the identity provider + :param pulumi.Input[str] client_secret: client secret generated by the identity provider + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[Sequence[pulumi.Input[str]]] scopes: the scopes requested by ZITADEL during the request on the identity provider + :param pulumi.Input[str] token_endpoint: the providers token endpoint + :param pulumi.Input[str] user_endpoint: the providers user endpoint + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: OrgIdpGithubEsArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource representing a GitHub Enterprise IdP on the organization. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.OrgIdpGithubEs("default", + org_id=data["zitadel_org"]["default"]["id"], + client_id="86a165...", + client_secret="*****afdbac18", + scopes=[ + "openid", + "profile", + "email", + ], + authorization_endpoint="https://auth.endpoint", + token_endpoint="https://token.endpoint", + user_endpoint="https://user.endpoint", + is_linking_allowed=False, + is_creation_allowed=True, + is_auto_creation=False, + is_auto_update=True) + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/orgIdpGithubEs:OrgIdpGithubEs imported '123456789012345678:123456789012345678:123456789012345678:123456789012345678' + ``` + + :param str resource_name: The name of the resource. + :param OrgIdpGithubEsArgs 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(OrgIdpGithubEsArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + OrgIdpGithubEsArgs._configure(_setter, **kwargs) + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + authorization_endpoint: Optional[pulumi.Input[str]] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + token_endpoint: Optional[pulumi.Input[str]] = None, + user_endpoint: 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__ = OrgIdpGithubEsArgs.__new__(OrgIdpGithubEsArgs) + + if authorization_endpoint is None and not opts.urn: + raise TypeError("Missing required property 'authorization_endpoint'") + __props__.__dict__["authorization_endpoint"] = authorization_endpoint + if client_id is None and not opts.urn: + raise TypeError("Missing required property 'client_id'") + __props__.__dict__["client_id"] = client_id + if client_secret is None and not opts.urn: + raise TypeError("Missing required property 'client_secret'") + __props__.__dict__["client_secret"] = None if client_secret is None else pulumi.Output.secret(client_secret) + if is_auto_creation is None and not opts.urn: + raise TypeError("Missing required property 'is_auto_creation'") + __props__.__dict__["is_auto_creation"] = is_auto_creation + if is_auto_update is None and not opts.urn: + raise TypeError("Missing required property 'is_auto_update'") + __props__.__dict__["is_auto_update"] = is_auto_update + if is_creation_allowed is None and not opts.urn: + raise TypeError("Missing required property 'is_creation_allowed'") + __props__.__dict__["is_creation_allowed"] = is_creation_allowed + if is_linking_allowed is None and not opts.urn: + raise TypeError("Missing required property 'is_linking_allowed'") + __props__.__dict__["is_linking_allowed"] = is_linking_allowed + __props__.__dict__["name"] = name + __props__.__dict__["org_id"] = org_id + __props__.__dict__["scopes"] = scopes + if token_endpoint is None and not opts.urn: + raise TypeError("Missing required property 'token_endpoint'") + __props__.__dict__["token_endpoint"] = token_endpoint + if user_endpoint is None and not opts.urn: + raise TypeError("Missing required property 'user_endpoint'") + __props__.__dict__["user_endpoint"] = user_endpoint + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["clientSecret"]) + opts = pulumi.ResourceOptions.merge(opts, secret_opts) + super(OrgIdpGithubEs, __self__).__init__( + 'zitadel:index/orgIdpGithubEs:OrgIdpGithubEs', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + authorization_endpoint: Optional[pulumi.Input[str]] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + token_endpoint: Optional[pulumi.Input[str]] = None, + user_endpoint: Optional[pulumi.Input[str]] = None) -> 'OrgIdpGithubEs': + """ + Get an existing OrgIdpGithubEs 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[str] authorization_endpoint: the providers authorization endpoint + :param pulumi.Input[str] client_id: client id generated by the identity provider + :param pulumi.Input[str] client_secret: client secret generated by the identity provider + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[Sequence[pulumi.Input[str]]] scopes: the scopes requested by ZITADEL during the request on the identity provider + :param pulumi.Input[str] token_endpoint: the providers token endpoint + :param pulumi.Input[str] user_endpoint: the providers user endpoint + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _OrgIdpGithubEsState.__new__(_OrgIdpGithubEsState) + + __props__.__dict__["authorization_endpoint"] = authorization_endpoint + __props__.__dict__["client_id"] = client_id + __props__.__dict__["client_secret"] = client_secret + __props__.__dict__["is_auto_creation"] = is_auto_creation + __props__.__dict__["is_auto_update"] = is_auto_update + __props__.__dict__["is_creation_allowed"] = is_creation_allowed + __props__.__dict__["is_linking_allowed"] = is_linking_allowed + __props__.__dict__["name"] = name + __props__.__dict__["org_id"] = org_id + __props__.__dict__["scopes"] = scopes + __props__.__dict__["token_endpoint"] = token_endpoint + __props__.__dict__["user_endpoint"] = user_endpoint + return OrgIdpGithubEs(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="authorizationEndpoint") + def authorization_endpoint(self) -> pulumi.Output[str]: + """ + the providers authorization endpoint + """ + return pulumi.get(self, "authorization_endpoint") + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> pulumi.Output[str]: + """ + client id generated by the identity provider + """ + return pulumi.get(self, "client_id") + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> pulumi.Output[str]: + """ + client secret generated by the identity provider + """ + return pulumi.get(self, "client_secret") + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> pulumi.Output[bool]: + """ + enable if a new account in ZITADEL should be created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> pulumi.Output[bool]: + """ + enable if a the ZITADEL account fields should be updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> pulumi.Output[bool]: + """ + enable if users should be able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> pulumi.Output[bool]: + """ + enable if users should be able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> pulumi.Output[Optional[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @property + @pulumi.getter + def scopes(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + the scopes requested by ZITADEL during the request on the identity provider + """ + return pulumi.get(self, "scopes") + + @property + @pulumi.getter(name="tokenEndpoint") + def token_endpoint(self) -> pulumi.Output[str]: + """ + the providers token endpoint + """ + return pulumi.get(self, "token_endpoint") + + @property + @pulumi.getter(name="userEndpoint") + def user_endpoint(self) -> pulumi.Output[str]: + """ + the providers user endpoint + """ + return pulumi.get(self, "user_endpoint") + diff --git a/sdk/python/scoretechnologies_zitadel/org_idp_gitlab.py b/sdk/python/scoretechnologies_zitadel/org_idp_gitlab.py new file mode 100644 index 0000000..3653b2e --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/org_idp_gitlab.py @@ -0,0 +1,673 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['OrgIdpGitlabArgs', 'OrgIdpGitlab'] + +@pulumi.input_type +class OrgIdpGitlabArgs: + def __init__(__self__, *, + client_id: pulumi.Input[str], + client_secret: pulumi.Input[str], + is_auto_creation: pulumi.Input[bool], + is_auto_update: pulumi.Input[bool], + is_creation_allowed: pulumi.Input[bool], + is_linking_allowed: pulumi.Input[bool], + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a OrgIdpGitlab resource. + :param pulumi.Input[str] client_id: client id generated by the identity provider + :param pulumi.Input[str] client_secret: client secret generated by the identity provider + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[Sequence[pulumi.Input[str]]] scopes: the scopes requested by ZITADEL during the request on the identity provider + """ + OrgIdpGitlabArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + client_id=client_id, + client_secret=client_secret, + is_auto_creation=is_auto_creation, + is_auto_update=is_auto_update, + is_creation_allowed=is_creation_allowed, + is_linking_allowed=is_linking_allowed, + name=name, + org_id=org_id, + scopes=scopes, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + client_id: pulumi.Input[str], + client_secret: pulumi.Input[str], + is_auto_creation: pulumi.Input[bool], + is_auto_update: pulumi.Input[bool], + is_creation_allowed: pulumi.Input[bool], + is_linking_allowed: pulumi.Input[bool], + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'clientId' in kwargs: + client_id = kwargs['clientId'] + if 'clientSecret' in kwargs: + client_secret = kwargs['clientSecret'] + if 'isAutoCreation' in kwargs: + is_auto_creation = kwargs['isAutoCreation'] + if 'isAutoUpdate' in kwargs: + is_auto_update = kwargs['isAutoUpdate'] + if 'isCreationAllowed' in kwargs: + is_creation_allowed = kwargs['isCreationAllowed'] + if 'isLinkingAllowed' in kwargs: + is_linking_allowed = kwargs['isLinkingAllowed'] + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + + _setter("client_id", client_id) + _setter("client_secret", client_secret) + _setter("is_auto_creation", is_auto_creation) + _setter("is_auto_update", is_auto_update) + _setter("is_creation_allowed", is_creation_allowed) + _setter("is_linking_allowed", is_linking_allowed) + if name is not None: + _setter("name", name) + if org_id is not None: + _setter("org_id", org_id) + if scopes is not None: + _setter("scopes", scopes) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> pulumi.Input[str]: + """ + client id generated by the identity provider + """ + return pulumi.get(self, "client_id") + + @client_id.setter + def client_id(self, value: pulumi.Input[str]): + pulumi.set(self, "client_id", value) + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> pulumi.Input[str]: + """ + client secret generated by the identity provider + """ + return pulumi.get(self, "client_secret") + + @client_secret.setter + def client_secret(self, value: pulumi.Input[str]): + pulumi.set(self, "client_secret", value) + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> pulumi.Input[bool]: + """ + enable if a new account in ZITADEL should be created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @is_auto_creation.setter + def is_auto_creation(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_auto_creation", value) + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> pulumi.Input[bool]: + """ + enable if a the ZITADEL account fields should be updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @is_auto_update.setter + def is_auto_update(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_auto_update", value) + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> pulumi.Input[bool]: + """ + enable if users should be able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @is_creation_allowed.setter + def is_creation_allowed(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_creation_allowed", value) + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> pulumi.Input[bool]: + """ + enable if users should be able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @is_linking_allowed.setter + def is_linking_allowed(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_linking_allowed", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + @property + @pulumi.getter + def scopes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + the scopes requested by ZITADEL during the request on the identity provider + """ + return pulumi.get(self, "scopes") + + @scopes.setter + def scopes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "scopes", value) + + +@pulumi.input_type +class _OrgIdpGitlabState: + def __init__(__self__, *, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + Input properties used for looking up and filtering OrgIdpGitlab resources. + :param pulumi.Input[str] client_id: client id generated by the identity provider + :param pulumi.Input[str] client_secret: client secret generated by the identity provider + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[Sequence[pulumi.Input[str]]] scopes: the scopes requested by ZITADEL during the request on the identity provider + """ + _OrgIdpGitlabState._configure( + lambda key, value: pulumi.set(__self__, key, value), + client_id=client_id, + client_secret=client_secret, + is_auto_creation=is_auto_creation, + is_auto_update=is_auto_update, + is_creation_allowed=is_creation_allowed, + is_linking_allowed=is_linking_allowed, + name=name, + org_id=org_id, + scopes=scopes, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'clientId' in kwargs: + client_id = kwargs['clientId'] + if 'clientSecret' in kwargs: + client_secret = kwargs['clientSecret'] + if 'isAutoCreation' in kwargs: + is_auto_creation = kwargs['isAutoCreation'] + if 'isAutoUpdate' in kwargs: + is_auto_update = kwargs['isAutoUpdate'] + if 'isCreationAllowed' in kwargs: + is_creation_allowed = kwargs['isCreationAllowed'] + if 'isLinkingAllowed' in kwargs: + is_linking_allowed = kwargs['isLinkingAllowed'] + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + + if client_id is not None: + _setter("client_id", client_id) + if client_secret is not None: + _setter("client_secret", client_secret) + if is_auto_creation is not None: + _setter("is_auto_creation", is_auto_creation) + if is_auto_update is not None: + _setter("is_auto_update", is_auto_update) + if is_creation_allowed is not None: + _setter("is_creation_allowed", is_creation_allowed) + if is_linking_allowed is not None: + _setter("is_linking_allowed", is_linking_allowed) + if name is not None: + _setter("name", name) + if org_id is not None: + _setter("org_id", org_id) + if scopes is not None: + _setter("scopes", scopes) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> Optional[pulumi.Input[str]]: + """ + client id generated by the identity provider + """ + return pulumi.get(self, "client_id") + + @client_id.setter + def client_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "client_id", value) + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> Optional[pulumi.Input[str]]: + """ + client secret generated by the identity provider + """ + return pulumi.get(self, "client_secret") + + @client_secret.setter + def client_secret(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "client_secret", value) + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> Optional[pulumi.Input[bool]]: + """ + enable if a new account in ZITADEL should be created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @is_auto_creation.setter + def is_auto_creation(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_auto_creation", value) + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> Optional[pulumi.Input[bool]]: + """ + enable if a the ZITADEL account fields should be updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @is_auto_update.setter + def is_auto_update(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_auto_update", value) + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> Optional[pulumi.Input[bool]]: + """ + enable if users should be able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @is_creation_allowed.setter + def is_creation_allowed(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_creation_allowed", value) + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> Optional[pulumi.Input[bool]]: + """ + enable if users should be able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @is_linking_allowed.setter + def is_linking_allowed(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_linking_allowed", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + @property + @pulumi.getter + def scopes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + the scopes requested by ZITADEL during the request on the identity provider + """ + return pulumi.get(self, "scopes") + + @scopes.setter + def scopes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "scopes", value) + + +class OrgIdpGitlab(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + __props__=None): + """ + Resource representing a GitLab IdP on the organization. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.OrgIdpGitlab("default", + org_id=data["zitadel_org"]["default"]["id"], + client_id="15765e...", + client_secret="*****abcxyz", + scopes=[ + "openid", + "profile", + "email", + ], + is_linking_allowed=False, + is_creation_allowed=True, + is_auto_creation=False, + is_auto_update=True) + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/orgIdpGitlab:OrgIdpGitlab imported '123456789012345678:123456789012345678:1234567890abcdef' + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] client_id: client id generated by the identity provider + :param pulumi.Input[str] client_secret: client secret generated by the identity provider + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[Sequence[pulumi.Input[str]]] scopes: the scopes requested by ZITADEL during the request on the identity provider + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: OrgIdpGitlabArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource representing a GitLab IdP on the organization. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.OrgIdpGitlab("default", + org_id=data["zitadel_org"]["default"]["id"], + client_id="15765e...", + client_secret="*****abcxyz", + scopes=[ + "openid", + "profile", + "email", + ], + is_linking_allowed=False, + is_creation_allowed=True, + is_auto_creation=False, + is_auto_update=True) + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/orgIdpGitlab:OrgIdpGitlab imported '123456789012345678:123456789012345678:1234567890abcdef' + ``` + + :param str resource_name: The name of the resource. + :param OrgIdpGitlabArgs 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(OrgIdpGitlabArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + OrgIdpGitlabArgs._configure(_setter, **kwargs) + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[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__ = OrgIdpGitlabArgs.__new__(OrgIdpGitlabArgs) + + if client_id is None and not opts.urn: + raise TypeError("Missing required property 'client_id'") + __props__.__dict__["client_id"] = client_id + if client_secret is None and not opts.urn: + raise TypeError("Missing required property 'client_secret'") + __props__.__dict__["client_secret"] = None if client_secret is None else pulumi.Output.secret(client_secret) + if is_auto_creation is None and not opts.urn: + raise TypeError("Missing required property 'is_auto_creation'") + __props__.__dict__["is_auto_creation"] = is_auto_creation + if is_auto_update is None and not opts.urn: + raise TypeError("Missing required property 'is_auto_update'") + __props__.__dict__["is_auto_update"] = is_auto_update + if is_creation_allowed is None and not opts.urn: + raise TypeError("Missing required property 'is_creation_allowed'") + __props__.__dict__["is_creation_allowed"] = is_creation_allowed + if is_linking_allowed is None and not opts.urn: + raise TypeError("Missing required property 'is_linking_allowed'") + __props__.__dict__["is_linking_allowed"] = is_linking_allowed + __props__.__dict__["name"] = name + __props__.__dict__["org_id"] = org_id + __props__.__dict__["scopes"] = scopes + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["clientSecret"]) + opts = pulumi.ResourceOptions.merge(opts, secret_opts) + super(OrgIdpGitlab, __self__).__init__( + 'zitadel:index/orgIdpGitlab:OrgIdpGitlab', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None) -> 'OrgIdpGitlab': + """ + Get an existing OrgIdpGitlab 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[str] client_id: client id generated by the identity provider + :param pulumi.Input[str] client_secret: client secret generated by the identity provider + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[Sequence[pulumi.Input[str]]] scopes: the scopes requested by ZITADEL during the request on the identity provider + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _OrgIdpGitlabState.__new__(_OrgIdpGitlabState) + + __props__.__dict__["client_id"] = client_id + __props__.__dict__["client_secret"] = client_secret + __props__.__dict__["is_auto_creation"] = is_auto_creation + __props__.__dict__["is_auto_update"] = is_auto_update + __props__.__dict__["is_creation_allowed"] = is_creation_allowed + __props__.__dict__["is_linking_allowed"] = is_linking_allowed + __props__.__dict__["name"] = name + __props__.__dict__["org_id"] = org_id + __props__.__dict__["scopes"] = scopes + return OrgIdpGitlab(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> pulumi.Output[str]: + """ + client id generated by the identity provider + """ + return pulumi.get(self, "client_id") + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> pulumi.Output[str]: + """ + client secret generated by the identity provider + """ + return pulumi.get(self, "client_secret") + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> pulumi.Output[bool]: + """ + enable if a new account in ZITADEL should be created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> pulumi.Output[bool]: + """ + enable if a the ZITADEL account fields should be updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> pulumi.Output[bool]: + """ + enable if users should be able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> pulumi.Output[bool]: + """ + enable if users should be able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> pulumi.Output[Optional[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @property + @pulumi.getter + def scopes(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + the scopes requested by ZITADEL during the request on the identity provider + """ + return pulumi.get(self, "scopes") + diff --git a/sdk/python/scoretechnologies_zitadel/org_idp_gitlab_self_hosted.py b/sdk/python/scoretechnologies_zitadel/org_idp_gitlab_self_hosted.py new file mode 100644 index 0000000..975b653 --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/org_idp_gitlab_self_hosted.py @@ -0,0 +1,727 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['OrgIdpGitlabSelfHostedArgs', 'OrgIdpGitlabSelfHosted'] + +@pulumi.input_type +class OrgIdpGitlabSelfHostedArgs: + def __init__(__self__, *, + client_id: pulumi.Input[str], + client_secret: pulumi.Input[str], + is_auto_creation: pulumi.Input[bool], + is_auto_update: pulumi.Input[bool], + is_creation_allowed: pulumi.Input[bool], + is_linking_allowed: pulumi.Input[bool], + issuer: pulumi.Input[str], + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a OrgIdpGitlabSelfHosted resource. + :param pulumi.Input[str] client_id: client id generated by the identity provider + :param pulumi.Input[str] client_secret: client secret generated by the identity provider + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] issuer: the providers issuer + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[Sequence[pulumi.Input[str]]] scopes: the scopes requested by ZITADEL during the request on the identity provider + """ + OrgIdpGitlabSelfHostedArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + client_id=client_id, + client_secret=client_secret, + is_auto_creation=is_auto_creation, + is_auto_update=is_auto_update, + is_creation_allowed=is_creation_allowed, + is_linking_allowed=is_linking_allowed, + issuer=issuer, + name=name, + org_id=org_id, + scopes=scopes, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + client_id: pulumi.Input[str], + client_secret: pulumi.Input[str], + is_auto_creation: pulumi.Input[bool], + is_auto_update: pulumi.Input[bool], + is_creation_allowed: pulumi.Input[bool], + is_linking_allowed: pulumi.Input[bool], + issuer: pulumi.Input[str], + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'clientId' in kwargs: + client_id = kwargs['clientId'] + if 'clientSecret' in kwargs: + client_secret = kwargs['clientSecret'] + if 'isAutoCreation' in kwargs: + is_auto_creation = kwargs['isAutoCreation'] + if 'isAutoUpdate' in kwargs: + is_auto_update = kwargs['isAutoUpdate'] + if 'isCreationAllowed' in kwargs: + is_creation_allowed = kwargs['isCreationAllowed'] + if 'isLinkingAllowed' in kwargs: + is_linking_allowed = kwargs['isLinkingAllowed'] + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + + _setter("client_id", client_id) + _setter("client_secret", client_secret) + _setter("is_auto_creation", is_auto_creation) + _setter("is_auto_update", is_auto_update) + _setter("is_creation_allowed", is_creation_allowed) + _setter("is_linking_allowed", is_linking_allowed) + _setter("issuer", issuer) + if name is not None: + _setter("name", name) + if org_id is not None: + _setter("org_id", org_id) + if scopes is not None: + _setter("scopes", scopes) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> pulumi.Input[str]: + """ + client id generated by the identity provider + """ + return pulumi.get(self, "client_id") + + @client_id.setter + def client_id(self, value: pulumi.Input[str]): + pulumi.set(self, "client_id", value) + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> pulumi.Input[str]: + """ + client secret generated by the identity provider + """ + return pulumi.get(self, "client_secret") + + @client_secret.setter + def client_secret(self, value: pulumi.Input[str]): + pulumi.set(self, "client_secret", value) + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> pulumi.Input[bool]: + """ + enable if a new account in ZITADEL should be created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @is_auto_creation.setter + def is_auto_creation(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_auto_creation", value) + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> pulumi.Input[bool]: + """ + enable if a the ZITADEL account fields should be updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @is_auto_update.setter + def is_auto_update(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_auto_update", value) + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> pulumi.Input[bool]: + """ + enable if users should be able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @is_creation_allowed.setter + def is_creation_allowed(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_creation_allowed", value) + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> pulumi.Input[bool]: + """ + enable if users should be able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @is_linking_allowed.setter + def is_linking_allowed(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_linking_allowed", value) + + @property + @pulumi.getter + def issuer(self) -> pulumi.Input[str]: + """ + the providers issuer + """ + return pulumi.get(self, "issuer") + + @issuer.setter + def issuer(self, value: pulumi.Input[str]): + pulumi.set(self, "issuer", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + @property + @pulumi.getter + def scopes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + the scopes requested by ZITADEL during the request on the identity provider + """ + return pulumi.get(self, "scopes") + + @scopes.setter + def scopes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "scopes", value) + + +@pulumi.input_type +class _OrgIdpGitlabSelfHostedState: + def __init__(__self__, *, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + issuer: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + Input properties used for looking up and filtering OrgIdpGitlabSelfHosted resources. + :param pulumi.Input[str] client_id: client id generated by the identity provider + :param pulumi.Input[str] client_secret: client secret generated by the identity provider + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] issuer: the providers issuer + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[Sequence[pulumi.Input[str]]] scopes: the scopes requested by ZITADEL during the request on the identity provider + """ + _OrgIdpGitlabSelfHostedState._configure( + lambda key, value: pulumi.set(__self__, key, value), + client_id=client_id, + client_secret=client_secret, + is_auto_creation=is_auto_creation, + is_auto_update=is_auto_update, + is_creation_allowed=is_creation_allowed, + is_linking_allowed=is_linking_allowed, + issuer=issuer, + name=name, + org_id=org_id, + scopes=scopes, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + issuer: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'clientId' in kwargs: + client_id = kwargs['clientId'] + if 'clientSecret' in kwargs: + client_secret = kwargs['clientSecret'] + if 'isAutoCreation' in kwargs: + is_auto_creation = kwargs['isAutoCreation'] + if 'isAutoUpdate' in kwargs: + is_auto_update = kwargs['isAutoUpdate'] + if 'isCreationAllowed' in kwargs: + is_creation_allowed = kwargs['isCreationAllowed'] + if 'isLinkingAllowed' in kwargs: + is_linking_allowed = kwargs['isLinkingAllowed'] + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + + if client_id is not None: + _setter("client_id", client_id) + if client_secret is not None: + _setter("client_secret", client_secret) + if is_auto_creation is not None: + _setter("is_auto_creation", is_auto_creation) + if is_auto_update is not None: + _setter("is_auto_update", is_auto_update) + if is_creation_allowed is not None: + _setter("is_creation_allowed", is_creation_allowed) + if is_linking_allowed is not None: + _setter("is_linking_allowed", is_linking_allowed) + if issuer is not None: + _setter("issuer", issuer) + if name is not None: + _setter("name", name) + if org_id is not None: + _setter("org_id", org_id) + if scopes is not None: + _setter("scopes", scopes) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> Optional[pulumi.Input[str]]: + """ + client id generated by the identity provider + """ + return pulumi.get(self, "client_id") + + @client_id.setter + def client_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "client_id", value) + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> Optional[pulumi.Input[str]]: + """ + client secret generated by the identity provider + """ + return pulumi.get(self, "client_secret") + + @client_secret.setter + def client_secret(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "client_secret", value) + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> Optional[pulumi.Input[bool]]: + """ + enable if a new account in ZITADEL should be created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @is_auto_creation.setter + def is_auto_creation(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_auto_creation", value) + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> Optional[pulumi.Input[bool]]: + """ + enable if a the ZITADEL account fields should be updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @is_auto_update.setter + def is_auto_update(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_auto_update", value) + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> Optional[pulumi.Input[bool]]: + """ + enable if users should be able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @is_creation_allowed.setter + def is_creation_allowed(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_creation_allowed", value) + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> Optional[pulumi.Input[bool]]: + """ + enable if users should be able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @is_linking_allowed.setter + def is_linking_allowed(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_linking_allowed", value) + + @property + @pulumi.getter + def issuer(self) -> Optional[pulumi.Input[str]]: + """ + the providers issuer + """ + return pulumi.get(self, "issuer") + + @issuer.setter + def issuer(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "issuer", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + @property + @pulumi.getter + def scopes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + the scopes requested by ZITADEL during the request on the identity provider + """ + return pulumi.get(self, "scopes") + + @scopes.setter + def scopes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "scopes", value) + + +class OrgIdpGitlabSelfHosted(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + issuer: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + __props__=None): + """ + Resource representing a GitLab Self Hosted IdP on the organization. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.OrgIdpGitlabSelfHosted("default", + org_id=data["zitadel_org"]["default"]["id"], + client_id="15765e...", + client_secret="*****abcxyz", + scopes=[ + "openid", + "profile", + "email", + ], + issuer="https://my.issuer", + is_linking_allowed=False, + is_creation_allowed=True, + is_auto_creation=False, + is_auto_update=True) + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/orgIdpGitlabSelfHosted:OrgIdpGitlabSelfHosted imported '123456789012345678:123456789012345678:1234567890abcdef' + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] client_id: client id generated by the identity provider + :param pulumi.Input[str] client_secret: client secret generated by the identity provider + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] issuer: the providers issuer + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[Sequence[pulumi.Input[str]]] scopes: the scopes requested by ZITADEL during the request on the identity provider + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: OrgIdpGitlabSelfHostedArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource representing a GitLab Self Hosted IdP on the organization. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.OrgIdpGitlabSelfHosted("default", + org_id=data["zitadel_org"]["default"]["id"], + client_id="15765e...", + client_secret="*****abcxyz", + scopes=[ + "openid", + "profile", + "email", + ], + issuer="https://my.issuer", + is_linking_allowed=False, + is_creation_allowed=True, + is_auto_creation=False, + is_auto_update=True) + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/orgIdpGitlabSelfHosted:OrgIdpGitlabSelfHosted imported '123456789012345678:123456789012345678:1234567890abcdef' + ``` + + :param str resource_name: The name of the resource. + :param OrgIdpGitlabSelfHostedArgs 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(OrgIdpGitlabSelfHostedArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + OrgIdpGitlabSelfHostedArgs._configure(_setter, **kwargs) + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + issuer: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[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__ = OrgIdpGitlabSelfHostedArgs.__new__(OrgIdpGitlabSelfHostedArgs) + + if client_id is None and not opts.urn: + raise TypeError("Missing required property 'client_id'") + __props__.__dict__["client_id"] = client_id + if client_secret is None and not opts.urn: + raise TypeError("Missing required property 'client_secret'") + __props__.__dict__["client_secret"] = None if client_secret is None else pulumi.Output.secret(client_secret) + if is_auto_creation is None and not opts.urn: + raise TypeError("Missing required property 'is_auto_creation'") + __props__.__dict__["is_auto_creation"] = is_auto_creation + if is_auto_update is None and not opts.urn: + raise TypeError("Missing required property 'is_auto_update'") + __props__.__dict__["is_auto_update"] = is_auto_update + if is_creation_allowed is None and not opts.urn: + raise TypeError("Missing required property 'is_creation_allowed'") + __props__.__dict__["is_creation_allowed"] = is_creation_allowed + if is_linking_allowed is None and not opts.urn: + raise TypeError("Missing required property 'is_linking_allowed'") + __props__.__dict__["is_linking_allowed"] = is_linking_allowed + if issuer is None and not opts.urn: + raise TypeError("Missing required property 'issuer'") + __props__.__dict__["issuer"] = issuer + __props__.__dict__["name"] = name + __props__.__dict__["org_id"] = org_id + __props__.__dict__["scopes"] = scopes + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["clientSecret"]) + opts = pulumi.ResourceOptions.merge(opts, secret_opts) + super(OrgIdpGitlabSelfHosted, __self__).__init__( + 'zitadel:index/orgIdpGitlabSelfHosted:OrgIdpGitlabSelfHosted', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + issuer: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None) -> 'OrgIdpGitlabSelfHosted': + """ + Get an existing OrgIdpGitlabSelfHosted 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[str] client_id: client id generated by the identity provider + :param pulumi.Input[str] client_secret: client secret generated by the identity provider + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] issuer: the providers issuer + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[Sequence[pulumi.Input[str]]] scopes: the scopes requested by ZITADEL during the request on the identity provider + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _OrgIdpGitlabSelfHostedState.__new__(_OrgIdpGitlabSelfHostedState) + + __props__.__dict__["client_id"] = client_id + __props__.__dict__["client_secret"] = client_secret + __props__.__dict__["is_auto_creation"] = is_auto_creation + __props__.__dict__["is_auto_update"] = is_auto_update + __props__.__dict__["is_creation_allowed"] = is_creation_allowed + __props__.__dict__["is_linking_allowed"] = is_linking_allowed + __props__.__dict__["issuer"] = issuer + __props__.__dict__["name"] = name + __props__.__dict__["org_id"] = org_id + __props__.__dict__["scopes"] = scopes + return OrgIdpGitlabSelfHosted(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> pulumi.Output[str]: + """ + client id generated by the identity provider + """ + return pulumi.get(self, "client_id") + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> pulumi.Output[str]: + """ + client secret generated by the identity provider + """ + return pulumi.get(self, "client_secret") + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> pulumi.Output[bool]: + """ + enable if a new account in ZITADEL should be created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> pulumi.Output[bool]: + """ + enable if a the ZITADEL account fields should be updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> pulumi.Output[bool]: + """ + enable if users should be able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> pulumi.Output[bool]: + """ + enable if users should be able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @property + @pulumi.getter + def issuer(self) -> pulumi.Output[str]: + """ + the providers issuer + """ + return pulumi.get(self, "issuer") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> pulumi.Output[Optional[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @property + @pulumi.getter + def scopes(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + the scopes requested by ZITADEL during the request on the identity provider + """ + return pulumi.get(self, "scopes") + diff --git a/sdk/python/scoretechnologies_zitadel/org_idp_google.py b/sdk/python/scoretechnologies_zitadel/org_idp_google.py new file mode 100644 index 0000000..a25f30c --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/org_idp_google.py @@ -0,0 +1,673 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['OrgIdpGoogleArgs', 'OrgIdpGoogle'] + +@pulumi.input_type +class OrgIdpGoogleArgs: + def __init__(__self__, *, + client_id: pulumi.Input[str], + client_secret: pulumi.Input[str], + is_auto_creation: pulumi.Input[bool], + is_auto_update: pulumi.Input[bool], + is_creation_allowed: pulumi.Input[bool], + is_linking_allowed: pulumi.Input[bool], + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a OrgIdpGoogle resource. + :param pulumi.Input[str] client_id: client id generated by the identity provider + :param pulumi.Input[str] client_secret: client secret generated by the identity provider + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[Sequence[pulumi.Input[str]]] scopes: the scopes requested by ZITADEL during the request on the identity provider + """ + OrgIdpGoogleArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + client_id=client_id, + client_secret=client_secret, + is_auto_creation=is_auto_creation, + is_auto_update=is_auto_update, + is_creation_allowed=is_creation_allowed, + is_linking_allowed=is_linking_allowed, + name=name, + org_id=org_id, + scopes=scopes, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + client_id: pulumi.Input[str], + client_secret: pulumi.Input[str], + is_auto_creation: pulumi.Input[bool], + is_auto_update: pulumi.Input[bool], + is_creation_allowed: pulumi.Input[bool], + is_linking_allowed: pulumi.Input[bool], + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'clientId' in kwargs: + client_id = kwargs['clientId'] + if 'clientSecret' in kwargs: + client_secret = kwargs['clientSecret'] + if 'isAutoCreation' in kwargs: + is_auto_creation = kwargs['isAutoCreation'] + if 'isAutoUpdate' in kwargs: + is_auto_update = kwargs['isAutoUpdate'] + if 'isCreationAllowed' in kwargs: + is_creation_allowed = kwargs['isCreationAllowed'] + if 'isLinkingAllowed' in kwargs: + is_linking_allowed = kwargs['isLinkingAllowed'] + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + + _setter("client_id", client_id) + _setter("client_secret", client_secret) + _setter("is_auto_creation", is_auto_creation) + _setter("is_auto_update", is_auto_update) + _setter("is_creation_allowed", is_creation_allowed) + _setter("is_linking_allowed", is_linking_allowed) + if name is not None: + _setter("name", name) + if org_id is not None: + _setter("org_id", org_id) + if scopes is not None: + _setter("scopes", scopes) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> pulumi.Input[str]: + """ + client id generated by the identity provider + """ + return pulumi.get(self, "client_id") + + @client_id.setter + def client_id(self, value: pulumi.Input[str]): + pulumi.set(self, "client_id", value) + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> pulumi.Input[str]: + """ + client secret generated by the identity provider + """ + return pulumi.get(self, "client_secret") + + @client_secret.setter + def client_secret(self, value: pulumi.Input[str]): + pulumi.set(self, "client_secret", value) + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> pulumi.Input[bool]: + """ + enable if a new account in ZITADEL should be created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @is_auto_creation.setter + def is_auto_creation(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_auto_creation", value) + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> pulumi.Input[bool]: + """ + enable if a the ZITADEL account fields should be updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @is_auto_update.setter + def is_auto_update(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_auto_update", value) + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> pulumi.Input[bool]: + """ + enable if users should be able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @is_creation_allowed.setter + def is_creation_allowed(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_creation_allowed", value) + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> pulumi.Input[bool]: + """ + enable if users should be able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @is_linking_allowed.setter + def is_linking_allowed(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_linking_allowed", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + @property + @pulumi.getter + def scopes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + the scopes requested by ZITADEL during the request on the identity provider + """ + return pulumi.get(self, "scopes") + + @scopes.setter + def scopes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "scopes", value) + + +@pulumi.input_type +class _OrgIdpGoogleState: + def __init__(__self__, *, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + Input properties used for looking up and filtering OrgIdpGoogle resources. + :param pulumi.Input[str] client_id: client id generated by the identity provider + :param pulumi.Input[str] client_secret: client secret generated by the identity provider + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[Sequence[pulumi.Input[str]]] scopes: the scopes requested by ZITADEL during the request on the identity provider + """ + _OrgIdpGoogleState._configure( + lambda key, value: pulumi.set(__self__, key, value), + client_id=client_id, + client_secret=client_secret, + is_auto_creation=is_auto_creation, + is_auto_update=is_auto_update, + is_creation_allowed=is_creation_allowed, + is_linking_allowed=is_linking_allowed, + name=name, + org_id=org_id, + scopes=scopes, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'clientId' in kwargs: + client_id = kwargs['clientId'] + if 'clientSecret' in kwargs: + client_secret = kwargs['clientSecret'] + if 'isAutoCreation' in kwargs: + is_auto_creation = kwargs['isAutoCreation'] + if 'isAutoUpdate' in kwargs: + is_auto_update = kwargs['isAutoUpdate'] + if 'isCreationAllowed' in kwargs: + is_creation_allowed = kwargs['isCreationAllowed'] + if 'isLinkingAllowed' in kwargs: + is_linking_allowed = kwargs['isLinkingAllowed'] + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + + if client_id is not None: + _setter("client_id", client_id) + if client_secret is not None: + _setter("client_secret", client_secret) + if is_auto_creation is not None: + _setter("is_auto_creation", is_auto_creation) + if is_auto_update is not None: + _setter("is_auto_update", is_auto_update) + if is_creation_allowed is not None: + _setter("is_creation_allowed", is_creation_allowed) + if is_linking_allowed is not None: + _setter("is_linking_allowed", is_linking_allowed) + if name is not None: + _setter("name", name) + if org_id is not None: + _setter("org_id", org_id) + if scopes is not None: + _setter("scopes", scopes) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> Optional[pulumi.Input[str]]: + """ + client id generated by the identity provider + """ + return pulumi.get(self, "client_id") + + @client_id.setter + def client_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "client_id", value) + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> Optional[pulumi.Input[str]]: + """ + client secret generated by the identity provider + """ + return pulumi.get(self, "client_secret") + + @client_secret.setter + def client_secret(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "client_secret", value) + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> Optional[pulumi.Input[bool]]: + """ + enable if a new account in ZITADEL should be created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @is_auto_creation.setter + def is_auto_creation(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_auto_creation", value) + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> Optional[pulumi.Input[bool]]: + """ + enable if a the ZITADEL account fields should be updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @is_auto_update.setter + def is_auto_update(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_auto_update", value) + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> Optional[pulumi.Input[bool]]: + """ + enable if users should be able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @is_creation_allowed.setter + def is_creation_allowed(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_creation_allowed", value) + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> Optional[pulumi.Input[bool]]: + """ + enable if users should be able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @is_linking_allowed.setter + def is_linking_allowed(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_linking_allowed", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + @property + @pulumi.getter + def scopes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + the scopes requested by ZITADEL during the request on the identity provider + """ + return pulumi.get(self, "scopes") + + @scopes.setter + def scopes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "scopes", value) + + +class OrgIdpGoogle(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + __props__=None): + """ + Resource representing a Google IdP on the organization. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.OrgIdpGoogle("default", + org_id=data["zitadel_org"]["default"]["id"], + client_id="182902...", + client_secret="GOCSPX-*****", + scopes=[ + "openid", + "profile", + "email", + ], + is_linking_allowed=False, + is_creation_allowed=True, + is_auto_creation=False, + is_auto_update=True) + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/orgIdpGoogle:OrgIdpGoogle imported '123456789012345678:123456789012345678:G1234567890123' + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] client_id: client id generated by the identity provider + :param pulumi.Input[str] client_secret: client secret generated by the identity provider + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[Sequence[pulumi.Input[str]]] scopes: the scopes requested by ZITADEL during the request on the identity provider + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: OrgIdpGoogleArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource representing a Google IdP on the organization. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.OrgIdpGoogle("default", + org_id=data["zitadel_org"]["default"]["id"], + client_id="182902...", + client_secret="GOCSPX-*****", + scopes=[ + "openid", + "profile", + "email", + ], + is_linking_allowed=False, + is_creation_allowed=True, + is_auto_creation=False, + is_auto_update=True) + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/orgIdpGoogle:OrgIdpGoogle imported '123456789012345678:123456789012345678:G1234567890123' + ``` + + :param str resource_name: The name of the resource. + :param OrgIdpGoogleArgs 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(OrgIdpGoogleArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + OrgIdpGoogleArgs._configure(_setter, **kwargs) + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[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__ = OrgIdpGoogleArgs.__new__(OrgIdpGoogleArgs) + + if client_id is None and not opts.urn: + raise TypeError("Missing required property 'client_id'") + __props__.__dict__["client_id"] = client_id + if client_secret is None and not opts.urn: + raise TypeError("Missing required property 'client_secret'") + __props__.__dict__["client_secret"] = None if client_secret is None else pulumi.Output.secret(client_secret) + if is_auto_creation is None and not opts.urn: + raise TypeError("Missing required property 'is_auto_creation'") + __props__.__dict__["is_auto_creation"] = is_auto_creation + if is_auto_update is None and not opts.urn: + raise TypeError("Missing required property 'is_auto_update'") + __props__.__dict__["is_auto_update"] = is_auto_update + if is_creation_allowed is None and not opts.urn: + raise TypeError("Missing required property 'is_creation_allowed'") + __props__.__dict__["is_creation_allowed"] = is_creation_allowed + if is_linking_allowed is None and not opts.urn: + raise TypeError("Missing required property 'is_linking_allowed'") + __props__.__dict__["is_linking_allowed"] = is_linking_allowed + __props__.__dict__["name"] = name + __props__.__dict__["org_id"] = org_id + __props__.__dict__["scopes"] = scopes + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["clientSecret"]) + opts = pulumi.ResourceOptions.merge(opts, secret_opts) + super(OrgIdpGoogle, __self__).__init__( + 'zitadel:index/orgIdpGoogle:OrgIdpGoogle', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None) -> 'OrgIdpGoogle': + """ + Get an existing OrgIdpGoogle 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[str] client_id: client id generated by the identity provider + :param pulumi.Input[str] client_secret: client secret generated by the identity provider + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[Sequence[pulumi.Input[str]]] scopes: the scopes requested by ZITADEL during the request on the identity provider + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _OrgIdpGoogleState.__new__(_OrgIdpGoogleState) + + __props__.__dict__["client_id"] = client_id + __props__.__dict__["client_secret"] = client_secret + __props__.__dict__["is_auto_creation"] = is_auto_creation + __props__.__dict__["is_auto_update"] = is_auto_update + __props__.__dict__["is_creation_allowed"] = is_creation_allowed + __props__.__dict__["is_linking_allowed"] = is_linking_allowed + __props__.__dict__["name"] = name + __props__.__dict__["org_id"] = org_id + __props__.__dict__["scopes"] = scopes + return OrgIdpGoogle(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> pulumi.Output[str]: + """ + client id generated by the identity provider + """ + return pulumi.get(self, "client_id") + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> pulumi.Output[str]: + """ + client secret generated by the identity provider + """ + return pulumi.get(self, "client_secret") + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> pulumi.Output[bool]: + """ + enable if a new account in ZITADEL should be created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> pulumi.Output[bool]: + """ + enable if a the ZITADEL account fields should be updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> pulumi.Output[bool]: + """ + enable if users should be able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> pulumi.Output[bool]: + """ + enable if users should be able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> pulumi.Output[Optional[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @property + @pulumi.getter + def scopes(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + the scopes requested by ZITADEL during the request on the identity provider + """ + return pulumi.get(self, "scopes") + diff --git a/sdk/python/scoretechnologies_zitadel/org_idp_jwt.py b/sdk/python/scoretechnologies_zitadel/org_idp_jwt.py new file mode 100644 index 0000000..a44c460 --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/org_idp_jwt.py @@ -0,0 +1,606 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['OrgIdpJwtArgs', 'OrgIdpJwt'] + +@pulumi.input_type +class OrgIdpJwtArgs: + def __init__(__self__, *, + auto_register: pulumi.Input[bool], + header_name: pulumi.Input[str], + issuer: pulumi.Input[str], + jwt_endpoint: pulumi.Input[str], + keys_endpoint: pulumi.Input[str], + styling_type: pulumi.Input[str], + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a OrgIdpJwt resource. + :param pulumi.Input[bool] auto_register: auto register for users from this idp + :param pulumi.Input[str] header_name: the name of the header where the JWT is sent in, default is authorization + :param pulumi.Input[str] issuer: the issuer of the jwt (for validation) + :param pulumi.Input[str] jwt_endpoint: the endpoint where the jwt can be extracted + :param pulumi.Input[str] keys_endpoint: the endpoint to the key (JWK) which are used to sign the JWT with + :param pulumi.Input[str] styling_type: Some identity providers specify the styling of the button to their login, supported values: STYLING*TYPE*UNSPECIFIED, STYLING*TYPE*GOOGLE + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[str] org_id: ID of the organization + """ + OrgIdpJwtArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + auto_register=auto_register, + header_name=header_name, + issuer=issuer, + jwt_endpoint=jwt_endpoint, + keys_endpoint=keys_endpoint, + styling_type=styling_type, + name=name, + org_id=org_id, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + auto_register: pulumi.Input[bool], + header_name: pulumi.Input[str], + issuer: pulumi.Input[str], + jwt_endpoint: pulumi.Input[str], + keys_endpoint: pulumi.Input[str], + styling_type: pulumi.Input[str], + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'autoRegister' in kwargs: + auto_register = kwargs['autoRegister'] + if 'headerName' in kwargs: + header_name = kwargs['headerName'] + if 'jwtEndpoint' in kwargs: + jwt_endpoint = kwargs['jwtEndpoint'] + if 'keysEndpoint' in kwargs: + keys_endpoint = kwargs['keysEndpoint'] + if 'stylingType' in kwargs: + styling_type = kwargs['stylingType'] + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + + _setter("auto_register", auto_register) + _setter("header_name", header_name) + _setter("issuer", issuer) + _setter("jwt_endpoint", jwt_endpoint) + _setter("keys_endpoint", keys_endpoint) + _setter("styling_type", styling_type) + if name is not None: + _setter("name", name) + if org_id is not None: + _setter("org_id", org_id) + + @property + @pulumi.getter(name="autoRegister") + def auto_register(self) -> pulumi.Input[bool]: + """ + auto register for users from this idp + """ + return pulumi.get(self, "auto_register") + + @auto_register.setter + def auto_register(self, value: pulumi.Input[bool]): + pulumi.set(self, "auto_register", value) + + @property + @pulumi.getter(name="headerName") + def header_name(self) -> pulumi.Input[str]: + """ + the name of the header where the JWT is sent in, default is authorization + """ + return pulumi.get(self, "header_name") + + @header_name.setter + def header_name(self, value: pulumi.Input[str]): + pulumi.set(self, "header_name", value) + + @property + @pulumi.getter + def issuer(self) -> pulumi.Input[str]: + """ + the issuer of the jwt (for validation) + """ + return pulumi.get(self, "issuer") + + @issuer.setter + def issuer(self, value: pulumi.Input[str]): + pulumi.set(self, "issuer", value) + + @property + @pulumi.getter(name="jwtEndpoint") + def jwt_endpoint(self) -> pulumi.Input[str]: + """ + the endpoint where the jwt can be extracted + """ + return pulumi.get(self, "jwt_endpoint") + + @jwt_endpoint.setter + def jwt_endpoint(self, value: pulumi.Input[str]): + pulumi.set(self, "jwt_endpoint", value) + + @property + @pulumi.getter(name="keysEndpoint") + def keys_endpoint(self) -> pulumi.Input[str]: + """ + the endpoint to the key (JWK) which are used to sign the JWT with + """ + return pulumi.get(self, "keys_endpoint") + + @keys_endpoint.setter + def keys_endpoint(self, value: pulumi.Input[str]): + pulumi.set(self, "keys_endpoint", value) + + @property + @pulumi.getter(name="stylingType") + def styling_type(self) -> pulumi.Input[str]: + """ + Some identity providers specify the styling of the button to their login, supported values: STYLING*TYPE*UNSPECIFIED, STYLING*TYPE*GOOGLE + """ + return pulumi.get(self, "styling_type") + + @styling_type.setter + def styling_type(self, value: pulumi.Input[str]): + pulumi.set(self, "styling_type", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + +@pulumi.input_type +class _OrgIdpJwtState: + def __init__(__self__, *, + auto_register: Optional[pulumi.Input[bool]] = None, + header_name: Optional[pulumi.Input[str]] = None, + issuer: Optional[pulumi.Input[str]] = None, + jwt_endpoint: Optional[pulumi.Input[str]] = None, + keys_endpoint: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + styling_type: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering OrgIdpJwt resources. + :param pulumi.Input[bool] auto_register: auto register for users from this idp + :param pulumi.Input[str] header_name: the name of the header where the JWT is sent in, default is authorization + :param pulumi.Input[str] issuer: the issuer of the jwt (for validation) + :param pulumi.Input[str] jwt_endpoint: the endpoint where the jwt can be extracted + :param pulumi.Input[str] keys_endpoint: the endpoint to the key (JWK) which are used to sign the JWT with + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[str] styling_type: Some identity providers specify the styling of the button to their login, supported values: STYLING*TYPE*UNSPECIFIED, STYLING*TYPE*GOOGLE + """ + _OrgIdpJwtState._configure( + lambda key, value: pulumi.set(__self__, key, value), + auto_register=auto_register, + header_name=header_name, + issuer=issuer, + jwt_endpoint=jwt_endpoint, + keys_endpoint=keys_endpoint, + name=name, + org_id=org_id, + styling_type=styling_type, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + auto_register: Optional[pulumi.Input[bool]] = None, + header_name: Optional[pulumi.Input[str]] = None, + issuer: Optional[pulumi.Input[str]] = None, + jwt_endpoint: Optional[pulumi.Input[str]] = None, + keys_endpoint: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + styling_type: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'autoRegister' in kwargs: + auto_register = kwargs['autoRegister'] + if 'headerName' in kwargs: + header_name = kwargs['headerName'] + if 'jwtEndpoint' in kwargs: + jwt_endpoint = kwargs['jwtEndpoint'] + if 'keysEndpoint' in kwargs: + keys_endpoint = kwargs['keysEndpoint'] + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + if 'stylingType' in kwargs: + styling_type = kwargs['stylingType'] + + if auto_register is not None: + _setter("auto_register", auto_register) + if header_name is not None: + _setter("header_name", header_name) + if issuer is not None: + _setter("issuer", issuer) + if jwt_endpoint is not None: + _setter("jwt_endpoint", jwt_endpoint) + if keys_endpoint is not None: + _setter("keys_endpoint", keys_endpoint) + if name is not None: + _setter("name", name) + if org_id is not None: + _setter("org_id", org_id) + if styling_type is not None: + _setter("styling_type", styling_type) + + @property + @pulumi.getter(name="autoRegister") + def auto_register(self) -> Optional[pulumi.Input[bool]]: + """ + auto register for users from this idp + """ + return pulumi.get(self, "auto_register") + + @auto_register.setter + def auto_register(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "auto_register", value) + + @property + @pulumi.getter(name="headerName") + def header_name(self) -> Optional[pulumi.Input[str]]: + """ + the name of the header where the JWT is sent in, default is authorization + """ + return pulumi.get(self, "header_name") + + @header_name.setter + def header_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "header_name", value) + + @property + @pulumi.getter + def issuer(self) -> Optional[pulumi.Input[str]]: + """ + the issuer of the jwt (for validation) + """ + return pulumi.get(self, "issuer") + + @issuer.setter + def issuer(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "issuer", value) + + @property + @pulumi.getter(name="jwtEndpoint") + def jwt_endpoint(self) -> Optional[pulumi.Input[str]]: + """ + the endpoint where the jwt can be extracted + """ + return pulumi.get(self, "jwt_endpoint") + + @jwt_endpoint.setter + def jwt_endpoint(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "jwt_endpoint", value) + + @property + @pulumi.getter(name="keysEndpoint") + def keys_endpoint(self) -> Optional[pulumi.Input[str]]: + """ + the endpoint to the key (JWK) which are used to sign the JWT with + """ + return pulumi.get(self, "keys_endpoint") + + @keys_endpoint.setter + def keys_endpoint(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "keys_endpoint", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + @property + @pulumi.getter(name="stylingType") + def styling_type(self) -> Optional[pulumi.Input[str]]: + """ + Some identity providers specify the styling of the button to their login, supported values: STYLING*TYPE*UNSPECIFIED, STYLING*TYPE*GOOGLE + """ + return pulumi.get(self, "styling_type") + + @styling_type.setter + def styling_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "styling_type", value) + + +class OrgIdpJwt(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + auto_register: Optional[pulumi.Input[bool]] = None, + header_name: Optional[pulumi.Input[str]] = None, + issuer: Optional[pulumi.Input[str]] = None, + jwt_endpoint: Optional[pulumi.Input[str]] = None, + keys_endpoint: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + styling_type: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Resource representing a generic JWT IdP of the organization. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.OrgIdpJwt("default", + org_id=data["zitadel_org"]["default"]["id"], + styling_type="STYLING_TYPE_UNSPECIFIED", + jwt_endpoint="https://jwtendpoint.com/jwt", + issuer="https://google.com", + keys_endpoint="https://jwtendpoint.com/keys", + header_name="x-auth-token", + auto_register=False) + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/orgIdpJwt:OrgIdpJwt imported '123456789012345678:123456789012345678' + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[bool] auto_register: auto register for users from this idp + :param pulumi.Input[str] header_name: the name of the header where the JWT is sent in, default is authorization + :param pulumi.Input[str] issuer: the issuer of the jwt (for validation) + :param pulumi.Input[str] jwt_endpoint: the endpoint where the jwt can be extracted + :param pulumi.Input[str] keys_endpoint: the endpoint to the key (JWK) which are used to sign the JWT with + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[str] styling_type: Some identity providers specify the styling of the button to their login, supported values: STYLING*TYPE*UNSPECIFIED, STYLING*TYPE*GOOGLE + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: OrgIdpJwtArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource representing a generic JWT IdP of the organization. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.OrgIdpJwt("default", + org_id=data["zitadel_org"]["default"]["id"], + styling_type="STYLING_TYPE_UNSPECIFIED", + jwt_endpoint="https://jwtendpoint.com/jwt", + issuer="https://google.com", + keys_endpoint="https://jwtendpoint.com/keys", + header_name="x-auth-token", + auto_register=False) + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/orgIdpJwt:OrgIdpJwt imported '123456789012345678:123456789012345678' + ``` + + :param str resource_name: The name of the resource. + :param OrgIdpJwtArgs 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(OrgIdpJwtArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + OrgIdpJwtArgs._configure(_setter, **kwargs) + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + auto_register: Optional[pulumi.Input[bool]] = None, + header_name: Optional[pulumi.Input[str]] = None, + issuer: Optional[pulumi.Input[str]] = None, + jwt_endpoint: Optional[pulumi.Input[str]] = None, + keys_endpoint: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + styling_type: 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__ = OrgIdpJwtArgs.__new__(OrgIdpJwtArgs) + + if auto_register is None and not opts.urn: + raise TypeError("Missing required property 'auto_register'") + __props__.__dict__["auto_register"] = auto_register + if header_name is None and not opts.urn: + raise TypeError("Missing required property 'header_name'") + __props__.__dict__["header_name"] = header_name + if issuer is None and not opts.urn: + raise TypeError("Missing required property 'issuer'") + __props__.__dict__["issuer"] = issuer + if jwt_endpoint is None and not opts.urn: + raise TypeError("Missing required property 'jwt_endpoint'") + __props__.__dict__["jwt_endpoint"] = jwt_endpoint + if keys_endpoint is None and not opts.urn: + raise TypeError("Missing required property 'keys_endpoint'") + __props__.__dict__["keys_endpoint"] = keys_endpoint + __props__.__dict__["name"] = name + __props__.__dict__["org_id"] = org_id + if styling_type is None and not opts.urn: + raise TypeError("Missing required property 'styling_type'") + __props__.__dict__["styling_type"] = styling_type + super(OrgIdpJwt, __self__).__init__( + 'zitadel:index/orgIdpJwt:OrgIdpJwt', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + auto_register: Optional[pulumi.Input[bool]] = None, + header_name: Optional[pulumi.Input[str]] = None, + issuer: Optional[pulumi.Input[str]] = None, + jwt_endpoint: Optional[pulumi.Input[str]] = None, + keys_endpoint: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + styling_type: Optional[pulumi.Input[str]] = None) -> 'OrgIdpJwt': + """ + Get an existing OrgIdpJwt 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] auto_register: auto register for users from this idp + :param pulumi.Input[str] header_name: the name of the header where the JWT is sent in, default is authorization + :param pulumi.Input[str] issuer: the issuer of the jwt (for validation) + :param pulumi.Input[str] jwt_endpoint: the endpoint where the jwt can be extracted + :param pulumi.Input[str] keys_endpoint: the endpoint to the key (JWK) which are used to sign the JWT with + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[str] styling_type: Some identity providers specify the styling of the button to their login, supported values: STYLING*TYPE*UNSPECIFIED, STYLING*TYPE*GOOGLE + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _OrgIdpJwtState.__new__(_OrgIdpJwtState) + + __props__.__dict__["auto_register"] = auto_register + __props__.__dict__["header_name"] = header_name + __props__.__dict__["issuer"] = issuer + __props__.__dict__["jwt_endpoint"] = jwt_endpoint + __props__.__dict__["keys_endpoint"] = keys_endpoint + __props__.__dict__["name"] = name + __props__.__dict__["org_id"] = org_id + __props__.__dict__["styling_type"] = styling_type + return OrgIdpJwt(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="autoRegister") + def auto_register(self) -> pulumi.Output[bool]: + """ + auto register for users from this idp + """ + return pulumi.get(self, "auto_register") + + @property + @pulumi.getter(name="headerName") + def header_name(self) -> pulumi.Output[str]: + """ + the name of the header where the JWT is sent in, default is authorization + """ + return pulumi.get(self, "header_name") + + @property + @pulumi.getter + def issuer(self) -> pulumi.Output[str]: + """ + the issuer of the jwt (for validation) + """ + return pulumi.get(self, "issuer") + + @property + @pulumi.getter(name="jwtEndpoint") + def jwt_endpoint(self) -> pulumi.Output[str]: + """ + the endpoint where the jwt can be extracted + """ + return pulumi.get(self, "jwt_endpoint") + + @property + @pulumi.getter(name="keysEndpoint") + def keys_endpoint(self) -> pulumi.Output[str]: + """ + the endpoint to the key (JWK) which are used to sign the JWT with + """ + return pulumi.get(self, "keys_endpoint") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> pulumi.Output[Optional[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @property + @pulumi.getter(name="stylingType") + def styling_type(self) -> pulumi.Output[str]: + """ + Some identity providers specify the styling of the button to their login, supported values: STYLING*TYPE*UNSPECIFIED, STYLING*TYPE*GOOGLE + """ + return pulumi.get(self, "styling_type") + diff --git a/sdk/python/scoretechnologies_zitadel/org_idp_ldap.py b/sdk/python/scoretechnologies_zitadel/org_idp_ldap.py new file mode 100644 index 0000000..5af6582 --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/org_idp_ldap.py @@ -0,0 +1,1743 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['OrgIdpLdapArgs', 'OrgIdpLdap'] + +@pulumi.input_type +class OrgIdpLdapArgs: + def __init__(__self__, *, + base_dn: pulumi.Input[str], + bind_dn: pulumi.Input[str], + bind_password: pulumi.Input[str], + is_auto_creation: pulumi.Input[bool], + is_auto_update: pulumi.Input[bool], + is_creation_allowed: pulumi.Input[bool], + is_linking_allowed: pulumi.Input[bool], + servers: pulumi.Input[Sequence[pulumi.Input[str]]], + start_tls: pulumi.Input[bool], + timeout: pulumi.Input[str], + user_base: pulumi.Input[str], + user_filters: pulumi.Input[Sequence[pulumi.Input[str]]], + user_object_classes: pulumi.Input[Sequence[pulumi.Input[str]]], + avatar_url_attribute: Optional[pulumi.Input[str]] = None, + display_name_attribute: Optional[pulumi.Input[str]] = None, + email_attribute: Optional[pulumi.Input[str]] = None, + email_verified_attribute: Optional[pulumi.Input[str]] = None, + first_name_attribute: Optional[pulumi.Input[str]] = None, + id_attribute: Optional[pulumi.Input[str]] = None, + last_name_attribute: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + nick_name_attribute: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + phone_attribute: Optional[pulumi.Input[str]] = None, + phone_verified_attribute: Optional[pulumi.Input[str]] = None, + preferred_language_attribute: Optional[pulumi.Input[str]] = None, + preferred_username_attribute: Optional[pulumi.Input[str]] = None, + profile_attribute: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a OrgIdpLdap resource. + :param pulumi.Input[str] base_dn: Base DN for LDAP connections + :param pulumi.Input[str] bind_dn: Bind DN for LDAP connections + :param pulumi.Input[str] bind_password: Bind password for LDAP connections + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[Sequence[pulumi.Input[str]]] servers: Servers to try in order for establishing LDAP connections + :param pulumi.Input[bool] start_tls: Wether to use StartTLS for LDAP connections + :param pulumi.Input[str] timeout: Timeout for LDAP connections + :param pulumi.Input[str] user_base: User base for LDAP connections + :param pulumi.Input[Sequence[pulumi.Input[str]]] user_filters: User filters for LDAP connections + :param pulumi.Input[Sequence[pulumi.Input[str]]] user_object_classes: User object classes for LDAP connections + :param pulumi.Input[str] avatar_url_attribute: User attribute for the avatar url + :param pulumi.Input[str] display_name_attribute: User attribute for the display name + :param pulumi.Input[str] email_attribute: User attribute for the email + :param pulumi.Input[str] email_verified_attribute: User attribute for the email verified state + :param pulumi.Input[str] first_name_attribute: User attribute for the first name + :param pulumi.Input[str] id_attribute: User attribute for the id + :param pulumi.Input[str] last_name_attribute: User attribute for the last name + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[str] nick_name_attribute: User attribute for the nick name + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[str] phone_attribute: User attribute for the phone + :param pulumi.Input[str] phone_verified_attribute: User attribute for the phone verified state + :param pulumi.Input[str] preferred_language_attribute: User attribute for the preferred language + :param pulumi.Input[str] preferred_username_attribute: User attribute for the preferred username + :param pulumi.Input[str] profile_attribute: User attribute for the profile + """ + OrgIdpLdapArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + base_dn=base_dn, + bind_dn=bind_dn, + bind_password=bind_password, + is_auto_creation=is_auto_creation, + is_auto_update=is_auto_update, + is_creation_allowed=is_creation_allowed, + is_linking_allowed=is_linking_allowed, + servers=servers, + start_tls=start_tls, + timeout=timeout, + user_base=user_base, + user_filters=user_filters, + user_object_classes=user_object_classes, + avatar_url_attribute=avatar_url_attribute, + display_name_attribute=display_name_attribute, + email_attribute=email_attribute, + email_verified_attribute=email_verified_attribute, + first_name_attribute=first_name_attribute, + id_attribute=id_attribute, + last_name_attribute=last_name_attribute, + name=name, + nick_name_attribute=nick_name_attribute, + org_id=org_id, + phone_attribute=phone_attribute, + phone_verified_attribute=phone_verified_attribute, + preferred_language_attribute=preferred_language_attribute, + preferred_username_attribute=preferred_username_attribute, + profile_attribute=profile_attribute, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + base_dn: pulumi.Input[str], + bind_dn: pulumi.Input[str], + bind_password: pulumi.Input[str], + is_auto_creation: pulumi.Input[bool], + is_auto_update: pulumi.Input[bool], + is_creation_allowed: pulumi.Input[bool], + is_linking_allowed: pulumi.Input[bool], + servers: pulumi.Input[Sequence[pulumi.Input[str]]], + start_tls: pulumi.Input[bool], + timeout: pulumi.Input[str], + user_base: pulumi.Input[str], + user_filters: pulumi.Input[Sequence[pulumi.Input[str]]], + user_object_classes: pulumi.Input[Sequence[pulumi.Input[str]]], + avatar_url_attribute: Optional[pulumi.Input[str]] = None, + display_name_attribute: Optional[pulumi.Input[str]] = None, + email_attribute: Optional[pulumi.Input[str]] = None, + email_verified_attribute: Optional[pulumi.Input[str]] = None, + first_name_attribute: Optional[pulumi.Input[str]] = None, + id_attribute: Optional[pulumi.Input[str]] = None, + last_name_attribute: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + nick_name_attribute: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + phone_attribute: Optional[pulumi.Input[str]] = None, + phone_verified_attribute: Optional[pulumi.Input[str]] = None, + preferred_language_attribute: Optional[pulumi.Input[str]] = None, + preferred_username_attribute: Optional[pulumi.Input[str]] = None, + profile_attribute: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'baseDn' in kwargs: + base_dn = kwargs['baseDn'] + if 'bindDn' in kwargs: + bind_dn = kwargs['bindDn'] + if 'bindPassword' in kwargs: + bind_password = kwargs['bindPassword'] + if 'isAutoCreation' in kwargs: + is_auto_creation = kwargs['isAutoCreation'] + if 'isAutoUpdate' in kwargs: + is_auto_update = kwargs['isAutoUpdate'] + if 'isCreationAllowed' in kwargs: + is_creation_allowed = kwargs['isCreationAllowed'] + if 'isLinkingAllowed' in kwargs: + is_linking_allowed = kwargs['isLinkingAllowed'] + if 'startTls' in kwargs: + start_tls = kwargs['startTls'] + if 'userBase' in kwargs: + user_base = kwargs['userBase'] + if 'userFilters' in kwargs: + user_filters = kwargs['userFilters'] + if 'userObjectClasses' in kwargs: + user_object_classes = kwargs['userObjectClasses'] + if 'avatarUrlAttribute' in kwargs: + avatar_url_attribute = kwargs['avatarUrlAttribute'] + if 'displayNameAttribute' in kwargs: + display_name_attribute = kwargs['displayNameAttribute'] + if 'emailAttribute' in kwargs: + email_attribute = kwargs['emailAttribute'] + if 'emailVerifiedAttribute' in kwargs: + email_verified_attribute = kwargs['emailVerifiedAttribute'] + if 'firstNameAttribute' in kwargs: + first_name_attribute = kwargs['firstNameAttribute'] + if 'idAttribute' in kwargs: + id_attribute = kwargs['idAttribute'] + if 'lastNameAttribute' in kwargs: + last_name_attribute = kwargs['lastNameAttribute'] + if 'nickNameAttribute' in kwargs: + nick_name_attribute = kwargs['nickNameAttribute'] + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + if 'phoneAttribute' in kwargs: + phone_attribute = kwargs['phoneAttribute'] + if 'phoneVerifiedAttribute' in kwargs: + phone_verified_attribute = kwargs['phoneVerifiedAttribute'] + if 'preferredLanguageAttribute' in kwargs: + preferred_language_attribute = kwargs['preferredLanguageAttribute'] + if 'preferredUsernameAttribute' in kwargs: + preferred_username_attribute = kwargs['preferredUsernameAttribute'] + if 'profileAttribute' in kwargs: + profile_attribute = kwargs['profileAttribute'] + + _setter("base_dn", base_dn) + _setter("bind_dn", bind_dn) + _setter("bind_password", bind_password) + _setter("is_auto_creation", is_auto_creation) + _setter("is_auto_update", is_auto_update) + _setter("is_creation_allowed", is_creation_allowed) + _setter("is_linking_allowed", is_linking_allowed) + _setter("servers", servers) + _setter("start_tls", start_tls) + _setter("timeout", timeout) + _setter("user_base", user_base) + _setter("user_filters", user_filters) + _setter("user_object_classes", user_object_classes) + if avatar_url_attribute is not None: + _setter("avatar_url_attribute", avatar_url_attribute) + if display_name_attribute is not None: + _setter("display_name_attribute", display_name_attribute) + if email_attribute is not None: + _setter("email_attribute", email_attribute) + if email_verified_attribute is not None: + _setter("email_verified_attribute", email_verified_attribute) + if first_name_attribute is not None: + _setter("first_name_attribute", first_name_attribute) + if id_attribute is not None: + _setter("id_attribute", id_attribute) + if last_name_attribute is not None: + _setter("last_name_attribute", last_name_attribute) + if name is not None: + _setter("name", name) + if nick_name_attribute is not None: + _setter("nick_name_attribute", nick_name_attribute) + if org_id is not None: + _setter("org_id", org_id) + if phone_attribute is not None: + _setter("phone_attribute", phone_attribute) + if phone_verified_attribute is not None: + _setter("phone_verified_attribute", phone_verified_attribute) + if preferred_language_attribute is not None: + _setter("preferred_language_attribute", preferred_language_attribute) + if preferred_username_attribute is not None: + _setter("preferred_username_attribute", preferred_username_attribute) + if profile_attribute is not None: + _setter("profile_attribute", profile_attribute) + + @property + @pulumi.getter(name="baseDn") + def base_dn(self) -> pulumi.Input[str]: + """ + Base DN for LDAP connections + """ + return pulumi.get(self, "base_dn") + + @base_dn.setter + def base_dn(self, value: pulumi.Input[str]): + pulumi.set(self, "base_dn", value) + + @property + @pulumi.getter(name="bindDn") + def bind_dn(self) -> pulumi.Input[str]: + """ + Bind DN for LDAP connections + """ + return pulumi.get(self, "bind_dn") + + @bind_dn.setter + def bind_dn(self, value: pulumi.Input[str]): + pulumi.set(self, "bind_dn", value) + + @property + @pulumi.getter(name="bindPassword") + def bind_password(self) -> pulumi.Input[str]: + """ + Bind password for LDAP connections + """ + return pulumi.get(self, "bind_password") + + @bind_password.setter + def bind_password(self, value: pulumi.Input[str]): + pulumi.set(self, "bind_password", value) + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> pulumi.Input[bool]: + """ + enable if a new account in ZITADEL should be created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @is_auto_creation.setter + def is_auto_creation(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_auto_creation", value) + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> pulumi.Input[bool]: + """ + enable if a the ZITADEL account fields should be updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @is_auto_update.setter + def is_auto_update(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_auto_update", value) + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> pulumi.Input[bool]: + """ + enable if users should be able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @is_creation_allowed.setter + def is_creation_allowed(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_creation_allowed", value) + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> pulumi.Input[bool]: + """ + enable if users should be able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @is_linking_allowed.setter + def is_linking_allowed(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_linking_allowed", value) + + @property + @pulumi.getter + def servers(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + Servers to try in order for establishing LDAP connections + """ + return pulumi.get(self, "servers") + + @servers.setter + def servers(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "servers", value) + + @property + @pulumi.getter(name="startTls") + def start_tls(self) -> pulumi.Input[bool]: + """ + Wether to use StartTLS for LDAP connections + """ + return pulumi.get(self, "start_tls") + + @start_tls.setter + def start_tls(self, value: pulumi.Input[bool]): + pulumi.set(self, "start_tls", value) + + @property + @pulumi.getter + def timeout(self) -> pulumi.Input[str]: + """ + Timeout for LDAP connections + """ + return pulumi.get(self, "timeout") + + @timeout.setter + def timeout(self, value: pulumi.Input[str]): + pulumi.set(self, "timeout", value) + + @property + @pulumi.getter(name="userBase") + def user_base(self) -> pulumi.Input[str]: + """ + User base for LDAP connections + """ + return pulumi.get(self, "user_base") + + @user_base.setter + def user_base(self, value: pulumi.Input[str]): + pulumi.set(self, "user_base", value) + + @property + @pulumi.getter(name="userFilters") + def user_filters(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + User filters for LDAP connections + """ + return pulumi.get(self, "user_filters") + + @user_filters.setter + def user_filters(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "user_filters", value) + + @property + @pulumi.getter(name="userObjectClasses") + def user_object_classes(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + User object classes for LDAP connections + """ + return pulumi.get(self, "user_object_classes") + + @user_object_classes.setter + def user_object_classes(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "user_object_classes", value) + + @property + @pulumi.getter(name="avatarUrlAttribute") + def avatar_url_attribute(self) -> Optional[pulumi.Input[str]]: + """ + User attribute for the avatar url + """ + return pulumi.get(self, "avatar_url_attribute") + + @avatar_url_attribute.setter + def avatar_url_attribute(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "avatar_url_attribute", value) + + @property + @pulumi.getter(name="displayNameAttribute") + def display_name_attribute(self) -> Optional[pulumi.Input[str]]: + """ + User attribute for the display name + """ + return pulumi.get(self, "display_name_attribute") + + @display_name_attribute.setter + def display_name_attribute(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name_attribute", value) + + @property + @pulumi.getter(name="emailAttribute") + def email_attribute(self) -> Optional[pulumi.Input[str]]: + """ + User attribute for the email + """ + return pulumi.get(self, "email_attribute") + + @email_attribute.setter + def email_attribute(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "email_attribute", value) + + @property + @pulumi.getter(name="emailVerifiedAttribute") + def email_verified_attribute(self) -> Optional[pulumi.Input[str]]: + """ + User attribute for the email verified state + """ + return pulumi.get(self, "email_verified_attribute") + + @email_verified_attribute.setter + def email_verified_attribute(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "email_verified_attribute", value) + + @property + @pulumi.getter(name="firstNameAttribute") + def first_name_attribute(self) -> Optional[pulumi.Input[str]]: + """ + User attribute for the first name + """ + return pulumi.get(self, "first_name_attribute") + + @first_name_attribute.setter + def first_name_attribute(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "first_name_attribute", value) + + @property + @pulumi.getter(name="idAttribute") + def id_attribute(self) -> Optional[pulumi.Input[str]]: + """ + User attribute for the id + """ + return pulumi.get(self, "id_attribute") + + @id_attribute.setter + def id_attribute(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "id_attribute", value) + + @property + @pulumi.getter(name="lastNameAttribute") + def last_name_attribute(self) -> Optional[pulumi.Input[str]]: + """ + User attribute for the last name + """ + return pulumi.get(self, "last_name_attribute") + + @last_name_attribute.setter + def last_name_attribute(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "last_name_attribute", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="nickNameAttribute") + def nick_name_attribute(self) -> Optional[pulumi.Input[str]]: + """ + User attribute for the nick name + """ + return pulumi.get(self, "nick_name_attribute") + + @nick_name_attribute.setter + def nick_name_attribute(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "nick_name_attribute", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + @property + @pulumi.getter(name="phoneAttribute") + def phone_attribute(self) -> Optional[pulumi.Input[str]]: + """ + User attribute for the phone + """ + return pulumi.get(self, "phone_attribute") + + @phone_attribute.setter + def phone_attribute(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "phone_attribute", value) + + @property + @pulumi.getter(name="phoneVerifiedAttribute") + def phone_verified_attribute(self) -> Optional[pulumi.Input[str]]: + """ + User attribute for the phone verified state + """ + return pulumi.get(self, "phone_verified_attribute") + + @phone_verified_attribute.setter + def phone_verified_attribute(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "phone_verified_attribute", value) + + @property + @pulumi.getter(name="preferredLanguageAttribute") + def preferred_language_attribute(self) -> Optional[pulumi.Input[str]]: + """ + User attribute for the preferred language + """ + return pulumi.get(self, "preferred_language_attribute") + + @preferred_language_attribute.setter + def preferred_language_attribute(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "preferred_language_attribute", value) + + @property + @pulumi.getter(name="preferredUsernameAttribute") + def preferred_username_attribute(self) -> Optional[pulumi.Input[str]]: + """ + User attribute for the preferred username + """ + return pulumi.get(self, "preferred_username_attribute") + + @preferred_username_attribute.setter + def preferred_username_attribute(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "preferred_username_attribute", value) + + @property + @pulumi.getter(name="profileAttribute") + def profile_attribute(self) -> Optional[pulumi.Input[str]]: + """ + User attribute for the profile + """ + return pulumi.get(self, "profile_attribute") + + @profile_attribute.setter + def profile_attribute(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "profile_attribute", value) + + +@pulumi.input_type +class _OrgIdpLdapState: + def __init__(__self__, *, + avatar_url_attribute: Optional[pulumi.Input[str]] = None, + base_dn: Optional[pulumi.Input[str]] = None, + bind_dn: Optional[pulumi.Input[str]] = None, + bind_password: Optional[pulumi.Input[str]] = None, + display_name_attribute: Optional[pulumi.Input[str]] = None, + email_attribute: Optional[pulumi.Input[str]] = None, + email_verified_attribute: Optional[pulumi.Input[str]] = None, + first_name_attribute: Optional[pulumi.Input[str]] = None, + id_attribute: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + last_name_attribute: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + nick_name_attribute: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + phone_attribute: Optional[pulumi.Input[str]] = None, + phone_verified_attribute: Optional[pulumi.Input[str]] = None, + preferred_language_attribute: Optional[pulumi.Input[str]] = None, + preferred_username_attribute: Optional[pulumi.Input[str]] = None, + profile_attribute: Optional[pulumi.Input[str]] = None, + servers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + start_tls: Optional[pulumi.Input[bool]] = None, + timeout: Optional[pulumi.Input[str]] = None, + user_base: Optional[pulumi.Input[str]] = None, + user_filters: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + user_object_classes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + Input properties used for looking up and filtering OrgIdpLdap resources. + :param pulumi.Input[str] avatar_url_attribute: User attribute for the avatar url + :param pulumi.Input[str] base_dn: Base DN for LDAP connections + :param pulumi.Input[str] bind_dn: Bind DN for LDAP connections + :param pulumi.Input[str] bind_password: Bind password for LDAP connections + :param pulumi.Input[str] display_name_attribute: User attribute for the display name + :param pulumi.Input[str] email_attribute: User attribute for the email + :param pulumi.Input[str] email_verified_attribute: User attribute for the email verified state + :param pulumi.Input[str] first_name_attribute: User attribute for the first name + :param pulumi.Input[str] id_attribute: User attribute for the id + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] last_name_attribute: User attribute for the last name + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[str] nick_name_attribute: User attribute for the nick name + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[str] phone_attribute: User attribute for the phone + :param pulumi.Input[str] phone_verified_attribute: User attribute for the phone verified state + :param pulumi.Input[str] preferred_language_attribute: User attribute for the preferred language + :param pulumi.Input[str] preferred_username_attribute: User attribute for the preferred username + :param pulumi.Input[str] profile_attribute: User attribute for the profile + :param pulumi.Input[Sequence[pulumi.Input[str]]] servers: Servers to try in order for establishing LDAP connections + :param pulumi.Input[bool] start_tls: Wether to use StartTLS for LDAP connections + :param pulumi.Input[str] timeout: Timeout for LDAP connections + :param pulumi.Input[str] user_base: User base for LDAP connections + :param pulumi.Input[Sequence[pulumi.Input[str]]] user_filters: User filters for LDAP connections + :param pulumi.Input[Sequence[pulumi.Input[str]]] user_object_classes: User object classes for LDAP connections + """ + _OrgIdpLdapState._configure( + lambda key, value: pulumi.set(__self__, key, value), + avatar_url_attribute=avatar_url_attribute, + base_dn=base_dn, + bind_dn=bind_dn, + bind_password=bind_password, + display_name_attribute=display_name_attribute, + email_attribute=email_attribute, + email_verified_attribute=email_verified_attribute, + first_name_attribute=first_name_attribute, + id_attribute=id_attribute, + is_auto_creation=is_auto_creation, + is_auto_update=is_auto_update, + is_creation_allowed=is_creation_allowed, + is_linking_allowed=is_linking_allowed, + last_name_attribute=last_name_attribute, + name=name, + nick_name_attribute=nick_name_attribute, + org_id=org_id, + phone_attribute=phone_attribute, + phone_verified_attribute=phone_verified_attribute, + preferred_language_attribute=preferred_language_attribute, + preferred_username_attribute=preferred_username_attribute, + profile_attribute=profile_attribute, + servers=servers, + start_tls=start_tls, + timeout=timeout, + user_base=user_base, + user_filters=user_filters, + user_object_classes=user_object_classes, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + avatar_url_attribute: Optional[pulumi.Input[str]] = None, + base_dn: Optional[pulumi.Input[str]] = None, + bind_dn: Optional[pulumi.Input[str]] = None, + bind_password: Optional[pulumi.Input[str]] = None, + display_name_attribute: Optional[pulumi.Input[str]] = None, + email_attribute: Optional[pulumi.Input[str]] = None, + email_verified_attribute: Optional[pulumi.Input[str]] = None, + first_name_attribute: Optional[pulumi.Input[str]] = None, + id_attribute: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + last_name_attribute: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + nick_name_attribute: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + phone_attribute: Optional[pulumi.Input[str]] = None, + phone_verified_attribute: Optional[pulumi.Input[str]] = None, + preferred_language_attribute: Optional[pulumi.Input[str]] = None, + preferred_username_attribute: Optional[pulumi.Input[str]] = None, + profile_attribute: Optional[pulumi.Input[str]] = None, + servers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + start_tls: Optional[pulumi.Input[bool]] = None, + timeout: Optional[pulumi.Input[str]] = None, + user_base: Optional[pulumi.Input[str]] = None, + user_filters: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + user_object_classes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'avatarUrlAttribute' in kwargs: + avatar_url_attribute = kwargs['avatarUrlAttribute'] + if 'baseDn' in kwargs: + base_dn = kwargs['baseDn'] + if 'bindDn' in kwargs: + bind_dn = kwargs['bindDn'] + if 'bindPassword' in kwargs: + bind_password = kwargs['bindPassword'] + if 'displayNameAttribute' in kwargs: + display_name_attribute = kwargs['displayNameAttribute'] + if 'emailAttribute' in kwargs: + email_attribute = kwargs['emailAttribute'] + if 'emailVerifiedAttribute' in kwargs: + email_verified_attribute = kwargs['emailVerifiedAttribute'] + if 'firstNameAttribute' in kwargs: + first_name_attribute = kwargs['firstNameAttribute'] + if 'idAttribute' in kwargs: + id_attribute = kwargs['idAttribute'] + if 'isAutoCreation' in kwargs: + is_auto_creation = kwargs['isAutoCreation'] + if 'isAutoUpdate' in kwargs: + is_auto_update = kwargs['isAutoUpdate'] + if 'isCreationAllowed' in kwargs: + is_creation_allowed = kwargs['isCreationAllowed'] + if 'isLinkingAllowed' in kwargs: + is_linking_allowed = kwargs['isLinkingAllowed'] + if 'lastNameAttribute' in kwargs: + last_name_attribute = kwargs['lastNameAttribute'] + if 'nickNameAttribute' in kwargs: + nick_name_attribute = kwargs['nickNameAttribute'] + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + if 'phoneAttribute' in kwargs: + phone_attribute = kwargs['phoneAttribute'] + if 'phoneVerifiedAttribute' in kwargs: + phone_verified_attribute = kwargs['phoneVerifiedAttribute'] + if 'preferredLanguageAttribute' in kwargs: + preferred_language_attribute = kwargs['preferredLanguageAttribute'] + if 'preferredUsernameAttribute' in kwargs: + preferred_username_attribute = kwargs['preferredUsernameAttribute'] + if 'profileAttribute' in kwargs: + profile_attribute = kwargs['profileAttribute'] + if 'startTls' in kwargs: + start_tls = kwargs['startTls'] + if 'userBase' in kwargs: + user_base = kwargs['userBase'] + if 'userFilters' in kwargs: + user_filters = kwargs['userFilters'] + if 'userObjectClasses' in kwargs: + user_object_classes = kwargs['userObjectClasses'] + + if avatar_url_attribute is not None: + _setter("avatar_url_attribute", avatar_url_attribute) + if base_dn is not None: + _setter("base_dn", base_dn) + if bind_dn is not None: + _setter("bind_dn", bind_dn) + if bind_password is not None: + _setter("bind_password", bind_password) + if display_name_attribute is not None: + _setter("display_name_attribute", display_name_attribute) + if email_attribute is not None: + _setter("email_attribute", email_attribute) + if email_verified_attribute is not None: + _setter("email_verified_attribute", email_verified_attribute) + if first_name_attribute is not None: + _setter("first_name_attribute", first_name_attribute) + if id_attribute is not None: + _setter("id_attribute", id_attribute) + if is_auto_creation is not None: + _setter("is_auto_creation", is_auto_creation) + if is_auto_update is not None: + _setter("is_auto_update", is_auto_update) + if is_creation_allowed is not None: + _setter("is_creation_allowed", is_creation_allowed) + if is_linking_allowed is not None: + _setter("is_linking_allowed", is_linking_allowed) + if last_name_attribute is not None: + _setter("last_name_attribute", last_name_attribute) + if name is not None: + _setter("name", name) + if nick_name_attribute is not None: + _setter("nick_name_attribute", nick_name_attribute) + if org_id is not None: + _setter("org_id", org_id) + if phone_attribute is not None: + _setter("phone_attribute", phone_attribute) + if phone_verified_attribute is not None: + _setter("phone_verified_attribute", phone_verified_attribute) + if preferred_language_attribute is not None: + _setter("preferred_language_attribute", preferred_language_attribute) + if preferred_username_attribute is not None: + _setter("preferred_username_attribute", preferred_username_attribute) + if profile_attribute is not None: + _setter("profile_attribute", profile_attribute) + if servers is not None: + _setter("servers", servers) + if start_tls is not None: + _setter("start_tls", start_tls) + if timeout is not None: + _setter("timeout", timeout) + if user_base is not None: + _setter("user_base", user_base) + if user_filters is not None: + _setter("user_filters", user_filters) + if user_object_classes is not None: + _setter("user_object_classes", user_object_classes) + + @property + @pulumi.getter(name="avatarUrlAttribute") + def avatar_url_attribute(self) -> Optional[pulumi.Input[str]]: + """ + User attribute for the avatar url + """ + return pulumi.get(self, "avatar_url_attribute") + + @avatar_url_attribute.setter + def avatar_url_attribute(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "avatar_url_attribute", value) + + @property + @pulumi.getter(name="baseDn") + def base_dn(self) -> Optional[pulumi.Input[str]]: + """ + Base DN for LDAP connections + """ + return pulumi.get(self, "base_dn") + + @base_dn.setter + def base_dn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "base_dn", value) + + @property + @pulumi.getter(name="bindDn") + def bind_dn(self) -> Optional[pulumi.Input[str]]: + """ + Bind DN for LDAP connections + """ + return pulumi.get(self, "bind_dn") + + @bind_dn.setter + def bind_dn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "bind_dn", value) + + @property + @pulumi.getter(name="bindPassword") + def bind_password(self) -> Optional[pulumi.Input[str]]: + """ + Bind password for LDAP connections + """ + return pulumi.get(self, "bind_password") + + @bind_password.setter + def bind_password(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "bind_password", value) + + @property + @pulumi.getter(name="displayNameAttribute") + def display_name_attribute(self) -> Optional[pulumi.Input[str]]: + """ + User attribute for the display name + """ + return pulumi.get(self, "display_name_attribute") + + @display_name_attribute.setter + def display_name_attribute(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name_attribute", value) + + @property + @pulumi.getter(name="emailAttribute") + def email_attribute(self) -> Optional[pulumi.Input[str]]: + """ + User attribute for the email + """ + return pulumi.get(self, "email_attribute") + + @email_attribute.setter + def email_attribute(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "email_attribute", value) + + @property + @pulumi.getter(name="emailVerifiedAttribute") + def email_verified_attribute(self) -> Optional[pulumi.Input[str]]: + """ + User attribute for the email verified state + """ + return pulumi.get(self, "email_verified_attribute") + + @email_verified_attribute.setter + def email_verified_attribute(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "email_verified_attribute", value) + + @property + @pulumi.getter(name="firstNameAttribute") + def first_name_attribute(self) -> Optional[pulumi.Input[str]]: + """ + User attribute for the first name + """ + return pulumi.get(self, "first_name_attribute") + + @first_name_attribute.setter + def first_name_attribute(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "first_name_attribute", value) + + @property + @pulumi.getter(name="idAttribute") + def id_attribute(self) -> Optional[pulumi.Input[str]]: + """ + User attribute for the id + """ + return pulumi.get(self, "id_attribute") + + @id_attribute.setter + def id_attribute(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "id_attribute", value) + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> Optional[pulumi.Input[bool]]: + """ + enable if a new account in ZITADEL should be created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @is_auto_creation.setter + def is_auto_creation(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_auto_creation", value) + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> Optional[pulumi.Input[bool]]: + """ + enable if a the ZITADEL account fields should be updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @is_auto_update.setter + def is_auto_update(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_auto_update", value) + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> Optional[pulumi.Input[bool]]: + """ + enable if users should be able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @is_creation_allowed.setter + def is_creation_allowed(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_creation_allowed", value) + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> Optional[pulumi.Input[bool]]: + """ + enable if users should be able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @is_linking_allowed.setter + def is_linking_allowed(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_linking_allowed", value) + + @property + @pulumi.getter(name="lastNameAttribute") + def last_name_attribute(self) -> Optional[pulumi.Input[str]]: + """ + User attribute for the last name + """ + return pulumi.get(self, "last_name_attribute") + + @last_name_attribute.setter + def last_name_attribute(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "last_name_attribute", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="nickNameAttribute") + def nick_name_attribute(self) -> Optional[pulumi.Input[str]]: + """ + User attribute for the nick name + """ + return pulumi.get(self, "nick_name_attribute") + + @nick_name_attribute.setter + def nick_name_attribute(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "nick_name_attribute", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + @property + @pulumi.getter(name="phoneAttribute") + def phone_attribute(self) -> Optional[pulumi.Input[str]]: + """ + User attribute for the phone + """ + return pulumi.get(self, "phone_attribute") + + @phone_attribute.setter + def phone_attribute(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "phone_attribute", value) + + @property + @pulumi.getter(name="phoneVerifiedAttribute") + def phone_verified_attribute(self) -> Optional[pulumi.Input[str]]: + """ + User attribute for the phone verified state + """ + return pulumi.get(self, "phone_verified_attribute") + + @phone_verified_attribute.setter + def phone_verified_attribute(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "phone_verified_attribute", value) + + @property + @pulumi.getter(name="preferredLanguageAttribute") + def preferred_language_attribute(self) -> Optional[pulumi.Input[str]]: + """ + User attribute for the preferred language + """ + return pulumi.get(self, "preferred_language_attribute") + + @preferred_language_attribute.setter + def preferred_language_attribute(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "preferred_language_attribute", value) + + @property + @pulumi.getter(name="preferredUsernameAttribute") + def preferred_username_attribute(self) -> Optional[pulumi.Input[str]]: + """ + User attribute for the preferred username + """ + return pulumi.get(self, "preferred_username_attribute") + + @preferred_username_attribute.setter + def preferred_username_attribute(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "preferred_username_attribute", value) + + @property + @pulumi.getter(name="profileAttribute") + def profile_attribute(self) -> Optional[pulumi.Input[str]]: + """ + User attribute for the profile + """ + return pulumi.get(self, "profile_attribute") + + @profile_attribute.setter + def profile_attribute(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "profile_attribute", value) + + @property + @pulumi.getter + def servers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Servers to try in order for establishing LDAP connections + """ + return pulumi.get(self, "servers") + + @servers.setter + def servers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "servers", value) + + @property + @pulumi.getter(name="startTls") + def start_tls(self) -> Optional[pulumi.Input[bool]]: + """ + Wether to use StartTLS for LDAP connections + """ + return pulumi.get(self, "start_tls") + + @start_tls.setter + def start_tls(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "start_tls", value) + + @property + @pulumi.getter + def timeout(self) -> Optional[pulumi.Input[str]]: + """ + Timeout for LDAP connections + """ + return pulumi.get(self, "timeout") + + @timeout.setter + def timeout(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "timeout", value) + + @property + @pulumi.getter(name="userBase") + def user_base(self) -> Optional[pulumi.Input[str]]: + """ + User base for LDAP connections + """ + return pulumi.get(self, "user_base") + + @user_base.setter + def user_base(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "user_base", value) + + @property + @pulumi.getter(name="userFilters") + def user_filters(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + User filters for LDAP connections + """ + return pulumi.get(self, "user_filters") + + @user_filters.setter + def user_filters(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "user_filters", value) + + @property + @pulumi.getter(name="userObjectClasses") + def user_object_classes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + User object classes for LDAP connections + """ + return pulumi.get(self, "user_object_classes") + + @user_object_classes.setter + def user_object_classes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "user_object_classes", value) + + +class OrgIdpLdap(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + avatar_url_attribute: Optional[pulumi.Input[str]] = None, + base_dn: Optional[pulumi.Input[str]] = None, + bind_dn: Optional[pulumi.Input[str]] = None, + bind_password: Optional[pulumi.Input[str]] = None, + display_name_attribute: Optional[pulumi.Input[str]] = None, + email_attribute: Optional[pulumi.Input[str]] = None, + email_verified_attribute: Optional[pulumi.Input[str]] = None, + first_name_attribute: Optional[pulumi.Input[str]] = None, + id_attribute: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + last_name_attribute: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + nick_name_attribute: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + phone_attribute: Optional[pulumi.Input[str]] = None, + phone_verified_attribute: Optional[pulumi.Input[str]] = None, + preferred_language_attribute: Optional[pulumi.Input[str]] = None, + preferred_username_attribute: Optional[pulumi.Input[str]] = None, + profile_attribute: Optional[pulumi.Input[str]] = None, + servers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + start_tls: Optional[pulumi.Input[bool]] = None, + timeout: Optional[pulumi.Input[str]] = None, + user_base: Optional[pulumi.Input[str]] = None, + user_filters: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + user_object_classes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + __props__=None): + """ + Resource representing an LDAP IdP on the organization. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.OrgIdpLdap("default", + org_id=data["zitadel_org"]["default"]["id"], + servers=[ + "ldaps://my.primary.server:389", + "ldaps://my.secondary.server:389", + ], + start_tls=False, + base_dn="dc=example,dc=com", + bind_dn="cn=admin,dc=example,dc=com", + bind_password="Password1!", + user_base="dn", + user_object_classes=["inetOrgPerson"], + user_filters=[ + "uid", + "email", + ], + timeout="10s", + id_attribute="uid", + first_name_attribute="firstname", + last_name_attribute="lastname", + is_linking_allowed=False, + is_creation_allowed=True, + is_auto_creation=False, + is_auto_update=True) + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/orgIdpLdap:OrgIdpLdap imported '123456789012345678:123456789012345678:b1nd_p4ssw0rd' + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] avatar_url_attribute: User attribute for the avatar url + :param pulumi.Input[str] base_dn: Base DN for LDAP connections + :param pulumi.Input[str] bind_dn: Bind DN for LDAP connections + :param pulumi.Input[str] bind_password: Bind password for LDAP connections + :param pulumi.Input[str] display_name_attribute: User attribute for the display name + :param pulumi.Input[str] email_attribute: User attribute for the email + :param pulumi.Input[str] email_verified_attribute: User attribute for the email verified state + :param pulumi.Input[str] first_name_attribute: User attribute for the first name + :param pulumi.Input[str] id_attribute: User attribute for the id + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] last_name_attribute: User attribute for the last name + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[str] nick_name_attribute: User attribute for the nick name + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[str] phone_attribute: User attribute for the phone + :param pulumi.Input[str] phone_verified_attribute: User attribute for the phone verified state + :param pulumi.Input[str] preferred_language_attribute: User attribute for the preferred language + :param pulumi.Input[str] preferred_username_attribute: User attribute for the preferred username + :param pulumi.Input[str] profile_attribute: User attribute for the profile + :param pulumi.Input[Sequence[pulumi.Input[str]]] servers: Servers to try in order for establishing LDAP connections + :param pulumi.Input[bool] start_tls: Wether to use StartTLS for LDAP connections + :param pulumi.Input[str] timeout: Timeout for LDAP connections + :param pulumi.Input[str] user_base: User base for LDAP connections + :param pulumi.Input[Sequence[pulumi.Input[str]]] user_filters: User filters for LDAP connections + :param pulumi.Input[Sequence[pulumi.Input[str]]] user_object_classes: User object classes for LDAP connections + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: OrgIdpLdapArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource representing an LDAP IdP on the organization. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.OrgIdpLdap("default", + org_id=data["zitadel_org"]["default"]["id"], + servers=[ + "ldaps://my.primary.server:389", + "ldaps://my.secondary.server:389", + ], + start_tls=False, + base_dn="dc=example,dc=com", + bind_dn="cn=admin,dc=example,dc=com", + bind_password="Password1!", + user_base="dn", + user_object_classes=["inetOrgPerson"], + user_filters=[ + "uid", + "email", + ], + timeout="10s", + id_attribute="uid", + first_name_attribute="firstname", + last_name_attribute="lastname", + is_linking_allowed=False, + is_creation_allowed=True, + is_auto_creation=False, + is_auto_update=True) + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/orgIdpLdap:OrgIdpLdap imported '123456789012345678:123456789012345678:b1nd_p4ssw0rd' + ``` + + :param str resource_name: The name of the resource. + :param OrgIdpLdapArgs 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(OrgIdpLdapArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + OrgIdpLdapArgs._configure(_setter, **kwargs) + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + avatar_url_attribute: Optional[pulumi.Input[str]] = None, + base_dn: Optional[pulumi.Input[str]] = None, + bind_dn: Optional[pulumi.Input[str]] = None, + bind_password: Optional[pulumi.Input[str]] = None, + display_name_attribute: Optional[pulumi.Input[str]] = None, + email_attribute: Optional[pulumi.Input[str]] = None, + email_verified_attribute: Optional[pulumi.Input[str]] = None, + first_name_attribute: Optional[pulumi.Input[str]] = None, + id_attribute: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + last_name_attribute: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + nick_name_attribute: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + phone_attribute: Optional[pulumi.Input[str]] = None, + phone_verified_attribute: Optional[pulumi.Input[str]] = None, + preferred_language_attribute: Optional[pulumi.Input[str]] = None, + preferred_username_attribute: Optional[pulumi.Input[str]] = None, + profile_attribute: Optional[pulumi.Input[str]] = None, + servers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + start_tls: Optional[pulumi.Input[bool]] = None, + timeout: Optional[pulumi.Input[str]] = None, + user_base: Optional[pulumi.Input[str]] = None, + user_filters: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + user_object_classes: Optional[pulumi.Input[Sequence[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__ = OrgIdpLdapArgs.__new__(OrgIdpLdapArgs) + + __props__.__dict__["avatar_url_attribute"] = avatar_url_attribute + if base_dn is None and not opts.urn: + raise TypeError("Missing required property 'base_dn'") + __props__.__dict__["base_dn"] = base_dn + if bind_dn is None and not opts.urn: + raise TypeError("Missing required property 'bind_dn'") + __props__.__dict__["bind_dn"] = bind_dn + if bind_password is None and not opts.urn: + raise TypeError("Missing required property 'bind_password'") + __props__.__dict__["bind_password"] = None if bind_password is None else pulumi.Output.secret(bind_password) + __props__.__dict__["display_name_attribute"] = display_name_attribute + __props__.__dict__["email_attribute"] = email_attribute + __props__.__dict__["email_verified_attribute"] = email_verified_attribute + __props__.__dict__["first_name_attribute"] = first_name_attribute + __props__.__dict__["id_attribute"] = id_attribute + if is_auto_creation is None and not opts.urn: + raise TypeError("Missing required property 'is_auto_creation'") + __props__.__dict__["is_auto_creation"] = is_auto_creation + if is_auto_update is None and not opts.urn: + raise TypeError("Missing required property 'is_auto_update'") + __props__.__dict__["is_auto_update"] = is_auto_update + if is_creation_allowed is None and not opts.urn: + raise TypeError("Missing required property 'is_creation_allowed'") + __props__.__dict__["is_creation_allowed"] = is_creation_allowed + if is_linking_allowed is None and not opts.urn: + raise TypeError("Missing required property 'is_linking_allowed'") + __props__.__dict__["is_linking_allowed"] = is_linking_allowed + __props__.__dict__["last_name_attribute"] = last_name_attribute + __props__.__dict__["name"] = name + __props__.__dict__["nick_name_attribute"] = nick_name_attribute + __props__.__dict__["org_id"] = org_id + __props__.__dict__["phone_attribute"] = phone_attribute + __props__.__dict__["phone_verified_attribute"] = phone_verified_attribute + __props__.__dict__["preferred_language_attribute"] = preferred_language_attribute + __props__.__dict__["preferred_username_attribute"] = preferred_username_attribute + __props__.__dict__["profile_attribute"] = profile_attribute + if servers is None and not opts.urn: + raise TypeError("Missing required property 'servers'") + __props__.__dict__["servers"] = servers + if start_tls is None and not opts.urn: + raise TypeError("Missing required property 'start_tls'") + __props__.__dict__["start_tls"] = start_tls + if timeout is None and not opts.urn: + raise TypeError("Missing required property 'timeout'") + __props__.__dict__["timeout"] = timeout + if user_base is None and not opts.urn: + raise TypeError("Missing required property 'user_base'") + __props__.__dict__["user_base"] = user_base + if user_filters is None and not opts.urn: + raise TypeError("Missing required property 'user_filters'") + __props__.__dict__["user_filters"] = user_filters + if user_object_classes is None and not opts.urn: + raise TypeError("Missing required property 'user_object_classes'") + __props__.__dict__["user_object_classes"] = user_object_classes + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["bindPassword"]) + opts = pulumi.ResourceOptions.merge(opts, secret_opts) + super(OrgIdpLdap, __self__).__init__( + 'zitadel:index/orgIdpLdap:OrgIdpLdap', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + avatar_url_attribute: Optional[pulumi.Input[str]] = None, + base_dn: Optional[pulumi.Input[str]] = None, + bind_dn: Optional[pulumi.Input[str]] = None, + bind_password: Optional[pulumi.Input[str]] = None, + display_name_attribute: Optional[pulumi.Input[str]] = None, + email_attribute: Optional[pulumi.Input[str]] = None, + email_verified_attribute: Optional[pulumi.Input[str]] = None, + first_name_attribute: Optional[pulumi.Input[str]] = None, + id_attribute: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + last_name_attribute: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + nick_name_attribute: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + phone_attribute: Optional[pulumi.Input[str]] = None, + phone_verified_attribute: Optional[pulumi.Input[str]] = None, + preferred_language_attribute: Optional[pulumi.Input[str]] = None, + preferred_username_attribute: Optional[pulumi.Input[str]] = None, + profile_attribute: Optional[pulumi.Input[str]] = None, + servers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + start_tls: Optional[pulumi.Input[bool]] = None, + timeout: Optional[pulumi.Input[str]] = None, + user_base: Optional[pulumi.Input[str]] = None, + user_filters: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + user_object_classes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None) -> 'OrgIdpLdap': + """ + Get an existing OrgIdpLdap 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[str] avatar_url_attribute: User attribute for the avatar url + :param pulumi.Input[str] base_dn: Base DN for LDAP connections + :param pulumi.Input[str] bind_dn: Bind DN for LDAP connections + :param pulumi.Input[str] bind_password: Bind password for LDAP connections + :param pulumi.Input[str] display_name_attribute: User attribute for the display name + :param pulumi.Input[str] email_attribute: User attribute for the email + :param pulumi.Input[str] email_verified_attribute: User attribute for the email verified state + :param pulumi.Input[str] first_name_attribute: User attribute for the first name + :param pulumi.Input[str] id_attribute: User attribute for the id + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] last_name_attribute: User attribute for the last name + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[str] nick_name_attribute: User attribute for the nick name + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[str] phone_attribute: User attribute for the phone + :param pulumi.Input[str] phone_verified_attribute: User attribute for the phone verified state + :param pulumi.Input[str] preferred_language_attribute: User attribute for the preferred language + :param pulumi.Input[str] preferred_username_attribute: User attribute for the preferred username + :param pulumi.Input[str] profile_attribute: User attribute for the profile + :param pulumi.Input[Sequence[pulumi.Input[str]]] servers: Servers to try in order for establishing LDAP connections + :param pulumi.Input[bool] start_tls: Wether to use StartTLS for LDAP connections + :param pulumi.Input[str] timeout: Timeout for LDAP connections + :param pulumi.Input[str] user_base: User base for LDAP connections + :param pulumi.Input[Sequence[pulumi.Input[str]]] user_filters: User filters for LDAP connections + :param pulumi.Input[Sequence[pulumi.Input[str]]] user_object_classes: User object classes for LDAP connections + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _OrgIdpLdapState.__new__(_OrgIdpLdapState) + + __props__.__dict__["avatar_url_attribute"] = avatar_url_attribute + __props__.__dict__["base_dn"] = base_dn + __props__.__dict__["bind_dn"] = bind_dn + __props__.__dict__["bind_password"] = bind_password + __props__.__dict__["display_name_attribute"] = display_name_attribute + __props__.__dict__["email_attribute"] = email_attribute + __props__.__dict__["email_verified_attribute"] = email_verified_attribute + __props__.__dict__["first_name_attribute"] = first_name_attribute + __props__.__dict__["id_attribute"] = id_attribute + __props__.__dict__["is_auto_creation"] = is_auto_creation + __props__.__dict__["is_auto_update"] = is_auto_update + __props__.__dict__["is_creation_allowed"] = is_creation_allowed + __props__.__dict__["is_linking_allowed"] = is_linking_allowed + __props__.__dict__["last_name_attribute"] = last_name_attribute + __props__.__dict__["name"] = name + __props__.__dict__["nick_name_attribute"] = nick_name_attribute + __props__.__dict__["org_id"] = org_id + __props__.__dict__["phone_attribute"] = phone_attribute + __props__.__dict__["phone_verified_attribute"] = phone_verified_attribute + __props__.__dict__["preferred_language_attribute"] = preferred_language_attribute + __props__.__dict__["preferred_username_attribute"] = preferred_username_attribute + __props__.__dict__["profile_attribute"] = profile_attribute + __props__.__dict__["servers"] = servers + __props__.__dict__["start_tls"] = start_tls + __props__.__dict__["timeout"] = timeout + __props__.__dict__["user_base"] = user_base + __props__.__dict__["user_filters"] = user_filters + __props__.__dict__["user_object_classes"] = user_object_classes + return OrgIdpLdap(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="avatarUrlAttribute") + def avatar_url_attribute(self) -> pulumi.Output[Optional[str]]: + """ + User attribute for the avatar url + """ + return pulumi.get(self, "avatar_url_attribute") + + @property + @pulumi.getter(name="baseDn") + def base_dn(self) -> pulumi.Output[str]: + """ + Base DN for LDAP connections + """ + return pulumi.get(self, "base_dn") + + @property + @pulumi.getter(name="bindDn") + def bind_dn(self) -> pulumi.Output[str]: + """ + Bind DN for LDAP connections + """ + return pulumi.get(self, "bind_dn") + + @property + @pulumi.getter(name="bindPassword") + def bind_password(self) -> pulumi.Output[str]: + """ + Bind password for LDAP connections + """ + return pulumi.get(self, "bind_password") + + @property + @pulumi.getter(name="displayNameAttribute") + def display_name_attribute(self) -> pulumi.Output[Optional[str]]: + """ + User attribute for the display name + """ + return pulumi.get(self, "display_name_attribute") + + @property + @pulumi.getter(name="emailAttribute") + def email_attribute(self) -> pulumi.Output[Optional[str]]: + """ + User attribute for the email + """ + return pulumi.get(self, "email_attribute") + + @property + @pulumi.getter(name="emailVerifiedAttribute") + def email_verified_attribute(self) -> pulumi.Output[Optional[str]]: + """ + User attribute for the email verified state + """ + return pulumi.get(self, "email_verified_attribute") + + @property + @pulumi.getter(name="firstNameAttribute") + def first_name_attribute(self) -> pulumi.Output[Optional[str]]: + """ + User attribute for the first name + """ + return pulumi.get(self, "first_name_attribute") + + @property + @pulumi.getter(name="idAttribute") + def id_attribute(self) -> pulumi.Output[Optional[str]]: + """ + User attribute for the id + """ + return pulumi.get(self, "id_attribute") + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> pulumi.Output[bool]: + """ + enable if a new account in ZITADEL should be created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> pulumi.Output[bool]: + """ + enable if a the ZITADEL account fields should be updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> pulumi.Output[bool]: + """ + enable if users should be able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> pulumi.Output[bool]: + """ + enable if users should be able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @property + @pulumi.getter(name="lastNameAttribute") + def last_name_attribute(self) -> pulumi.Output[Optional[str]]: + """ + User attribute for the last name + """ + return pulumi.get(self, "last_name_attribute") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="nickNameAttribute") + def nick_name_attribute(self) -> pulumi.Output[Optional[str]]: + """ + User attribute for the nick name + """ + return pulumi.get(self, "nick_name_attribute") + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> pulumi.Output[Optional[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @property + @pulumi.getter(name="phoneAttribute") + def phone_attribute(self) -> pulumi.Output[Optional[str]]: + """ + User attribute for the phone + """ + return pulumi.get(self, "phone_attribute") + + @property + @pulumi.getter(name="phoneVerifiedAttribute") + def phone_verified_attribute(self) -> pulumi.Output[Optional[str]]: + """ + User attribute for the phone verified state + """ + return pulumi.get(self, "phone_verified_attribute") + + @property + @pulumi.getter(name="preferredLanguageAttribute") + def preferred_language_attribute(self) -> pulumi.Output[Optional[str]]: + """ + User attribute for the preferred language + """ + return pulumi.get(self, "preferred_language_attribute") + + @property + @pulumi.getter(name="preferredUsernameAttribute") + def preferred_username_attribute(self) -> pulumi.Output[Optional[str]]: + """ + User attribute for the preferred username + """ + return pulumi.get(self, "preferred_username_attribute") + + @property + @pulumi.getter(name="profileAttribute") + def profile_attribute(self) -> pulumi.Output[Optional[str]]: + """ + User attribute for the profile + """ + return pulumi.get(self, "profile_attribute") + + @property + @pulumi.getter + def servers(self) -> pulumi.Output[Sequence[str]]: + """ + Servers to try in order for establishing LDAP connections + """ + return pulumi.get(self, "servers") + + @property + @pulumi.getter(name="startTls") + def start_tls(self) -> pulumi.Output[bool]: + """ + Wether to use StartTLS for LDAP connections + """ + return pulumi.get(self, "start_tls") + + @property + @pulumi.getter + def timeout(self) -> pulumi.Output[str]: + """ + Timeout for LDAP connections + """ + return pulumi.get(self, "timeout") + + @property + @pulumi.getter(name="userBase") + def user_base(self) -> pulumi.Output[str]: + """ + User base for LDAP connections + """ + return pulumi.get(self, "user_base") + + @property + @pulumi.getter(name="userFilters") + def user_filters(self) -> pulumi.Output[Sequence[str]]: + """ + User filters for LDAP connections + """ + return pulumi.get(self, "user_filters") + + @property + @pulumi.getter(name="userObjectClasses") + def user_object_classes(self) -> pulumi.Output[Sequence[str]]: + """ + User object classes for LDAP connections + """ + return pulumi.get(self, "user_object_classes") + diff --git a/sdk/python/scoretechnologies_zitadel/org_idp_oauth.py b/sdk/python/scoretechnologies_zitadel/org_idp_oauth.py new file mode 100644 index 0000000..9e269ac --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/org_idp_oauth.py @@ -0,0 +1,905 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['OrgIdpOauthArgs', 'OrgIdpOauth'] + +@pulumi.input_type +class OrgIdpOauthArgs: + def __init__(__self__, *, + authorization_endpoint: pulumi.Input[str], + client_id: pulumi.Input[str], + client_secret: pulumi.Input[str], + id_attribute: pulumi.Input[str], + is_auto_creation: pulumi.Input[bool], + is_auto_update: pulumi.Input[bool], + is_creation_allowed: pulumi.Input[bool], + is_linking_allowed: pulumi.Input[bool], + token_endpoint: pulumi.Input[str], + user_endpoint: pulumi.Input[str], + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a OrgIdpOauth resource. + :param pulumi.Input[str] authorization_endpoint: The authorization endpoint + :param pulumi.Input[str] client_id: client id generated by the identity provider + :param pulumi.Input[str] client_secret: client secret generated by the identity provider + :param pulumi.Input[str] id_attribute: The id attribute + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] token_endpoint: The token endpoint + :param pulumi.Input[str] user_endpoint: The user endpoint + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[Sequence[pulumi.Input[str]]] scopes: the scopes requested by ZITADEL during the request on the identity provider + """ + OrgIdpOauthArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + authorization_endpoint=authorization_endpoint, + client_id=client_id, + client_secret=client_secret, + id_attribute=id_attribute, + is_auto_creation=is_auto_creation, + is_auto_update=is_auto_update, + is_creation_allowed=is_creation_allowed, + is_linking_allowed=is_linking_allowed, + token_endpoint=token_endpoint, + user_endpoint=user_endpoint, + name=name, + org_id=org_id, + scopes=scopes, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + authorization_endpoint: pulumi.Input[str], + client_id: pulumi.Input[str], + client_secret: pulumi.Input[str], + id_attribute: pulumi.Input[str], + is_auto_creation: pulumi.Input[bool], + is_auto_update: pulumi.Input[bool], + is_creation_allowed: pulumi.Input[bool], + is_linking_allowed: pulumi.Input[bool], + token_endpoint: pulumi.Input[str], + user_endpoint: pulumi.Input[str], + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'authorizationEndpoint' in kwargs: + authorization_endpoint = kwargs['authorizationEndpoint'] + if 'clientId' in kwargs: + client_id = kwargs['clientId'] + if 'clientSecret' in kwargs: + client_secret = kwargs['clientSecret'] + if 'idAttribute' in kwargs: + id_attribute = kwargs['idAttribute'] + if 'isAutoCreation' in kwargs: + is_auto_creation = kwargs['isAutoCreation'] + if 'isAutoUpdate' in kwargs: + is_auto_update = kwargs['isAutoUpdate'] + if 'isCreationAllowed' in kwargs: + is_creation_allowed = kwargs['isCreationAllowed'] + if 'isLinkingAllowed' in kwargs: + is_linking_allowed = kwargs['isLinkingAllowed'] + if 'tokenEndpoint' in kwargs: + token_endpoint = kwargs['tokenEndpoint'] + if 'userEndpoint' in kwargs: + user_endpoint = kwargs['userEndpoint'] + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + + _setter("authorization_endpoint", authorization_endpoint) + _setter("client_id", client_id) + _setter("client_secret", client_secret) + _setter("id_attribute", id_attribute) + _setter("is_auto_creation", is_auto_creation) + _setter("is_auto_update", is_auto_update) + _setter("is_creation_allowed", is_creation_allowed) + _setter("is_linking_allowed", is_linking_allowed) + _setter("token_endpoint", token_endpoint) + _setter("user_endpoint", user_endpoint) + if name is not None: + _setter("name", name) + if org_id is not None: + _setter("org_id", org_id) + if scopes is not None: + _setter("scopes", scopes) + + @property + @pulumi.getter(name="authorizationEndpoint") + def authorization_endpoint(self) -> pulumi.Input[str]: + """ + The authorization endpoint + """ + return pulumi.get(self, "authorization_endpoint") + + @authorization_endpoint.setter + def authorization_endpoint(self, value: pulumi.Input[str]): + pulumi.set(self, "authorization_endpoint", value) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> pulumi.Input[str]: + """ + client id generated by the identity provider + """ + return pulumi.get(self, "client_id") + + @client_id.setter + def client_id(self, value: pulumi.Input[str]): + pulumi.set(self, "client_id", value) + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> pulumi.Input[str]: + """ + client secret generated by the identity provider + """ + return pulumi.get(self, "client_secret") + + @client_secret.setter + def client_secret(self, value: pulumi.Input[str]): + pulumi.set(self, "client_secret", value) + + @property + @pulumi.getter(name="idAttribute") + def id_attribute(self) -> pulumi.Input[str]: + """ + The id attribute + """ + return pulumi.get(self, "id_attribute") + + @id_attribute.setter + def id_attribute(self, value: pulumi.Input[str]): + pulumi.set(self, "id_attribute", value) + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> pulumi.Input[bool]: + """ + enable if a new account in ZITADEL should be created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @is_auto_creation.setter + def is_auto_creation(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_auto_creation", value) + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> pulumi.Input[bool]: + """ + enable if a the ZITADEL account fields should be updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @is_auto_update.setter + def is_auto_update(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_auto_update", value) + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> pulumi.Input[bool]: + """ + enable if users should be able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @is_creation_allowed.setter + def is_creation_allowed(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_creation_allowed", value) + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> pulumi.Input[bool]: + """ + enable if users should be able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @is_linking_allowed.setter + def is_linking_allowed(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_linking_allowed", value) + + @property + @pulumi.getter(name="tokenEndpoint") + def token_endpoint(self) -> pulumi.Input[str]: + """ + The token endpoint + """ + return pulumi.get(self, "token_endpoint") + + @token_endpoint.setter + def token_endpoint(self, value: pulumi.Input[str]): + pulumi.set(self, "token_endpoint", value) + + @property + @pulumi.getter(name="userEndpoint") + def user_endpoint(self) -> pulumi.Input[str]: + """ + The user endpoint + """ + return pulumi.get(self, "user_endpoint") + + @user_endpoint.setter + def user_endpoint(self, value: pulumi.Input[str]): + pulumi.set(self, "user_endpoint", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + @property + @pulumi.getter + def scopes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + the scopes requested by ZITADEL during the request on the identity provider + """ + return pulumi.get(self, "scopes") + + @scopes.setter + def scopes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "scopes", value) + + +@pulumi.input_type +class _OrgIdpOauthState: + def __init__(__self__, *, + authorization_endpoint: Optional[pulumi.Input[str]] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + id_attribute: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + token_endpoint: Optional[pulumi.Input[str]] = None, + user_endpoint: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering OrgIdpOauth resources. + :param pulumi.Input[str] authorization_endpoint: The authorization endpoint + :param pulumi.Input[str] client_id: client id generated by the identity provider + :param pulumi.Input[str] client_secret: client secret generated by the identity provider + :param pulumi.Input[str] id_attribute: The id attribute + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[Sequence[pulumi.Input[str]]] scopes: the scopes requested by ZITADEL during the request on the identity provider + :param pulumi.Input[str] token_endpoint: The token endpoint + :param pulumi.Input[str] user_endpoint: The user endpoint + """ + _OrgIdpOauthState._configure( + lambda key, value: pulumi.set(__self__, key, value), + authorization_endpoint=authorization_endpoint, + client_id=client_id, + client_secret=client_secret, + id_attribute=id_attribute, + is_auto_creation=is_auto_creation, + is_auto_update=is_auto_update, + is_creation_allowed=is_creation_allowed, + is_linking_allowed=is_linking_allowed, + name=name, + org_id=org_id, + scopes=scopes, + token_endpoint=token_endpoint, + user_endpoint=user_endpoint, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + authorization_endpoint: Optional[pulumi.Input[str]] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + id_attribute: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + token_endpoint: Optional[pulumi.Input[str]] = None, + user_endpoint: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'authorizationEndpoint' in kwargs: + authorization_endpoint = kwargs['authorizationEndpoint'] + if 'clientId' in kwargs: + client_id = kwargs['clientId'] + if 'clientSecret' in kwargs: + client_secret = kwargs['clientSecret'] + if 'idAttribute' in kwargs: + id_attribute = kwargs['idAttribute'] + if 'isAutoCreation' in kwargs: + is_auto_creation = kwargs['isAutoCreation'] + if 'isAutoUpdate' in kwargs: + is_auto_update = kwargs['isAutoUpdate'] + if 'isCreationAllowed' in kwargs: + is_creation_allowed = kwargs['isCreationAllowed'] + if 'isLinkingAllowed' in kwargs: + is_linking_allowed = kwargs['isLinkingAllowed'] + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + if 'tokenEndpoint' in kwargs: + token_endpoint = kwargs['tokenEndpoint'] + if 'userEndpoint' in kwargs: + user_endpoint = kwargs['userEndpoint'] + + if authorization_endpoint is not None: + _setter("authorization_endpoint", authorization_endpoint) + if client_id is not None: + _setter("client_id", client_id) + if client_secret is not None: + _setter("client_secret", client_secret) + if id_attribute is not None: + _setter("id_attribute", id_attribute) + if is_auto_creation is not None: + _setter("is_auto_creation", is_auto_creation) + if is_auto_update is not None: + _setter("is_auto_update", is_auto_update) + if is_creation_allowed is not None: + _setter("is_creation_allowed", is_creation_allowed) + if is_linking_allowed is not None: + _setter("is_linking_allowed", is_linking_allowed) + if name is not None: + _setter("name", name) + if org_id is not None: + _setter("org_id", org_id) + if scopes is not None: + _setter("scopes", scopes) + if token_endpoint is not None: + _setter("token_endpoint", token_endpoint) + if user_endpoint is not None: + _setter("user_endpoint", user_endpoint) + + @property + @pulumi.getter(name="authorizationEndpoint") + def authorization_endpoint(self) -> Optional[pulumi.Input[str]]: + """ + The authorization endpoint + """ + return pulumi.get(self, "authorization_endpoint") + + @authorization_endpoint.setter + def authorization_endpoint(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "authorization_endpoint", value) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> Optional[pulumi.Input[str]]: + """ + client id generated by the identity provider + """ + return pulumi.get(self, "client_id") + + @client_id.setter + def client_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "client_id", value) + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> Optional[pulumi.Input[str]]: + """ + client secret generated by the identity provider + """ + return pulumi.get(self, "client_secret") + + @client_secret.setter + def client_secret(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "client_secret", value) + + @property + @pulumi.getter(name="idAttribute") + def id_attribute(self) -> Optional[pulumi.Input[str]]: + """ + The id attribute + """ + return pulumi.get(self, "id_attribute") + + @id_attribute.setter + def id_attribute(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "id_attribute", value) + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> Optional[pulumi.Input[bool]]: + """ + enable if a new account in ZITADEL should be created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @is_auto_creation.setter + def is_auto_creation(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_auto_creation", value) + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> Optional[pulumi.Input[bool]]: + """ + enable if a the ZITADEL account fields should be updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @is_auto_update.setter + def is_auto_update(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_auto_update", value) + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> Optional[pulumi.Input[bool]]: + """ + enable if users should be able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @is_creation_allowed.setter + def is_creation_allowed(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_creation_allowed", value) + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> Optional[pulumi.Input[bool]]: + """ + enable if users should be able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @is_linking_allowed.setter + def is_linking_allowed(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_linking_allowed", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + @property + @pulumi.getter + def scopes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + the scopes requested by ZITADEL during the request on the identity provider + """ + return pulumi.get(self, "scopes") + + @scopes.setter + def scopes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "scopes", value) + + @property + @pulumi.getter(name="tokenEndpoint") + def token_endpoint(self) -> Optional[pulumi.Input[str]]: + """ + The token endpoint + """ + return pulumi.get(self, "token_endpoint") + + @token_endpoint.setter + def token_endpoint(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "token_endpoint", value) + + @property + @pulumi.getter(name="userEndpoint") + def user_endpoint(self) -> Optional[pulumi.Input[str]]: + """ + The user endpoint + """ + return pulumi.get(self, "user_endpoint") + + @user_endpoint.setter + def user_endpoint(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "user_endpoint", value) + + +class OrgIdpOauth(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + authorization_endpoint: Optional[pulumi.Input[str]] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + id_attribute: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + token_endpoint: Optional[pulumi.Input[str]] = None, + user_endpoint: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Resource representing a generic OAuth2 IDP on the organization. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.OrgIdpOauth("default", + org_id=data["zitadel_org"]["default"]["id"], + client_id="15765e...", + client_secret="*****abcxyz", + authorization_endpoint="https://accounts.google.com/o/oauth2/v2/auth", + token_endpoint="https://oauth2.googleapis.com/token", + user_endpoint="https://openidconnect.googleapis.com/v1/userinfo", + id_attribute="user_id", + scopes=[ + "openid", + "profile", + "email", + ], + is_linking_allowed=False, + is_creation_allowed=True, + is_auto_creation=False, + is_auto_update=True) + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/orgIdpOauth:OrgIdpOauth imported '123456789012345678:123456789012345678:1234567890abcdef' + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] authorization_endpoint: The authorization endpoint + :param pulumi.Input[str] client_id: client id generated by the identity provider + :param pulumi.Input[str] client_secret: client secret generated by the identity provider + :param pulumi.Input[str] id_attribute: The id attribute + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[Sequence[pulumi.Input[str]]] scopes: the scopes requested by ZITADEL during the request on the identity provider + :param pulumi.Input[str] token_endpoint: The token endpoint + :param pulumi.Input[str] user_endpoint: The user endpoint + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: OrgIdpOauthArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource representing a generic OAuth2 IDP on the organization. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.OrgIdpOauth("default", + org_id=data["zitadel_org"]["default"]["id"], + client_id="15765e...", + client_secret="*****abcxyz", + authorization_endpoint="https://accounts.google.com/o/oauth2/v2/auth", + token_endpoint="https://oauth2.googleapis.com/token", + user_endpoint="https://openidconnect.googleapis.com/v1/userinfo", + id_attribute="user_id", + scopes=[ + "openid", + "profile", + "email", + ], + is_linking_allowed=False, + is_creation_allowed=True, + is_auto_creation=False, + is_auto_update=True) + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/orgIdpOauth:OrgIdpOauth imported '123456789012345678:123456789012345678:1234567890abcdef' + ``` + + :param str resource_name: The name of the resource. + :param OrgIdpOauthArgs 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(OrgIdpOauthArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + OrgIdpOauthArgs._configure(_setter, **kwargs) + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + authorization_endpoint: Optional[pulumi.Input[str]] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + id_attribute: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + token_endpoint: Optional[pulumi.Input[str]] = None, + user_endpoint: 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__ = OrgIdpOauthArgs.__new__(OrgIdpOauthArgs) + + if authorization_endpoint is None and not opts.urn: + raise TypeError("Missing required property 'authorization_endpoint'") + __props__.__dict__["authorization_endpoint"] = authorization_endpoint + if client_id is None and not opts.urn: + raise TypeError("Missing required property 'client_id'") + __props__.__dict__["client_id"] = client_id + if client_secret is None and not opts.urn: + raise TypeError("Missing required property 'client_secret'") + __props__.__dict__["client_secret"] = None if client_secret is None else pulumi.Output.secret(client_secret) + if id_attribute is None and not opts.urn: + raise TypeError("Missing required property 'id_attribute'") + __props__.__dict__["id_attribute"] = id_attribute + if is_auto_creation is None and not opts.urn: + raise TypeError("Missing required property 'is_auto_creation'") + __props__.__dict__["is_auto_creation"] = is_auto_creation + if is_auto_update is None and not opts.urn: + raise TypeError("Missing required property 'is_auto_update'") + __props__.__dict__["is_auto_update"] = is_auto_update + if is_creation_allowed is None and not opts.urn: + raise TypeError("Missing required property 'is_creation_allowed'") + __props__.__dict__["is_creation_allowed"] = is_creation_allowed + if is_linking_allowed is None and not opts.urn: + raise TypeError("Missing required property 'is_linking_allowed'") + __props__.__dict__["is_linking_allowed"] = is_linking_allowed + __props__.__dict__["name"] = name + __props__.__dict__["org_id"] = org_id + __props__.__dict__["scopes"] = scopes + if token_endpoint is None and not opts.urn: + raise TypeError("Missing required property 'token_endpoint'") + __props__.__dict__["token_endpoint"] = token_endpoint + if user_endpoint is None and not opts.urn: + raise TypeError("Missing required property 'user_endpoint'") + __props__.__dict__["user_endpoint"] = user_endpoint + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["clientSecret"]) + opts = pulumi.ResourceOptions.merge(opts, secret_opts) + super(OrgIdpOauth, __self__).__init__( + 'zitadel:index/orgIdpOauth:OrgIdpOauth', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + authorization_endpoint: Optional[pulumi.Input[str]] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + id_attribute: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + token_endpoint: Optional[pulumi.Input[str]] = None, + user_endpoint: Optional[pulumi.Input[str]] = None) -> 'OrgIdpOauth': + """ + Get an existing OrgIdpOauth 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[str] authorization_endpoint: The authorization endpoint + :param pulumi.Input[str] client_id: client id generated by the identity provider + :param pulumi.Input[str] client_secret: client secret generated by the identity provider + :param pulumi.Input[str] id_attribute: The id attribute + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[Sequence[pulumi.Input[str]]] scopes: the scopes requested by ZITADEL during the request on the identity provider + :param pulumi.Input[str] token_endpoint: The token endpoint + :param pulumi.Input[str] user_endpoint: The user endpoint + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _OrgIdpOauthState.__new__(_OrgIdpOauthState) + + __props__.__dict__["authorization_endpoint"] = authorization_endpoint + __props__.__dict__["client_id"] = client_id + __props__.__dict__["client_secret"] = client_secret + __props__.__dict__["id_attribute"] = id_attribute + __props__.__dict__["is_auto_creation"] = is_auto_creation + __props__.__dict__["is_auto_update"] = is_auto_update + __props__.__dict__["is_creation_allowed"] = is_creation_allowed + __props__.__dict__["is_linking_allowed"] = is_linking_allowed + __props__.__dict__["name"] = name + __props__.__dict__["org_id"] = org_id + __props__.__dict__["scopes"] = scopes + __props__.__dict__["token_endpoint"] = token_endpoint + __props__.__dict__["user_endpoint"] = user_endpoint + return OrgIdpOauth(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="authorizationEndpoint") + def authorization_endpoint(self) -> pulumi.Output[str]: + """ + The authorization endpoint + """ + return pulumi.get(self, "authorization_endpoint") + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> pulumi.Output[str]: + """ + client id generated by the identity provider + """ + return pulumi.get(self, "client_id") + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> pulumi.Output[str]: + """ + client secret generated by the identity provider + """ + return pulumi.get(self, "client_secret") + + @property + @pulumi.getter(name="idAttribute") + def id_attribute(self) -> pulumi.Output[str]: + """ + The id attribute + """ + return pulumi.get(self, "id_attribute") + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> pulumi.Output[bool]: + """ + enable if a new account in ZITADEL should be created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> pulumi.Output[bool]: + """ + enable if a the ZITADEL account fields should be updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> pulumi.Output[bool]: + """ + enable if users should be able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> pulumi.Output[bool]: + """ + enable if users should be able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> pulumi.Output[Optional[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @property + @pulumi.getter + def scopes(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + the scopes requested by ZITADEL during the request on the identity provider + """ + return pulumi.get(self, "scopes") + + @property + @pulumi.getter(name="tokenEndpoint") + def token_endpoint(self) -> pulumi.Output[str]: + """ + The token endpoint + """ + return pulumi.get(self, "token_endpoint") + + @property + @pulumi.getter(name="userEndpoint") + def user_endpoint(self) -> pulumi.Output[str]: + """ + The user endpoint + """ + return pulumi.get(self, "user_endpoint") + diff --git a/sdk/python/scoretechnologies_zitadel/org_idp_oidc.py b/sdk/python/scoretechnologies_zitadel/org_idp_oidc.py new file mode 100644 index 0000000..d3bb7d7 --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/org_idp_oidc.py @@ -0,0 +1,785 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['OrgIdpOidcArgs', 'OrgIdpOidc'] + +@pulumi.input_type +class OrgIdpOidcArgs: + def __init__(__self__, *, + client_id: pulumi.Input[str], + client_secret: pulumi.Input[str], + is_auto_creation: pulumi.Input[bool], + is_auto_update: pulumi.Input[bool], + is_creation_allowed: pulumi.Input[bool], + is_id_token_mapping: pulumi.Input[bool], + is_linking_allowed: pulumi.Input[bool], + issuer: pulumi.Input[str], + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a OrgIdpOidc resource. + :param pulumi.Input[str] client_id: client id generated by the identity provider + :param pulumi.Input[str] client_secret: client secret generated by the identity provider + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_id_token_mapping: if true, provider information get mapped from the id token, not from the userinfo endpoint + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] issuer: the issuer of the idp + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[Sequence[pulumi.Input[str]]] scopes: the scopes requested by ZITADEL during the request on the identity provider + """ + OrgIdpOidcArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + client_id=client_id, + client_secret=client_secret, + is_auto_creation=is_auto_creation, + is_auto_update=is_auto_update, + is_creation_allowed=is_creation_allowed, + is_id_token_mapping=is_id_token_mapping, + is_linking_allowed=is_linking_allowed, + issuer=issuer, + name=name, + org_id=org_id, + scopes=scopes, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + client_id: pulumi.Input[str], + client_secret: pulumi.Input[str], + is_auto_creation: pulumi.Input[bool], + is_auto_update: pulumi.Input[bool], + is_creation_allowed: pulumi.Input[bool], + is_id_token_mapping: pulumi.Input[bool], + is_linking_allowed: pulumi.Input[bool], + issuer: pulumi.Input[str], + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'clientId' in kwargs: + client_id = kwargs['clientId'] + if 'clientSecret' in kwargs: + client_secret = kwargs['clientSecret'] + if 'isAutoCreation' in kwargs: + is_auto_creation = kwargs['isAutoCreation'] + if 'isAutoUpdate' in kwargs: + is_auto_update = kwargs['isAutoUpdate'] + if 'isCreationAllowed' in kwargs: + is_creation_allowed = kwargs['isCreationAllowed'] + if 'isIdTokenMapping' in kwargs: + is_id_token_mapping = kwargs['isIdTokenMapping'] + if 'isLinkingAllowed' in kwargs: + is_linking_allowed = kwargs['isLinkingAllowed'] + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + + _setter("client_id", client_id) + _setter("client_secret", client_secret) + _setter("is_auto_creation", is_auto_creation) + _setter("is_auto_update", is_auto_update) + _setter("is_creation_allowed", is_creation_allowed) + _setter("is_id_token_mapping", is_id_token_mapping) + _setter("is_linking_allowed", is_linking_allowed) + _setter("issuer", issuer) + if name is not None: + _setter("name", name) + if org_id is not None: + _setter("org_id", org_id) + if scopes is not None: + _setter("scopes", scopes) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> pulumi.Input[str]: + """ + client id generated by the identity provider + """ + return pulumi.get(self, "client_id") + + @client_id.setter + def client_id(self, value: pulumi.Input[str]): + pulumi.set(self, "client_id", value) + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> pulumi.Input[str]: + """ + client secret generated by the identity provider + """ + return pulumi.get(self, "client_secret") + + @client_secret.setter + def client_secret(self, value: pulumi.Input[str]): + pulumi.set(self, "client_secret", value) + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> pulumi.Input[bool]: + """ + enable if a new account in ZITADEL should be created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @is_auto_creation.setter + def is_auto_creation(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_auto_creation", value) + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> pulumi.Input[bool]: + """ + enable if a the ZITADEL account fields should be updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @is_auto_update.setter + def is_auto_update(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_auto_update", value) + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> pulumi.Input[bool]: + """ + enable if users should be able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @is_creation_allowed.setter + def is_creation_allowed(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_creation_allowed", value) + + @property + @pulumi.getter(name="isIdTokenMapping") + def is_id_token_mapping(self) -> pulumi.Input[bool]: + """ + if true, provider information get mapped from the id token, not from the userinfo endpoint + """ + return pulumi.get(self, "is_id_token_mapping") + + @is_id_token_mapping.setter + def is_id_token_mapping(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_id_token_mapping", value) + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> pulumi.Input[bool]: + """ + enable if users should be able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @is_linking_allowed.setter + def is_linking_allowed(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_linking_allowed", value) + + @property + @pulumi.getter + def issuer(self) -> pulumi.Input[str]: + """ + the issuer of the idp + """ + return pulumi.get(self, "issuer") + + @issuer.setter + def issuer(self, value: pulumi.Input[str]): + pulumi.set(self, "issuer", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + @property + @pulumi.getter + def scopes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + the scopes requested by ZITADEL during the request on the identity provider + """ + return pulumi.get(self, "scopes") + + @scopes.setter + def scopes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "scopes", value) + + +@pulumi.input_type +class _OrgIdpOidcState: + def __init__(__self__, *, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_id_token_mapping: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + issuer: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + Input properties used for looking up and filtering OrgIdpOidc resources. + :param pulumi.Input[str] client_id: client id generated by the identity provider + :param pulumi.Input[str] client_secret: client secret generated by the identity provider + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_id_token_mapping: if true, provider information get mapped from the id token, not from the userinfo endpoint + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] issuer: the issuer of the idp + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[Sequence[pulumi.Input[str]]] scopes: the scopes requested by ZITADEL during the request on the identity provider + """ + _OrgIdpOidcState._configure( + lambda key, value: pulumi.set(__self__, key, value), + client_id=client_id, + client_secret=client_secret, + is_auto_creation=is_auto_creation, + is_auto_update=is_auto_update, + is_creation_allowed=is_creation_allowed, + is_id_token_mapping=is_id_token_mapping, + is_linking_allowed=is_linking_allowed, + issuer=issuer, + name=name, + org_id=org_id, + scopes=scopes, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_id_token_mapping: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + issuer: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'clientId' in kwargs: + client_id = kwargs['clientId'] + if 'clientSecret' in kwargs: + client_secret = kwargs['clientSecret'] + if 'isAutoCreation' in kwargs: + is_auto_creation = kwargs['isAutoCreation'] + if 'isAutoUpdate' in kwargs: + is_auto_update = kwargs['isAutoUpdate'] + if 'isCreationAllowed' in kwargs: + is_creation_allowed = kwargs['isCreationAllowed'] + if 'isIdTokenMapping' in kwargs: + is_id_token_mapping = kwargs['isIdTokenMapping'] + if 'isLinkingAllowed' in kwargs: + is_linking_allowed = kwargs['isLinkingAllowed'] + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + + if client_id is not None: + _setter("client_id", client_id) + if client_secret is not None: + _setter("client_secret", client_secret) + if is_auto_creation is not None: + _setter("is_auto_creation", is_auto_creation) + if is_auto_update is not None: + _setter("is_auto_update", is_auto_update) + if is_creation_allowed is not None: + _setter("is_creation_allowed", is_creation_allowed) + if is_id_token_mapping is not None: + _setter("is_id_token_mapping", is_id_token_mapping) + if is_linking_allowed is not None: + _setter("is_linking_allowed", is_linking_allowed) + if issuer is not None: + _setter("issuer", issuer) + if name is not None: + _setter("name", name) + if org_id is not None: + _setter("org_id", org_id) + if scopes is not None: + _setter("scopes", scopes) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> Optional[pulumi.Input[str]]: + """ + client id generated by the identity provider + """ + return pulumi.get(self, "client_id") + + @client_id.setter + def client_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "client_id", value) + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> Optional[pulumi.Input[str]]: + """ + client secret generated by the identity provider + """ + return pulumi.get(self, "client_secret") + + @client_secret.setter + def client_secret(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "client_secret", value) + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> Optional[pulumi.Input[bool]]: + """ + enable if a new account in ZITADEL should be created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @is_auto_creation.setter + def is_auto_creation(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_auto_creation", value) + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> Optional[pulumi.Input[bool]]: + """ + enable if a the ZITADEL account fields should be updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @is_auto_update.setter + def is_auto_update(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_auto_update", value) + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> Optional[pulumi.Input[bool]]: + """ + enable if users should be able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @is_creation_allowed.setter + def is_creation_allowed(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_creation_allowed", value) + + @property + @pulumi.getter(name="isIdTokenMapping") + def is_id_token_mapping(self) -> Optional[pulumi.Input[bool]]: + """ + if true, provider information get mapped from the id token, not from the userinfo endpoint + """ + return pulumi.get(self, "is_id_token_mapping") + + @is_id_token_mapping.setter + def is_id_token_mapping(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_id_token_mapping", value) + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> Optional[pulumi.Input[bool]]: + """ + enable if users should be able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @is_linking_allowed.setter + def is_linking_allowed(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_linking_allowed", value) + + @property + @pulumi.getter + def issuer(self) -> Optional[pulumi.Input[str]]: + """ + the issuer of the idp + """ + return pulumi.get(self, "issuer") + + @issuer.setter + def issuer(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "issuer", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + @property + @pulumi.getter + def scopes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + the scopes requested by ZITADEL during the request on the identity provider + """ + return pulumi.get(self, "scopes") + + @scopes.setter + def scopes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "scopes", value) + + +class OrgIdpOidc(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_id_token_mapping: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + issuer: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + __props__=None): + """ + Resource representing a generic OIDC IdP on the organization. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.OrgIdpOidc("default", + org_id=data["zitadel_org"]["default"]["id"], + client_id="a_client_id", + client_secret="a_client_secret", + scopes=[ + "openid", + "profile", + "email", + ], + issuer="https://example.com", + is_linking_allowed=False, + is_creation_allowed=True, + is_auto_creation=False, + is_auto_update=True, + is_id_token_mapping=True) + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/orgIdpOidc:OrgIdpOidc imported '123456789012345678:123456789012345678:1234567890abcdef' + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] client_id: client id generated by the identity provider + :param pulumi.Input[str] client_secret: client secret generated by the identity provider + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_id_token_mapping: if true, provider information get mapped from the id token, not from the userinfo endpoint + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] issuer: the issuer of the idp + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[Sequence[pulumi.Input[str]]] scopes: the scopes requested by ZITADEL during the request on the identity provider + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: OrgIdpOidcArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource representing a generic OIDC IdP on the organization. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.OrgIdpOidc("default", + org_id=data["zitadel_org"]["default"]["id"], + client_id="a_client_id", + client_secret="a_client_secret", + scopes=[ + "openid", + "profile", + "email", + ], + issuer="https://example.com", + is_linking_allowed=False, + is_creation_allowed=True, + is_auto_creation=False, + is_auto_update=True, + is_id_token_mapping=True) + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/orgIdpOidc:OrgIdpOidc imported '123456789012345678:123456789012345678:1234567890abcdef' + ``` + + :param str resource_name: The name of the resource. + :param OrgIdpOidcArgs 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(OrgIdpOidcArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + OrgIdpOidcArgs._configure(_setter, **kwargs) + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_id_token_mapping: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + issuer: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[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__ = OrgIdpOidcArgs.__new__(OrgIdpOidcArgs) + + if client_id is None and not opts.urn: + raise TypeError("Missing required property 'client_id'") + __props__.__dict__["client_id"] = client_id + if client_secret is None and not opts.urn: + raise TypeError("Missing required property 'client_secret'") + __props__.__dict__["client_secret"] = None if client_secret is None else pulumi.Output.secret(client_secret) + if is_auto_creation is None and not opts.urn: + raise TypeError("Missing required property 'is_auto_creation'") + __props__.__dict__["is_auto_creation"] = is_auto_creation + if is_auto_update is None and not opts.urn: + raise TypeError("Missing required property 'is_auto_update'") + __props__.__dict__["is_auto_update"] = is_auto_update + if is_creation_allowed is None and not opts.urn: + raise TypeError("Missing required property 'is_creation_allowed'") + __props__.__dict__["is_creation_allowed"] = is_creation_allowed + if is_id_token_mapping is None and not opts.urn: + raise TypeError("Missing required property 'is_id_token_mapping'") + __props__.__dict__["is_id_token_mapping"] = is_id_token_mapping + if is_linking_allowed is None and not opts.urn: + raise TypeError("Missing required property 'is_linking_allowed'") + __props__.__dict__["is_linking_allowed"] = is_linking_allowed + if issuer is None and not opts.urn: + raise TypeError("Missing required property 'issuer'") + __props__.__dict__["issuer"] = issuer + __props__.__dict__["name"] = name + __props__.__dict__["org_id"] = org_id + __props__.__dict__["scopes"] = scopes + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["clientSecret"]) + opts = pulumi.ResourceOptions.merge(opts, secret_opts) + super(OrgIdpOidc, __self__).__init__( + 'zitadel:index/orgIdpOidc:OrgIdpOidc', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_id_token_mapping: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + issuer: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None) -> 'OrgIdpOidc': + """ + Get an existing OrgIdpOidc 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[str] client_id: client id generated by the identity provider + :param pulumi.Input[str] client_secret: client secret generated by the identity provider + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_id_token_mapping: if true, provider information get mapped from the id token, not from the userinfo endpoint + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] issuer: the issuer of the idp + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[Sequence[pulumi.Input[str]]] scopes: the scopes requested by ZITADEL during the request on the identity provider + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _OrgIdpOidcState.__new__(_OrgIdpOidcState) + + __props__.__dict__["client_id"] = client_id + __props__.__dict__["client_secret"] = client_secret + __props__.__dict__["is_auto_creation"] = is_auto_creation + __props__.__dict__["is_auto_update"] = is_auto_update + __props__.__dict__["is_creation_allowed"] = is_creation_allowed + __props__.__dict__["is_id_token_mapping"] = is_id_token_mapping + __props__.__dict__["is_linking_allowed"] = is_linking_allowed + __props__.__dict__["issuer"] = issuer + __props__.__dict__["name"] = name + __props__.__dict__["org_id"] = org_id + __props__.__dict__["scopes"] = scopes + return OrgIdpOidc(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> pulumi.Output[str]: + """ + client id generated by the identity provider + """ + return pulumi.get(self, "client_id") + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> pulumi.Output[str]: + """ + client secret generated by the identity provider + """ + return pulumi.get(self, "client_secret") + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> pulumi.Output[bool]: + """ + enable if a new account in ZITADEL should be created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> pulumi.Output[bool]: + """ + enable if a the ZITADEL account fields should be updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> pulumi.Output[bool]: + """ + enable if users should be able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @property + @pulumi.getter(name="isIdTokenMapping") + def is_id_token_mapping(self) -> pulumi.Output[bool]: + """ + if true, provider information get mapped from the id token, not from the userinfo endpoint + """ + return pulumi.get(self, "is_id_token_mapping") + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> pulumi.Output[bool]: + """ + enable if users should be able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @property + @pulumi.getter + def issuer(self) -> pulumi.Output[str]: + """ + the issuer of the idp + """ + return pulumi.get(self, "issuer") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> pulumi.Output[Optional[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @property + @pulumi.getter + def scopes(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + the scopes requested by ZITADEL during the request on the identity provider + """ + return pulumi.get(self, "scopes") + diff --git a/sdk/python/scoretechnologies_zitadel/org_idp_saml.py b/sdk/python/scoretechnologies_zitadel/org_idp_saml.py new file mode 100644 index 0000000..df1b93e --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/org_idp_saml.py @@ -0,0 +1,736 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['OrgIdpSamlArgs', 'OrgIdpSaml'] + +@pulumi.input_type +class OrgIdpSamlArgs: + def __init__(__self__, *, + is_auto_creation: pulumi.Input[bool], + is_auto_update: pulumi.Input[bool], + is_creation_allowed: pulumi.Input[bool], + is_linking_allowed: pulumi.Input[bool], + metadata_xml: pulumi.Input[str], + binding: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + with_signed_request: Optional[pulumi.Input[bool]] = None): + """ + The set of arguments for constructing a OrgIdpSaml resource. + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] metadata_xml: The metadata XML as plain string + :param pulumi.Input[str] binding: The binding, supported values: SAML*BINDING*UNSPECIFIED, SAML*BINDING*POST, SAML*BINDING*REDIRECT, SAML*BINDING*ARTIFACT + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[bool] with_signed_request: Whether the SAML IDP requires signed requests + """ + OrgIdpSamlArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + is_auto_creation=is_auto_creation, + is_auto_update=is_auto_update, + is_creation_allowed=is_creation_allowed, + is_linking_allowed=is_linking_allowed, + metadata_xml=metadata_xml, + binding=binding, + name=name, + org_id=org_id, + with_signed_request=with_signed_request, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + is_auto_creation: pulumi.Input[bool], + is_auto_update: pulumi.Input[bool], + is_creation_allowed: pulumi.Input[bool], + is_linking_allowed: pulumi.Input[bool], + metadata_xml: pulumi.Input[str], + binding: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + with_signed_request: Optional[pulumi.Input[bool]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'isAutoCreation' in kwargs: + is_auto_creation = kwargs['isAutoCreation'] + if 'isAutoUpdate' in kwargs: + is_auto_update = kwargs['isAutoUpdate'] + if 'isCreationAllowed' in kwargs: + is_creation_allowed = kwargs['isCreationAllowed'] + if 'isLinkingAllowed' in kwargs: + is_linking_allowed = kwargs['isLinkingAllowed'] + if 'metadataXml' in kwargs: + metadata_xml = kwargs['metadataXml'] + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + if 'withSignedRequest' in kwargs: + with_signed_request = kwargs['withSignedRequest'] + + _setter("is_auto_creation", is_auto_creation) + _setter("is_auto_update", is_auto_update) + _setter("is_creation_allowed", is_creation_allowed) + _setter("is_linking_allowed", is_linking_allowed) + _setter("metadata_xml", metadata_xml) + if binding is not None: + _setter("binding", binding) + if name is not None: + _setter("name", name) + if org_id is not None: + _setter("org_id", org_id) + if with_signed_request is not None: + _setter("with_signed_request", with_signed_request) + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> pulumi.Input[bool]: + """ + enable if a new account in ZITADEL should be created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @is_auto_creation.setter + def is_auto_creation(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_auto_creation", value) + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> pulumi.Input[bool]: + """ + enable if a the ZITADEL account fields should be updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @is_auto_update.setter + def is_auto_update(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_auto_update", value) + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> pulumi.Input[bool]: + """ + enable if users should be able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @is_creation_allowed.setter + def is_creation_allowed(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_creation_allowed", value) + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> pulumi.Input[bool]: + """ + enable if users should be able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @is_linking_allowed.setter + def is_linking_allowed(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_linking_allowed", value) + + @property + @pulumi.getter(name="metadataXml") + def metadata_xml(self) -> pulumi.Input[str]: + """ + The metadata XML as plain string + """ + return pulumi.get(self, "metadata_xml") + + @metadata_xml.setter + def metadata_xml(self, value: pulumi.Input[str]): + pulumi.set(self, "metadata_xml", value) + + @property + @pulumi.getter + def binding(self) -> Optional[pulumi.Input[str]]: + """ + The binding, supported values: SAML*BINDING*UNSPECIFIED, SAML*BINDING*POST, SAML*BINDING*REDIRECT, SAML*BINDING*ARTIFACT + """ + return pulumi.get(self, "binding") + + @binding.setter + def binding(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "binding", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + @property + @pulumi.getter(name="withSignedRequest") + def with_signed_request(self) -> Optional[pulumi.Input[bool]]: + """ + Whether the SAML IDP requires signed requests + """ + return pulumi.get(self, "with_signed_request") + + @with_signed_request.setter + def with_signed_request(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "with_signed_request", value) + + +@pulumi.input_type +class _OrgIdpSamlState: + def __init__(__self__, *, + binding: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + metadata_xml: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + with_signed_request: Optional[pulumi.Input[bool]] = None): + """ + Input properties used for looking up and filtering OrgIdpSaml resources. + :param pulumi.Input[str] binding: The binding, supported values: SAML*BINDING*UNSPECIFIED, SAML*BINDING*POST, SAML*BINDING*REDIRECT, SAML*BINDING*ARTIFACT + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] metadata_xml: The metadata XML as plain string + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[bool] with_signed_request: Whether the SAML IDP requires signed requests + """ + _OrgIdpSamlState._configure( + lambda key, value: pulumi.set(__self__, key, value), + binding=binding, + is_auto_creation=is_auto_creation, + is_auto_update=is_auto_update, + is_creation_allowed=is_creation_allowed, + is_linking_allowed=is_linking_allowed, + metadata_xml=metadata_xml, + name=name, + org_id=org_id, + with_signed_request=with_signed_request, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + binding: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + metadata_xml: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + with_signed_request: Optional[pulumi.Input[bool]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'isAutoCreation' in kwargs: + is_auto_creation = kwargs['isAutoCreation'] + if 'isAutoUpdate' in kwargs: + is_auto_update = kwargs['isAutoUpdate'] + if 'isCreationAllowed' in kwargs: + is_creation_allowed = kwargs['isCreationAllowed'] + if 'isLinkingAllowed' in kwargs: + is_linking_allowed = kwargs['isLinkingAllowed'] + if 'metadataXml' in kwargs: + metadata_xml = kwargs['metadataXml'] + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + if 'withSignedRequest' in kwargs: + with_signed_request = kwargs['withSignedRequest'] + + if binding is not None: + _setter("binding", binding) + if is_auto_creation is not None: + _setter("is_auto_creation", is_auto_creation) + if is_auto_update is not None: + _setter("is_auto_update", is_auto_update) + if is_creation_allowed is not None: + _setter("is_creation_allowed", is_creation_allowed) + if is_linking_allowed is not None: + _setter("is_linking_allowed", is_linking_allowed) + if metadata_xml is not None: + _setter("metadata_xml", metadata_xml) + if name is not None: + _setter("name", name) + if org_id is not None: + _setter("org_id", org_id) + if with_signed_request is not None: + _setter("with_signed_request", with_signed_request) + + @property + @pulumi.getter + def binding(self) -> Optional[pulumi.Input[str]]: + """ + The binding, supported values: SAML*BINDING*UNSPECIFIED, SAML*BINDING*POST, SAML*BINDING*REDIRECT, SAML*BINDING*ARTIFACT + """ + return pulumi.get(self, "binding") + + @binding.setter + def binding(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "binding", value) + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> Optional[pulumi.Input[bool]]: + """ + enable if a new account in ZITADEL should be created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @is_auto_creation.setter + def is_auto_creation(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_auto_creation", value) + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> Optional[pulumi.Input[bool]]: + """ + enable if a the ZITADEL account fields should be updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @is_auto_update.setter + def is_auto_update(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_auto_update", value) + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> Optional[pulumi.Input[bool]]: + """ + enable if users should be able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @is_creation_allowed.setter + def is_creation_allowed(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_creation_allowed", value) + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> Optional[pulumi.Input[bool]]: + """ + enable if users should be able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @is_linking_allowed.setter + def is_linking_allowed(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_linking_allowed", value) + + @property + @pulumi.getter(name="metadataXml") + def metadata_xml(self) -> Optional[pulumi.Input[str]]: + """ + The metadata XML as plain string + """ + return pulumi.get(self, "metadata_xml") + + @metadata_xml.setter + def metadata_xml(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "metadata_xml", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + @property + @pulumi.getter(name="withSignedRequest") + def with_signed_request(self) -> Optional[pulumi.Input[bool]]: + """ + Whether the SAML IDP requires signed requests + """ + return pulumi.get(self, "with_signed_request") + + @with_signed_request.setter + def with_signed_request(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "with_signed_request", value) + + +class OrgIdpSaml(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + binding: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + metadata_xml: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + with_signed_request: Optional[pulumi.Input[bool]] = None, + __props__=None): + """ + Resource representing a SAML IdP on the organization. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.OrgIdpSaml("default", + org_id=data["zitadel_org"]["default"]["id"], + binding="SAML_BINDING_POST", + with_signed_request=True, + is_linking_allowed=False, + is_creation_allowed=True, + is_auto_creation=False, + is_auto_update=True, + metadata_xml=\"\"\" + + + + + + MIIC4jCCAcoCCQC33wnybT5QZDANBgkqhkiG9w0BAQsFADAyMQswCQYDVQQGEwJV + SzEPMA0GA1UECgwGQm94eUhRMRIwEAYDVQQDDAlNb2NrIFNBTUwwIBcNMjIwMjI4 + MjE0NjM4WhgPMzAyMTA3MDEyMTQ2MzhaMDIxCzAJBgNVBAYTAlVLMQ8wDQYDVQQK + DAZCb3h5SFExEjAQBgNVBAMMCU1vY2sgU0FNTDCCASIwDQYJKoZIhvcNAQEBBQAD + ggEPADCCAQoCggEBALGfYettMsct1T6tVUwTudNJH5Pnb9GGnkXi9Zw/e6x45DD0 + RuRONbFlJ2T4RjAE/uG+AjXxXQ8o2SZfb9+GgmCHuTJFNgHoZ1nFVXCmb/Hg8Hpd + 4vOAGXndixaReOiq3EH5XvpMjMkJ3+8+9VYMzMZOjkgQtAqO36eAFFfNKX7dTj3V + pwLkvz6/KFCq8OAwY+AUi4eZm5J57D31GzjHwfjH9WTeX0MyndmnNB1qV75qQR3b + 2/W5sGHRv+9AarggJkF+ptUkXoLtVA51wcfYm6hILptpde5FQC8RWY1YrswBWAEZ + NfyrR4JeSweElNHg4NVOs4TwGjOPwWGqzTfgTlECAwEAATANBgkqhkiG9w0BAQsF + AAOCAQEAAYRlYflSXAWoZpFfwNiCQVE5d9zZ0DPzNdWhAybXcTyMf0z5mDf6FWBW + 5Gyoi9u3EMEDnzLcJNkwJAAc39Apa4I2/tml+Jy29dk8bTyX6m93ngmCgdLh5Za4 + khuU3AM3L63g7VexCuO7kwkjh/+LqdcIXsVGO6XDfu2QOs1Xpe9zIzLpwm/RNYeX + UjbSj5ce/jekpAw7qyVVL4xOyh8AtUW1ek3wIw1MJvEgEPt0d16oshWJpoS1OT8L + r/22SvYEo3EmSGdTVGgk3x3s+A0qWAqTcyjr7Q4s/GKYRFfomGwz0TZ4Iw1ZN99M + m0eo2USlSRTVl7QHRTuiuSThHpLKQQ== + + + + urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress + + + + + \"\"\") + ``` + ## Loading the XML Metadata + + If you don't want to pass the XML metadata inline, you have plenty of options. For example: + - local_file Data Source + - http Data Source + - terracurl_request Data Source + - ... + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/orgIdpSaml:OrgIdpSaml imported '123456789012345678:123456789012345678' + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] binding: The binding, supported values: SAML*BINDING*UNSPECIFIED, SAML*BINDING*POST, SAML*BINDING*REDIRECT, SAML*BINDING*ARTIFACT + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] metadata_xml: The metadata XML as plain string + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[bool] with_signed_request: Whether the SAML IDP requires signed requests + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: OrgIdpSamlArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource representing a SAML IdP on the organization. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.OrgIdpSaml("default", + org_id=data["zitadel_org"]["default"]["id"], + binding="SAML_BINDING_POST", + with_signed_request=True, + is_linking_allowed=False, + is_creation_allowed=True, + is_auto_creation=False, + is_auto_update=True, + metadata_xml=\"\"\" + + + + + + MIIC4jCCAcoCCQC33wnybT5QZDANBgkqhkiG9w0BAQsFADAyMQswCQYDVQQGEwJV + SzEPMA0GA1UECgwGQm94eUhRMRIwEAYDVQQDDAlNb2NrIFNBTUwwIBcNMjIwMjI4 + MjE0NjM4WhgPMzAyMTA3MDEyMTQ2MzhaMDIxCzAJBgNVBAYTAlVLMQ8wDQYDVQQK + DAZCb3h5SFExEjAQBgNVBAMMCU1vY2sgU0FNTDCCASIwDQYJKoZIhvcNAQEBBQAD + ggEPADCCAQoCggEBALGfYettMsct1T6tVUwTudNJH5Pnb9GGnkXi9Zw/e6x45DD0 + RuRONbFlJ2T4RjAE/uG+AjXxXQ8o2SZfb9+GgmCHuTJFNgHoZ1nFVXCmb/Hg8Hpd + 4vOAGXndixaReOiq3EH5XvpMjMkJ3+8+9VYMzMZOjkgQtAqO36eAFFfNKX7dTj3V + pwLkvz6/KFCq8OAwY+AUi4eZm5J57D31GzjHwfjH9WTeX0MyndmnNB1qV75qQR3b + 2/W5sGHRv+9AarggJkF+ptUkXoLtVA51wcfYm6hILptpde5FQC8RWY1YrswBWAEZ + NfyrR4JeSweElNHg4NVOs4TwGjOPwWGqzTfgTlECAwEAATANBgkqhkiG9w0BAQsF + AAOCAQEAAYRlYflSXAWoZpFfwNiCQVE5d9zZ0DPzNdWhAybXcTyMf0z5mDf6FWBW + 5Gyoi9u3EMEDnzLcJNkwJAAc39Apa4I2/tml+Jy29dk8bTyX6m93ngmCgdLh5Za4 + khuU3AM3L63g7VexCuO7kwkjh/+LqdcIXsVGO6XDfu2QOs1Xpe9zIzLpwm/RNYeX + UjbSj5ce/jekpAw7qyVVL4xOyh8AtUW1ek3wIw1MJvEgEPt0d16oshWJpoS1OT8L + r/22SvYEo3EmSGdTVGgk3x3s+A0qWAqTcyjr7Q4s/GKYRFfomGwz0TZ4Iw1ZN99M + m0eo2USlSRTVl7QHRTuiuSThHpLKQQ== + + + + urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress + + + + + \"\"\") + ``` + ## Loading the XML Metadata + + If you don't want to pass the XML metadata inline, you have plenty of options. For example: + - local_file Data Source + - http Data Source + - terracurl_request Data Source + - ... + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/orgIdpSaml:OrgIdpSaml imported '123456789012345678:123456789012345678' + ``` + + :param str resource_name: The name of the resource. + :param OrgIdpSamlArgs 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(OrgIdpSamlArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + OrgIdpSamlArgs._configure(_setter, **kwargs) + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + binding: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + metadata_xml: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + with_signed_request: Optional[pulumi.Input[bool]] = 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__ = OrgIdpSamlArgs.__new__(OrgIdpSamlArgs) + + __props__.__dict__["binding"] = binding + if is_auto_creation is None and not opts.urn: + raise TypeError("Missing required property 'is_auto_creation'") + __props__.__dict__["is_auto_creation"] = is_auto_creation + if is_auto_update is None and not opts.urn: + raise TypeError("Missing required property 'is_auto_update'") + __props__.__dict__["is_auto_update"] = is_auto_update + if is_creation_allowed is None and not opts.urn: + raise TypeError("Missing required property 'is_creation_allowed'") + __props__.__dict__["is_creation_allowed"] = is_creation_allowed + if is_linking_allowed is None and not opts.urn: + raise TypeError("Missing required property 'is_linking_allowed'") + __props__.__dict__["is_linking_allowed"] = is_linking_allowed + if metadata_xml is None and not opts.urn: + raise TypeError("Missing required property 'metadata_xml'") + __props__.__dict__["metadata_xml"] = metadata_xml + __props__.__dict__["name"] = name + __props__.__dict__["org_id"] = org_id + __props__.__dict__["with_signed_request"] = with_signed_request + super(OrgIdpSaml, __self__).__init__( + 'zitadel:index/orgIdpSaml:OrgIdpSaml', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + binding: Optional[pulumi.Input[str]] = None, + is_auto_creation: Optional[pulumi.Input[bool]] = None, + is_auto_update: Optional[pulumi.Input[bool]] = None, + is_creation_allowed: Optional[pulumi.Input[bool]] = None, + is_linking_allowed: Optional[pulumi.Input[bool]] = None, + metadata_xml: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + with_signed_request: Optional[pulumi.Input[bool]] = None) -> 'OrgIdpSaml': + """ + Get an existing OrgIdpSaml 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[str] binding: The binding, supported values: SAML*BINDING*UNSPECIFIED, SAML*BINDING*POST, SAML*BINDING*REDIRECT, SAML*BINDING*ARTIFACT + :param pulumi.Input[bool] is_auto_creation: enable if a new account in ZITADEL should be created automatically on login with an external account + :param pulumi.Input[bool] is_auto_update: enable if a the ZITADEL account fields should be updated automatically on each login + :param pulumi.Input[bool] is_creation_allowed: enable if users should be able to create a new account in ZITADEL when using an external account + :param pulumi.Input[bool] is_linking_allowed: enable if users should be able to link an existing ZITADEL user with an external account + :param pulumi.Input[str] metadata_xml: The metadata XML as plain string + :param pulumi.Input[str] name: Name of the IDP + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[bool] with_signed_request: Whether the SAML IDP requires signed requests + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _OrgIdpSamlState.__new__(_OrgIdpSamlState) + + __props__.__dict__["binding"] = binding + __props__.__dict__["is_auto_creation"] = is_auto_creation + __props__.__dict__["is_auto_update"] = is_auto_update + __props__.__dict__["is_creation_allowed"] = is_creation_allowed + __props__.__dict__["is_linking_allowed"] = is_linking_allowed + __props__.__dict__["metadata_xml"] = metadata_xml + __props__.__dict__["name"] = name + __props__.__dict__["org_id"] = org_id + __props__.__dict__["with_signed_request"] = with_signed_request + return OrgIdpSaml(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def binding(self) -> pulumi.Output[Optional[str]]: + """ + The binding, supported values: SAML*BINDING*UNSPECIFIED, SAML*BINDING*POST, SAML*BINDING*REDIRECT, SAML*BINDING*ARTIFACT + """ + return pulumi.get(self, "binding") + + @property + @pulumi.getter(name="isAutoCreation") + def is_auto_creation(self) -> pulumi.Output[bool]: + """ + enable if a new account in ZITADEL should be created automatically on login with an external account + """ + return pulumi.get(self, "is_auto_creation") + + @property + @pulumi.getter(name="isAutoUpdate") + def is_auto_update(self) -> pulumi.Output[bool]: + """ + enable if a the ZITADEL account fields should be updated automatically on each login + """ + return pulumi.get(self, "is_auto_update") + + @property + @pulumi.getter(name="isCreationAllowed") + def is_creation_allowed(self) -> pulumi.Output[bool]: + """ + enable if users should be able to create a new account in ZITADEL when using an external account + """ + return pulumi.get(self, "is_creation_allowed") + + @property + @pulumi.getter(name="isLinkingAllowed") + def is_linking_allowed(self) -> pulumi.Output[bool]: + """ + enable if users should be able to link an existing ZITADEL user with an external account + """ + return pulumi.get(self, "is_linking_allowed") + + @property + @pulumi.getter(name="metadataXml") + def metadata_xml(self) -> pulumi.Output[str]: + """ + The metadata XML as plain string + """ + return pulumi.get(self, "metadata_xml") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Name of the IDP + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> pulumi.Output[Optional[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @property + @pulumi.getter(name="withSignedRequest") + def with_signed_request(self) -> pulumi.Output[Optional[bool]]: + """ + Whether the SAML IDP requires signed requests + """ + return pulumi.get(self, "with_signed_request") + diff --git a/sdk/python/scoretechnologies_zitadel/org_member.py b/sdk/python/scoretechnologies_zitadel/org_member.py new file mode 100644 index 0000000..2e3cb09 --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/org_member.py @@ -0,0 +1,323 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['OrgMemberArgs', 'OrgMember'] + +@pulumi.input_type +class OrgMemberArgs: + def __init__(__self__, *, + roles: pulumi.Input[Sequence[pulumi.Input[str]]], + user_id: pulumi.Input[str], + org_id: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a OrgMember resource. + :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: List of roles granted + :param pulumi.Input[str] user_id: ID of the user + :param pulumi.Input[str] org_id: ID of the organization + """ + OrgMemberArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + roles=roles, + user_id=user_id, + org_id=org_id, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + roles: pulumi.Input[Sequence[pulumi.Input[str]]], + user_id: pulumi.Input[str], + org_id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'userId' in kwargs: + user_id = kwargs['userId'] + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + + _setter("roles", roles) + _setter("user_id", user_id) + if org_id is not None: + _setter("org_id", org_id) + + @property + @pulumi.getter + def roles(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + List of roles granted + """ + return pulumi.get(self, "roles") + + @roles.setter + def roles(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "roles", value) + + @property + @pulumi.getter(name="userId") + def user_id(self) -> pulumi.Input[str]: + """ + ID of the user + """ + return pulumi.get(self, "user_id") + + @user_id.setter + def user_id(self, value: pulumi.Input[str]): + pulumi.set(self, "user_id", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + +@pulumi.input_type +class _OrgMemberState: + def __init__(__self__, *, + org_id: Optional[pulumi.Input[str]] = None, + roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + user_id: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering OrgMember resources. + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: List of roles granted + :param pulumi.Input[str] user_id: ID of the user + """ + _OrgMemberState._configure( + lambda key, value: pulumi.set(__self__, key, value), + org_id=org_id, + roles=roles, + user_id=user_id, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + org_id: Optional[pulumi.Input[str]] = None, + roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + user_id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + if 'userId' in kwargs: + user_id = kwargs['userId'] + + if org_id is not None: + _setter("org_id", org_id) + if roles is not None: + _setter("roles", roles) + if user_id is not None: + _setter("user_id", user_id) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + @property + @pulumi.getter + def roles(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + List of roles granted + """ + return pulumi.get(self, "roles") + + @roles.setter + def roles(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "roles", value) + + @property + @pulumi.getter(name="userId") + def user_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the user + """ + return pulumi.get(self, "user_id") + + @user_id.setter + def user_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "user_id", value) + + +class OrgMember(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + org_id: Optional[pulumi.Input[str]] = None, + roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + user_id: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Resource representing the membership of a user on an organization, defined with the given role. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.OrgMember("default", + org_id=data["zitadel_org"]["default"]["id"], + user_id=data["zitadel_human_user"]["default"]["id"], + roles=["ORG_OWNER"]) + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/orgMember:OrgMember imported '123456789012345678:123456789012345678' + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: List of roles granted + :param pulumi.Input[str] user_id: ID of the user + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: OrgMemberArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource representing the membership of a user on an organization, defined with the given role. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.OrgMember("default", + org_id=data["zitadel_org"]["default"]["id"], + user_id=data["zitadel_human_user"]["default"]["id"], + roles=["ORG_OWNER"]) + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/orgMember:OrgMember imported '123456789012345678:123456789012345678' + ``` + + :param str resource_name: The name of the resource. + :param OrgMemberArgs 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(OrgMemberArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + OrgMemberArgs._configure(_setter, **kwargs) + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + org_id: Optional[pulumi.Input[str]] = None, + roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + user_id: 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__ = OrgMemberArgs.__new__(OrgMemberArgs) + + __props__.__dict__["org_id"] = org_id + if roles is None and not opts.urn: + raise TypeError("Missing required property 'roles'") + __props__.__dict__["roles"] = roles + if user_id is None and not opts.urn: + raise TypeError("Missing required property 'user_id'") + __props__.__dict__["user_id"] = user_id + super(OrgMember, __self__).__init__( + 'zitadel:index/orgMember:OrgMember', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + org_id: Optional[pulumi.Input[str]] = None, + roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + user_id: Optional[pulumi.Input[str]] = None) -> 'OrgMember': + """ + Get an existing OrgMember 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[str] org_id: ID of the organization + :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: List of roles granted + :param pulumi.Input[str] user_id: ID of the user + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _OrgMemberState.__new__(_OrgMemberState) + + __props__.__dict__["org_id"] = org_id + __props__.__dict__["roles"] = roles + __props__.__dict__["user_id"] = user_id + return OrgMember(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> pulumi.Output[Optional[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @property + @pulumi.getter + def roles(self) -> pulumi.Output[Sequence[str]]: + """ + List of roles granted + """ + return pulumi.get(self, "roles") + + @property + @pulumi.getter(name="userId") + def user_id(self) -> pulumi.Output[str]: + """ + ID of the user + """ + return pulumi.get(self, "user_id") + diff --git a/sdk/python/scoretechnologies_zitadel/org_metadata.py b/sdk/python/scoretechnologies_zitadel/org_metadata.py new file mode 100644 index 0000000..5ecaa48 --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/org_metadata.py @@ -0,0 +1,315 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['OrgMetadataArgs', 'OrgMetadata'] + +@pulumi.input_type +class OrgMetadataArgs: + def __init__(__self__, *, + key: pulumi.Input[str], + value: pulumi.Input[str], + org_id: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a OrgMetadata resource. + :param pulumi.Input[str] key: The key of a metadata entry + :param pulumi.Input[str] value: The string representation of a metadata entry value. For binary data, use the base64encode function. + :param pulumi.Input[str] org_id: ID of the organization + """ + OrgMetadataArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + key=key, + value=value, + org_id=org_id, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + key: pulumi.Input[str], + value: pulumi.Input[str], + org_id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + + _setter("key", key) + _setter("value", value) + if org_id is not None: + _setter("org_id", org_id) + + @property + @pulumi.getter + def key(self) -> pulumi.Input[str]: + """ + The key of a metadata entry + """ + return pulumi.get(self, "key") + + @key.setter + def key(self, value: pulumi.Input[str]): + pulumi.set(self, "key", value) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[str]: + """ + The string representation of a metadata entry value. For binary data, use the base64encode function. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[str]): + pulumi.set(self, "value", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + +@pulumi.input_type +class _OrgMetadataState: + def __init__(__self__, *, + key: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + value: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering OrgMetadata resources. + :param pulumi.Input[str] key: The key of a metadata entry + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[str] value: The string representation of a metadata entry value. For binary data, use the base64encode function. + """ + _OrgMetadataState._configure( + lambda key, value: pulumi.set(__self__, key, value), + key=key, + org_id=org_id, + value=value, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + key: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + value: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + + if key is not None: + _setter("key", key) + if org_id is not None: + _setter("org_id", org_id) + if value is not None: + _setter("value", value) + + @property + @pulumi.getter + def key(self) -> Optional[pulumi.Input[str]]: + """ + The key of a metadata entry + """ + return pulumi.get(self, "key") + + @key.setter + def key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "key", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + @property + @pulumi.getter + def value(self) -> Optional[pulumi.Input[str]]: + """ + The string representation of a metadata entry value. For binary data, use the base64encode function. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "value", value) + + +class OrgMetadata(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + key: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + value: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.OrgMetadata("default", + org_id=data["zitadel_org"]["default"]["id"], + key="a_key", + value="a_value") + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/orgMetadata:OrgMetadata imported 'a_key:123456789012345678' + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] key: The key of a metadata entry + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[str] value: The string representation of a metadata entry value. For binary data, use the base64encode function. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: OrgMetadataArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.OrgMetadata("default", + org_id=data["zitadel_org"]["default"]["id"], + key="a_key", + value="a_value") + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/orgMetadata:OrgMetadata imported 'a_key:123456789012345678' + ``` + + :param str resource_name: The name of the resource. + :param OrgMetadataArgs 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(OrgMetadataArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + OrgMetadataArgs._configure(_setter, **kwargs) + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + key: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + value: 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__ = OrgMetadataArgs.__new__(OrgMetadataArgs) + + if key is None and not opts.urn: + raise TypeError("Missing required property 'key'") + __props__.__dict__["key"] = key + __props__.__dict__["org_id"] = org_id + if value is None and not opts.urn: + raise TypeError("Missing required property 'value'") + __props__.__dict__["value"] = value + super(OrgMetadata, __self__).__init__( + 'zitadel:index/orgMetadata:OrgMetadata', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + key: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + value: Optional[pulumi.Input[str]] = None) -> 'OrgMetadata': + """ + Get an existing OrgMetadata 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[str] key: The key of a metadata entry + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[str] value: The string representation of a metadata entry value. For binary data, use the base64encode function. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _OrgMetadataState.__new__(_OrgMetadataState) + + __props__.__dict__["key"] = key + __props__.__dict__["org_id"] = org_id + __props__.__dict__["value"] = value + return OrgMetadata(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def key(self) -> pulumi.Output[str]: + """ + The key of a metadata entry + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> pulumi.Output[Optional[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @property + @pulumi.getter + def value(self) -> pulumi.Output[str]: + """ + The string representation of a metadata entry value. For binary data, use the base64encode function. + """ + return pulumi.get(self, "value") + diff --git a/sdk/python/scoretechnologies_zitadel/password_complexity_policy.py b/sdk/python/scoretechnologies_zitadel/password_complexity_policy.py new file mode 100644 index 0000000..23b73d2 --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/password_complexity_policy.py @@ -0,0 +1,485 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['PasswordComplexityPolicyArgs', 'PasswordComplexityPolicy'] + +@pulumi.input_type +class PasswordComplexityPolicyArgs: + def __init__(__self__, *, + has_lowercase: pulumi.Input[bool], + has_number: pulumi.Input[bool], + has_symbol: pulumi.Input[bool], + has_uppercase: pulumi.Input[bool], + min_length: pulumi.Input[int], + org_id: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a PasswordComplexityPolicy resource. + :param pulumi.Input[bool] has_lowercase: defines if the password MUST contain a lower case letter + :param pulumi.Input[bool] has_number: defines if the password MUST contain a number + :param pulumi.Input[bool] has_symbol: defines if the password MUST contain a symbol. E.g. "$" + :param pulumi.Input[bool] has_uppercase: defines if the password MUST contain an upper case letter + :param pulumi.Input[int] min_length: Minimal length for the password + :param pulumi.Input[str] org_id: ID of the organization + """ + PasswordComplexityPolicyArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + has_lowercase=has_lowercase, + has_number=has_number, + has_symbol=has_symbol, + has_uppercase=has_uppercase, + min_length=min_length, + org_id=org_id, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + has_lowercase: pulumi.Input[bool], + has_number: pulumi.Input[bool], + has_symbol: pulumi.Input[bool], + has_uppercase: pulumi.Input[bool], + min_length: pulumi.Input[int], + org_id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'hasLowercase' in kwargs: + has_lowercase = kwargs['hasLowercase'] + if 'hasNumber' in kwargs: + has_number = kwargs['hasNumber'] + if 'hasSymbol' in kwargs: + has_symbol = kwargs['hasSymbol'] + if 'hasUppercase' in kwargs: + has_uppercase = kwargs['hasUppercase'] + if 'minLength' in kwargs: + min_length = kwargs['minLength'] + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + + _setter("has_lowercase", has_lowercase) + _setter("has_number", has_number) + _setter("has_symbol", has_symbol) + _setter("has_uppercase", has_uppercase) + _setter("min_length", min_length) + if org_id is not None: + _setter("org_id", org_id) + + @property + @pulumi.getter(name="hasLowercase") + def has_lowercase(self) -> pulumi.Input[bool]: + """ + defines if the password MUST contain a lower case letter + """ + return pulumi.get(self, "has_lowercase") + + @has_lowercase.setter + def has_lowercase(self, value: pulumi.Input[bool]): + pulumi.set(self, "has_lowercase", value) + + @property + @pulumi.getter(name="hasNumber") + def has_number(self) -> pulumi.Input[bool]: + """ + defines if the password MUST contain a number + """ + return pulumi.get(self, "has_number") + + @has_number.setter + def has_number(self, value: pulumi.Input[bool]): + pulumi.set(self, "has_number", value) + + @property + @pulumi.getter(name="hasSymbol") + def has_symbol(self) -> pulumi.Input[bool]: + """ + defines if the password MUST contain a symbol. E.g. "$" + """ + return pulumi.get(self, "has_symbol") + + @has_symbol.setter + def has_symbol(self, value: pulumi.Input[bool]): + pulumi.set(self, "has_symbol", value) + + @property + @pulumi.getter(name="hasUppercase") + def has_uppercase(self) -> pulumi.Input[bool]: + """ + defines if the password MUST contain an upper case letter + """ + return pulumi.get(self, "has_uppercase") + + @has_uppercase.setter + def has_uppercase(self, value: pulumi.Input[bool]): + pulumi.set(self, "has_uppercase", value) + + @property + @pulumi.getter(name="minLength") + def min_length(self) -> pulumi.Input[int]: + """ + Minimal length for the password + """ + return pulumi.get(self, "min_length") + + @min_length.setter + def min_length(self, value: pulumi.Input[int]): + pulumi.set(self, "min_length", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + +@pulumi.input_type +class _PasswordComplexityPolicyState: + def __init__(__self__, *, + has_lowercase: Optional[pulumi.Input[bool]] = None, + has_number: Optional[pulumi.Input[bool]] = None, + has_symbol: Optional[pulumi.Input[bool]] = None, + has_uppercase: Optional[pulumi.Input[bool]] = None, + min_length: Optional[pulumi.Input[int]] = None, + org_id: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering PasswordComplexityPolicy resources. + :param pulumi.Input[bool] has_lowercase: defines if the password MUST contain a lower case letter + :param pulumi.Input[bool] has_number: defines if the password MUST contain a number + :param pulumi.Input[bool] has_symbol: defines if the password MUST contain a symbol. E.g. "$" + :param pulumi.Input[bool] has_uppercase: defines if the password MUST contain an upper case letter + :param pulumi.Input[int] min_length: Minimal length for the password + :param pulumi.Input[str] org_id: ID of the organization + """ + _PasswordComplexityPolicyState._configure( + lambda key, value: pulumi.set(__self__, key, value), + has_lowercase=has_lowercase, + has_number=has_number, + has_symbol=has_symbol, + has_uppercase=has_uppercase, + min_length=min_length, + org_id=org_id, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + has_lowercase: Optional[pulumi.Input[bool]] = None, + has_number: Optional[pulumi.Input[bool]] = None, + has_symbol: Optional[pulumi.Input[bool]] = None, + has_uppercase: Optional[pulumi.Input[bool]] = None, + min_length: Optional[pulumi.Input[int]] = None, + org_id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'hasLowercase' in kwargs: + has_lowercase = kwargs['hasLowercase'] + if 'hasNumber' in kwargs: + has_number = kwargs['hasNumber'] + if 'hasSymbol' in kwargs: + has_symbol = kwargs['hasSymbol'] + if 'hasUppercase' in kwargs: + has_uppercase = kwargs['hasUppercase'] + if 'minLength' in kwargs: + min_length = kwargs['minLength'] + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + + if has_lowercase is not None: + _setter("has_lowercase", has_lowercase) + if has_number is not None: + _setter("has_number", has_number) + if has_symbol is not None: + _setter("has_symbol", has_symbol) + if has_uppercase is not None: + _setter("has_uppercase", has_uppercase) + if min_length is not None: + _setter("min_length", min_length) + if org_id is not None: + _setter("org_id", org_id) + + @property + @pulumi.getter(name="hasLowercase") + def has_lowercase(self) -> Optional[pulumi.Input[bool]]: + """ + defines if the password MUST contain a lower case letter + """ + return pulumi.get(self, "has_lowercase") + + @has_lowercase.setter + def has_lowercase(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "has_lowercase", value) + + @property + @pulumi.getter(name="hasNumber") + def has_number(self) -> Optional[pulumi.Input[bool]]: + """ + defines if the password MUST contain a number + """ + return pulumi.get(self, "has_number") + + @has_number.setter + def has_number(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "has_number", value) + + @property + @pulumi.getter(name="hasSymbol") + def has_symbol(self) -> Optional[pulumi.Input[bool]]: + """ + defines if the password MUST contain a symbol. E.g. "$" + """ + return pulumi.get(self, "has_symbol") + + @has_symbol.setter + def has_symbol(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "has_symbol", value) + + @property + @pulumi.getter(name="hasUppercase") + def has_uppercase(self) -> Optional[pulumi.Input[bool]]: + """ + defines if the password MUST contain an upper case letter + """ + return pulumi.get(self, "has_uppercase") + + @has_uppercase.setter + def has_uppercase(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "has_uppercase", value) + + @property + @pulumi.getter(name="minLength") + def min_length(self) -> Optional[pulumi.Input[int]]: + """ + Minimal length for the password + """ + return pulumi.get(self, "min_length") + + @min_length.setter + def min_length(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "min_length", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + +class PasswordComplexityPolicy(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + has_lowercase: Optional[pulumi.Input[bool]] = None, + has_number: Optional[pulumi.Input[bool]] = None, + has_symbol: Optional[pulumi.Input[bool]] = None, + has_uppercase: Optional[pulumi.Input[bool]] = None, + min_length: Optional[pulumi.Input[int]] = None, + org_id: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Resource representing the custom password complexity policy of an organization. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.PasswordComplexityPolicy("default", + org_id=data["zitadel_org"]["default"]["id"], + min_length=8, + has_uppercase=True, + has_lowercase=True, + has_number=True, + has_symbol=True) + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[bool] has_lowercase: defines if the password MUST contain a lower case letter + :param pulumi.Input[bool] has_number: defines if the password MUST contain a number + :param pulumi.Input[bool] has_symbol: defines if the password MUST contain a symbol. E.g. "$" + :param pulumi.Input[bool] has_uppercase: defines if the password MUST contain an upper case letter + :param pulumi.Input[int] min_length: Minimal length for the password + :param pulumi.Input[str] org_id: ID of the organization + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: PasswordComplexityPolicyArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource representing the custom password complexity policy of an organization. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.PasswordComplexityPolicy("default", + org_id=data["zitadel_org"]["default"]["id"], + min_length=8, + has_uppercase=True, + has_lowercase=True, + has_number=True, + has_symbol=True) + ``` + + :param str resource_name: The name of the resource. + :param PasswordComplexityPolicyArgs 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(PasswordComplexityPolicyArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + PasswordComplexityPolicyArgs._configure(_setter, **kwargs) + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + has_lowercase: Optional[pulumi.Input[bool]] = None, + has_number: Optional[pulumi.Input[bool]] = None, + has_symbol: Optional[pulumi.Input[bool]] = None, + has_uppercase: Optional[pulumi.Input[bool]] = None, + min_length: Optional[pulumi.Input[int]] = None, + org_id: 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__ = PasswordComplexityPolicyArgs.__new__(PasswordComplexityPolicyArgs) + + if has_lowercase is None and not opts.urn: + raise TypeError("Missing required property 'has_lowercase'") + __props__.__dict__["has_lowercase"] = has_lowercase + if has_number is None and not opts.urn: + raise TypeError("Missing required property 'has_number'") + __props__.__dict__["has_number"] = has_number + if has_symbol is None and not opts.urn: + raise TypeError("Missing required property 'has_symbol'") + __props__.__dict__["has_symbol"] = has_symbol + if has_uppercase is None and not opts.urn: + raise TypeError("Missing required property 'has_uppercase'") + __props__.__dict__["has_uppercase"] = has_uppercase + if min_length is None and not opts.urn: + raise TypeError("Missing required property 'min_length'") + __props__.__dict__["min_length"] = min_length + __props__.__dict__["org_id"] = org_id + super(PasswordComplexityPolicy, __self__).__init__( + 'zitadel:index/passwordComplexityPolicy:PasswordComplexityPolicy', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + has_lowercase: Optional[pulumi.Input[bool]] = None, + has_number: Optional[pulumi.Input[bool]] = None, + has_symbol: Optional[pulumi.Input[bool]] = None, + has_uppercase: Optional[pulumi.Input[bool]] = None, + min_length: Optional[pulumi.Input[int]] = None, + org_id: Optional[pulumi.Input[str]] = None) -> 'PasswordComplexityPolicy': + """ + Get an existing PasswordComplexityPolicy 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] has_lowercase: defines if the password MUST contain a lower case letter + :param pulumi.Input[bool] has_number: defines if the password MUST contain a number + :param pulumi.Input[bool] has_symbol: defines if the password MUST contain a symbol. E.g. "$" + :param pulumi.Input[bool] has_uppercase: defines if the password MUST contain an upper case letter + :param pulumi.Input[int] min_length: Minimal length for the password + :param pulumi.Input[str] org_id: ID of the organization + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _PasswordComplexityPolicyState.__new__(_PasswordComplexityPolicyState) + + __props__.__dict__["has_lowercase"] = has_lowercase + __props__.__dict__["has_number"] = has_number + __props__.__dict__["has_symbol"] = has_symbol + __props__.__dict__["has_uppercase"] = has_uppercase + __props__.__dict__["min_length"] = min_length + __props__.__dict__["org_id"] = org_id + return PasswordComplexityPolicy(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="hasLowercase") + def has_lowercase(self) -> pulumi.Output[bool]: + """ + defines if the password MUST contain a lower case letter + """ + return pulumi.get(self, "has_lowercase") + + @property + @pulumi.getter(name="hasNumber") + def has_number(self) -> pulumi.Output[bool]: + """ + defines if the password MUST contain a number + """ + return pulumi.get(self, "has_number") + + @property + @pulumi.getter(name="hasSymbol") + def has_symbol(self) -> pulumi.Output[bool]: + """ + defines if the password MUST contain a symbol. E.g. "$" + """ + return pulumi.get(self, "has_symbol") + + @property + @pulumi.getter(name="hasUppercase") + def has_uppercase(self) -> pulumi.Output[bool]: + """ + defines if the password MUST contain an upper case letter + """ + return pulumi.get(self, "has_uppercase") + + @property + @pulumi.getter(name="minLength") + def min_length(self) -> pulumi.Output[int]: + """ + Minimal length for the password + """ + return pulumi.get(self, "min_length") + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> pulumi.Output[Optional[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + diff --git a/sdk/python/scoretechnologies_zitadel/personal_access_token.py b/sdk/python/scoretechnologies_zitadel/personal_access_token.py new file mode 100644 index 0000000..fbeeaaa --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/personal_access_token.py @@ -0,0 +1,358 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['PersonalAccessTokenArgs', 'PersonalAccessToken'] + +@pulumi.input_type +class PersonalAccessTokenArgs: + def __init__(__self__, *, + user_id: pulumi.Input[str], + expiration_date: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a PersonalAccessToken resource. + :param pulumi.Input[str] user_id: ID of the user + :param pulumi.Input[str] expiration_date: Expiration date of the token in the RFC3339 format + :param pulumi.Input[str] org_id: ID of the organization + """ + PersonalAccessTokenArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + user_id=user_id, + expiration_date=expiration_date, + org_id=org_id, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + user_id: pulumi.Input[str], + expiration_date: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'userId' in kwargs: + user_id = kwargs['userId'] + if 'expirationDate' in kwargs: + expiration_date = kwargs['expirationDate'] + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + + _setter("user_id", user_id) + if expiration_date is not None: + _setter("expiration_date", expiration_date) + if org_id is not None: + _setter("org_id", org_id) + + @property + @pulumi.getter(name="userId") + def user_id(self) -> pulumi.Input[str]: + """ + ID of the user + """ + return pulumi.get(self, "user_id") + + @user_id.setter + def user_id(self, value: pulumi.Input[str]): + pulumi.set(self, "user_id", value) + + @property + @pulumi.getter(name="expirationDate") + def expiration_date(self) -> Optional[pulumi.Input[str]]: + """ + Expiration date of the token in the RFC3339 format + """ + return pulumi.get(self, "expiration_date") + + @expiration_date.setter + def expiration_date(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "expiration_date", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + +@pulumi.input_type +class _PersonalAccessTokenState: + def __init__(__self__, *, + expiration_date: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + token: Optional[pulumi.Input[str]] = None, + user_id: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering PersonalAccessToken resources. + :param pulumi.Input[str] expiration_date: Expiration date of the token in the RFC3339 format + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[str] token: Value of the token + :param pulumi.Input[str] user_id: ID of the user + """ + _PersonalAccessTokenState._configure( + lambda key, value: pulumi.set(__self__, key, value), + expiration_date=expiration_date, + org_id=org_id, + token=token, + user_id=user_id, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + expiration_date: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + token: Optional[pulumi.Input[str]] = None, + user_id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'expirationDate' in kwargs: + expiration_date = kwargs['expirationDate'] + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + if 'userId' in kwargs: + user_id = kwargs['userId'] + + if expiration_date is not None: + _setter("expiration_date", expiration_date) + if org_id is not None: + _setter("org_id", org_id) + if token is not None: + _setter("token", token) + if user_id is not None: + _setter("user_id", user_id) + + @property + @pulumi.getter(name="expirationDate") + def expiration_date(self) -> Optional[pulumi.Input[str]]: + """ + Expiration date of the token in the RFC3339 format + """ + return pulumi.get(self, "expiration_date") + + @expiration_date.setter + def expiration_date(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "expiration_date", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + @property + @pulumi.getter + def token(self) -> Optional[pulumi.Input[str]]: + """ + Value of the token + """ + return pulumi.get(self, "token") + + @token.setter + def token(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "token", value) + + @property + @pulumi.getter(name="userId") + def user_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the user + """ + return pulumi.get(self, "user_id") + + @user_id.setter + def user_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "user_id", value) + + +class PersonalAccessToken(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + expiration_date: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + user_id: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Resource representing a personal access token of a user + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.PersonalAccessToken("default", + org_id=data["zitadel_org"]["default"]["id"], + user_id=data["zitadel_machine_user"]["default"]["id"], + expiration_date="2519-04-01T08:45:00Z") + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/personalAccessToken:PersonalAccessToken imported '123456789012345678:123456789012345678:123456789012345678:LHt79...' + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] expiration_date: Expiration date of the token in the RFC3339 format + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[str] user_id: ID of the user + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: PersonalAccessTokenArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource representing a personal access token of a user + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.PersonalAccessToken("default", + org_id=data["zitadel_org"]["default"]["id"], + user_id=data["zitadel_machine_user"]["default"]["id"], + expiration_date="2519-04-01T08:45:00Z") + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/personalAccessToken:PersonalAccessToken imported '123456789012345678:123456789012345678:123456789012345678:LHt79...' + ``` + + :param str resource_name: The name of the resource. + :param PersonalAccessTokenArgs 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(PersonalAccessTokenArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + PersonalAccessTokenArgs._configure(_setter, **kwargs) + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + expiration_date: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + user_id: 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__ = PersonalAccessTokenArgs.__new__(PersonalAccessTokenArgs) + + __props__.__dict__["expiration_date"] = expiration_date + __props__.__dict__["org_id"] = org_id + if user_id is None and not opts.urn: + raise TypeError("Missing required property 'user_id'") + __props__.__dict__["user_id"] = user_id + __props__.__dict__["token"] = None + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["token"]) + opts = pulumi.ResourceOptions.merge(opts, secret_opts) + super(PersonalAccessToken, __self__).__init__( + 'zitadel:index/personalAccessToken:PersonalAccessToken', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + expiration_date: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + token: Optional[pulumi.Input[str]] = None, + user_id: Optional[pulumi.Input[str]] = None) -> 'PersonalAccessToken': + """ + Get an existing PersonalAccessToken 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[str] expiration_date: Expiration date of the token in the RFC3339 format + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[str] token: Value of the token + :param pulumi.Input[str] user_id: ID of the user + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _PersonalAccessTokenState.__new__(_PersonalAccessTokenState) + + __props__.__dict__["expiration_date"] = expiration_date + __props__.__dict__["org_id"] = org_id + __props__.__dict__["token"] = token + __props__.__dict__["user_id"] = user_id + return PersonalAccessToken(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="expirationDate") + def expiration_date(self) -> pulumi.Output[Optional[str]]: + """ + Expiration date of the token in the RFC3339 format + """ + return pulumi.get(self, "expiration_date") + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> pulumi.Output[Optional[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @property + @pulumi.getter + def token(self) -> pulumi.Output[str]: + """ + Value of the token + """ + return pulumi.get(self, "token") + + @property + @pulumi.getter(name="userId") + def user_id(self) -> pulumi.Output[str]: + """ + ID of the user + """ + return pulumi.get(self, "user_id") + diff --git a/sdk/python/scoretechnologies_zitadel/privacy_policy.py b/sdk/python/scoretechnologies_zitadel/privacy_policy.py new file mode 100644 index 0000000..ab6682e --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/privacy_policy.py @@ -0,0 +1,387 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['PrivacyPolicyArgs', 'PrivacyPolicy'] + +@pulumi.input_type +class PrivacyPolicyArgs: + def __init__(__self__, *, + help_link: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + privacy_link: Optional[pulumi.Input[str]] = None, + support_email: Optional[pulumi.Input[str]] = None, + tos_link: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a PrivacyPolicy resource. + :param pulumi.Input[str] org_id: ID of the organization + """ + PrivacyPolicyArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + help_link=help_link, + org_id=org_id, + privacy_link=privacy_link, + support_email=support_email, + tos_link=tos_link, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + help_link: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + privacy_link: Optional[pulumi.Input[str]] = None, + support_email: Optional[pulumi.Input[str]] = None, + tos_link: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'helpLink' in kwargs: + help_link = kwargs['helpLink'] + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + if 'privacyLink' in kwargs: + privacy_link = kwargs['privacyLink'] + if 'supportEmail' in kwargs: + support_email = kwargs['supportEmail'] + if 'tosLink' in kwargs: + tos_link = kwargs['tosLink'] + + if help_link is not None: + _setter("help_link", help_link) + if org_id is not None: + _setter("org_id", org_id) + if privacy_link is not None: + _setter("privacy_link", privacy_link) + if support_email is not None: + _setter("support_email", support_email) + if tos_link is not None: + _setter("tos_link", tos_link) + + @property + @pulumi.getter(name="helpLink") + def help_link(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "help_link") + + @help_link.setter + def help_link(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "help_link", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + @property + @pulumi.getter(name="privacyLink") + def privacy_link(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "privacy_link") + + @privacy_link.setter + def privacy_link(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "privacy_link", value) + + @property + @pulumi.getter(name="supportEmail") + def support_email(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "support_email") + + @support_email.setter + def support_email(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "support_email", value) + + @property + @pulumi.getter(name="tosLink") + def tos_link(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "tos_link") + + @tos_link.setter + def tos_link(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "tos_link", value) + + +@pulumi.input_type +class _PrivacyPolicyState: + def __init__(__self__, *, + help_link: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + privacy_link: Optional[pulumi.Input[str]] = None, + support_email: Optional[pulumi.Input[str]] = None, + tos_link: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering PrivacyPolicy resources. + :param pulumi.Input[str] org_id: ID of the organization + """ + _PrivacyPolicyState._configure( + lambda key, value: pulumi.set(__self__, key, value), + help_link=help_link, + org_id=org_id, + privacy_link=privacy_link, + support_email=support_email, + tos_link=tos_link, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + help_link: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + privacy_link: Optional[pulumi.Input[str]] = None, + support_email: Optional[pulumi.Input[str]] = None, + tos_link: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'helpLink' in kwargs: + help_link = kwargs['helpLink'] + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + if 'privacyLink' in kwargs: + privacy_link = kwargs['privacyLink'] + if 'supportEmail' in kwargs: + support_email = kwargs['supportEmail'] + if 'tosLink' in kwargs: + tos_link = kwargs['tosLink'] + + if help_link is not None: + _setter("help_link", help_link) + if org_id is not None: + _setter("org_id", org_id) + if privacy_link is not None: + _setter("privacy_link", privacy_link) + if support_email is not None: + _setter("support_email", support_email) + if tos_link is not None: + _setter("tos_link", tos_link) + + @property + @pulumi.getter(name="helpLink") + def help_link(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "help_link") + + @help_link.setter + def help_link(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "help_link", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + @property + @pulumi.getter(name="privacyLink") + def privacy_link(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "privacy_link") + + @privacy_link.setter + def privacy_link(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "privacy_link", value) + + @property + @pulumi.getter(name="supportEmail") + def support_email(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "support_email") + + @support_email.setter + def support_email(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "support_email", value) + + @property + @pulumi.getter(name="tosLink") + def tos_link(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "tos_link") + + @tos_link.setter + def tos_link(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "tos_link", value) + + +class PrivacyPolicy(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + help_link: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + privacy_link: Optional[pulumi.Input[str]] = None, + support_email: Optional[pulumi.Input[str]] = None, + tos_link: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Resource representing the custom privacy policy of an organization. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.PrivacyPolicy("default", + org_id=data["zitadel_org"]["default"]["id"], + tos_link="https://example.com/tos", + privacy_link="https://example.com/privacy", + help_link="https://example.com/help", + support_email="support@example.com") + ``` + + ## Import + + bash The resource can be imported using the ID format `<[org_id]>`, e.g. + + ```sh + $ pulumi import zitadel:index/privacyPolicy:PrivacyPolicy imported '123456789012345678' + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] org_id: ID of the organization + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: Optional[PrivacyPolicyArgs] = None, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource representing the custom privacy policy of an organization. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.PrivacyPolicy("default", + org_id=data["zitadel_org"]["default"]["id"], + tos_link="https://example.com/tos", + privacy_link="https://example.com/privacy", + help_link="https://example.com/help", + support_email="support@example.com") + ``` + + ## Import + + bash The resource can be imported using the ID format `<[org_id]>`, e.g. + + ```sh + $ pulumi import zitadel:index/privacyPolicy:PrivacyPolicy imported '123456789012345678' + ``` + + :param str resource_name: The name of the resource. + :param PrivacyPolicyArgs 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(PrivacyPolicyArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + PrivacyPolicyArgs._configure(_setter, **kwargs) + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + help_link: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + privacy_link: Optional[pulumi.Input[str]] = None, + support_email: Optional[pulumi.Input[str]] = None, + tos_link: 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__ = PrivacyPolicyArgs.__new__(PrivacyPolicyArgs) + + __props__.__dict__["help_link"] = help_link + __props__.__dict__["org_id"] = org_id + __props__.__dict__["privacy_link"] = privacy_link + __props__.__dict__["support_email"] = support_email + __props__.__dict__["tos_link"] = tos_link + super(PrivacyPolicy, __self__).__init__( + 'zitadel:index/privacyPolicy:PrivacyPolicy', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + help_link: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + privacy_link: Optional[pulumi.Input[str]] = None, + support_email: Optional[pulumi.Input[str]] = None, + tos_link: Optional[pulumi.Input[str]] = None) -> 'PrivacyPolicy': + """ + Get an existing PrivacyPolicy 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[str] org_id: ID of the organization + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _PrivacyPolicyState.__new__(_PrivacyPolicyState) + + __props__.__dict__["help_link"] = help_link + __props__.__dict__["org_id"] = org_id + __props__.__dict__["privacy_link"] = privacy_link + __props__.__dict__["support_email"] = support_email + __props__.__dict__["tos_link"] = tos_link + return PrivacyPolicy(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="helpLink") + def help_link(self) -> pulumi.Output[Optional[str]]: + return pulumi.get(self, "help_link") + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> pulumi.Output[Optional[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @property + @pulumi.getter(name="privacyLink") + def privacy_link(self) -> pulumi.Output[Optional[str]]: + return pulumi.get(self, "privacy_link") + + @property + @pulumi.getter(name="supportEmail") + def support_email(self) -> pulumi.Output[Optional[str]]: + return pulumi.get(self, "support_email") + + @property + @pulumi.getter(name="tosLink") + def tos_link(self) -> pulumi.Output[Optional[str]]: + return pulumi.get(self, "tos_link") + diff --git a/sdk/python/scoretechnologies_zitadel/project.py b/sdk/python/scoretechnologies_zitadel/project.py new file mode 100644 index 0000000..c6fe57a --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/project.py @@ -0,0 +1,520 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['ProjectArgs', 'Project'] + +@pulumi.input_type +class ProjectArgs: + def __init__(__self__, *, + has_project_check: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + private_labeling_setting: Optional[pulumi.Input[str]] = None, + project_role_assertion: Optional[pulumi.Input[bool]] = None, + project_role_check: Optional[pulumi.Input[bool]] = None): + """ + The set of arguments for constructing a Project resource. + :param pulumi.Input[bool] has_project_check: ZITADEL checks if the org of the user has permission to this project + :param pulumi.Input[str] name: Name of the project + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[str] private_labeling_setting: Defines from where the private labeling should be triggered, supported values: PRIVATE*LABELING*SETTING*UNSPECIFIED, PRIVATE*LABELING*SETTING*ENFORCE*PROJECT*RESOURCE*OWNER*POLICY, PRIVATE*LABELING*SETTING*ALLOW*LOGIN*USER*RESOURCE*OWNER*POLICY + :param pulumi.Input[bool] project_role_assertion: describes if roles of user should be added in token + :param pulumi.Input[bool] project_role_check: ZITADEL checks if the user has at least one on this project + """ + ProjectArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + has_project_check=has_project_check, + name=name, + org_id=org_id, + private_labeling_setting=private_labeling_setting, + project_role_assertion=project_role_assertion, + project_role_check=project_role_check, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + has_project_check: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + private_labeling_setting: Optional[pulumi.Input[str]] = None, + project_role_assertion: Optional[pulumi.Input[bool]] = None, + project_role_check: Optional[pulumi.Input[bool]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'hasProjectCheck' in kwargs: + has_project_check = kwargs['hasProjectCheck'] + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + if 'privateLabelingSetting' in kwargs: + private_labeling_setting = kwargs['privateLabelingSetting'] + if 'projectRoleAssertion' in kwargs: + project_role_assertion = kwargs['projectRoleAssertion'] + if 'projectRoleCheck' in kwargs: + project_role_check = kwargs['projectRoleCheck'] + + if has_project_check is not None: + _setter("has_project_check", has_project_check) + if name is not None: + _setter("name", name) + if org_id is not None: + _setter("org_id", org_id) + if private_labeling_setting is not None: + _setter("private_labeling_setting", private_labeling_setting) + if project_role_assertion is not None: + _setter("project_role_assertion", project_role_assertion) + if project_role_check is not None: + _setter("project_role_check", project_role_check) + + @property + @pulumi.getter(name="hasProjectCheck") + def has_project_check(self) -> Optional[pulumi.Input[bool]]: + """ + ZITADEL checks if the org of the user has permission to this project + """ + return pulumi.get(self, "has_project_check") + + @has_project_check.setter + def has_project_check(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "has_project_check", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the project + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + @property + @pulumi.getter(name="privateLabelingSetting") + def private_labeling_setting(self) -> Optional[pulumi.Input[str]]: + """ + Defines from where the private labeling should be triggered, supported values: PRIVATE*LABELING*SETTING*UNSPECIFIED, PRIVATE*LABELING*SETTING*ENFORCE*PROJECT*RESOURCE*OWNER*POLICY, PRIVATE*LABELING*SETTING*ALLOW*LOGIN*USER*RESOURCE*OWNER*POLICY + """ + return pulumi.get(self, "private_labeling_setting") + + @private_labeling_setting.setter + def private_labeling_setting(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "private_labeling_setting", value) + + @property + @pulumi.getter(name="projectRoleAssertion") + def project_role_assertion(self) -> Optional[pulumi.Input[bool]]: + """ + describes if roles of user should be added in token + """ + return pulumi.get(self, "project_role_assertion") + + @project_role_assertion.setter + def project_role_assertion(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "project_role_assertion", value) + + @property + @pulumi.getter(name="projectRoleCheck") + def project_role_check(self) -> Optional[pulumi.Input[bool]]: + """ + ZITADEL checks if the user has at least one on this project + """ + return pulumi.get(self, "project_role_check") + + @project_role_check.setter + def project_role_check(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "project_role_check", value) + + +@pulumi.input_type +class _ProjectState: + def __init__(__self__, *, + has_project_check: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + private_labeling_setting: Optional[pulumi.Input[str]] = None, + project_role_assertion: Optional[pulumi.Input[bool]] = None, + project_role_check: Optional[pulumi.Input[bool]] = None, + state: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering Project resources. + :param pulumi.Input[bool] has_project_check: ZITADEL checks if the org of the user has permission to this project + :param pulumi.Input[str] name: Name of the project + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[str] private_labeling_setting: Defines from where the private labeling should be triggered, supported values: PRIVATE*LABELING*SETTING*UNSPECIFIED, PRIVATE*LABELING*SETTING*ENFORCE*PROJECT*RESOURCE*OWNER*POLICY, PRIVATE*LABELING*SETTING*ALLOW*LOGIN*USER*RESOURCE*OWNER*POLICY + :param pulumi.Input[bool] project_role_assertion: describes if roles of user should be added in token + :param pulumi.Input[bool] project_role_check: ZITADEL checks if the user has at least one on this project + :param pulumi.Input[str] state: State of the project + """ + _ProjectState._configure( + lambda key, value: pulumi.set(__self__, key, value), + has_project_check=has_project_check, + name=name, + org_id=org_id, + private_labeling_setting=private_labeling_setting, + project_role_assertion=project_role_assertion, + project_role_check=project_role_check, + state=state, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + has_project_check: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + private_labeling_setting: Optional[pulumi.Input[str]] = None, + project_role_assertion: Optional[pulumi.Input[bool]] = None, + project_role_check: Optional[pulumi.Input[bool]] = None, + state: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'hasProjectCheck' in kwargs: + has_project_check = kwargs['hasProjectCheck'] + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + if 'privateLabelingSetting' in kwargs: + private_labeling_setting = kwargs['privateLabelingSetting'] + if 'projectRoleAssertion' in kwargs: + project_role_assertion = kwargs['projectRoleAssertion'] + if 'projectRoleCheck' in kwargs: + project_role_check = kwargs['projectRoleCheck'] + + if has_project_check is not None: + _setter("has_project_check", has_project_check) + if name is not None: + _setter("name", name) + if org_id is not None: + _setter("org_id", org_id) + if private_labeling_setting is not None: + _setter("private_labeling_setting", private_labeling_setting) + if project_role_assertion is not None: + _setter("project_role_assertion", project_role_assertion) + if project_role_check is not None: + _setter("project_role_check", project_role_check) + if state is not None: + _setter("state", state) + + @property + @pulumi.getter(name="hasProjectCheck") + def has_project_check(self) -> Optional[pulumi.Input[bool]]: + """ + ZITADEL checks if the org of the user has permission to this project + """ + return pulumi.get(self, "has_project_check") + + @has_project_check.setter + def has_project_check(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "has_project_check", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the project + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + @property + @pulumi.getter(name="privateLabelingSetting") + def private_labeling_setting(self) -> Optional[pulumi.Input[str]]: + """ + Defines from where the private labeling should be triggered, supported values: PRIVATE*LABELING*SETTING*UNSPECIFIED, PRIVATE*LABELING*SETTING*ENFORCE*PROJECT*RESOURCE*OWNER*POLICY, PRIVATE*LABELING*SETTING*ALLOW*LOGIN*USER*RESOURCE*OWNER*POLICY + """ + return pulumi.get(self, "private_labeling_setting") + + @private_labeling_setting.setter + def private_labeling_setting(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "private_labeling_setting", value) + + @property + @pulumi.getter(name="projectRoleAssertion") + def project_role_assertion(self) -> Optional[pulumi.Input[bool]]: + """ + describes if roles of user should be added in token + """ + return pulumi.get(self, "project_role_assertion") + + @project_role_assertion.setter + def project_role_assertion(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "project_role_assertion", value) + + @property + @pulumi.getter(name="projectRoleCheck") + def project_role_check(self) -> Optional[pulumi.Input[bool]]: + """ + ZITADEL checks if the user has at least one on this project + """ + return pulumi.get(self, "project_role_check") + + @project_role_check.setter + def project_role_check(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "project_role_check", value) + + @property + @pulumi.getter + def state(self) -> Optional[pulumi.Input[str]]: + """ + State of the project + """ + return pulumi.get(self, "state") + + @state.setter + def state(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "state", value) + + +class Project(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + has_project_check: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + private_labeling_setting: Optional[pulumi.Input[str]] = None, + project_role_assertion: Optional[pulumi.Input[bool]] = None, + project_role_check: Optional[pulumi.Input[bool]] = None, + __props__=None): + """ + Resource representing the project, which can then be granted to different organizations or users directly, containing different applications. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.Project("default", + org_id=data["zitadel_org"]["default"]["id"], + project_role_assertion=True, + project_role_check=True, + has_project_check=True, + private_labeling_setting="PRIVATE_LABELING_SETTING_ENFORCE_PROJECT_RESOURCE_OWNER_POLICY") + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/project:Project imported '123456789012345678:123456789012345678' + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[bool] has_project_check: ZITADEL checks if the org of the user has permission to this project + :param pulumi.Input[str] name: Name of the project + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[str] private_labeling_setting: Defines from where the private labeling should be triggered, supported values: PRIVATE*LABELING*SETTING*UNSPECIFIED, PRIVATE*LABELING*SETTING*ENFORCE*PROJECT*RESOURCE*OWNER*POLICY, PRIVATE*LABELING*SETTING*ALLOW*LOGIN*USER*RESOURCE*OWNER*POLICY + :param pulumi.Input[bool] project_role_assertion: describes if roles of user should be added in token + :param pulumi.Input[bool] project_role_check: ZITADEL checks if the user has at least one on this project + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: Optional[ProjectArgs] = None, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource representing the project, which can then be granted to different organizations or users directly, containing different applications. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.Project("default", + org_id=data["zitadel_org"]["default"]["id"], + project_role_assertion=True, + project_role_check=True, + has_project_check=True, + private_labeling_setting="PRIVATE_LABELING_SETTING_ENFORCE_PROJECT_RESOURCE_OWNER_POLICY") + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/project:Project imported '123456789012345678:123456789012345678' + ``` + + :param str resource_name: The name of the resource. + :param ProjectArgs 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(ProjectArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + ProjectArgs._configure(_setter, **kwargs) + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + has_project_check: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + private_labeling_setting: Optional[pulumi.Input[str]] = None, + project_role_assertion: Optional[pulumi.Input[bool]] = None, + project_role_check: Optional[pulumi.Input[bool]] = 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__ = ProjectArgs.__new__(ProjectArgs) + + __props__.__dict__["has_project_check"] = has_project_check + __props__.__dict__["name"] = name + __props__.__dict__["org_id"] = org_id + __props__.__dict__["private_labeling_setting"] = private_labeling_setting + __props__.__dict__["project_role_assertion"] = project_role_assertion + __props__.__dict__["project_role_check"] = project_role_check + __props__.__dict__["state"] = None + super(Project, __self__).__init__( + 'zitadel:index/project:Project', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + has_project_check: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + private_labeling_setting: Optional[pulumi.Input[str]] = None, + project_role_assertion: Optional[pulumi.Input[bool]] = None, + project_role_check: Optional[pulumi.Input[bool]] = None, + state: Optional[pulumi.Input[str]] = None) -> 'Project': + """ + Get an existing Project 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] has_project_check: ZITADEL checks if the org of the user has permission to this project + :param pulumi.Input[str] name: Name of the project + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[str] private_labeling_setting: Defines from where the private labeling should be triggered, supported values: PRIVATE*LABELING*SETTING*UNSPECIFIED, PRIVATE*LABELING*SETTING*ENFORCE*PROJECT*RESOURCE*OWNER*POLICY, PRIVATE*LABELING*SETTING*ALLOW*LOGIN*USER*RESOURCE*OWNER*POLICY + :param pulumi.Input[bool] project_role_assertion: describes if roles of user should be added in token + :param pulumi.Input[bool] project_role_check: ZITADEL checks if the user has at least one on this project + :param pulumi.Input[str] state: State of the project + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _ProjectState.__new__(_ProjectState) + + __props__.__dict__["has_project_check"] = has_project_check + __props__.__dict__["name"] = name + __props__.__dict__["org_id"] = org_id + __props__.__dict__["private_labeling_setting"] = private_labeling_setting + __props__.__dict__["project_role_assertion"] = project_role_assertion + __props__.__dict__["project_role_check"] = project_role_check + __props__.__dict__["state"] = state + return Project(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="hasProjectCheck") + def has_project_check(self) -> pulumi.Output[Optional[bool]]: + """ + ZITADEL checks if the org of the user has permission to this project + """ + return pulumi.get(self, "has_project_check") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Name of the project + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> pulumi.Output[Optional[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @property + @pulumi.getter(name="privateLabelingSetting") + def private_labeling_setting(self) -> pulumi.Output[Optional[str]]: + """ + Defines from where the private labeling should be triggered, supported values: PRIVATE*LABELING*SETTING*UNSPECIFIED, PRIVATE*LABELING*SETTING*ENFORCE*PROJECT*RESOURCE*OWNER*POLICY, PRIVATE*LABELING*SETTING*ALLOW*LOGIN*USER*RESOURCE*OWNER*POLICY + """ + return pulumi.get(self, "private_labeling_setting") + + @property + @pulumi.getter(name="projectRoleAssertion") + def project_role_assertion(self) -> pulumi.Output[Optional[bool]]: + """ + describes if roles of user should be added in token + """ + return pulumi.get(self, "project_role_assertion") + + @property + @pulumi.getter(name="projectRoleCheck") + def project_role_check(self) -> pulumi.Output[Optional[bool]]: + """ + ZITADEL checks if the user has at least one on this project + """ + return pulumi.get(self, "project_role_check") + + @property + @pulumi.getter + def state(self) -> pulumi.Output[str]: + """ + State of the project + """ + return pulumi.get(self, "state") + diff --git a/sdk/python/scoretechnologies_zitadel/project_grant.py b/sdk/python/scoretechnologies_zitadel/project_grant.py new file mode 100644 index 0000000..59d576c --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/project_grant.py @@ -0,0 +1,384 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['ProjectGrantArgs', 'ProjectGrant'] + +@pulumi.input_type +class ProjectGrantArgs: + def __init__(__self__, *, + granted_org_id: pulumi.Input[str], + project_id: pulumi.Input[str], + org_id: Optional[pulumi.Input[str]] = None, + role_keys: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a ProjectGrant resource. + :param pulumi.Input[str] granted_org_id: ID of the organization granted the project + :param pulumi.Input[str] project_id: ID of the project + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[Sequence[pulumi.Input[str]]] role_keys: List of roles granted + """ + ProjectGrantArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + granted_org_id=granted_org_id, + project_id=project_id, + org_id=org_id, + role_keys=role_keys, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + granted_org_id: pulumi.Input[str], + project_id: pulumi.Input[str], + org_id: Optional[pulumi.Input[str]] = None, + role_keys: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'grantedOrgId' in kwargs: + granted_org_id = kwargs['grantedOrgId'] + if 'projectId' in kwargs: + project_id = kwargs['projectId'] + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + if 'roleKeys' in kwargs: + role_keys = kwargs['roleKeys'] + + _setter("granted_org_id", granted_org_id) + _setter("project_id", project_id) + if org_id is not None: + _setter("org_id", org_id) + if role_keys is not None: + _setter("role_keys", role_keys) + + @property + @pulumi.getter(name="grantedOrgId") + def granted_org_id(self) -> pulumi.Input[str]: + """ + ID of the organization granted the project + """ + return pulumi.get(self, "granted_org_id") + + @granted_org_id.setter + def granted_org_id(self, value: pulumi.Input[str]): + pulumi.set(self, "granted_org_id", value) + + @property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Input[str]: + """ + ID of the project + """ + return pulumi.get(self, "project_id") + + @project_id.setter + def project_id(self, value: pulumi.Input[str]): + pulumi.set(self, "project_id", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + @property + @pulumi.getter(name="roleKeys") + def role_keys(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + List of roles granted + """ + return pulumi.get(self, "role_keys") + + @role_keys.setter + def role_keys(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "role_keys", value) + + +@pulumi.input_type +class _ProjectGrantState: + def __init__(__self__, *, + granted_org_id: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + project_id: Optional[pulumi.Input[str]] = None, + role_keys: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + Input properties used for looking up and filtering ProjectGrant resources. + :param pulumi.Input[str] granted_org_id: ID of the organization granted the project + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[str] project_id: ID of the project + :param pulumi.Input[Sequence[pulumi.Input[str]]] role_keys: List of roles granted + """ + _ProjectGrantState._configure( + lambda key, value: pulumi.set(__self__, key, value), + granted_org_id=granted_org_id, + org_id=org_id, + project_id=project_id, + role_keys=role_keys, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + granted_org_id: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + project_id: Optional[pulumi.Input[str]] = None, + role_keys: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'grantedOrgId' in kwargs: + granted_org_id = kwargs['grantedOrgId'] + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + if 'projectId' in kwargs: + project_id = kwargs['projectId'] + if 'roleKeys' in kwargs: + role_keys = kwargs['roleKeys'] + + if granted_org_id is not None: + _setter("granted_org_id", granted_org_id) + if org_id is not None: + _setter("org_id", org_id) + if project_id is not None: + _setter("project_id", project_id) + if role_keys is not None: + _setter("role_keys", role_keys) + + @property + @pulumi.getter(name="grantedOrgId") + def granted_org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization granted the project + """ + return pulumi.get(self, "granted_org_id") + + @granted_org_id.setter + def granted_org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "granted_org_id", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + @property + @pulumi.getter(name="projectId") + def project_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the project + """ + return pulumi.get(self, "project_id") + + @project_id.setter + def project_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "project_id", value) + + @property + @pulumi.getter(name="roleKeys") + def role_keys(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + List of roles granted + """ + return pulumi.get(self, "role_keys") + + @role_keys.setter + def role_keys(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "role_keys", value) + + +class ProjectGrant(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + granted_org_id: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + project_id: Optional[pulumi.Input[str]] = None, + role_keys: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + __props__=None): + """ + Resource representing the grant of a project to a different organization, also containing the available roles which can be given to the members of the projectgrant. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.ProjectGrant("default", + org_id=data["zitadel_org"]["default"]["id"], + project_id=data["zitadel_project"]["default"]["id"], + granted_org_id=data["zitadel_org"]["granted_org"]["id"], + role_keys=["super-user"]) + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/projectGrant:ProjectGrant imported '123456789012345678:123456789012345678:123456789012345678' + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] granted_org_id: ID of the organization granted the project + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[str] project_id: ID of the project + :param pulumi.Input[Sequence[pulumi.Input[str]]] role_keys: List of roles granted + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: ProjectGrantArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource representing the grant of a project to a different organization, also containing the available roles which can be given to the members of the projectgrant. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.ProjectGrant("default", + org_id=data["zitadel_org"]["default"]["id"], + project_id=data["zitadel_project"]["default"]["id"], + granted_org_id=data["zitadel_org"]["granted_org"]["id"], + role_keys=["super-user"]) + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/projectGrant:ProjectGrant imported '123456789012345678:123456789012345678:123456789012345678' + ``` + + :param str resource_name: The name of the resource. + :param ProjectGrantArgs 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(ProjectGrantArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + ProjectGrantArgs._configure(_setter, **kwargs) + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + granted_org_id: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + project_id: Optional[pulumi.Input[str]] = None, + role_keys: Optional[pulumi.Input[Sequence[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__ = ProjectGrantArgs.__new__(ProjectGrantArgs) + + if granted_org_id is None and not opts.urn: + raise TypeError("Missing required property 'granted_org_id'") + __props__.__dict__["granted_org_id"] = granted_org_id + __props__.__dict__["org_id"] = org_id + if project_id is None and not opts.urn: + raise TypeError("Missing required property 'project_id'") + __props__.__dict__["project_id"] = project_id + __props__.__dict__["role_keys"] = role_keys + super(ProjectGrant, __self__).__init__( + 'zitadel:index/projectGrant:ProjectGrant', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + granted_org_id: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + project_id: Optional[pulumi.Input[str]] = None, + role_keys: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None) -> 'ProjectGrant': + """ + Get an existing ProjectGrant 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[str] granted_org_id: ID of the organization granted the project + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[str] project_id: ID of the project + :param pulumi.Input[Sequence[pulumi.Input[str]]] role_keys: List of roles granted + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _ProjectGrantState.__new__(_ProjectGrantState) + + __props__.__dict__["granted_org_id"] = granted_org_id + __props__.__dict__["org_id"] = org_id + __props__.__dict__["project_id"] = project_id + __props__.__dict__["role_keys"] = role_keys + return ProjectGrant(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="grantedOrgId") + def granted_org_id(self) -> pulumi.Output[str]: + """ + ID of the organization granted the project + """ + return pulumi.get(self, "granted_org_id") + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> pulumi.Output[Optional[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Output[str]: + """ + ID of the project + """ + return pulumi.get(self, "project_id") + + @property + @pulumi.getter(name="roleKeys") + def role_keys(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + List of roles granted + """ + return pulumi.get(self, "role_keys") + diff --git a/sdk/python/scoretechnologies_zitadel/project_grant_member.py b/sdk/python/scoretechnologies_zitadel/project_grant_member.py new file mode 100644 index 0000000..9779e2a --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/project_grant_member.py @@ -0,0 +1,439 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['ProjectGrantMemberArgs', 'ProjectGrantMember'] + +@pulumi.input_type +class ProjectGrantMemberArgs: + def __init__(__self__, *, + grant_id: pulumi.Input[str], + project_id: pulumi.Input[str], + roles: pulumi.Input[Sequence[pulumi.Input[str]]], + user_id: pulumi.Input[str], + org_id: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a ProjectGrantMember resource. + :param pulumi.Input[str] grant_id: ID of the grant + :param pulumi.Input[str] project_id: ID of the project + :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: List of roles granted + :param pulumi.Input[str] user_id: ID of the user + :param pulumi.Input[str] org_id: ID of the organization + """ + ProjectGrantMemberArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + grant_id=grant_id, + project_id=project_id, + roles=roles, + user_id=user_id, + org_id=org_id, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + grant_id: pulumi.Input[str], + project_id: pulumi.Input[str], + roles: pulumi.Input[Sequence[pulumi.Input[str]]], + user_id: pulumi.Input[str], + org_id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'grantId' in kwargs: + grant_id = kwargs['grantId'] + if 'projectId' in kwargs: + project_id = kwargs['projectId'] + if 'userId' in kwargs: + user_id = kwargs['userId'] + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + + _setter("grant_id", grant_id) + _setter("project_id", project_id) + _setter("roles", roles) + _setter("user_id", user_id) + if org_id is not None: + _setter("org_id", org_id) + + @property + @pulumi.getter(name="grantId") + def grant_id(self) -> pulumi.Input[str]: + """ + ID of the grant + """ + return pulumi.get(self, "grant_id") + + @grant_id.setter + def grant_id(self, value: pulumi.Input[str]): + pulumi.set(self, "grant_id", value) + + @property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Input[str]: + """ + ID of the project + """ + return pulumi.get(self, "project_id") + + @project_id.setter + def project_id(self, value: pulumi.Input[str]): + pulumi.set(self, "project_id", value) + + @property + @pulumi.getter + def roles(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + List of roles granted + """ + return pulumi.get(self, "roles") + + @roles.setter + def roles(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "roles", value) + + @property + @pulumi.getter(name="userId") + def user_id(self) -> pulumi.Input[str]: + """ + ID of the user + """ + return pulumi.get(self, "user_id") + + @user_id.setter + def user_id(self, value: pulumi.Input[str]): + pulumi.set(self, "user_id", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + +@pulumi.input_type +class _ProjectGrantMemberState: + def __init__(__self__, *, + grant_id: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + project_id: Optional[pulumi.Input[str]] = None, + roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + user_id: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering ProjectGrantMember resources. + :param pulumi.Input[str] grant_id: ID of the grant + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[str] project_id: ID of the project + :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: List of roles granted + :param pulumi.Input[str] user_id: ID of the user + """ + _ProjectGrantMemberState._configure( + lambda key, value: pulumi.set(__self__, key, value), + grant_id=grant_id, + org_id=org_id, + project_id=project_id, + roles=roles, + user_id=user_id, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + grant_id: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + project_id: Optional[pulumi.Input[str]] = None, + roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + user_id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'grantId' in kwargs: + grant_id = kwargs['grantId'] + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + if 'projectId' in kwargs: + project_id = kwargs['projectId'] + if 'userId' in kwargs: + user_id = kwargs['userId'] + + if grant_id is not None: + _setter("grant_id", grant_id) + if org_id is not None: + _setter("org_id", org_id) + if project_id is not None: + _setter("project_id", project_id) + if roles is not None: + _setter("roles", roles) + if user_id is not None: + _setter("user_id", user_id) + + @property + @pulumi.getter(name="grantId") + def grant_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the grant + """ + return pulumi.get(self, "grant_id") + + @grant_id.setter + def grant_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "grant_id", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + @property + @pulumi.getter(name="projectId") + def project_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the project + """ + return pulumi.get(self, "project_id") + + @project_id.setter + def project_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "project_id", value) + + @property + @pulumi.getter + def roles(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + List of roles granted + """ + return pulumi.get(self, "roles") + + @roles.setter + def roles(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "roles", value) + + @property + @pulumi.getter(name="userId") + def user_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the user + """ + return pulumi.get(self, "user_id") + + @user_id.setter + def user_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "user_id", value) + + +class ProjectGrantMember(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + grant_id: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + project_id: Optional[pulumi.Input[str]] = None, + roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + user_id: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Resource representing the membership of a user on an granted project, defined with the given role. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.ProjectGrantMember("default", + org_id=data["zitadel_org"]["default"]["id"], + project_id=data["zitadel_project"]["default"]["id"], + user_id=data["zitadel_human_user"]["default"]["id"], + grant_id="123456789012345678", + roles=["PROJECT_GRANT_OWNER"]) + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/projectGrantMember:ProjectGrantMember imported '123456789012345678:123456789012345678:123456789012345678:123456789012345678' + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] grant_id: ID of the grant + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[str] project_id: ID of the project + :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: List of roles granted + :param pulumi.Input[str] user_id: ID of the user + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: ProjectGrantMemberArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource representing the membership of a user on an granted project, defined with the given role. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.ProjectGrantMember("default", + org_id=data["zitadel_org"]["default"]["id"], + project_id=data["zitadel_project"]["default"]["id"], + user_id=data["zitadel_human_user"]["default"]["id"], + grant_id="123456789012345678", + roles=["PROJECT_GRANT_OWNER"]) + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/projectGrantMember:ProjectGrantMember imported '123456789012345678:123456789012345678:123456789012345678:123456789012345678' + ``` + + :param str resource_name: The name of the resource. + :param ProjectGrantMemberArgs 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(ProjectGrantMemberArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + ProjectGrantMemberArgs._configure(_setter, **kwargs) + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + grant_id: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + project_id: Optional[pulumi.Input[str]] = None, + roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + user_id: 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__ = ProjectGrantMemberArgs.__new__(ProjectGrantMemberArgs) + + if grant_id is None and not opts.urn: + raise TypeError("Missing required property 'grant_id'") + __props__.__dict__["grant_id"] = grant_id + __props__.__dict__["org_id"] = org_id + if project_id is None and not opts.urn: + raise TypeError("Missing required property 'project_id'") + __props__.__dict__["project_id"] = project_id + if roles is None and not opts.urn: + raise TypeError("Missing required property 'roles'") + __props__.__dict__["roles"] = roles + if user_id is None and not opts.urn: + raise TypeError("Missing required property 'user_id'") + __props__.__dict__["user_id"] = user_id + super(ProjectGrantMember, __self__).__init__( + 'zitadel:index/projectGrantMember:ProjectGrantMember', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + grant_id: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + project_id: Optional[pulumi.Input[str]] = None, + roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + user_id: Optional[pulumi.Input[str]] = None) -> 'ProjectGrantMember': + """ + Get an existing ProjectGrantMember 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[str] grant_id: ID of the grant + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[str] project_id: ID of the project + :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: List of roles granted + :param pulumi.Input[str] user_id: ID of the user + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _ProjectGrantMemberState.__new__(_ProjectGrantMemberState) + + __props__.__dict__["grant_id"] = grant_id + __props__.__dict__["org_id"] = org_id + __props__.__dict__["project_id"] = project_id + __props__.__dict__["roles"] = roles + __props__.__dict__["user_id"] = user_id + return ProjectGrantMember(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="grantId") + def grant_id(self) -> pulumi.Output[str]: + """ + ID of the grant + """ + return pulumi.get(self, "grant_id") + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> pulumi.Output[Optional[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Output[str]: + """ + ID of the project + """ + return pulumi.get(self, "project_id") + + @property + @pulumi.getter + def roles(self) -> pulumi.Output[Sequence[str]]: + """ + List of roles granted + """ + return pulumi.get(self, "roles") + + @property + @pulumi.getter(name="userId") + def user_id(self) -> pulumi.Output[str]: + """ + ID of the user + """ + return pulumi.get(self, "user_id") + diff --git a/sdk/python/scoretechnologies_zitadel/project_member.py b/sdk/python/scoretechnologies_zitadel/project_member.py new file mode 100644 index 0000000..fe0b1ca --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/project_member.py @@ -0,0 +1,381 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['ProjectMemberArgs', 'ProjectMember'] + +@pulumi.input_type +class ProjectMemberArgs: + def __init__(__self__, *, + project_id: pulumi.Input[str], + roles: pulumi.Input[Sequence[pulumi.Input[str]]], + user_id: pulumi.Input[str], + org_id: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a ProjectMember resource. + :param pulumi.Input[str] project_id: ID of the project + :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: List of roles granted + :param pulumi.Input[str] user_id: ID of the user + :param pulumi.Input[str] org_id: ID of the organization + """ + ProjectMemberArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + project_id=project_id, + roles=roles, + user_id=user_id, + org_id=org_id, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + project_id: pulumi.Input[str], + roles: pulumi.Input[Sequence[pulumi.Input[str]]], + user_id: pulumi.Input[str], + org_id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'projectId' in kwargs: + project_id = kwargs['projectId'] + if 'userId' in kwargs: + user_id = kwargs['userId'] + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + + _setter("project_id", project_id) + _setter("roles", roles) + _setter("user_id", user_id) + if org_id is not None: + _setter("org_id", org_id) + + @property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Input[str]: + """ + ID of the project + """ + return pulumi.get(self, "project_id") + + @project_id.setter + def project_id(self, value: pulumi.Input[str]): + pulumi.set(self, "project_id", value) + + @property + @pulumi.getter + def roles(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + List of roles granted + """ + return pulumi.get(self, "roles") + + @roles.setter + def roles(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "roles", value) + + @property + @pulumi.getter(name="userId") + def user_id(self) -> pulumi.Input[str]: + """ + ID of the user + """ + return pulumi.get(self, "user_id") + + @user_id.setter + def user_id(self, value: pulumi.Input[str]): + pulumi.set(self, "user_id", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + +@pulumi.input_type +class _ProjectMemberState: + def __init__(__self__, *, + org_id: Optional[pulumi.Input[str]] = None, + project_id: Optional[pulumi.Input[str]] = None, + roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + user_id: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering ProjectMember resources. + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[str] project_id: ID of the project + :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: List of roles granted + :param pulumi.Input[str] user_id: ID of the user + """ + _ProjectMemberState._configure( + lambda key, value: pulumi.set(__self__, key, value), + org_id=org_id, + project_id=project_id, + roles=roles, + user_id=user_id, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + org_id: Optional[pulumi.Input[str]] = None, + project_id: Optional[pulumi.Input[str]] = None, + roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + user_id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + if 'projectId' in kwargs: + project_id = kwargs['projectId'] + if 'userId' in kwargs: + user_id = kwargs['userId'] + + if org_id is not None: + _setter("org_id", org_id) + if project_id is not None: + _setter("project_id", project_id) + if roles is not None: + _setter("roles", roles) + if user_id is not None: + _setter("user_id", user_id) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + @property + @pulumi.getter(name="projectId") + def project_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the project + """ + return pulumi.get(self, "project_id") + + @project_id.setter + def project_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "project_id", value) + + @property + @pulumi.getter + def roles(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + List of roles granted + """ + return pulumi.get(self, "roles") + + @roles.setter + def roles(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "roles", value) + + @property + @pulumi.getter(name="userId") + def user_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the user + """ + return pulumi.get(self, "user_id") + + @user_id.setter + def user_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "user_id", value) + + +class ProjectMember(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + org_id: Optional[pulumi.Input[str]] = None, + project_id: Optional[pulumi.Input[str]] = None, + roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + user_id: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Resource representing the membership of a user on an project, defined with the given role. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.ProjectMember("default", + org_id=data["zitadel_org"]["default"]["id"], + project_id=data["zitadel_project"]["default"]["id"], + user_id=data["zitadel_human_user"]["default"]["id"], + roles=["PROJECT_OWNER"]) + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/projectMember:ProjectMember imported '123456789012345678:123456789012345678:123456789012345678' + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[str] project_id: ID of the project + :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: List of roles granted + :param pulumi.Input[str] user_id: ID of the user + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: ProjectMemberArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource representing the membership of a user on an project, defined with the given role. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.ProjectMember("default", + org_id=data["zitadel_org"]["default"]["id"], + project_id=data["zitadel_project"]["default"]["id"], + user_id=data["zitadel_human_user"]["default"]["id"], + roles=["PROJECT_OWNER"]) + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/projectMember:ProjectMember imported '123456789012345678:123456789012345678:123456789012345678' + ``` + + :param str resource_name: The name of the resource. + :param ProjectMemberArgs 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(ProjectMemberArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + ProjectMemberArgs._configure(_setter, **kwargs) + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + org_id: Optional[pulumi.Input[str]] = None, + project_id: Optional[pulumi.Input[str]] = None, + roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + user_id: 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__ = ProjectMemberArgs.__new__(ProjectMemberArgs) + + __props__.__dict__["org_id"] = org_id + if project_id is None and not opts.urn: + raise TypeError("Missing required property 'project_id'") + __props__.__dict__["project_id"] = project_id + if roles is None and not opts.urn: + raise TypeError("Missing required property 'roles'") + __props__.__dict__["roles"] = roles + if user_id is None and not opts.urn: + raise TypeError("Missing required property 'user_id'") + __props__.__dict__["user_id"] = user_id + super(ProjectMember, __self__).__init__( + 'zitadel:index/projectMember:ProjectMember', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + org_id: Optional[pulumi.Input[str]] = None, + project_id: Optional[pulumi.Input[str]] = None, + roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + user_id: Optional[pulumi.Input[str]] = None) -> 'ProjectMember': + """ + Get an existing ProjectMember 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[str] org_id: ID of the organization + :param pulumi.Input[str] project_id: ID of the project + :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: List of roles granted + :param pulumi.Input[str] user_id: ID of the user + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _ProjectMemberState.__new__(_ProjectMemberState) + + __props__.__dict__["org_id"] = org_id + __props__.__dict__["project_id"] = project_id + __props__.__dict__["roles"] = roles + __props__.__dict__["user_id"] = user_id + return ProjectMember(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> pulumi.Output[Optional[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Output[str]: + """ + ID of the project + """ + return pulumi.get(self, "project_id") + + @property + @pulumi.getter + def roles(self) -> pulumi.Output[Sequence[str]]: + """ + List of roles granted + """ + return pulumi.get(self, "roles") + + @property + @pulumi.getter(name="userId") + def user_id(self) -> pulumi.Output[str]: + """ + ID of the user + """ + return pulumi.get(self, "user_id") + diff --git a/sdk/python/scoretechnologies_zitadel/project_role.py b/sdk/python/scoretechnologies_zitadel/project_role.py new file mode 100644 index 0000000..23e1b59 --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/project_role.py @@ -0,0 +1,438 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['ProjectRoleArgs', 'ProjectRole'] + +@pulumi.input_type +class ProjectRoleArgs: + def __init__(__self__, *, + display_name: pulumi.Input[str], + project_id: pulumi.Input[str], + role_key: pulumi.Input[str], + group: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a ProjectRole resource. + :param pulumi.Input[str] display_name: Name used for project role + :param pulumi.Input[str] project_id: ID of the project + :param pulumi.Input[str] role_key: Key used for project role + :param pulumi.Input[str] group: Group used for project role + :param pulumi.Input[str] org_id: ID of the organization + """ + ProjectRoleArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + display_name=display_name, + project_id=project_id, + role_key=role_key, + group=group, + org_id=org_id, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + display_name: pulumi.Input[str], + project_id: pulumi.Input[str], + role_key: pulumi.Input[str], + group: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'displayName' in kwargs: + display_name = kwargs['displayName'] + if 'projectId' in kwargs: + project_id = kwargs['projectId'] + if 'roleKey' in kwargs: + role_key = kwargs['roleKey'] + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + + _setter("display_name", display_name) + _setter("project_id", project_id) + _setter("role_key", role_key) + if group is not None: + _setter("group", group) + if org_id is not None: + _setter("org_id", org_id) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Input[str]: + """ + Name used for project role + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: pulumi.Input[str]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Input[str]: + """ + ID of the project + """ + return pulumi.get(self, "project_id") + + @project_id.setter + def project_id(self, value: pulumi.Input[str]): + pulumi.set(self, "project_id", value) + + @property + @pulumi.getter(name="roleKey") + def role_key(self) -> pulumi.Input[str]: + """ + Key used for project role + """ + return pulumi.get(self, "role_key") + + @role_key.setter + def role_key(self, value: pulumi.Input[str]): + pulumi.set(self, "role_key", value) + + @property + @pulumi.getter + def group(self) -> Optional[pulumi.Input[str]]: + """ + Group used for project role + """ + return pulumi.get(self, "group") + + @group.setter + def group(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "group", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + +@pulumi.input_type +class _ProjectRoleState: + def __init__(__self__, *, + display_name: Optional[pulumi.Input[str]] = None, + group: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + project_id: Optional[pulumi.Input[str]] = None, + role_key: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering ProjectRole resources. + :param pulumi.Input[str] display_name: Name used for project role + :param pulumi.Input[str] group: Group used for project role + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[str] project_id: ID of the project + :param pulumi.Input[str] role_key: Key used for project role + """ + _ProjectRoleState._configure( + lambda key, value: pulumi.set(__self__, key, value), + display_name=display_name, + group=group, + org_id=org_id, + project_id=project_id, + role_key=role_key, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + display_name: Optional[pulumi.Input[str]] = None, + group: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + project_id: Optional[pulumi.Input[str]] = None, + role_key: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'displayName' in kwargs: + display_name = kwargs['displayName'] + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + if 'projectId' in kwargs: + project_id = kwargs['projectId'] + if 'roleKey' in kwargs: + role_key = kwargs['roleKey'] + + if display_name is not None: + _setter("display_name", display_name) + if group is not None: + _setter("group", group) + if org_id is not None: + _setter("org_id", org_id) + if project_id is not None: + _setter("project_id", project_id) + if role_key is not None: + _setter("role_key", role_key) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + Name used for project role + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter + def group(self) -> Optional[pulumi.Input[str]]: + """ + Group used for project role + """ + return pulumi.get(self, "group") + + @group.setter + def group(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "group", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + @property + @pulumi.getter(name="projectId") + def project_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the project + """ + return pulumi.get(self, "project_id") + + @project_id.setter + def project_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "project_id", value) + + @property + @pulumi.getter(name="roleKey") + def role_key(self) -> Optional[pulumi.Input[str]]: + """ + Key used for project role + """ + return pulumi.get(self, "role_key") + + @role_key.setter + def role_key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "role_key", value) + + +class ProjectRole(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + display_name: Optional[pulumi.Input[str]] = None, + group: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + project_id: Optional[pulumi.Input[str]] = None, + role_key: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Resource representing the project roles, which can be given as authorizations to users. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.ProjectRole("default", + org_id=data["zitadel_org"]["default"]["id"], + project_id=data["zitadel_project"]["default"]["id"], + role_key="super-user", + display_name="display_name2", + group="role_group") + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/projectRole:ProjectRole imported '123456789012345678:my-role-key:123456789012345678' + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] display_name: Name used for project role + :param pulumi.Input[str] group: Group used for project role + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[str] project_id: ID of the project + :param pulumi.Input[str] role_key: Key used for project role + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: ProjectRoleArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource representing the project roles, which can be given as authorizations to users. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.ProjectRole("default", + org_id=data["zitadel_org"]["default"]["id"], + project_id=data["zitadel_project"]["default"]["id"], + role_key="super-user", + display_name="display_name2", + group="role_group") + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/projectRole:ProjectRole imported '123456789012345678:my-role-key:123456789012345678' + ``` + + :param str resource_name: The name of the resource. + :param ProjectRoleArgs 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(ProjectRoleArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + ProjectRoleArgs._configure(_setter, **kwargs) + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + display_name: Optional[pulumi.Input[str]] = None, + group: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + project_id: Optional[pulumi.Input[str]] = None, + role_key: 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__ = ProjectRoleArgs.__new__(ProjectRoleArgs) + + if display_name is None and not opts.urn: + raise TypeError("Missing required property 'display_name'") + __props__.__dict__["display_name"] = display_name + __props__.__dict__["group"] = group + __props__.__dict__["org_id"] = org_id + if project_id is None and not opts.urn: + raise TypeError("Missing required property 'project_id'") + __props__.__dict__["project_id"] = project_id + if role_key is None and not opts.urn: + raise TypeError("Missing required property 'role_key'") + __props__.__dict__["role_key"] = role_key + super(ProjectRole, __self__).__init__( + 'zitadel:index/projectRole:ProjectRole', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + display_name: Optional[pulumi.Input[str]] = None, + group: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + project_id: Optional[pulumi.Input[str]] = None, + role_key: Optional[pulumi.Input[str]] = None) -> 'ProjectRole': + """ + Get an existing ProjectRole 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[str] display_name: Name used for project role + :param pulumi.Input[str] group: Group used for project role + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[str] project_id: ID of the project + :param pulumi.Input[str] role_key: Key used for project role + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _ProjectRoleState.__new__(_ProjectRoleState) + + __props__.__dict__["display_name"] = display_name + __props__.__dict__["group"] = group + __props__.__dict__["org_id"] = org_id + __props__.__dict__["project_id"] = project_id + __props__.__dict__["role_key"] = role_key + return ProjectRole(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Output[str]: + """ + Name used for project role + """ + return pulumi.get(self, "display_name") + + @property + @pulumi.getter + def group(self) -> pulumi.Output[Optional[str]]: + """ + Group used for project role + """ + return pulumi.get(self, "group") + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> pulumi.Output[Optional[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Output[str]: + """ + ID of the project + """ + return pulumi.get(self, "project_id") + + @property + @pulumi.getter(name="roleKey") + def role_key(self) -> pulumi.Output[str]: + """ + Key used for project role + """ + return pulumi.get(self, "role_key") + diff --git a/sdk/python/scoretechnologies_zitadel/provider.py b/sdk/python/scoretechnologies_zitadel/provider.py new file mode 100644 index 0000000..f9c69e9 --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/provider.py @@ -0,0 +1,272 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['ProviderArgs', 'Provider'] + +@pulumi.input_type +class ProviderArgs: + def __init__(__self__, *, + domain: pulumi.Input[str], + insecure: Optional[pulumi.Input[bool]] = None, + jwt_profile_file: Optional[pulumi.Input[str]] = None, + jwt_profile_json: Optional[pulumi.Input[str]] = None, + port: Optional[pulumi.Input[str]] = None, + token: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a Provider resource. + :param pulumi.Input[str] domain: Domain used to connect to the ZITADEL instance + :param pulumi.Input[bool] insecure: Use insecure connection + :param pulumi.Input[str] jwt_profile_file: Path to the file containing credentials to connect to ZITADEL. Either 'jwt_profile_file' or 'jwt_profile_json' is + required + :param pulumi.Input[str] jwt_profile_json: JSON value of credentials to connect to ZITADEL. Either 'jwt_profile_file' or 'jwt_profile_json' is required + :param pulumi.Input[str] port: Used port if not the default ports 80 or 443 are configured + :param pulumi.Input[str] token: Path to the file containing credentials to connect to ZITADEL + """ + ProviderArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + domain=domain, + insecure=insecure, + jwt_profile_file=jwt_profile_file, + jwt_profile_json=jwt_profile_json, + port=port, + token=token, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + domain: pulumi.Input[str], + insecure: Optional[pulumi.Input[bool]] = None, + jwt_profile_file: Optional[pulumi.Input[str]] = None, + jwt_profile_json: Optional[pulumi.Input[str]] = None, + port: Optional[pulumi.Input[str]] = None, + token: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'jwtProfileFile' in kwargs: + jwt_profile_file = kwargs['jwtProfileFile'] + if 'jwtProfileJson' in kwargs: + jwt_profile_json = kwargs['jwtProfileJson'] + + _setter("domain", domain) + if insecure is not None: + _setter("insecure", insecure) + if jwt_profile_file is not None: + _setter("jwt_profile_file", jwt_profile_file) + if jwt_profile_json is not None: + _setter("jwt_profile_json", jwt_profile_json) + if port is not None: + _setter("port", port) + if token is not None: + _setter("token", token) + + @property + @pulumi.getter + def domain(self) -> pulumi.Input[str]: + """ + Domain used to connect to the ZITADEL instance + """ + return pulumi.get(self, "domain") + + @domain.setter + def domain(self, value: pulumi.Input[str]): + pulumi.set(self, "domain", value) + + @property + @pulumi.getter + def insecure(self) -> Optional[pulumi.Input[bool]]: + """ + Use insecure connection + """ + return pulumi.get(self, "insecure") + + @insecure.setter + def insecure(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "insecure", value) + + @property + @pulumi.getter(name="jwtProfileFile") + def jwt_profile_file(self) -> Optional[pulumi.Input[str]]: + """ + Path to the file containing credentials to connect to ZITADEL. Either 'jwt_profile_file' or 'jwt_profile_json' is + required + """ + return pulumi.get(self, "jwt_profile_file") + + @jwt_profile_file.setter + def jwt_profile_file(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "jwt_profile_file", value) + + @property + @pulumi.getter(name="jwtProfileJson") + def jwt_profile_json(self) -> Optional[pulumi.Input[str]]: + """ + JSON value of credentials to connect to ZITADEL. Either 'jwt_profile_file' or 'jwt_profile_json' is required + """ + return pulumi.get(self, "jwt_profile_json") + + @jwt_profile_json.setter + def jwt_profile_json(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "jwt_profile_json", value) + + @property + @pulumi.getter + def port(self) -> Optional[pulumi.Input[str]]: + """ + Used port if not the default ports 80 or 443 are configured + """ + return pulumi.get(self, "port") + + @port.setter + def port(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "port", value) + + @property + @pulumi.getter + def token(self) -> Optional[pulumi.Input[str]]: + """ + Path to the file containing credentials to connect to ZITADEL + """ + return pulumi.get(self, "token") + + @token.setter + def token(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "token", value) + + +class Provider(pulumi.ProviderResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + domain: Optional[pulumi.Input[str]] = None, + insecure: Optional[pulumi.Input[bool]] = None, + jwt_profile_file: Optional[pulumi.Input[str]] = None, + jwt_profile_json: Optional[pulumi.Input[str]] = None, + port: Optional[pulumi.Input[str]] = None, + token: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + The provider type for the zitadel package. By default, resources use package-wide configuration + settings, however an explicit `Provider` instance may be created and passed during resource + construction to achieve fine-grained programmatic control over provider settings. See the + [documentation](https://www.pulumi.com/docs/reference/programming-model/#providers) for more information. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] domain: Domain used to connect to the ZITADEL instance + :param pulumi.Input[bool] insecure: Use insecure connection + :param pulumi.Input[str] jwt_profile_file: Path to the file containing credentials to connect to ZITADEL. Either 'jwt_profile_file' or 'jwt_profile_json' is + required + :param pulumi.Input[str] jwt_profile_json: JSON value of credentials to connect to ZITADEL. Either 'jwt_profile_file' or 'jwt_profile_json' is required + :param pulumi.Input[str] port: Used port if not the default ports 80 or 443 are configured + :param pulumi.Input[str] token: Path to the file containing credentials to connect to ZITADEL + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: ProviderArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + The provider type for the zitadel package. By default, resources use package-wide configuration + settings, however an explicit `Provider` instance may be created and passed during resource + construction to achieve fine-grained programmatic control over provider settings. See the + [documentation](https://www.pulumi.com/docs/reference/programming-model/#providers) for more information. + + :param str resource_name: The name of the resource. + :param ProviderArgs 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(ProviderArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + ProviderArgs._configure(_setter, **kwargs) + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + domain: Optional[pulumi.Input[str]] = None, + insecure: Optional[pulumi.Input[bool]] = None, + jwt_profile_file: Optional[pulumi.Input[str]] = None, + jwt_profile_json: Optional[pulumi.Input[str]] = None, + port: Optional[pulumi.Input[str]] = None, + token: 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__ = ProviderArgs.__new__(ProviderArgs) + + if domain is None and not opts.urn: + raise TypeError("Missing required property 'domain'") + __props__.__dict__["domain"] = domain + __props__.__dict__["insecure"] = pulumi.Output.from_input(insecure).apply(pulumi.runtime.to_json) if insecure is not None else None + __props__.__dict__["jwt_profile_file"] = jwt_profile_file + __props__.__dict__["jwt_profile_json"] = jwt_profile_json + __props__.__dict__["port"] = port + __props__.__dict__["token"] = token + super(Provider, __self__).__init__( + 'zitadel', + resource_name, + __props__, + opts) + + @property + @pulumi.getter + def domain(self) -> pulumi.Output[str]: + """ + Domain used to connect to the ZITADEL instance + """ + return pulumi.get(self, "domain") + + @property + @pulumi.getter(name="jwtProfileFile") + def jwt_profile_file(self) -> pulumi.Output[Optional[str]]: + """ + Path to the file containing credentials to connect to ZITADEL. Either 'jwt_profile_file' or 'jwt_profile_json' is + required + """ + return pulumi.get(self, "jwt_profile_file") + + @property + @pulumi.getter(name="jwtProfileJson") + def jwt_profile_json(self) -> pulumi.Output[Optional[str]]: + """ + JSON value of credentials to connect to ZITADEL. Either 'jwt_profile_file' or 'jwt_profile_json' is required + """ + return pulumi.get(self, "jwt_profile_json") + + @property + @pulumi.getter + def port(self) -> pulumi.Output[Optional[str]]: + """ + Used port if not the default ports 80 or 443 are configured + """ + return pulumi.get(self, "port") + + @property + @pulumi.getter + def token(self) -> pulumi.Output[Optional[str]]: + """ + Path to the file containing credentials to connect to ZITADEL + """ + return pulumi.get(self, "token") + diff --git a/sdk/python/scoretechnologies_zitadel/pulumi-plugin.json b/sdk/python/scoretechnologies_zitadel/pulumi-plugin.json new file mode 100644 index 0000000..3e745de --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/pulumi-plugin.json @@ -0,0 +1,5 @@ +{ + "resource": true, + "name": "zitadel", + "server": "github://api.github.com/scoretechnologies" +} diff --git a/sdk/python/scoretechnologies_zitadel/py.typed b/sdk/python/scoretechnologies_zitadel/py.typed new file mode 100644 index 0000000..e69de29 diff --git a/sdk/python/scoretechnologies_zitadel/sms_provider_twilio.py b/sdk/python/scoretechnologies_zitadel/sms_provider_twilio.py new file mode 100644 index 0000000..2a3b330 --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/sms_provider_twilio.py @@ -0,0 +1,322 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['SmsProviderTwilioArgs', 'SmsProviderTwilio'] + +@pulumi.input_type +class SmsProviderTwilioArgs: + def __init__(__self__, *, + sender_number: pulumi.Input[str], + sid: pulumi.Input[str], + token: pulumi.Input[str]): + """ + The set of arguments for constructing a SmsProviderTwilio resource. + :param pulumi.Input[str] sender_number: Sender number which is used to send the SMS. + :param pulumi.Input[str] sid: SID used to communicate with Twilio. + :param pulumi.Input[str] token: Token used to communicate with Twilio. + """ + SmsProviderTwilioArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + sender_number=sender_number, + sid=sid, + token=token, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + sender_number: pulumi.Input[str], + sid: pulumi.Input[str], + token: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'senderNumber' in kwargs: + sender_number = kwargs['senderNumber'] + + _setter("sender_number", sender_number) + _setter("sid", sid) + _setter("token", token) + + @property + @pulumi.getter(name="senderNumber") + def sender_number(self) -> pulumi.Input[str]: + """ + Sender number which is used to send the SMS. + """ + return pulumi.get(self, "sender_number") + + @sender_number.setter + def sender_number(self, value: pulumi.Input[str]): + pulumi.set(self, "sender_number", value) + + @property + @pulumi.getter + def sid(self) -> pulumi.Input[str]: + """ + SID used to communicate with Twilio. + """ + return pulumi.get(self, "sid") + + @sid.setter + def sid(self, value: pulumi.Input[str]): + pulumi.set(self, "sid", value) + + @property + @pulumi.getter + def token(self) -> pulumi.Input[str]: + """ + Token used to communicate with Twilio. + """ + return pulumi.get(self, "token") + + @token.setter + def token(self, value: pulumi.Input[str]): + pulumi.set(self, "token", value) + + +@pulumi.input_type +class _SmsProviderTwilioState: + def __init__(__self__, *, + sender_number: Optional[pulumi.Input[str]] = None, + sid: Optional[pulumi.Input[str]] = None, + token: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering SmsProviderTwilio resources. + :param pulumi.Input[str] sender_number: Sender number which is used to send the SMS. + :param pulumi.Input[str] sid: SID used to communicate with Twilio. + :param pulumi.Input[str] token: Token used to communicate with Twilio. + """ + _SmsProviderTwilioState._configure( + lambda key, value: pulumi.set(__self__, key, value), + sender_number=sender_number, + sid=sid, + token=token, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + sender_number: Optional[pulumi.Input[str]] = None, + sid: Optional[pulumi.Input[str]] = None, + token: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'senderNumber' in kwargs: + sender_number = kwargs['senderNumber'] + + if sender_number is not None: + _setter("sender_number", sender_number) + if sid is not None: + _setter("sid", sid) + if token is not None: + _setter("token", token) + + @property + @pulumi.getter(name="senderNumber") + def sender_number(self) -> Optional[pulumi.Input[str]]: + """ + Sender number which is used to send the SMS. + """ + return pulumi.get(self, "sender_number") + + @sender_number.setter + def sender_number(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "sender_number", value) + + @property + @pulumi.getter + def sid(self) -> Optional[pulumi.Input[str]]: + """ + SID used to communicate with Twilio. + """ + return pulumi.get(self, "sid") + + @sid.setter + def sid(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "sid", value) + + @property + @pulumi.getter + def token(self) -> Optional[pulumi.Input[str]]: + """ + Token used to communicate with Twilio. + """ + return pulumi.get(self, "token") + + @token.setter + def token(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "token", value) + + +class SmsProviderTwilio(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + sender_number: Optional[pulumi.Input[str]] = None, + sid: Optional[pulumi.Input[str]] = None, + token: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Resource representing the SMS provider Twilio configuration of an instance. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.SmsProviderTwilio("default", + sender_number="019920892", + sid="sid", + token="twilio_token") + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/smsProviderTwilio:SmsProviderTwilio imported '123456789012345678:12345678901234567890123456abcdef' + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] sender_number: Sender number which is used to send the SMS. + :param pulumi.Input[str] sid: SID used to communicate with Twilio. + :param pulumi.Input[str] token: Token used to communicate with Twilio. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: SmsProviderTwilioArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource representing the SMS provider Twilio configuration of an instance. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.SmsProviderTwilio("default", + sender_number="019920892", + sid="sid", + token="twilio_token") + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/smsProviderTwilio:SmsProviderTwilio imported '123456789012345678:12345678901234567890123456abcdef' + ``` + + :param str resource_name: The name of the resource. + :param SmsProviderTwilioArgs 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(SmsProviderTwilioArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + SmsProviderTwilioArgs._configure(_setter, **kwargs) + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + sender_number: Optional[pulumi.Input[str]] = None, + sid: Optional[pulumi.Input[str]] = None, + token: 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__ = SmsProviderTwilioArgs.__new__(SmsProviderTwilioArgs) + + if sender_number is None and not opts.urn: + raise TypeError("Missing required property 'sender_number'") + __props__.__dict__["sender_number"] = sender_number + if sid is None and not opts.urn: + raise TypeError("Missing required property 'sid'") + __props__.__dict__["sid"] = sid + if token is None and not opts.urn: + raise TypeError("Missing required property 'token'") + __props__.__dict__["token"] = None if token is None else pulumi.Output.secret(token) + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["token"]) + opts = pulumi.ResourceOptions.merge(opts, secret_opts) + super(SmsProviderTwilio, __self__).__init__( + 'zitadel:index/smsProviderTwilio:SmsProviderTwilio', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + sender_number: Optional[pulumi.Input[str]] = None, + sid: Optional[pulumi.Input[str]] = None, + token: Optional[pulumi.Input[str]] = None) -> 'SmsProviderTwilio': + """ + Get an existing SmsProviderTwilio 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[str] sender_number: Sender number which is used to send the SMS. + :param pulumi.Input[str] sid: SID used to communicate with Twilio. + :param pulumi.Input[str] token: Token used to communicate with Twilio. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _SmsProviderTwilioState.__new__(_SmsProviderTwilioState) + + __props__.__dict__["sender_number"] = sender_number + __props__.__dict__["sid"] = sid + __props__.__dict__["token"] = token + return SmsProviderTwilio(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="senderNumber") + def sender_number(self) -> pulumi.Output[str]: + """ + Sender number which is used to send the SMS. + """ + return pulumi.get(self, "sender_number") + + @property + @pulumi.getter + def sid(self) -> pulumi.Output[str]: + """ + SID used to communicate with Twilio. + """ + return pulumi.get(self, "sid") + + @property + @pulumi.getter + def token(self) -> pulumi.Output[str]: + """ + Token used to communicate with Twilio. + """ + return pulumi.get(self, "token") + diff --git a/sdk/python/scoretechnologies_zitadel/smtp_config.py b/sdk/python/scoretechnologies_zitadel/smtp_config.py new file mode 100644 index 0000000..8fde0e3 --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/smtp_config.py @@ -0,0 +1,542 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['SmtpConfigArgs', 'SmtpConfig'] + +@pulumi.input_type +class SmtpConfigArgs: + def __init__(__self__, *, + host: pulumi.Input[str], + sender_address: pulumi.Input[str], + sender_name: pulumi.Input[str], + password: Optional[pulumi.Input[str]] = None, + reply_to_address: Optional[pulumi.Input[str]] = None, + tls: Optional[pulumi.Input[bool]] = None, + user: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a SmtpConfig resource. + :param pulumi.Input[str] host: Host and port address to your SMTP server. + :param pulumi.Input[str] sender_address: Address used to send emails. + :param pulumi.Input[str] sender_name: Sender name used to send emails. + :param pulumi.Input[str] password: Password used to communicate with your SMTP server. + :param pulumi.Input[str] reply_to_address: Address to reply to. + :param pulumi.Input[bool] tls: TLS used to communicate with your SMTP server. + :param pulumi.Input[str] user: User used to communicate with your SMTP server. + """ + SmtpConfigArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + host=host, + sender_address=sender_address, + sender_name=sender_name, + password=password, + reply_to_address=reply_to_address, + tls=tls, + user=user, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + host: pulumi.Input[str], + sender_address: pulumi.Input[str], + sender_name: pulumi.Input[str], + password: Optional[pulumi.Input[str]] = None, + reply_to_address: Optional[pulumi.Input[str]] = None, + tls: Optional[pulumi.Input[bool]] = None, + user: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'senderAddress' in kwargs: + sender_address = kwargs['senderAddress'] + if 'senderName' in kwargs: + sender_name = kwargs['senderName'] + if 'replyToAddress' in kwargs: + reply_to_address = kwargs['replyToAddress'] + + _setter("host", host) + _setter("sender_address", sender_address) + _setter("sender_name", sender_name) + if password is not None: + _setter("password", password) + if reply_to_address is not None: + _setter("reply_to_address", reply_to_address) + if tls is not None: + _setter("tls", tls) + if user is not None: + _setter("user", user) + + @property + @pulumi.getter + def host(self) -> pulumi.Input[str]: + """ + Host and port address to your SMTP server. + """ + return pulumi.get(self, "host") + + @host.setter + def host(self, value: pulumi.Input[str]): + pulumi.set(self, "host", value) + + @property + @pulumi.getter(name="senderAddress") + def sender_address(self) -> pulumi.Input[str]: + """ + Address used to send emails. + """ + return pulumi.get(self, "sender_address") + + @sender_address.setter + def sender_address(self, value: pulumi.Input[str]): + pulumi.set(self, "sender_address", value) + + @property + @pulumi.getter(name="senderName") + def sender_name(self) -> pulumi.Input[str]: + """ + Sender name used to send emails. + """ + return pulumi.get(self, "sender_name") + + @sender_name.setter + def sender_name(self, value: pulumi.Input[str]): + pulumi.set(self, "sender_name", value) + + @property + @pulumi.getter + def password(self) -> Optional[pulumi.Input[str]]: + """ + Password used to communicate with your SMTP server. + """ + return pulumi.get(self, "password") + + @password.setter + def password(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "password", value) + + @property + @pulumi.getter(name="replyToAddress") + def reply_to_address(self) -> Optional[pulumi.Input[str]]: + """ + Address to reply to. + """ + return pulumi.get(self, "reply_to_address") + + @reply_to_address.setter + def reply_to_address(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "reply_to_address", value) + + @property + @pulumi.getter + def tls(self) -> Optional[pulumi.Input[bool]]: + """ + TLS used to communicate with your SMTP server. + """ + return pulumi.get(self, "tls") + + @tls.setter + def tls(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "tls", value) + + @property + @pulumi.getter + def user(self) -> Optional[pulumi.Input[str]]: + """ + User used to communicate with your SMTP server. + """ + return pulumi.get(self, "user") + + @user.setter + def user(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "user", value) + + +@pulumi.input_type +class _SmtpConfigState: + def __init__(__self__, *, + host: Optional[pulumi.Input[str]] = None, + password: Optional[pulumi.Input[str]] = None, + reply_to_address: Optional[pulumi.Input[str]] = None, + sender_address: Optional[pulumi.Input[str]] = None, + sender_name: Optional[pulumi.Input[str]] = None, + tls: Optional[pulumi.Input[bool]] = None, + user: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering SmtpConfig resources. + :param pulumi.Input[str] host: Host and port address to your SMTP server. + :param pulumi.Input[str] password: Password used to communicate with your SMTP server. + :param pulumi.Input[str] reply_to_address: Address to reply to. + :param pulumi.Input[str] sender_address: Address used to send emails. + :param pulumi.Input[str] sender_name: Sender name used to send emails. + :param pulumi.Input[bool] tls: TLS used to communicate with your SMTP server. + :param pulumi.Input[str] user: User used to communicate with your SMTP server. + """ + _SmtpConfigState._configure( + lambda key, value: pulumi.set(__self__, key, value), + host=host, + password=password, + reply_to_address=reply_to_address, + sender_address=sender_address, + sender_name=sender_name, + tls=tls, + user=user, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + host: Optional[pulumi.Input[str]] = None, + password: Optional[pulumi.Input[str]] = None, + reply_to_address: Optional[pulumi.Input[str]] = None, + sender_address: Optional[pulumi.Input[str]] = None, + sender_name: Optional[pulumi.Input[str]] = None, + tls: Optional[pulumi.Input[bool]] = None, + user: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'replyToAddress' in kwargs: + reply_to_address = kwargs['replyToAddress'] + if 'senderAddress' in kwargs: + sender_address = kwargs['senderAddress'] + if 'senderName' in kwargs: + sender_name = kwargs['senderName'] + + if host is not None: + _setter("host", host) + if password is not None: + _setter("password", password) + if reply_to_address is not None: + _setter("reply_to_address", reply_to_address) + if sender_address is not None: + _setter("sender_address", sender_address) + if sender_name is not None: + _setter("sender_name", sender_name) + if tls is not None: + _setter("tls", tls) + if user is not None: + _setter("user", user) + + @property + @pulumi.getter + def host(self) -> Optional[pulumi.Input[str]]: + """ + Host and port address to your SMTP server. + """ + return pulumi.get(self, "host") + + @host.setter + def host(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "host", value) + + @property + @pulumi.getter + def password(self) -> Optional[pulumi.Input[str]]: + """ + Password used to communicate with your SMTP server. + """ + return pulumi.get(self, "password") + + @password.setter + def password(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "password", value) + + @property + @pulumi.getter(name="replyToAddress") + def reply_to_address(self) -> Optional[pulumi.Input[str]]: + """ + Address to reply to. + """ + return pulumi.get(self, "reply_to_address") + + @reply_to_address.setter + def reply_to_address(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "reply_to_address", value) + + @property + @pulumi.getter(name="senderAddress") + def sender_address(self) -> Optional[pulumi.Input[str]]: + """ + Address used to send emails. + """ + return pulumi.get(self, "sender_address") + + @sender_address.setter + def sender_address(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "sender_address", value) + + @property + @pulumi.getter(name="senderName") + def sender_name(self) -> Optional[pulumi.Input[str]]: + """ + Sender name used to send emails. + """ + return pulumi.get(self, "sender_name") + + @sender_name.setter + def sender_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "sender_name", value) + + @property + @pulumi.getter + def tls(self) -> Optional[pulumi.Input[bool]]: + """ + TLS used to communicate with your SMTP server. + """ + return pulumi.get(self, "tls") + + @tls.setter + def tls(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "tls", value) + + @property + @pulumi.getter + def user(self) -> Optional[pulumi.Input[str]]: + """ + User used to communicate with your SMTP server. + """ + return pulumi.get(self, "user") + + @user.setter + def user(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "user", value) + + +class SmtpConfig(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + host: Optional[pulumi.Input[str]] = None, + password: Optional[pulumi.Input[str]] = None, + reply_to_address: Optional[pulumi.Input[str]] = None, + sender_address: Optional[pulumi.Input[str]] = None, + sender_name: Optional[pulumi.Input[str]] = None, + tls: Optional[pulumi.Input[bool]] = None, + user: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Resource representing the SMTP configuration of an instance. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.SmtpConfig("default", + host="localhost:25", + password="secret_password", + reply_to_address="replyto@example.com", + sender_address="sender@example.com", + sender_name="no-reply", + tls=True, + user="user") + ``` + + ## Import + + bash The resource can be imported using the ID format `<[password]>`, e.g. + + ```sh + $ pulumi import zitadel:index/smtpConfig:SmtpConfig imported 'p4ssw0rd' + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] host: Host and port address to your SMTP server. + :param pulumi.Input[str] password: Password used to communicate with your SMTP server. + :param pulumi.Input[str] reply_to_address: Address to reply to. + :param pulumi.Input[str] sender_address: Address used to send emails. + :param pulumi.Input[str] sender_name: Sender name used to send emails. + :param pulumi.Input[bool] tls: TLS used to communicate with your SMTP server. + :param pulumi.Input[str] user: User used to communicate with your SMTP server. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: SmtpConfigArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource representing the SMTP configuration of an instance. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.SmtpConfig("default", + host="localhost:25", + password="secret_password", + reply_to_address="replyto@example.com", + sender_address="sender@example.com", + sender_name="no-reply", + tls=True, + user="user") + ``` + + ## Import + + bash The resource can be imported using the ID format `<[password]>`, e.g. + + ```sh + $ pulumi import zitadel:index/smtpConfig:SmtpConfig imported 'p4ssw0rd' + ``` + + :param str resource_name: The name of the resource. + :param SmtpConfigArgs 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(SmtpConfigArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + SmtpConfigArgs._configure(_setter, **kwargs) + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + host: Optional[pulumi.Input[str]] = None, + password: Optional[pulumi.Input[str]] = None, + reply_to_address: Optional[pulumi.Input[str]] = None, + sender_address: Optional[pulumi.Input[str]] = None, + sender_name: Optional[pulumi.Input[str]] = None, + tls: Optional[pulumi.Input[bool]] = None, + user: 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__ = SmtpConfigArgs.__new__(SmtpConfigArgs) + + if host is None and not opts.urn: + raise TypeError("Missing required property 'host'") + __props__.__dict__["host"] = host + __props__.__dict__["password"] = None if password is None else pulumi.Output.secret(password) + __props__.__dict__["reply_to_address"] = reply_to_address + if sender_address is None and not opts.urn: + raise TypeError("Missing required property 'sender_address'") + __props__.__dict__["sender_address"] = sender_address + if sender_name is None and not opts.urn: + raise TypeError("Missing required property 'sender_name'") + __props__.__dict__["sender_name"] = sender_name + __props__.__dict__["tls"] = tls + __props__.__dict__["user"] = user + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["password"]) + opts = pulumi.ResourceOptions.merge(opts, secret_opts) + super(SmtpConfig, __self__).__init__( + 'zitadel:index/smtpConfig:SmtpConfig', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + host: Optional[pulumi.Input[str]] = None, + password: Optional[pulumi.Input[str]] = None, + reply_to_address: Optional[pulumi.Input[str]] = None, + sender_address: Optional[pulumi.Input[str]] = None, + sender_name: Optional[pulumi.Input[str]] = None, + tls: Optional[pulumi.Input[bool]] = None, + user: Optional[pulumi.Input[str]] = None) -> 'SmtpConfig': + """ + Get an existing SmtpConfig 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[str] host: Host and port address to your SMTP server. + :param pulumi.Input[str] password: Password used to communicate with your SMTP server. + :param pulumi.Input[str] reply_to_address: Address to reply to. + :param pulumi.Input[str] sender_address: Address used to send emails. + :param pulumi.Input[str] sender_name: Sender name used to send emails. + :param pulumi.Input[bool] tls: TLS used to communicate with your SMTP server. + :param pulumi.Input[str] user: User used to communicate with your SMTP server. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _SmtpConfigState.__new__(_SmtpConfigState) + + __props__.__dict__["host"] = host + __props__.__dict__["password"] = password + __props__.__dict__["reply_to_address"] = reply_to_address + __props__.__dict__["sender_address"] = sender_address + __props__.__dict__["sender_name"] = sender_name + __props__.__dict__["tls"] = tls + __props__.__dict__["user"] = user + return SmtpConfig(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def host(self) -> pulumi.Output[str]: + """ + Host and port address to your SMTP server. + """ + return pulumi.get(self, "host") + + @property + @pulumi.getter + def password(self) -> pulumi.Output[Optional[str]]: + """ + Password used to communicate with your SMTP server. + """ + return pulumi.get(self, "password") + + @property + @pulumi.getter(name="replyToAddress") + def reply_to_address(self) -> pulumi.Output[Optional[str]]: + """ + Address to reply to. + """ + return pulumi.get(self, "reply_to_address") + + @property + @pulumi.getter(name="senderAddress") + def sender_address(self) -> pulumi.Output[str]: + """ + Address used to send emails. + """ + return pulumi.get(self, "sender_address") + + @property + @pulumi.getter(name="senderName") + def sender_name(self) -> pulumi.Output[str]: + """ + Sender name used to send emails. + """ + return pulumi.get(self, "sender_name") + + @property + @pulumi.getter + def tls(self) -> pulumi.Output[Optional[bool]]: + """ + TLS used to communicate with your SMTP server. + """ + return pulumi.get(self, "tls") + + @property + @pulumi.getter + def user(self) -> pulumi.Output[Optional[str]]: + """ + User used to communicate with your SMTP server. + """ + return pulumi.get(self, "user") + diff --git a/sdk/python/scoretechnologies_zitadel/trigger_actions.py b/sdk/python/scoretechnologies_zitadel/trigger_actions.py new file mode 100644 index 0000000..682559e --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/trigger_actions.py @@ -0,0 +1,385 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['TriggerActionsArgs', 'TriggerActions'] + +@pulumi.input_type +class TriggerActionsArgs: + def __init__(__self__, *, + action_ids: pulumi.Input[Sequence[pulumi.Input[str]]], + flow_type: pulumi.Input[str], + trigger_type: pulumi.Input[str], + org_id: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a TriggerActions resource. + :param pulumi.Input[Sequence[pulumi.Input[str]]] action_ids: IDs of the triggered actions + :param pulumi.Input[str] flow_type: Type of the flow to which the action triggers belong, supported values: FLOW*TYPE*EXTERNAL*AUTHENTICATION, FLOW*TYPE*CUSTOMISE*TOKEN, FLOW*TYPE*INTERNAL*AUTHENTICATION, FLOW*TYPE*SAML*RESPONSE + :param pulumi.Input[str] trigger_type: Trigger type on when the actions get triggered, supported values: TRIGGER*TYPE*POST*AUTHENTICATION, TRIGGER*TYPE*PRE*CREATION, TRIGGER*TYPE*POST*CREATION, TRIGGER*TYPE*PRE*USERINFO*CREATION, TRIGGER*TYPE*PRE*ACCESS*TOKEN*CREATION, TRIGGER*TYPE*PRE*SAML*RESPONSE_CREATION + :param pulumi.Input[str] org_id: ID of the organization + """ + TriggerActionsArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + action_ids=action_ids, + flow_type=flow_type, + trigger_type=trigger_type, + org_id=org_id, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + action_ids: pulumi.Input[Sequence[pulumi.Input[str]]], + flow_type: pulumi.Input[str], + trigger_type: pulumi.Input[str], + org_id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'actionIds' in kwargs: + action_ids = kwargs['actionIds'] + if 'flowType' in kwargs: + flow_type = kwargs['flowType'] + if 'triggerType' in kwargs: + trigger_type = kwargs['triggerType'] + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + + _setter("action_ids", action_ids) + _setter("flow_type", flow_type) + _setter("trigger_type", trigger_type) + if org_id is not None: + _setter("org_id", org_id) + + @property + @pulumi.getter(name="actionIds") + def action_ids(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + IDs of the triggered actions + """ + return pulumi.get(self, "action_ids") + + @action_ids.setter + def action_ids(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "action_ids", value) + + @property + @pulumi.getter(name="flowType") + def flow_type(self) -> pulumi.Input[str]: + """ + Type of the flow to which the action triggers belong, supported values: FLOW*TYPE*EXTERNAL*AUTHENTICATION, FLOW*TYPE*CUSTOMISE*TOKEN, FLOW*TYPE*INTERNAL*AUTHENTICATION, FLOW*TYPE*SAML*RESPONSE + """ + return pulumi.get(self, "flow_type") + + @flow_type.setter + def flow_type(self, value: pulumi.Input[str]): + pulumi.set(self, "flow_type", value) + + @property + @pulumi.getter(name="triggerType") + def trigger_type(self) -> pulumi.Input[str]: + """ + Trigger type on when the actions get triggered, supported values: TRIGGER*TYPE*POST*AUTHENTICATION, TRIGGER*TYPE*PRE*CREATION, TRIGGER*TYPE*POST*CREATION, TRIGGER*TYPE*PRE*USERINFO*CREATION, TRIGGER*TYPE*PRE*ACCESS*TOKEN*CREATION, TRIGGER*TYPE*PRE*SAML*RESPONSE_CREATION + """ + return pulumi.get(self, "trigger_type") + + @trigger_type.setter + def trigger_type(self, value: pulumi.Input[str]): + pulumi.set(self, "trigger_type", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + +@pulumi.input_type +class _TriggerActionsState: + def __init__(__self__, *, + action_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + flow_type: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + trigger_type: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering TriggerActions resources. + :param pulumi.Input[Sequence[pulumi.Input[str]]] action_ids: IDs of the triggered actions + :param pulumi.Input[str] flow_type: Type of the flow to which the action triggers belong, supported values: FLOW*TYPE*EXTERNAL*AUTHENTICATION, FLOW*TYPE*CUSTOMISE*TOKEN, FLOW*TYPE*INTERNAL*AUTHENTICATION, FLOW*TYPE*SAML*RESPONSE + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[str] trigger_type: Trigger type on when the actions get triggered, supported values: TRIGGER*TYPE*POST*AUTHENTICATION, TRIGGER*TYPE*PRE*CREATION, TRIGGER*TYPE*POST*CREATION, TRIGGER*TYPE*PRE*USERINFO*CREATION, TRIGGER*TYPE*PRE*ACCESS*TOKEN*CREATION, TRIGGER*TYPE*PRE*SAML*RESPONSE_CREATION + """ + _TriggerActionsState._configure( + lambda key, value: pulumi.set(__self__, key, value), + action_ids=action_ids, + flow_type=flow_type, + org_id=org_id, + trigger_type=trigger_type, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + action_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + flow_type: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + trigger_type: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'actionIds' in kwargs: + action_ids = kwargs['actionIds'] + if 'flowType' in kwargs: + flow_type = kwargs['flowType'] + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + if 'triggerType' in kwargs: + trigger_type = kwargs['triggerType'] + + if action_ids is not None: + _setter("action_ids", action_ids) + if flow_type is not None: + _setter("flow_type", flow_type) + if org_id is not None: + _setter("org_id", org_id) + if trigger_type is not None: + _setter("trigger_type", trigger_type) + + @property + @pulumi.getter(name="actionIds") + def action_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + IDs of the triggered actions + """ + return pulumi.get(self, "action_ids") + + @action_ids.setter + def action_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "action_ids", value) + + @property + @pulumi.getter(name="flowType") + def flow_type(self) -> Optional[pulumi.Input[str]]: + """ + Type of the flow to which the action triggers belong, supported values: FLOW*TYPE*EXTERNAL*AUTHENTICATION, FLOW*TYPE*CUSTOMISE*TOKEN, FLOW*TYPE*INTERNAL*AUTHENTICATION, FLOW*TYPE*SAML*RESPONSE + """ + return pulumi.get(self, "flow_type") + + @flow_type.setter + def flow_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "flow_type", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + @property + @pulumi.getter(name="triggerType") + def trigger_type(self) -> Optional[pulumi.Input[str]]: + """ + Trigger type on when the actions get triggered, supported values: TRIGGER*TYPE*POST*AUTHENTICATION, TRIGGER*TYPE*PRE*CREATION, TRIGGER*TYPE*POST*CREATION, TRIGGER*TYPE*PRE*USERINFO*CREATION, TRIGGER*TYPE*PRE*ACCESS*TOKEN*CREATION, TRIGGER*TYPE*PRE*SAML*RESPONSE_CREATION + """ + return pulumi.get(self, "trigger_type") + + @trigger_type.setter + def trigger_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "trigger_type", value) + + +class TriggerActions(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + action_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + flow_type: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + trigger_type: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Resource representing triggers, when actions get started + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.TriggerActions("default", + org_id=data["zitadel_org"]["default"]["id"], + flow_type="FLOW_TYPE_CUSTOMISE_TOKEN", + trigger_type="TRIGGER_TYPE_PRE_ACCESS_TOKEN_CREATION", + action_ids=[data["zitadel_action"]["default"]["id"]]) + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/triggerActions:TriggerActions imported 'FLOW_TYPE_EXTERNAL_AUTHENTICATION:TRIGGER_TYPE_POST_CREATION:123456789012345678' + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[Sequence[pulumi.Input[str]]] action_ids: IDs of the triggered actions + :param pulumi.Input[str] flow_type: Type of the flow to which the action triggers belong, supported values: FLOW*TYPE*EXTERNAL*AUTHENTICATION, FLOW*TYPE*CUSTOMISE*TOKEN, FLOW*TYPE*INTERNAL*AUTHENTICATION, FLOW*TYPE*SAML*RESPONSE + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[str] trigger_type: Trigger type on when the actions get triggered, supported values: TRIGGER*TYPE*POST*AUTHENTICATION, TRIGGER*TYPE*PRE*CREATION, TRIGGER*TYPE*POST*CREATION, TRIGGER*TYPE*PRE*USERINFO*CREATION, TRIGGER*TYPE*PRE*ACCESS*TOKEN*CREATION, TRIGGER*TYPE*PRE*SAML*RESPONSE_CREATION + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: TriggerActionsArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource representing triggers, when actions get started + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.TriggerActions("default", + org_id=data["zitadel_org"]["default"]["id"], + flow_type="FLOW_TYPE_CUSTOMISE_TOKEN", + trigger_type="TRIGGER_TYPE_PRE_ACCESS_TOKEN_CREATION", + action_ids=[data["zitadel_action"]["default"]["id"]]) + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/triggerActions:TriggerActions imported 'FLOW_TYPE_EXTERNAL_AUTHENTICATION:TRIGGER_TYPE_POST_CREATION:123456789012345678' + ``` + + :param str resource_name: The name of the resource. + :param TriggerActionsArgs 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(TriggerActionsArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + TriggerActionsArgs._configure(_setter, **kwargs) + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + action_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + flow_type: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + trigger_type: 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__ = TriggerActionsArgs.__new__(TriggerActionsArgs) + + if action_ids is None and not opts.urn: + raise TypeError("Missing required property 'action_ids'") + __props__.__dict__["action_ids"] = action_ids + if flow_type is None and not opts.urn: + raise TypeError("Missing required property 'flow_type'") + __props__.__dict__["flow_type"] = flow_type + __props__.__dict__["org_id"] = org_id + if trigger_type is None and not opts.urn: + raise TypeError("Missing required property 'trigger_type'") + __props__.__dict__["trigger_type"] = trigger_type + super(TriggerActions, __self__).__init__( + 'zitadel:index/triggerActions:TriggerActions', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + action_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + flow_type: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + trigger_type: Optional[pulumi.Input[str]] = None) -> 'TriggerActions': + """ + Get an existing TriggerActions 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[Sequence[pulumi.Input[str]]] action_ids: IDs of the triggered actions + :param pulumi.Input[str] flow_type: Type of the flow to which the action triggers belong, supported values: FLOW*TYPE*EXTERNAL*AUTHENTICATION, FLOW*TYPE*CUSTOMISE*TOKEN, FLOW*TYPE*INTERNAL*AUTHENTICATION, FLOW*TYPE*SAML*RESPONSE + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[str] trigger_type: Trigger type on when the actions get triggered, supported values: TRIGGER*TYPE*POST*AUTHENTICATION, TRIGGER*TYPE*PRE*CREATION, TRIGGER*TYPE*POST*CREATION, TRIGGER*TYPE*PRE*USERINFO*CREATION, TRIGGER*TYPE*PRE*ACCESS*TOKEN*CREATION, TRIGGER*TYPE*PRE*SAML*RESPONSE_CREATION + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _TriggerActionsState.__new__(_TriggerActionsState) + + __props__.__dict__["action_ids"] = action_ids + __props__.__dict__["flow_type"] = flow_type + __props__.__dict__["org_id"] = org_id + __props__.__dict__["trigger_type"] = trigger_type + return TriggerActions(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="actionIds") + def action_ids(self) -> pulumi.Output[Sequence[str]]: + """ + IDs of the triggered actions + """ + return pulumi.get(self, "action_ids") + + @property + @pulumi.getter(name="flowType") + def flow_type(self) -> pulumi.Output[str]: + """ + Type of the flow to which the action triggers belong, supported values: FLOW*TYPE*EXTERNAL*AUTHENTICATION, FLOW*TYPE*CUSTOMISE*TOKEN, FLOW*TYPE*INTERNAL*AUTHENTICATION, FLOW*TYPE*SAML*RESPONSE + """ + return pulumi.get(self, "flow_type") + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> pulumi.Output[Optional[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @property + @pulumi.getter(name="triggerType") + def trigger_type(self) -> pulumi.Output[str]: + """ + Trigger type on when the actions get triggered, supported values: TRIGGER*TYPE*POST*AUTHENTICATION, TRIGGER*TYPE*PRE*CREATION, TRIGGER*TYPE*POST*CREATION, TRIGGER*TYPE*PRE*USERINFO*CREATION, TRIGGER*TYPE*PRE*ACCESS*TOKEN*CREATION, TRIGGER*TYPE*PRE*SAML*RESPONSE_CREATION + """ + return pulumi.get(self, "trigger_type") + diff --git a/sdk/python/scoretechnologies_zitadel/user_grant.py b/sdk/python/scoretechnologies_zitadel/user_grant.py new file mode 100644 index 0000000..b7c0735 --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/user_grant.py @@ -0,0 +1,438 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['UserGrantArgs', 'UserGrant'] + +@pulumi.input_type +class UserGrantArgs: + def __init__(__self__, *, + user_id: pulumi.Input[str], + org_id: Optional[pulumi.Input[str]] = None, + project_grant_id: Optional[pulumi.Input[str]] = None, + project_id: Optional[pulumi.Input[str]] = None, + role_keys: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a UserGrant resource. + :param pulumi.Input[str] user_id: ID of the user + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[str] project_grant_id: ID of the granted project + :param pulumi.Input[str] project_id: ID of the project + :param pulumi.Input[Sequence[pulumi.Input[str]]] role_keys: List of roles granted + """ + UserGrantArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + user_id=user_id, + org_id=org_id, + project_grant_id=project_grant_id, + project_id=project_id, + role_keys=role_keys, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + user_id: pulumi.Input[str], + org_id: Optional[pulumi.Input[str]] = None, + project_grant_id: Optional[pulumi.Input[str]] = None, + project_id: Optional[pulumi.Input[str]] = None, + role_keys: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'userId' in kwargs: + user_id = kwargs['userId'] + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + if 'projectGrantId' in kwargs: + project_grant_id = kwargs['projectGrantId'] + if 'projectId' in kwargs: + project_id = kwargs['projectId'] + if 'roleKeys' in kwargs: + role_keys = kwargs['roleKeys'] + + _setter("user_id", user_id) + if org_id is not None: + _setter("org_id", org_id) + if project_grant_id is not None: + _setter("project_grant_id", project_grant_id) + if project_id is not None: + _setter("project_id", project_id) + if role_keys is not None: + _setter("role_keys", role_keys) + + @property + @pulumi.getter(name="userId") + def user_id(self) -> pulumi.Input[str]: + """ + ID of the user + """ + return pulumi.get(self, "user_id") + + @user_id.setter + def user_id(self, value: pulumi.Input[str]): + pulumi.set(self, "user_id", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + @property + @pulumi.getter(name="projectGrantId") + def project_grant_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the granted project + """ + return pulumi.get(self, "project_grant_id") + + @project_grant_id.setter + def project_grant_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "project_grant_id", value) + + @property + @pulumi.getter(name="projectId") + def project_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the project + """ + return pulumi.get(self, "project_id") + + @project_id.setter + def project_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "project_id", value) + + @property + @pulumi.getter(name="roleKeys") + def role_keys(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + List of roles granted + """ + return pulumi.get(self, "role_keys") + + @role_keys.setter + def role_keys(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "role_keys", value) + + +@pulumi.input_type +class _UserGrantState: + def __init__(__self__, *, + org_id: Optional[pulumi.Input[str]] = None, + project_grant_id: Optional[pulumi.Input[str]] = None, + project_id: Optional[pulumi.Input[str]] = None, + role_keys: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + user_id: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering UserGrant resources. + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[str] project_grant_id: ID of the granted project + :param pulumi.Input[str] project_id: ID of the project + :param pulumi.Input[Sequence[pulumi.Input[str]]] role_keys: List of roles granted + :param pulumi.Input[str] user_id: ID of the user + """ + _UserGrantState._configure( + lambda key, value: pulumi.set(__self__, key, value), + org_id=org_id, + project_grant_id=project_grant_id, + project_id=project_id, + role_keys=role_keys, + user_id=user_id, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + org_id: Optional[pulumi.Input[str]] = None, + project_grant_id: Optional[pulumi.Input[str]] = None, + project_id: Optional[pulumi.Input[str]] = None, + role_keys: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + user_id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + if 'projectGrantId' in kwargs: + project_grant_id = kwargs['projectGrantId'] + if 'projectId' in kwargs: + project_id = kwargs['projectId'] + if 'roleKeys' in kwargs: + role_keys = kwargs['roleKeys'] + if 'userId' in kwargs: + user_id = kwargs['userId'] + + if org_id is not None: + _setter("org_id", org_id) + if project_grant_id is not None: + _setter("project_grant_id", project_grant_id) + if project_id is not None: + _setter("project_id", project_id) + if role_keys is not None: + _setter("role_keys", role_keys) + if user_id is not None: + _setter("user_id", user_id) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + @property + @pulumi.getter(name="projectGrantId") + def project_grant_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the granted project + """ + return pulumi.get(self, "project_grant_id") + + @project_grant_id.setter + def project_grant_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "project_grant_id", value) + + @property + @pulumi.getter(name="projectId") + def project_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the project + """ + return pulumi.get(self, "project_id") + + @project_id.setter + def project_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "project_id", value) + + @property + @pulumi.getter(name="roleKeys") + def role_keys(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + List of roles granted + """ + return pulumi.get(self, "role_keys") + + @role_keys.setter + def role_keys(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "role_keys", value) + + @property + @pulumi.getter(name="userId") + def user_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the user + """ + return pulumi.get(self, "user_id") + + @user_id.setter + def user_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "user_id", value) + + +class UserGrant(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + org_id: Optional[pulumi.Input[str]] = None, + project_grant_id: Optional[pulumi.Input[str]] = None, + project_id: Optional[pulumi.Input[str]] = None, + role_keys: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + user_id: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Resource representing the authorization given to a user directly, including the given roles. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.UserGrant("default", + project_id=data["zitadel_project"]["default"]["id"], + org_id=data["zitadel_org"]["default"]["id"], + role_keys=["super-user"], + user_id=data["zitadel_human_user"]["default"]["id"]) + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/userGrant:UserGrant imported '123456789012345678:123456789012345678:123456789012345678' + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[str] project_grant_id: ID of the granted project + :param pulumi.Input[str] project_id: ID of the project + :param pulumi.Input[Sequence[pulumi.Input[str]]] role_keys: List of roles granted + :param pulumi.Input[str] user_id: ID of the user + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: UserGrantArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource representing the authorization given to a user directly, including the given roles. + + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.UserGrant("default", + project_id=data["zitadel_project"]["default"]["id"], + org_id=data["zitadel_org"]["default"]["id"], + role_keys=["super-user"], + user_id=data["zitadel_human_user"]["default"]["id"]) + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/userGrant:UserGrant imported '123456789012345678:123456789012345678:123456789012345678' + ``` + + :param str resource_name: The name of the resource. + :param UserGrantArgs 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(UserGrantArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + UserGrantArgs._configure(_setter, **kwargs) + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + org_id: Optional[pulumi.Input[str]] = None, + project_grant_id: Optional[pulumi.Input[str]] = None, + project_id: Optional[pulumi.Input[str]] = None, + role_keys: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + user_id: 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__ = UserGrantArgs.__new__(UserGrantArgs) + + __props__.__dict__["org_id"] = org_id + __props__.__dict__["project_grant_id"] = project_grant_id + __props__.__dict__["project_id"] = project_id + __props__.__dict__["role_keys"] = role_keys + if user_id is None and not opts.urn: + raise TypeError("Missing required property 'user_id'") + __props__.__dict__["user_id"] = user_id + super(UserGrant, __self__).__init__( + 'zitadel:index/userGrant:UserGrant', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + org_id: Optional[pulumi.Input[str]] = None, + project_grant_id: Optional[pulumi.Input[str]] = None, + project_id: Optional[pulumi.Input[str]] = None, + role_keys: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + user_id: Optional[pulumi.Input[str]] = None) -> 'UserGrant': + """ + Get an existing UserGrant 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[str] org_id: ID of the organization + :param pulumi.Input[str] project_grant_id: ID of the granted project + :param pulumi.Input[str] project_id: ID of the project + :param pulumi.Input[Sequence[pulumi.Input[str]]] role_keys: List of roles granted + :param pulumi.Input[str] user_id: ID of the user + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _UserGrantState.__new__(_UserGrantState) + + __props__.__dict__["org_id"] = org_id + __props__.__dict__["project_grant_id"] = project_grant_id + __props__.__dict__["project_id"] = project_id + __props__.__dict__["role_keys"] = role_keys + __props__.__dict__["user_id"] = user_id + return UserGrant(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> pulumi.Output[Optional[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @property + @pulumi.getter(name="projectGrantId") + def project_grant_id(self) -> pulumi.Output[Optional[str]]: + """ + ID of the granted project + """ + return pulumi.get(self, "project_grant_id") + + @property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Output[Optional[str]]: + """ + ID of the project + """ + return pulumi.get(self, "project_id") + + @property + @pulumi.getter(name="roleKeys") + def role_keys(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + List of roles granted + """ + return pulumi.get(self, "role_keys") + + @property + @pulumi.getter(name="userId") + def user_id(self) -> pulumi.Output[str]: + """ + ID of the user + """ + return pulumi.get(self, "user_id") + diff --git a/sdk/python/scoretechnologies_zitadel/user_metadata.py b/sdk/python/scoretechnologies_zitadel/user_metadata.py new file mode 100644 index 0000000..2a10770 --- /dev/null +++ b/sdk/python/scoretechnologies_zitadel/user_metadata.py @@ -0,0 +1,373 @@ +# 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, Callable, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['UserMetadataArgs', 'UserMetadata'] + +@pulumi.input_type +class UserMetadataArgs: + def __init__(__self__, *, + key: pulumi.Input[str], + user_id: pulumi.Input[str], + value: pulumi.Input[str], + org_id: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a UserMetadata resource. + :param pulumi.Input[str] key: The key of a metadata entry + :param pulumi.Input[str] user_id: ID of the user + :param pulumi.Input[str] value: The string representation of a metadata entry value. For binary data, use the base64encode function. + :param pulumi.Input[str] org_id: ID of the organization + """ + UserMetadataArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + key=key, + user_id=user_id, + value=value, + org_id=org_id, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + key: pulumi.Input[str], + user_id: pulumi.Input[str], + value: pulumi.Input[str], + org_id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'userId' in kwargs: + user_id = kwargs['userId'] + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + + _setter("key", key) + _setter("user_id", user_id) + _setter("value", value) + if org_id is not None: + _setter("org_id", org_id) + + @property + @pulumi.getter + def key(self) -> pulumi.Input[str]: + """ + The key of a metadata entry + """ + return pulumi.get(self, "key") + + @key.setter + def key(self, value: pulumi.Input[str]): + pulumi.set(self, "key", value) + + @property + @pulumi.getter(name="userId") + def user_id(self) -> pulumi.Input[str]: + """ + ID of the user + """ + return pulumi.get(self, "user_id") + + @user_id.setter + def user_id(self, value: pulumi.Input[str]): + pulumi.set(self, "user_id", value) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[str]: + """ + The string representation of a metadata entry value. For binary data, use the base64encode function. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[str]): + pulumi.set(self, "value", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + +@pulumi.input_type +class _UserMetadataState: + def __init__(__self__, *, + key: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + user_id: Optional[pulumi.Input[str]] = None, + value: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering UserMetadata resources. + :param pulumi.Input[str] key: The key of a metadata entry + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[str] user_id: ID of the user + :param pulumi.Input[str] value: The string representation of a metadata entry value. For binary data, use the base64encode function. + """ + _UserMetadataState._configure( + lambda key, value: pulumi.set(__self__, key, value), + key=key, + org_id=org_id, + user_id=user_id, + value=value, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + key: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + user_id: Optional[pulumi.Input[str]] = None, + value: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None, + **kwargs): + if 'orgId' in kwargs: + org_id = kwargs['orgId'] + if 'userId' in kwargs: + user_id = kwargs['userId'] + + if key is not None: + _setter("key", key) + if org_id is not None: + _setter("org_id", org_id) + if user_id is not None: + _setter("user_id", user_id) + if value is not None: + _setter("value", value) + + @property + @pulumi.getter + def key(self) -> Optional[pulumi.Input[str]]: + """ + The key of a metadata entry + """ + return pulumi.get(self, "key") + + @key.setter + def key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "key", value) + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @org_id.setter + def org_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "org_id", value) + + @property + @pulumi.getter(name="userId") + def user_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the user + """ + return pulumi.get(self, "user_id") + + @user_id.setter + def user_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "user_id", value) + + @property + @pulumi.getter + def value(self) -> Optional[pulumi.Input[str]]: + """ + The string representation of a metadata entry value. For binary data, use the base64encode function. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "value", value) + + +class UserMetadata(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + key: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + user_id: Optional[pulumi.Input[str]] = None, + value: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.UserMetadata("default", + org_id=data["zitadel_org"]["default"]["id"], + user_id=data["zitadel_human_user"]["default"]["id"], + key="a_key", + value="a_value") + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/userMetadata:UserMetadata imported '123456789012345678:a_key:123456789012345678' + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] key: The key of a metadata entry + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[str] user_id: ID of the user + :param pulumi.Input[str] value: The string representation of a metadata entry value. For binary data, use the base64encode function. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: UserMetadataArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + ## Example Usage + + ```python + import pulumi + import scoretechnologies_zitadel as zitadel + + default = zitadel.UserMetadata("default", + org_id=data["zitadel_org"]["default"]["id"], + user_id=data["zitadel_human_user"]["default"]["id"], + key="a_key", + value="a_value") + ``` + + ## Import + + bash The resource can be imported using the ID format ``, e.g. + + ```sh + $ pulumi import zitadel:index/userMetadata:UserMetadata imported '123456789012345678:a_key:123456789012345678' + ``` + + :param str resource_name: The name of the resource. + :param UserMetadataArgs 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(UserMetadataArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + UserMetadataArgs._configure(_setter, **kwargs) + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + key: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + user_id: Optional[pulumi.Input[str]] = None, + value: 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__ = UserMetadataArgs.__new__(UserMetadataArgs) + + if key is None and not opts.urn: + raise TypeError("Missing required property 'key'") + __props__.__dict__["key"] = key + __props__.__dict__["org_id"] = org_id + if user_id is None and not opts.urn: + raise TypeError("Missing required property 'user_id'") + __props__.__dict__["user_id"] = user_id + if value is None and not opts.urn: + raise TypeError("Missing required property 'value'") + __props__.__dict__["value"] = value + super(UserMetadata, __self__).__init__( + 'zitadel:index/userMetadata:UserMetadata', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + key: Optional[pulumi.Input[str]] = None, + org_id: Optional[pulumi.Input[str]] = None, + user_id: Optional[pulumi.Input[str]] = None, + value: Optional[pulumi.Input[str]] = None) -> 'UserMetadata': + """ + Get an existing UserMetadata 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[str] key: The key of a metadata entry + :param pulumi.Input[str] org_id: ID of the organization + :param pulumi.Input[str] user_id: ID of the user + :param pulumi.Input[str] value: The string representation of a metadata entry value. For binary data, use the base64encode function. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _UserMetadataState.__new__(_UserMetadataState) + + __props__.__dict__["key"] = key + __props__.__dict__["org_id"] = org_id + __props__.__dict__["user_id"] = user_id + __props__.__dict__["value"] = value + return UserMetadata(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def key(self) -> pulumi.Output[str]: + """ + The key of a metadata entry + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> pulumi.Output[Optional[str]]: + """ + ID of the organization + """ + return pulumi.get(self, "org_id") + + @property + @pulumi.getter(name="userId") + def user_id(self) -> pulumi.Output[str]: + """ + ID of the user + """ + return pulumi.get(self, "user_id") + + @property + @pulumi.getter + def value(self) -> pulumi.Output[str]: + """ + The string representation of a metadata entry value. For binary data, use the base64encode function. + """ + return pulumi.get(self, "value") + diff --git a/sdk/python/setup.py b/sdk/python/setup.py index 449efe6..dbd9ad6 100644 --- a/sdk/python/setup.py +++ b/sdk/python/setup.py @@ -17,7 +17,7 @@ def readme(): return "zitadel Pulumi Package - Development Version" -setup(name='pulumiverse_zitadel', +setup(name='scoretechnologies_zitadel', python_requires='>=3.7', version=VERSION, description="A Pulumi package for creating and managing zitadel cloud resources.", @@ -26,12 +26,12 @@ def readme(): keywords='pulumi zitadel category/cloud', url='https://www.pulumi.com', project_urls={ - 'Repository': 'https://github.com/pulumiverse/pulumi-zitadel' + 'Repository': 'https://github.com/scoretechnologies/pulumi-zitadel' }, license='Apache-2.0', packages=find_packages(), package_data={ - 'pulumiverse_zitadel': [ + 'scoretechnologies_zitadel': [ 'py.typed', 'pulumi-plugin.json', ]