ory_client/models/
normalized_project_revision.rs

1/*
2 * Ory APIs
3 *
4 * # Introduction Documentation for all public and administrative Ory APIs. Administrative APIs can only be accessed with a valid Personal Access Token. Public APIs are mostly used in browsers.  ## SDKs This document describes the APIs available in the Ory Network. The APIs are available as SDKs for the following languages:  | Language       | Download SDK                                                     | Documentation                                                                        | | -------------- | ---------------------------------------------------------------- | ------------------------------------------------------------------------------------ | | Dart           | [pub.dev](https://pub.dev/packages/ory_client)                   | [README](https://github.com/ory/sdk/blob/master/clients/client/dart/README.md)       | | .NET           | [nuget.org](https://www.nuget.org/packages/Ory.Client/)          | [README](https://github.com/ory/sdk/blob/master/clients/client/dotnet/README.md)     | | Elixir         | [hex.pm](https://hex.pm/packages/ory_client)                     | [README](https://github.com/ory/sdk/blob/master/clients/client/elixir/README.md)     | | Go             | [github.com](https://github.com/ory/client-go)                   | [README](https://github.com/ory/sdk/blob/master/clients/client/go/README.md)         | | Java           | [maven.org](https://search.maven.org/artifact/sh.ory/ory-client) | [README](https://github.com/ory/sdk/blob/master/clients/client/java/README.md)       | | JavaScript     | [npmjs.com](https://www.npmjs.com/package/@ory/client)           | [README](https://github.com/ory/sdk/blob/master/clients/client/typescript/README.md) | | JavaScript (With fetch) | [npmjs.com](https://www.npmjs.com/package/@ory/client-fetch)           | [README](https://github.com/ory/sdk/blob/master/clients/client/typescript-fetch/README.md) |  | PHP            | [packagist.org](https://packagist.org/packages/ory/client)       | [README](https://github.com/ory/sdk/blob/master/clients/client/php/README.md)        | | Python         | [pypi.org](https://pypi.org/project/ory-client/)                 | [README](https://github.com/ory/sdk/blob/master/clients/client/python/README.md)     | | Ruby           | [rubygems.org](https://rubygems.org/gems/ory-client)             | [README](https://github.com/ory/sdk/blob/master/clients/client/ruby/README.md)       | | Rust           | [crates.io](https://crates.io/crates/ory-client)                 | [README](https://github.com/ory/sdk/blob/master/clients/client/rust/README.md)       | 
5 *
6 * The version of the OpenAPI document: v1.17.2
7 * Contact: support@ory.sh
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct NormalizedProjectRevision {
16    /// Holds the URL to the account experience's dark theme favicon (currently unused).
17    #[serde(rename = "account_experience_favicon_dark", skip_serializing_if = "Option::is_none")]
18    pub account_experience_favicon_dark: Option<String>,
19    /// Holds the URL to the account experience's favicon.
20    #[serde(rename = "account_experience_favicon_light", skip_serializing_if = "Option::is_none")]
21    pub account_experience_favicon_light: Option<String>,
22    /// Holds the URL to the account experience's dark theme logo (currently unused).
23    #[serde(rename = "account_experience_logo_dark", skip_serializing_if = "Option::is_none")]
24    pub account_experience_logo_dark: Option<String>,
25    /// Holds the URL to the account experience's logo.
26    #[serde(rename = "account_experience_logo_light", skip_serializing_if = "Option::is_none")]
27    pub account_experience_logo_light: Option<String>,
28    /// Holds the URL to the account experience's dark theme variables.
29    #[serde(rename = "account_experience_theme_variables_dark", skip_serializing_if = "Option::is_none")]
30    pub account_experience_theme_variables_dark: Option<String>,
31    /// Holds the URL to the account experience's light theme variables.
32    #[serde(rename = "account_experience_theme_variables_light", skip_serializing_if = "Option::is_none")]
33    pub account_experience_theme_variables_light: Option<String>,
34    /// The Project's Revision Creation Date
35    #[serde(rename = "created_at", skip_serializing_if = "Option::is_none")]
36    pub created_at: Option<String>,
37    /// Whether to disable the account experience welcome screen, which is hosted under `/ui/welcome`.
38    #[serde(rename = "disable_account_experience_welcome_screen", skip_serializing_if = "Option::is_none")]
39    pub disable_account_experience_welcome_screen: Option<bool>,
40    /// Whether the new account experience is enabled and reachable.
41    #[serde(rename = "enable_ax_v2", skip_serializing_if = "Option::is_none")]
42    pub enable_ax_v2: Option<bool>,
43    #[serde(rename = "hydra_oauth2_allowed_top_level_claims", skip_serializing_if = "Option::is_none")]
44    pub hydra_oauth2_allowed_top_level_claims: Option<Vec<String>>,
45    /// Automatically grant authorized OAuth2 Scope in OAuth2 Client Credentials Flow.  Each OAuth2 Client is allowed to request a predefined OAuth2 Scope (for example `read write`). If this option is enabled, the full scope is automatically granted when performing the OAuth2 Client Credentials flow.  If disabled, the OAuth2 Client has to request the scope in the OAuth2 request by providing the `scope` query parameter.  Setting this option to true is common if you need compatibility with MITREid.  This governs the \"oauth2.client_credentials.default_grant_allowed_scope\" setting.
46    #[serde(rename = "hydra_oauth2_client_credentials_default_grant_allowed_scope", skip_serializing_if = "Option::is_none")]
47    pub hydra_oauth2_client_credentials_default_grant_allowed_scope: Option<bool>,
48    /// Set to true if you want to exclude claim `nbf (not before)` part of access token.  This governs the \"oauth2.exclude_not_before_claim\" setting.
49    #[serde(rename = "hydra_oauth2_exclude_not_before_claim", skip_serializing_if = "Option::is_none")]
50    pub hydra_oauth2_exclude_not_before_claim: Option<bool>,
51    /// Configures if the issued at (`iat`) claim is required in the JSON Web Token (JWT) Profile for OAuth 2.0 Client Authentication and Authorization Grants (RFC7523).  If set to `false`, the `iat` claim is required. Set this value to `true` only after careful consideration.  This governs the \"oauth2.grant.jwt.iat_optional\" setting.
52    #[serde(rename = "hydra_oauth2_grant_jwt_iat_optional", skip_serializing_if = "Option::is_none")]
53    pub hydra_oauth2_grant_jwt_iat_optional: Option<bool>,
54    /// Configures if the JSON Web Token ID (`jti`) claim is required in the JSON Web Token (JWT) Profile for OAuth 2.0 Client Authentication and Authorization Grants (RFC7523).  If set to `false`, the `jti` claim is required. Set this value to `true` only after careful consideration.  This governs the \"oauth2.grant.jwt.jti_optional\" setting.
55    #[serde(rename = "hydra_oauth2_grant_jwt_jti_optional", skip_serializing_if = "Option::is_none")]
56    pub hydra_oauth2_grant_jwt_jti_optional: Option<bool>,
57    /// Configures what the maximum age of a JWT assertion used in the JSON Web Token (JWT) Profile for OAuth 2.0 Client Authentication and Authorization Grants (RFC7523) can be.  This feature uses the `exp` claim and `iat` claim to calculate assertion age. Assertions exceeding the max age will be denied.  Useful as a safety measure and recommended to keep below 720h.  This governs the \"oauth2.grant.jwt.max_ttl\" setting.
58    #[serde(rename = "hydra_oauth2_grant_jwt_max_ttl", skip_serializing_if = "Option::is_none")]
59    pub hydra_oauth2_grant_jwt_max_ttl: Option<String>,
60    /// Configures the OAuth2 Grant Refresh Token Rotation Grace Period  If set to `null` or `\"0s\"`, the graceful refresh token rotation is disabled.  This governs the \"oauth2.grant.refresh_token_rotation_grace_period\" setting.
61    #[serde(rename = "hydra_oauth2_grant_refresh_token_rotation_grace_period", skip_serializing_if = "Option::is_none")]
62    pub hydra_oauth2_grant_refresh_token_rotation_grace_period: Option<String>,
63    /// Set to false if you don't want to mirror custom claims under 'ext'.  This governs the \"oauth2.mirror_top_level_claims\" setting.
64    #[serde(rename = "hydra_oauth2_mirror_top_level_claims", skip_serializing_if = "Option::is_none")]
65    pub hydra_oauth2_mirror_top_level_claims: Option<bool>,
66    /// Configures whether PKCE should be enforced for all OAuth2 Clients.  This governs the \"oauth2.pkce.enforced\" setting.
67    #[serde(rename = "hydra_oauth2_pkce_enforced", skip_serializing_if = "Option::is_none")]
68    pub hydra_oauth2_pkce_enforced: Option<bool>,
69    /// Configures whether PKCE should be enforced for OAuth2 Clients without a client secret (public clients).  This governs the \"oauth2.pkce.enforced_for_public_clients\" setting.
70    #[serde(rename = "hydra_oauth2_pkce_enforced_for_public_clients", skip_serializing_if = "Option::is_none")]
71    pub hydra_oauth2_pkce_enforced_for_public_clients: Option<bool>,
72    /// Sets the Refresh Token Hook Endpoint. If set this endpoint will be called during the OAuth2 Token Refresh grant update the OAuth2 Access Token claims.  This governs the \"oauth2.refresh_token_hook\" setting.
73    #[serde(rename = "hydra_oauth2_refresh_token_hook", skip_serializing_if = "Option::is_none")]
74    pub hydra_oauth2_refresh_token_hook: Option<String>,
75    /// Sets the token hook endpoint for all grant types. If set it will be called while providing token to customize claims.  This governs the \"oauth2.token_hook.url\" setting.
76    #[serde(rename = "hydra_oauth2_token_hook", skip_serializing_if = "Option::is_none")]
77    pub hydra_oauth2_token_hook: Option<String>,
78    #[serde(rename = "hydra_oidc_dynamic_client_registration_default_scope", skip_serializing_if = "Option::is_none")]
79    pub hydra_oidc_dynamic_client_registration_default_scope: Option<Vec<String>>,
80    /// Configures OpenID Connect Dynamic Client Registration.  This governs the \"oidc.dynamic_client_registration.enabled\" setting.
81    #[serde(rename = "hydra_oidc_dynamic_client_registration_enabled", skip_serializing_if = "Option::is_none")]
82    pub hydra_oidc_dynamic_client_registration_enabled: Option<bool>,
83    /// Configures OpenID Connect Discovery and overwrites the pairwise algorithm  This governs the \"oidc.subject_identifiers.pairwise_salt\" setting.
84    #[serde(rename = "hydra_oidc_subject_identifiers_pairwise_salt", skip_serializing_if = "Option::is_none")]
85    pub hydra_oidc_subject_identifiers_pairwise_salt: Option<String>,
86    #[serde(rename = "hydra_oidc_subject_identifiers_supported_types", skip_serializing_if = "Option::is_none")]
87    pub hydra_oidc_subject_identifiers_supported_types: Option<Vec<String>>,
88    #[serde(rename = "hydra_secrets_cookie", skip_serializing_if = "Option::is_none")]
89    pub hydra_secrets_cookie: Option<Vec<String>>,
90    #[serde(rename = "hydra_secrets_system", skip_serializing_if = "Option::is_none")]
91    pub hydra_secrets_system: Option<Vec<String>>,
92    /// Configures the Ory Hydra Cookie Same Site Legacy Workaround  This governs the \"serve.cookies.same_site_legacy_workaround\" setting.
93    #[serde(rename = "hydra_serve_cookies_same_site_legacy_workaround", skip_serializing_if = "Option::is_none")]
94    pub hydra_serve_cookies_same_site_legacy_workaround: Option<bool>,
95    /// Configures the Ory Hydra Cookie Same Site Mode  This governs the \"serve.cookies.same_site_mode\" setting.
96    #[serde(rename = "hydra_serve_cookies_same_site_mode", skip_serializing_if = "Option::is_none")]
97    pub hydra_serve_cookies_same_site_mode: Option<String>,
98    /// Defines access token type  This governs the \"strategies.access_token\" setting. opaque Oauth2AccessTokenStrategyOpaque jwt Oauth2AccessTokenStrategyJwt
99    #[serde(rename = "hydra_strategies_access_token", skip_serializing_if = "Option::is_none")]
100    pub hydra_strategies_access_token: Option<HydraStrategiesAccessTokenEnum>,
101    /// Define the claim to use as the scope in the access token.  This governs the \"strategies.jwt.scope_claim\" setting:  list: The scope claim is an array of strings named `scope`: `{ \"scope\": [\"read\", \"write\"] }` string: The scope claim is a space delimited list of strings named `scp`: `{ \"scp\": \"read write\" }` both: The scope claim is both a space delimited list and an array of strings named `scope` and `scp`: `{ \"scope\": [\"read\", \"write\"], \"scp\": \"read write\" }` list OAuth2JWTScopeClaimList string OAuth2JWTScopeClaimString both OAuth2JWTScopeClaimBoth
102    #[serde(rename = "hydra_strategies_jwt_scope_claim", skip_serializing_if = "Option::is_none")]
103    pub hydra_strategies_jwt_scope_claim: Option<HydraStrategiesJwtScopeClaimEnum>,
104    /// Defines how scopes are matched. For more details have a look at https://github.com/ory/fosite#scopes  This governs the \"strategies.scope\" setting. exact Oauth2ScopeStrategyExact wildcard Oauth2ScopeStrategyWildcard
105    #[serde(rename = "hydra_strategies_scope", skip_serializing_if = "Option::is_none")]
106    pub hydra_strategies_scope: Option<HydraStrategiesScopeEnum>,
107    /// This governs the \"ttl.access_token\" setting.
108    #[serde(rename = "hydra_ttl_access_token", skip_serializing_if = "Option::is_none")]
109    pub hydra_ttl_access_token: Option<String>,
110    /// Configures how long refresh tokens are valid.  Set to -1 for refresh tokens to never expire. This is not recommended!  This governs the \"ttl.auth_code\" setting.
111    #[serde(rename = "hydra_ttl_auth_code", skip_serializing_if = "Option::is_none")]
112    pub hydra_ttl_auth_code: Option<String>,
113    /// This governs the \"ttl.id_token\" setting.
114    #[serde(rename = "hydra_ttl_id_token", skip_serializing_if = "Option::is_none")]
115    pub hydra_ttl_id_token: Option<String>,
116    /// Configures how long a user login and consent flow may take.  This governs the \"ttl.login_consent_request\" setting.
117    #[serde(rename = "hydra_ttl_login_consent_request", skip_serializing_if = "Option::is_none")]
118    pub hydra_ttl_login_consent_request: Option<String>,
119    /// Configures how long refresh tokens are valid.  Set to -1 for refresh tokens to never expire. This is not recommended!  This governs the \"ttl.refresh_token\" setting.
120    #[serde(rename = "hydra_ttl_refresh_token", skip_serializing_if = "Option::is_none")]
121    pub hydra_ttl_refresh_token: Option<String>,
122    /// Sets the OAuth2 Consent Endpoint URL of the OAuth2 User Login & Consent flow.  Defaults to the Ory Account Experience if left empty.  This governs the \"urls.consent\" setting.
123    #[serde(rename = "hydra_urls_consent", skip_serializing_if = "Option::is_none")]
124    pub hydra_urls_consent: Option<String>,
125    /// Sets the OAuth2 Error URL of the OAuth2 User Login & Consent flow.  Defaults to the Ory Account Experience if left empty.  This governs the \"urls.error\" setting.
126    #[serde(rename = "hydra_urls_error", skip_serializing_if = "Option::is_none")]
127    pub hydra_urls_error: Option<String>,
128    /// Sets the OAuth2 Login Endpoint URL of the OAuth2 User Login & Consent flow.  Defaults to the Ory Account Experience if left empty.  This governs the \"urls.login\" setting.
129    #[serde(rename = "hydra_urls_login", skip_serializing_if = "Option::is_none")]
130    pub hydra_urls_login: Option<String>,
131    /// Sets the logout endpoint.  Defaults to the Ory Account Experience if left empty.  This governs the \"urls.logout\" setting.
132    #[serde(rename = "hydra_urls_logout", skip_serializing_if = "Option::is_none")]
133    pub hydra_urls_logout: Option<String>,
134    /// When an OAuth2-related user agent requests to log out, they will be redirected to this url afterwards per default.  Defaults to the Ory Account Experience in development and your application in production mode when a custom domain is connected.  This governs the \"urls.post_logout_redirect\" setting.
135    #[serde(rename = "hydra_urls_post_logout_redirect", skip_serializing_if = "Option::is_none")]
136    pub hydra_urls_post_logout_redirect: Option<String>,
137    /// Sets the OAuth2 Registration Endpoint URL of the OAuth2 User Login & Consent flow.  Defaults to the Ory Account Experience if left empty.  This governs the \"urls.registration\" setting.
138    #[serde(rename = "hydra_urls_registration", skip_serializing_if = "Option::is_none")]
139    pub hydra_urls_registration: Option<String>,
140    /// This value will be used as the issuer in access and ID tokens. It must be specified and using HTTPS protocol, unless the development mode is enabled.  On the Ory Network it will be very rare that you want to modify this value. If left empty, it will default to the correct value for the Ory Network.  This governs the \"urls.self.issuer\" setting.
141    #[serde(rename = "hydra_urls_self_issuer", skip_serializing_if = "Option::is_none")]
142    pub hydra_urls_self_issuer: Option<String>,
143    #[serde(rename = "hydra_webfinger_jwks_broadcast_keys", skip_serializing_if = "Option::is_none")]
144    pub hydra_webfinger_jwks_broadcast_keys: Option<Vec<String>>,
145    /// Configures OpenID Connect Discovery and overwrites the OAuth2 Authorization URL.  This governs the \"webfinger.oidc.discovery.auth_url\" setting.
146    #[serde(rename = "hydra_webfinger_oidc_discovery_auth_url", skip_serializing_if = "Option::is_none")]
147    pub hydra_webfinger_oidc_discovery_auth_url: Option<String>,
148    /// Configures OpenID Connect Discovery and overwrites the OpenID Connect Dynamic Client Registration Endpoint.  This governs the \"webfinger.oidc.discovery.client_registration_url\" setting.
149    #[serde(rename = "hydra_webfinger_oidc_discovery_client_registration_url", skip_serializing_if = "Option::is_none")]
150    pub hydra_webfinger_oidc_discovery_client_registration_url: Option<String>,
151    /// Configures OpenID Connect Discovery and overwrites the JWKS URL.  This governs the \"webfinger.oidc.discovery.jwks_url\" setting.
152    #[serde(rename = "hydra_webfinger_oidc_discovery_jwks_url", skip_serializing_if = "Option::is_none")]
153    pub hydra_webfinger_oidc_discovery_jwks_url: Option<String>,
154    #[serde(rename = "hydra_webfinger_oidc_discovery_supported_claims", skip_serializing_if = "Option::is_none")]
155    pub hydra_webfinger_oidc_discovery_supported_claims: Option<Vec<String>>,
156    #[serde(rename = "hydra_webfinger_oidc_discovery_supported_scope", skip_serializing_if = "Option::is_none")]
157    pub hydra_webfinger_oidc_discovery_supported_scope: Option<Vec<String>>,
158    /// Configures OpenID Connect Discovery and overwrites the OAuth2 Token URL.  This governs the \"webfinger.oidc.discovery.token_url\" setting.
159    #[serde(rename = "hydra_webfinger_oidc_discovery_token_url", skip_serializing_if = "Option::is_none")]
160    pub hydra_webfinger_oidc_discovery_token_url: Option<String>,
161    /// Configures OpenID Connect Discovery and overwrites userinfo endpoint to be advertised at the OpenID Connect Discovery endpoint /.well-known/openid-configuration. Defaults to Ory Hydra's userinfo endpoint at /userinfo. Set this value if you want to handle this endpoint yourself.  This governs the \"webfinger.oidc.discovery.userinfo_url\" setting.
162    #[serde(rename = "hydra_webfinger_oidc_discovery_userinfo_url", skip_serializing_if = "Option::is_none")]
163    pub hydra_webfinger_oidc_discovery_userinfo_url: Option<String>,
164    /// The revision ID.
165    #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
166    pub id: Option<String>,
167    /// The Revisions' Keto Namespace Configuration  The string is a URL pointing to an OPL file with the configuration.
168    #[serde(rename = "keto_namespace_configuration", skip_serializing_if = "Option::is_none")]
169    pub keto_namespace_configuration: Option<String>,
170    #[serde(rename = "keto_namespaces", skip_serializing_if = "Option::is_none")]
171    pub keto_namespaces: Option<Vec<models::KetoNamespace>>,
172    /// Configures the Ory Kratos Cookie SameSite Attribute  This governs the \"cookies.same_site\" setting.
173    #[serde(rename = "kratos_cookies_same_site", skip_serializing_if = "Option::is_none")]
174    pub kratos_cookies_same_site: Option<String>,
175    #[serde(rename = "kratos_courier_channels", skip_serializing_if = "Option::is_none")]
176    pub kratos_courier_channels: Option<Vec<models::NormalizedProjectRevisionCourierChannel>>,
177    /// The delivery strategy to use when sending emails  `smtp`: Use SMTP server `http`: Use the built in HTTP client to send the email to some remote service
178    #[serde(rename = "kratos_courier_delivery_strategy", skip_serializing_if = "Option::is_none")]
179    pub kratos_courier_delivery_strategy: Option<String>,
180    /// The location of the API key to use in the HTTP email sending service's authentication  `header`: Send the key value pair as a header `cookie`: Send the key value pair as a cookie This governs the \"courier.http.auth.config.in\" setting
181    #[serde(rename = "kratos_courier_http_request_config_auth_api_key_in", skip_serializing_if = "Option::is_none")]
182    pub kratos_courier_http_request_config_auth_api_key_in: Option<String>,
183    /// The name of the API key to use in the HTTP email sending service's authentication  This governs the \"courier.http.auth.config.name\" setting
184    #[serde(rename = "kratos_courier_http_request_config_auth_api_key_name", skip_serializing_if = "Option::is_none")]
185    pub kratos_courier_http_request_config_auth_api_key_name: Option<String>,
186    /// The value of the API key to use in the HTTP email sending service's authentication  This governs the \"courier.http.auth.config.value\" setting
187    #[serde(rename = "kratos_courier_http_request_config_auth_api_key_value", skip_serializing_if = "Option::is_none")]
188    pub kratos_courier_http_request_config_auth_api_key_value: Option<String>,
189    /// The password to use for basic auth in the HTTP email sending service's authentication  This governs the \"courier.http.auth.config.password\" setting
190    #[serde(rename = "kratos_courier_http_request_config_auth_basic_auth_password", skip_serializing_if = "Option::is_none")]
191    pub kratos_courier_http_request_config_auth_basic_auth_password: Option<String>,
192    /// The user to use for basic auth in the HTTP email sending service's authentication  This governs the \"courier.http.auth.config.user\" setting
193    #[serde(rename = "kratos_courier_http_request_config_auth_basic_auth_user", skip_serializing_if = "Option::is_none")]
194    pub kratos_courier_http_request_config_auth_basic_auth_user: Option<String>,
195    /// The authentication type to use while contacting the remote HTTP email sending service  `basic_auth`: Use Basic Authentication `api_key`: Use API Key Authentication in a header or cookie
196    #[serde(rename = "kratos_courier_http_request_config_auth_type", skip_serializing_if = "Option::is_none")]
197    pub kratos_courier_http_request_config_auth_type: Option<String>,
198    /// The Jsonnet template to generate the body to send to the remote HTTP email sending service  Should be valid Jsonnet and base64 encoded  This governs the \"courier.http.body\" setting
199    #[serde(rename = "kratos_courier_http_request_config_body", skip_serializing_if = "Option::is_none")]
200    pub kratos_courier_http_request_config_body: Option<String>,
201    /// NullJSONRawMessage represents a json.RawMessage that works well with JSON, SQL, and Swagger and is NULLable-
202    #[serde(rename = "kratos_courier_http_request_config_headers", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
203    pub kratos_courier_http_request_config_headers: Option<Option<serde_json::Value>>,
204    /// The http METHOD to use when calling the remote HTTP email sending service
205    #[serde(rename = "kratos_courier_http_request_config_method", skip_serializing_if = "Option::is_none")]
206    pub kratos_courier_http_request_config_method: Option<String>,
207    /// The URL of the remote HTTP email sending service  This governs the \"courier.http.url\" setting
208    #[serde(rename = "kratos_courier_http_request_config_url", skip_serializing_if = "Option::is_none")]
209    pub kratos_courier_http_request_config_url: Option<String>,
210    /// Configures the Ory Kratos SMTP Connection URI  This governs the \"courier.smtp.connection_uri\" setting.
211    #[serde(rename = "kratos_courier_smtp_connection_uri", skip_serializing_if = "Option::is_none")]
212    pub kratos_courier_smtp_connection_uri: Option<String>,
213    /// Configures the Ory Kratos SMTP From Address  This governs the \"courier.smtp.from_address\" setting.
214    #[serde(rename = "kratos_courier_smtp_from_address", skip_serializing_if = "Option::is_none")]
215    pub kratos_courier_smtp_from_address: Option<String>,
216    /// Configures the Ory Kratos SMTP From Name  This governs the \"courier.smtp.from_name\" setting.
217    #[serde(rename = "kratos_courier_smtp_from_name", skip_serializing_if = "Option::is_none")]
218    pub kratos_courier_smtp_from_name: Option<String>,
219    /// NullJSONRawMessage represents a json.RawMessage that works well with JSON, SQL, and Swagger and is NULLable-
220    #[serde(rename = "kratos_courier_smtp_headers", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
221    pub kratos_courier_smtp_headers: Option<Option<serde_json::Value>>,
222    /// Configures the local_name to use in SMTP connections  This governs the \"courier.smtp.local_name\" setting.
223    #[serde(rename = "kratos_courier_smtp_local_name", skip_serializing_if = "Option::is_none")]
224    pub kratos_courier_smtp_local_name: Option<String>,
225    /// Configures the Ory Kratos Valid Login via Code Email Body HTML Template  This governs the \"courier.smtp.templates.login_code.valid.email.body.html\" setting.
226    #[serde(rename = "kratos_courier_templates_login_code_valid_email_body_html", skip_serializing_if = "Option::is_none")]
227    pub kratos_courier_templates_login_code_valid_email_body_html: Option<String>,
228    /// Configures the Ory Kratos Valid Login via Code Email Body Plaintext Template  This governs the \"courier.smtp.templates.login_code.valid.email.body.plaintext\" setting.
229    #[serde(rename = "kratos_courier_templates_login_code_valid_email_body_plaintext", skip_serializing_if = "Option::is_none")]
230    pub kratos_courier_templates_login_code_valid_email_body_plaintext: Option<String>,
231    /// Configures the Ory Kratos Valid Login via Code Email Subject Template  This governs the \"courier.smtp.templates.login_code.valid.email.subject\" setting.
232    #[serde(rename = "kratos_courier_templates_login_code_valid_email_subject", skip_serializing_if = "Option::is_none")]
233    pub kratos_courier_templates_login_code_valid_email_subject: Option<String>,
234    /// Configures the Ory Kratos Valid Login via Code SMS plain text body  This governs the \"courier.smtp.templates.login_code.valid.sms.plaintext\" setting.
235    #[serde(rename = "kratos_courier_templates_login_code_valid_sms_body_plaintext", skip_serializing_if = "Option::is_none")]
236    pub kratos_courier_templates_login_code_valid_sms_body_plaintext: Option<String>,
237    /// Configures the Ory Kratos Invalid Recovery via Code Email Body HTML Template  This governs the \"courier.smtp.templates.recovery_code.invalid.email.body.html\" setting.
238    #[serde(rename = "kratos_courier_templates_recovery_code_invalid_email_body_html", skip_serializing_if = "Option::is_none")]
239    pub kratos_courier_templates_recovery_code_invalid_email_body_html: Option<String>,
240    /// Configures the Ory Kratos Invalid Recovery via Code Email Body Plaintext Template  This governs the \"courier.smtp.templates.recovery_code.invalid.email.body.plaintext\" setting.
241    #[serde(rename = "kratos_courier_templates_recovery_code_invalid_email_body_plaintext", skip_serializing_if = "Option::is_none")]
242    pub kratos_courier_templates_recovery_code_invalid_email_body_plaintext: Option<String>,
243    /// Configures the Ory Kratos Invalid Recovery via Code Email Subject Template  This governs the \"courier.smtp.templates.recovery_code.invalid.email.body.html\" setting.
244    #[serde(rename = "kratos_courier_templates_recovery_code_invalid_email_subject", skip_serializing_if = "Option::is_none")]
245    pub kratos_courier_templates_recovery_code_invalid_email_subject: Option<String>,
246    /// Configures the Ory Kratos Valid Recovery via Code Email Body HTML Template  This governs the \"courier.smtp.templates.recovery_code.valid.email.body.html\" setting.
247    #[serde(rename = "kratos_courier_templates_recovery_code_valid_email_body_html", skip_serializing_if = "Option::is_none")]
248    pub kratos_courier_templates_recovery_code_valid_email_body_html: Option<String>,
249    /// Configures the Ory Kratos Valid Recovery via Code Email Body Plaintext Template  This governs the \"courier.smtp.templates.recovery_code.valid.email.body.plaintext\" setting.
250    #[serde(rename = "kratos_courier_templates_recovery_code_valid_email_body_plaintext", skip_serializing_if = "Option::is_none")]
251    pub kratos_courier_templates_recovery_code_valid_email_body_plaintext: Option<String>,
252    /// Configures the Ory Kratos Valid Recovery via Code Email Subject Template  This governs the \"courier.smtp.templates.recovery_code.valid.email.subject\" setting.
253    #[serde(rename = "kratos_courier_templates_recovery_code_valid_email_subject", skip_serializing_if = "Option::is_none")]
254    pub kratos_courier_templates_recovery_code_valid_email_subject: Option<String>,
255    /// Configures the Ory Kratos Invalid Recovery Email Body HTML Template  This governs the \"courier.smtp.templates.recovery.invalid.email.body.html\" setting.
256    #[serde(rename = "kratos_courier_templates_recovery_invalid_email_body_html", skip_serializing_if = "Option::is_none")]
257    pub kratos_courier_templates_recovery_invalid_email_body_html: Option<String>,
258    /// Configures the Ory Kratos Invalid Recovery Email Body Plaintext Template  This governs the \"courier.smtp.templates.recovery.invalid.email.body.plaintext\" setting.
259    #[serde(rename = "kratos_courier_templates_recovery_invalid_email_body_plaintext", skip_serializing_if = "Option::is_none")]
260    pub kratos_courier_templates_recovery_invalid_email_body_plaintext: Option<String>,
261    /// Configures the Ory Kratos Invalid Recovery Email Subject Template  This governs the \"courier.smtp.templates.recovery.invalid.email.body.html\" setting.
262    #[serde(rename = "kratos_courier_templates_recovery_invalid_email_subject", skip_serializing_if = "Option::is_none")]
263    pub kratos_courier_templates_recovery_invalid_email_subject: Option<String>,
264    /// Configures the Ory Kratos Valid Recovery Email Body HTML Template  This governs the \"courier.smtp.templates.recovery.valid.email.body.html\" setting.
265    #[serde(rename = "kratos_courier_templates_recovery_valid_email_body_html", skip_serializing_if = "Option::is_none")]
266    pub kratos_courier_templates_recovery_valid_email_body_html: Option<String>,
267    /// Configures the Ory Kratos Valid Recovery Email Body Plaintext Template  This governs the \"courier.smtp.templates.recovery.valid.email.body.plaintext\" setting.
268    #[serde(rename = "kratos_courier_templates_recovery_valid_email_body_plaintext", skip_serializing_if = "Option::is_none")]
269    pub kratos_courier_templates_recovery_valid_email_body_plaintext: Option<String>,
270    /// Configures the Ory Kratos Valid Recovery Email Subject Template  This governs the \"courier.smtp.templates.recovery.valid.email.subject\" setting.
271    #[serde(rename = "kratos_courier_templates_recovery_valid_email_subject", skip_serializing_if = "Option::is_none")]
272    pub kratos_courier_templates_recovery_valid_email_subject: Option<String>,
273    /// Configures the Ory Kratos Valid Registration via Code Email Body HTML Template  This governs the \"courier.smtp.templates.registration_code.valid.email.body.html\" setting.
274    #[serde(rename = "kratos_courier_templates_registration_code_valid_email_body_html", skip_serializing_if = "Option::is_none")]
275    pub kratos_courier_templates_registration_code_valid_email_body_html: Option<String>,
276    /// Configures the Ory Kratos Valid Registration via Code Email Body Plaintext Template  This governs the \"courier.smtp.templates.registration_code.valid.email.body.plaintext\" setting.
277    #[serde(rename = "kratos_courier_templates_registration_code_valid_email_body_plaintext", skip_serializing_if = "Option::is_none")]
278    pub kratos_courier_templates_registration_code_valid_email_body_plaintext: Option<String>,
279    /// Configures the Ory Kratos Valid Registration via Code Email Subject Template  This governs the \"courier.smtp.templates.registration_code.valid.email.subject\" setting.
280    #[serde(rename = "kratos_courier_templates_registration_code_valid_email_subject", skip_serializing_if = "Option::is_none")]
281    pub kratos_courier_templates_registration_code_valid_email_subject: Option<String>,
282    /// Configures the Ory Kratos Valid Registration via Code Email Subject Template  This governs the \"courier.smtp.templates.registration_code.valid.sms.body.plaintext\" setting.
283    #[serde(rename = "kratos_courier_templates_registration_code_valid_sms_body_plaintext", skip_serializing_if = "Option::is_none")]
284    pub kratos_courier_templates_registration_code_valid_sms_body_plaintext: Option<String>,
285    /// Configures the Ory Kratos Invalid Verification via Code Email Body HTML Template  This governs the \"courier.smtp.templates.verification_code.invalid.email.body.html\" setting.
286    #[serde(rename = "kratos_courier_templates_verification_code_invalid_email_body_html", skip_serializing_if = "Option::is_none")]
287    pub kratos_courier_templates_verification_code_invalid_email_body_html: Option<String>,
288    /// Configures the Ory Kratos Invalid Verification via Code Email Body Plaintext Template  This governs the \"courier.smtp.templates.verification_code.invalid.email.body.plaintext\" setting.
289    #[serde(rename = "kratos_courier_templates_verification_code_invalid_email_body_plaintext", skip_serializing_if = "Option::is_none")]
290    pub kratos_courier_templates_verification_code_invalid_email_body_plaintext: Option<String>,
291    /// Configures the Ory Kratos Invalid Verification via Code Email Subject Template  This governs the \"courier.smtp.templates.verification_code.invalid.email.subject\" setting.
292    #[serde(rename = "kratos_courier_templates_verification_code_invalid_email_subject", skip_serializing_if = "Option::is_none")]
293    pub kratos_courier_templates_verification_code_invalid_email_subject: Option<String>,
294    /// Configures the Ory Kratos Valid Verification via Code Email Body HTML Template  This governs the \"courier.smtp.templates.verification_code.valid.email.body.html\" setting.
295    #[serde(rename = "kratos_courier_templates_verification_code_valid_email_body_html", skip_serializing_if = "Option::is_none")]
296    pub kratos_courier_templates_verification_code_valid_email_body_html: Option<String>,
297    /// Configures the Ory Kratos Valid Verification via Code Email Body Plaintext Template  This governs the \"courier.smtp.templates.verification_code.valid.email.body.plaintext\" setting.
298    #[serde(rename = "kratos_courier_templates_verification_code_valid_email_body_plaintext", skip_serializing_if = "Option::is_none")]
299    pub kratos_courier_templates_verification_code_valid_email_body_plaintext: Option<String>,
300    /// Configures the Ory Kratos Valid Verification via Code Email Subject Template  This governs the \"courier.smtp.templates.verification_code.valid.email.subject\" setting.
301    #[serde(rename = "kratos_courier_templates_verification_code_valid_email_subject", skip_serializing_if = "Option::is_none")]
302    pub kratos_courier_templates_verification_code_valid_email_subject: Option<String>,
303    /// Configures the Ory Kratos Valid Verification via Code SMS Body Plaintext  This governs the \"courier.smtp.templates.verification_code.valid.sms.body.plaintext\" setting.
304    #[serde(rename = "kratos_courier_templates_verification_code_valid_sms_body_plaintext", skip_serializing_if = "Option::is_none")]
305    pub kratos_courier_templates_verification_code_valid_sms_body_plaintext: Option<String>,
306    /// Configures the Ory Kratos Invalid Verification Email Body HTML Template  This governs the \"courier.smtp.templates.verification.invalid.email.body.html\" setting.
307    #[serde(rename = "kratos_courier_templates_verification_invalid_email_body_html", skip_serializing_if = "Option::is_none")]
308    pub kratos_courier_templates_verification_invalid_email_body_html: Option<String>,
309    /// Configures the Ory Kratos Invalid Verification Email Body Plaintext Template  This governs the \"courier.smtp.templates.verification.invalid.email.body.plaintext\" setting.
310    #[serde(rename = "kratos_courier_templates_verification_invalid_email_body_plaintext", skip_serializing_if = "Option::is_none")]
311    pub kratos_courier_templates_verification_invalid_email_body_plaintext: Option<String>,
312    /// Configures the Ory Kratos Invalid Verification Email Subject Template  This governs the \"courier.smtp.templates.verification.invalid.email.subject\" setting.
313    #[serde(rename = "kratos_courier_templates_verification_invalid_email_subject", skip_serializing_if = "Option::is_none")]
314    pub kratos_courier_templates_verification_invalid_email_subject: Option<String>,
315    /// Configures the Ory Kratos Valid Verification Email Body HTML Template  This governs the \"courier.smtp.templates.verification.valid.email.body.html\" setting.
316    #[serde(rename = "kratos_courier_templates_verification_valid_email_body_html", skip_serializing_if = "Option::is_none")]
317    pub kratos_courier_templates_verification_valid_email_body_html: Option<String>,
318    /// Configures the Ory Kratos Valid Verification Email Body Plaintext Template  This governs the \"courier.smtp.templates.verification.valid.email.body.plaintext\" setting.
319    #[serde(rename = "kratos_courier_templates_verification_valid_email_body_plaintext", skip_serializing_if = "Option::is_none")]
320    pub kratos_courier_templates_verification_valid_email_body_plaintext: Option<String>,
321    /// Configures the Ory Kratos Valid Verification Email Subject Template  This governs the \"courier.smtp.templates.verification.valid.email.subject\" setting.
322    #[serde(rename = "kratos_courier_templates_verification_valid_email_subject", skip_serializing_if = "Option::is_none")]
323    pub kratos_courier_templates_verification_valid_email_subject: Option<String>,
324    /// Configures the Ory Kratos Session caching feature flag  This governs the \"feature_flags.cacheable_sessions\" setting.
325    #[serde(rename = "kratos_feature_flags_cacheable_sessions", skip_serializing_if = "Option::is_none")]
326    pub kratos_feature_flags_cacheable_sessions: Option<bool>,
327    /// Configures the Ory Kratos Session caching max-age feature flag  This governs the \"feature_flags.cacheable_sessions_max_age\" setting.
328    #[serde(rename = "kratos_feature_flags_cacheable_sessions_max_age", skip_serializing_if = "Option::is_none")]
329    pub kratos_feature_flags_cacheable_sessions_max_age: Option<String>,
330    /// Configures the Ory Kratos Faster Session Extend setting  If enabled allows faster session extension by skipping the session lookup and returning 201 instead of 200. Disabling this feature will be deprecated in the future.  This governs the \"feature_flags.faster_session_extend\" setting.
331    #[serde(rename = "kratos_feature_flags_faster_session_extend", skip_serializing_if = "Option::is_none")]
332    pub kratos_feature_flags_faster_session_extend: Option<bool>,
333    /// Configures the Ory Kratos Session use_continue_with_transitions flag  This governs the \"feature_flags.use_continue_with_transitions\" setting.
334    #[serde(rename = "kratos_feature_flags_use_continue_with_transitions", skip_serializing_if = "Option::is_none")]
335    pub kratos_feature_flags_use_continue_with_transitions: Option<bool>,
336    #[serde(rename = "kratos_identity_schemas", skip_serializing_if = "Option::is_none")]
337    pub kratos_identity_schemas: Option<Vec<models::NormalizedProjectRevisionIdentitySchema>>,
338    /// NullJSONRawMessage represents a json.RawMessage that works well with JSON, SQL, and Swagger and is NULLable-
339    #[serde(rename = "kratos_oauth2_provider_headers", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
340    pub kratos_oauth2_provider_headers: Option<Option<serde_json::Value>>,
341    /// Kratos OAuth2 Provider Override Return To  Enabling this allows Kratos to set the return_to parameter automatically to the OAuth2 request URL on the login flow, allowing complex flows such as recovery to continue to the initial OAuth2 flow.
342    #[serde(rename = "kratos_oauth2_provider_override_return_to", skip_serializing_if = "Option::is_none")]
343    pub kratos_oauth2_provider_override_return_to: Option<bool>,
344    /// The Revisions' OAuth2 Provider Integration URL  This governs the \"oauth2_provider.url\" setting.
345    #[serde(rename = "kratos_oauth2_provider_url", skip_serializing_if = "Option::is_none")]
346    pub kratos_oauth2_provider_url: Option<String>,
347    /// Configures the default read consistency level for identity APIs  This governs the `preview.default_read_consistency_level` setting.  The read consistency level determines the consistency guarantee for reads:  strong (slow): The read is guaranteed to return the most recent data committed at the start of the read. eventual (very fast): The result will return data that is about 4.8 seconds old.  Setting the default consistency level to `eventual` may cause regressions in the future as we add consistency controls to more APIs. Currently, the following APIs will be affected by this setting:  `GET /admin/identities`  Defaults to \"strong\" for new and existing projects. This feature is in preview. Use with caution.
348    #[serde(rename = "kratos_preview_default_read_consistency_level", skip_serializing_if = "Option::is_none")]
349    pub kratos_preview_default_read_consistency_level: Option<String>,
350    #[serde(rename = "kratos_secrets_cipher", skip_serializing_if = "Option::is_none")]
351    pub kratos_secrets_cipher: Option<Vec<String>>,
352    #[serde(rename = "kratos_secrets_cookie", skip_serializing_if = "Option::is_none")]
353    pub kratos_secrets_cookie: Option<Vec<String>>,
354    #[serde(rename = "kratos_secrets_default", skip_serializing_if = "Option::is_none")]
355    pub kratos_secrets_default: Option<Vec<String>>,
356    #[serde(rename = "kratos_selfservice_allowed_return_urls", skip_serializing_if = "Option::is_none")]
357    pub kratos_selfservice_allowed_return_urls: Option<Vec<String>>,
358    /// Configures the Ory Kratos Default Return URL  This governs the \"selfservice.allowed_return_urls\" setting.
359    #[serde(rename = "kratos_selfservice_default_browser_return_url", skip_serializing_if = "Option::is_none")]
360    pub kratos_selfservice_default_browser_return_url: Option<String>,
361    /// Configures the Ory Kratos Error UI URL  This governs the \"selfservice.flows.error.ui_url\" setting.
362    #[serde(rename = "kratos_selfservice_flows_error_ui_url", skip_serializing_if = "Option::is_none")]
363    pub kratos_selfservice_flows_error_ui_url: Option<String>,
364    /// Configures the Ory Kratos Login After Password Default Return URL  This governs the \"selfservice.flows.code.after.password.default_browser_return_url\" setting.
365    #[serde(rename = "kratos_selfservice_flows_login_after_code_default_browser_return_url", skip_serializing_if = "Option::is_none")]
366    pub kratos_selfservice_flows_login_after_code_default_browser_return_url: Option<String>,
367    /// Configures the Ory Kratos Login Default Return URL  This governs the \"selfservice.flows.login.after.default_browser_return_url\" setting.
368    #[serde(rename = "kratos_selfservice_flows_login_after_default_browser_return_url", skip_serializing_if = "Option::is_none")]
369    pub kratos_selfservice_flows_login_after_default_browser_return_url: Option<String>,
370    /// Configures the Ory Kratos Login After Password Default Return URL  This governs the \"selfservice.flows.lookup_secret.after.password.default_browser_return_url\" setting.
371    #[serde(rename = "kratos_selfservice_flows_login_after_lookup_secret_default_browser_return_url", skip_serializing_if = "Option::is_none")]
372    pub kratos_selfservice_flows_login_after_lookup_secret_default_browser_return_url: Option<String>,
373    /// Configures the Ory Kratos Login After OIDC Default Return URL  This governs the \"selfservice.flows.login.after.oidc.default_browser_return_url\" setting.
374    #[serde(rename = "kratos_selfservice_flows_login_after_oidc_default_browser_return_url", skip_serializing_if = "Option::is_none")]
375    pub kratos_selfservice_flows_login_after_oidc_default_browser_return_url: Option<String>,
376    /// Configures the Ory Kratos Login After Passkey Default Return URL  This governs the \"selfservice.flows.login.after.passkey.default_browser_return_url\" setting.
377    #[serde(rename = "kratos_selfservice_flows_login_after_passkey_default_browser_return_url", skip_serializing_if = "Option::is_none")]
378    pub kratos_selfservice_flows_login_after_passkey_default_browser_return_url: Option<String>,
379    /// Configures the Ory Kratos Login After Password Default Return URL  This governs the \"selfservice.flows.login.after.password.default_browser_return_url\" setting.
380    #[serde(rename = "kratos_selfservice_flows_login_after_password_default_browser_return_url", skip_serializing_if = "Option::is_none")]
381    pub kratos_selfservice_flows_login_after_password_default_browser_return_url: Option<String>,
382    /// Configures the Ory Kratos Login After Password Default Return URL  This governs the \"selfservice.flows.totp.after.password.default_browser_return_url\" setting.
383    #[serde(rename = "kratos_selfservice_flows_login_after_totp_default_browser_return_url", skip_serializing_if = "Option::is_none")]
384    pub kratos_selfservice_flows_login_after_totp_default_browser_return_url: Option<String>,
385    /// Configures the Ory Kratos Login After WebAuthn Default Return URL  This governs the \"selfservice.flows.login.after.webauthn.default_browser_return_url\" setting.
386    #[serde(rename = "kratos_selfservice_flows_login_after_webauthn_default_browser_return_url", skip_serializing_if = "Option::is_none")]
387    pub kratos_selfservice_flows_login_after_webauthn_default_browser_return_url: Option<String>,
388    /// Configures the Ory Kratos Login Lifespan  This governs the \"selfservice.flows.login.lifespan\" setting.
389    #[serde(rename = "kratos_selfservice_flows_login_lifespan", skip_serializing_if = "Option::is_none")]
390    pub kratos_selfservice_flows_login_lifespan: Option<String>,
391    /// Configures the Ory Kratos Login UI URL  This governs the \"selfservice.flows.login.ui_url\" setting.
392    #[serde(rename = "kratos_selfservice_flows_login_ui_url", skip_serializing_if = "Option::is_none")]
393    pub kratos_selfservice_flows_login_ui_url: Option<String>,
394    /// Configures the Ory Kratos Logout Default Return URL  This governs the \"selfservice.flows.logout.after.default_browser_return_url\" setting.
395    #[serde(rename = "kratos_selfservice_flows_logout_after_default_browser_return_url", skip_serializing_if = "Option::is_none")]
396    pub kratos_selfservice_flows_logout_after_default_browser_return_url: Option<String>,
397    /// Configures the Ory Kratos Recovery Default Return URL  This governs the \"selfservice.flows.recovery.after.default_browser_return_url\" setting.
398    #[serde(rename = "kratos_selfservice_flows_recovery_after_default_browser_return_url", skip_serializing_if = "Option::is_none")]
399    pub kratos_selfservice_flows_recovery_after_default_browser_return_url: Option<String>,
400    /// Configures the Ory Kratos Recovery Enabled Setting  This governs the \"selfservice.flows.recovery.enabled\" setting.
401    #[serde(rename = "kratos_selfservice_flows_recovery_enabled", skip_serializing_if = "Option::is_none")]
402    pub kratos_selfservice_flows_recovery_enabled: Option<bool>,
403    /// Configures the Ory Kratos Recovery Lifespan  This governs the \"selfservice.flows.recovery.lifespan\" setting.
404    #[serde(rename = "kratos_selfservice_flows_recovery_lifespan", skip_serializing_if = "Option::is_none")]
405    pub kratos_selfservice_flows_recovery_lifespan: Option<String>,
406    /// Configures whether to notify unknown recipients of a Ory Kratos recovery flow  This governs the \"selfservice.flows.recovery.notify_unknown_recipients\" setting.
407    #[serde(rename = "kratos_selfservice_flows_recovery_notify_unknown_recipients", skip_serializing_if = "Option::is_none")]
408    pub kratos_selfservice_flows_recovery_notify_unknown_recipients: Option<bool>,
409    /// Configures the Ory Kratos Recovery UI URL  This governs the \"selfservice.flows.recovery.ui_url\" setting.
410    #[serde(rename = "kratos_selfservice_flows_recovery_ui_url", skip_serializing_if = "Option::is_none")]
411    pub kratos_selfservice_flows_recovery_ui_url: Option<String>,
412    /// Configures the Ory Kratos Recovery strategy to use (\"link\" or \"code\")  This governs the \"selfservice.flows.recovery.use\" setting. link SelfServiceMessageVerificationStrategyLink code SelfServiceMessageVerificationStrategyCode
413    #[serde(rename = "kratos_selfservice_flows_recovery_use", skip_serializing_if = "Option::is_none")]
414    pub kratos_selfservice_flows_recovery_use: Option<KratosSelfserviceFlowsRecoveryUseEnum>,
415    /// Configures the Ory Kratos Registration After Code Default Return URL  This governs the \"selfservice.flows.registration.after.code.default_browser_return_url\" setting.
416    #[serde(rename = "kratos_selfservice_flows_registration_after_code_default_browser_return_url", skip_serializing_if = "Option::is_none")]
417    pub kratos_selfservice_flows_registration_after_code_default_browser_return_url: Option<String>,
418    /// Configures the Ory Kratos Registration Default Return URL  This governs the \"selfservice.flows.registration.after.default_browser_return_url\" setting.
419    #[serde(rename = "kratos_selfservice_flows_registration_after_default_browser_return_url", skip_serializing_if = "Option::is_none")]
420    pub kratos_selfservice_flows_registration_after_default_browser_return_url: Option<String>,
421    /// Configures the Ory Kratos Registration After OIDC Default Return URL  This governs the \"selfservice.flows.registration.after.oidc.default_browser_return_url\" setting.
422    #[serde(rename = "kratos_selfservice_flows_registration_after_oidc_default_browser_return_url", skip_serializing_if = "Option::is_none")]
423    pub kratos_selfservice_flows_registration_after_oidc_default_browser_return_url: Option<String>,
424    /// Configures the Ory Kratos Registration After Passkey Default Return URL  This governs the \"selfservice.flows.registration.after.password.default_browser_return_url\" setting.
425    #[serde(rename = "kratos_selfservice_flows_registration_after_passkey_default_browser_return_url", skip_serializing_if = "Option::is_none")]
426    pub kratos_selfservice_flows_registration_after_passkey_default_browser_return_url: Option<String>,
427    /// Configures the Ory Kratos Registration After Password Default Return URL  This governs the \"selfservice.flows.registration.after.password.default_browser_return_url\" setting.
428    #[serde(rename = "kratos_selfservice_flows_registration_after_password_default_browser_return_url", skip_serializing_if = "Option::is_none")]
429    pub kratos_selfservice_flows_registration_after_password_default_browser_return_url: Option<String>,
430    /// Configures the Ory Kratos Registration After Webauthn Default Return URL  This governs the \"selfservice.flows.registration.after.webauthn.default_browser_return_url\" setting.
431    #[serde(rename = "kratos_selfservice_flows_registration_after_webauthn_default_browser_return_url", skip_serializing_if = "Option::is_none")]
432    pub kratos_selfservice_flows_registration_after_webauthn_default_browser_return_url: Option<String>,
433    /// Disable two-step registration  Two-step registration is a significantly improved sign up flow and recommended when using more than one sign up methods. To revert to one-step registration, set this to `true`.  This governs the \"selfservice.flows.registration.enable_legacy_one_step\" setting.
434    #[serde(rename = "kratos_selfservice_flows_registration_enable_legacy_one_step", skip_serializing_if = "Option::is_none")]
435    pub kratos_selfservice_flows_registration_enable_legacy_one_step: Option<bool>,
436    /// Configures the Whether Ory Kratos Registration is Enabled  This governs the \"selfservice.flows.registration.enabled\" setting.0
437    #[serde(rename = "kratos_selfservice_flows_registration_enabled", skip_serializing_if = "Option::is_none")]
438    pub kratos_selfservice_flows_registration_enabled: Option<bool>,
439    /// Configures the Ory Kratos Registration Lifespan  This governs the \"selfservice.flows.registration.lifespan\" setting.
440    #[serde(rename = "kratos_selfservice_flows_registration_lifespan", skip_serializing_if = "Option::is_none")]
441    pub kratos_selfservice_flows_registration_lifespan: Option<String>,
442    /// Configures the Ory Kratos Registration Login Hints  Shows helpful information when a user tries to sign up with a duplicate account.  This governs the \"selfservice.flows.registration.login_hints\" setting.
443    #[serde(rename = "kratos_selfservice_flows_registration_login_hints", skip_serializing_if = "Option::is_none")]
444    pub kratos_selfservice_flows_registration_login_hints: Option<bool>,
445    /// Configures the Ory Kratos Registration UI URL  This governs the \"selfservice.flows.registration.ui_url\" setting.
446    #[serde(rename = "kratos_selfservice_flows_registration_ui_url", skip_serializing_if = "Option::is_none")]
447    pub kratos_selfservice_flows_registration_ui_url: Option<String>,
448    /// Configures the Ory Kratos Settings Default Return URL  This governs the \"selfservice.flows.settings.after.default_browser_return_url\" setting.
449    #[serde(rename = "kratos_selfservice_flows_settings_after_default_browser_return_url", skip_serializing_if = "Option::is_none")]
450    pub kratos_selfservice_flows_settings_after_default_browser_return_url: Option<String>,
451    /// Configures the Ory Kratos Settings Default Return URL After Updating Lookup Secrets  This governs the \"selfservice.flows.settings.after.lookup_secret.default_browser_return_url\" setting.
452    #[serde(rename = "kratos_selfservice_flows_settings_after_lookup_secret_default_browser_return_url", skip_serializing_if = "Option::is_none")]
453    pub kratos_selfservice_flows_settings_after_lookup_secret_default_browser_return_url: Option<String>,
454    /// Configures the Ory Kratos Settings Default Return URL After Updating Social Sign In  This governs the \"selfservice.flows.settings.after.oidc.default_browser_return_url\" setting.
455    #[serde(rename = "kratos_selfservice_flows_settings_after_oidc_default_browser_return_url", skip_serializing_if = "Option::is_none")]
456    pub kratos_selfservice_flows_settings_after_oidc_default_browser_return_url: Option<String>,
457    /// Configures the Ory Kratos Settings Default Return URL After Updating Passkey  This governs the \"selfservice.flows.settings.after.passkey.default_browser_return_url\" setting.
458    #[serde(rename = "kratos_selfservice_flows_settings_after_passkey_default_browser_return_url", skip_serializing_if = "Option::is_none")]
459    pub kratos_selfservice_flows_settings_after_passkey_default_browser_return_url: Option<String>,
460    /// Configures the Ory Kratos Settings Default Return URL After Updating Passwords  This governs the \"selfservice.flows.settings.after.password.default_browser_return_url\" setting.
461    #[serde(rename = "kratos_selfservice_flows_settings_after_password_default_browser_return_url", skip_serializing_if = "Option::is_none")]
462    pub kratos_selfservice_flows_settings_after_password_default_browser_return_url: Option<String>,
463    /// Configures the Ory Kratos Settings Default Return URL After Updating Profiles  This governs the \"selfservice.flows.settings.after.profile.default_browser_return_url\" setting.
464    #[serde(rename = "kratos_selfservice_flows_settings_after_profile_default_browser_return_url", skip_serializing_if = "Option::is_none")]
465    pub kratos_selfservice_flows_settings_after_profile_default_browser_return_url: Option<String>,
466    /// Configures the Ory Kratos Settings Default Return URL After Updating TOTP  This governs the \"selfservice.flows.settings.after.totp.default_browser_return_url\" setting.
467    #[serde(rename = "kratos_selfservice_flows_settings_after_totp_default_browser_return_url", skip_serializing_if = "Option::is_none")]
468    pub kratos_selfservice_flows_settings_after_totp_default_browser_return_url: Option<String>,
469    /// Configures the Ory Kratos Settings Default Return URL After Updating WebAuthn  This governs the \"selfservice.flows.settings.after.webauthn.default_browser_return_url\" setting.
470    #[serde(rename = "kratos_selfservice_flows_settings_after_webauthn_default_browser_return_url", skip_serializing_if = "Option::is_none")]
471    pub kratos_selfservice_flows_settings_after_webauthn_default_browser_return_url: Option<String>,
472    /// Configures the Ory Kratos Settings Lifespan  This governs the \"selfservice.flows.settings.lifespan\" setting.
473    #[serde(rename = "kratos_selfservice_flows_settings_lifespan", skip_serializing_if = "Option::is_none")]
474    pub kratos_selfservice_flows_settings_lifespan: Option<String>,
475    /// Configures the Ory Kratos Settings Privileged Session Max Age  This governs the \"selfservice.flows.settings.privileged_session_max_age\" setting.
476    #[serde(rename = "kratos_selfservice_flows_settings_privileged_session_max_age", skip_serializing_if = "Option::is_none")]
477    pub kratos_selfservice_flows_settings_privileged_session_max_age: Option<String>,
478    /// Configures the Ory Kratos Settings Required AAL  This governs the \"selfservice.flows.settings.required_aal\" setting.
479    #[serde(rename = "kratos_selfservice_flows_settings_required_aal", skip_serializing_if = "Option::is_none")]
480    pub kratos_selfservice_flows_settings_required_aal: Option<String>,
481    /// Configures the Ory Kratos Settings UI URL  This governs the \"selfservice.flows.settings.ui_url\" setting.
482    #[serde(rename = "kratos_selfservice_flows_settings_ui_url", skip_serializing_if = "Option::is_none")]
483    pub kratos_selfservice_flows_settings_ui_url: Option<String>,
484    /// Configures the Ory Kratos Verification Default Return URL  This governs the \"selfservice.flows.verification.after.default_browser_return_url\" setting.
485    #[serde(rename = "kratos_selfservice_flows_verification_after_default_browser_return_url", skip_serializing_if = "Option::is_none")]
486    pub kratos_selfservice_flows_verification_after_default_browser_return_url: Option<String>,
487    /// Configures the Ory Kratos Verification Enabled Setting  This governs the \"selfservice.flows.verification.enabled\" setting.
488    #[serde(rename = "kratos_selfservice_flows_verification_enabled", skip_serializing_if = "Option::is_none")]
489    pub kratos_selfservice_flows_verification_enabled: Option<bool>,
490    /// Configures the Ory Kratos Verification Lifespan  This governs the \"selfservice.flows.verification.lifespan\" setting.
491    #[serde(rename = "kratos_selfservice_flows_verification_lifespan", skip_serializing_if = "Option::is_none")]
492    pub kratos_selfservice_flows_verification_lifespan: Option<String>,
493    /// Configures whether to notify unknown recipients of a Ory Kratos verification flow  This governs the \"selfservice.flows.verification.notify_unknown_recipients\" setting.
494    #[serde(rename = "kratos_selfservice_flows_verification_notify_unknown_recipients", skip_serializing_if = "Option::is_none")]
495    pub kratos_selfservice_flows_verification_notify_unknown_recipients: Option<bool>,
496    /// Configures the Ory Kratos Verification UI URL  This governs the \"selfservice.flows.verification.ui_url\" setting.
497    #[serde(rename = "kratos_selfservice_flows_verification_ui_url", skip_serializing_if = "Option::is_none")]
498    pub kratos_selfservice_flows_verification_ui_url: Option<String>,
499    /// Configures the Ory Kratos Strategy to use for Verification  This governs the \"selfservice.flows.verification.use\" setting. link SelfServiceMessageVerificationStrategyLink code SelfServiceMessageVerificationStrategyCode
500    #[serde(rename = "kratos_selfservice_flows_verification_use", skip_serializing_if = "Option::is_none")]
501    pub kratos_selfservice_flows_verification_use: Option<KratosSelfserviceFlowsVerificationUseEnum>,
502    /// Configures the Turnstile site key for CAPTCHA protection  The site key is public and will be shared with the client.  Reach out to your account manager to enable this feature.
503    #[serde(rename = "kratos_selfservice_methods_captcha_config_cf_turnstile_sitekey", skip_serializing_if = "Option::is_none")]
504    pub kratos_selfservice_methods_captcha_config_cf_turnstile_sitekey: Option<String>,
505    /// Configures the Ory Kratos Self-Service Methods' Captcha Enabled Setting  Reach out to your account manager to enable this feature.
506    #[serde(rename = "kratos_selfservice_methods_captcha_enabled", skip_serializing_if = "Option::is_none")]
507    pub kratos_selfservice_methods_captcha_enabled: Option<bool>,
508    /// Configures the Ory Kratos Code Method's lifespan  This governs the \"selfservice.methods.code.config.lifespan\" setting.
509    #[serde(rename = "kratos_selfservice_methods_code_config_lifespan", skip_serializing_if = "Option::is_none")]
510    pub kratos_selfservice_methods_code_config_lifespan: Option<String>,
511    /// Enables a fallback method required in certain legacy use cases.  This governs the \"selfservice.methods.code.config.missing_credential_fallback_enabled\" setting.
512    #[serde(rename = "kratos_selfservice_methods_code_config_missing_credential_fallback_enabled", skip_serializing_if = "Option::is_none")]
513    pub kratos_selfservice_methods_code_config_missing_credential_fallback_enabled: Option<bool>,
514    /// Configures whether Ory Kratos Code Method is enabled  This governs the \"selfservice.methods.code.enabled\" setting.
515    #[serde(rename = "kratos_selfservice_methods_code_enabled", skip_serializing_if = "Option::is_none")]
516    pub kratos_selfservice_methods_code_enabled: Option<bool>,
517    /// Configures whether the code method can be used to fulfil MFA flows  This governs the \"selfservice.methods.code.mfa_enabled\" setting.
518    #[serde(rename = "kratos_selfservice_methods_code_mfa_enabled", skip_serializing_if = "Option::is_none")]
519    pub kratos_selfservice_methods_code_mfa_enabled: Option<bool>,
520    /// Configures whether Ory Kratos Passwordless should use the Code Method  This governs the \"selfservice.methods.code.passwordless_enabled\" setting.
521    #[serde(rename = "kratos_selfservice_methods_code_passwordless_enabled", skip_serializing_if = "Option::is_none")]
522    pub kratos_selfservice_methods_code_passwordless_enabled: Option<bool>,
523    /// This setting allows the code method to always login a user with code if they have registered with another authentication method such as password or social sign in.  This governs the \"selfservice.methods.code.passwordless_login_fallback_enabled\" setting.
524    #[serde(rename = "kratos_selfservice_methods_code_passwordless_login_fallback_enabled", skip_serializing_if = "Option::is_none")]
525    pub kratos_selfservice_methods_code_passwordless_login_fallback_enabled: Option<bool>,
526    /// Configures the Base URL which Recovery, Verification, and Login Links Point to  It is recommended to leave this value empty. It will be appropriately configured to the best matching domain (e.g. when using custom domains) automatically.  This governs the \"selfservice.methods.link.config.base_url\" setting.
527    #[serde(rename = "kratos_selfservice_methods_link_config_base_url", skip_serializing_if = "Option::is_none")]
528    pub kratos_selfservice_methods_link_config_base_url: Option<String>,
529    /// Configures the Ory Kratos Link Method's lifespan  This governs the \"selfservice.methods.link.config.lifespan\" setting.
530    #[serde(rename = "kratos_selfservice_methods_link_config_lifespan", skip_serializing_if = "Option::is_none")]
531    pub kratos_selfservice_methods_link_config_lifespan: Option<String>,
532    /// Configures whether Ory Kratos Link Method is enabled  This governs the \"selfservice.methods.link.enabled\" setting.
533    #[serde(rename = "kratos_selfservice_methods_link_enabled", skip_serializing_if = "Option::is_none")]
534    pub kratos_selfservice_methods_link_enabled: Option<bool>,
535    /// Configures whether Ory Kratos TOTP Lookup Secret is enabled  This governs the \"selfservice.methods.lookup_secret.enabled\" setting.
536    #[serde(rename = "kratos_selfservice_methods_lookup_secret_enabled", skip_serializing_if = "Option::is_none")]
537    pub kratos_selfservice_methods_lookup_secret_enabled: Option<bool>,
538    /// Configures the Ory Kratos Third Party / OpenID Connect base redirect URI  This governs the \"selfservice.methods.oidc.config.base_redirect_uri\" setting.
539    #[serde(rename = "kratos_selfservice_methods_oidc_config_base_redirect_uri", skip_serializing_if = "Option::is_none")]
540    pub kratos_selfservice_methods_oidc_config_base_redirect_uri: Option<String>,
541    #[serde(rename = "kratos_selfservice_methods_oidc_config_providers", skip_serializing_if = "Option::is_none")]
542    pub kratos_selfservice_methods_oidc_config_providers: Option<Vec<models::NormalizedProjectRevisionThirdPartyProvider>>,
543    /// Configures whether Ory Kratos Third Party / OpenID Connect Login is enabled  This governs the \"selfservice.methods.oidc.enabled\" setting.
544    #[serde(rename = "kratos_selfservice_methods_oidc_enabled", skip_serializing_if = "Option::is_none")]
545    pub kratos_selfservice_methods_oidc_enabled: Option<bool>,
546    /// Configures the Ory Kratos Passkey RP Display Name  This governs the \"selfservice.methods.passkey.config.rp.display_name\" setting.
547    #[serde(rename = "kratos_selfservice_methods_passkey_config_rp_display_name", skip_serializing_if = "Option::is_none")]
548    pub kratos_selfservice_methods_passkey_config_rp_display_name: Option<String>,
549    /// Configures the Ory Kratos Passkey RP ID  This governs the \"selfservice.methods.passkey.config.rp.id\" setting.
550    #[serde(rename = "kratos_selfservice_methods_passkey_config_rp_id", skip_serializing_if = "Option::is_none")]
551    pub kratos_selfservice_methods_passkey_config_rp_id: Option<String>,
552    #[serde(rename = "kratos_selfservice_methods_passkey_config_rp_origins", skip_serializing_if = "Option::is_none")]
553    pub kratos_selfservice_methods_passkey_config_rp_origins: Option<Vec<String>>,
554    /// Configures whether Ory Kratos Passkey authentication is enabled  This governs the \"selfservice.methods.passkey.enabled\" setting.
555    #[serde(rename = "kratos_selfservice_methods_passkey_enabled", skip_serializing_if = "Option::is_none")]
556    pub kratos_selfservice_methods_passkey_enabled: Option<bool>,
557    /// Configures whether Ory Kratos Password HIBP Checks is enabled  This governs the \"selfservice.methods.password.config.haveibeenpwned_enabled\" setting.
558    #[serde(rename = "kratos_selfservice_methods_password_config_haveibeenpwned_enabled", skip_serializing_if = "Option::is_none")]
559    pub kratos_selfservice_methods_password_config_haveibeenpwned_enabled: Option<bool>,
560    /// Configures whether Ory Kratos Password should disable the similarity policy.  This governs the \"selfservice.methods.password.config.identifier_similarity_check_enabled\" setting.
561    #[serde(rename = "kratos_selfservice_methods_password_config_identifier_similarity_check_enabled", skip_serializing_if = "Option::is_none")]
562    pub kratos_selfservice_methods_password_config_identifier_similarity_check_enabled: Option<bool>,
563    /// Configures whether Ory Kratos Password Should ignore HIBPWND Network Errors  This governs the \"selfservice.methods.password.config.ignore_network_errors\" setting.
564    #[serde(rename = "kratos_selfservice_methods_password_config_ignore_network_errors", skip_serializing_if = "Option::is_none")]
565    pub kratos_selfservice_methods_password_config_ignore_network_errors: Option<bool>,
566    /// Configures Ory Kratos Password Max Breaches Detection  This governs the \"selfservice.methods.password.config.max_breaches\" setting.
567    #[serde(rename = "kratos_selfservice_methods_password_config_max_breaches", skip_serializing_if = "Option::is_none")]
568    pub kratos_selfservice_methods_password_config_max_breaches: Option<i64>,
569    /// Configures the minimum length of passwords.  This governs the \"selfservice.methods.password.config.min_password_length\" setting.
570    #[serde(rename = "kratos_selfservice_methods_password_config_min_password_length", skip_serializing_if = "Option::is_none")]
571    pub kratos_selfservice_methods_password_config_min_password_length: Option<i64>,
572    /// Configures whether Ory Kratos Password Method is enabled  This governs the \"selfservice.methods.password.enabled\" setting.
573    #[serde(rename = "kratos_selfservice_methods_password_enabled", skip_serializing_if = "Option::is_none")]
574    pub kratos_selfservice_methods_password_enabled: Option<bool>,
575    /// Configures whether Ory Kratos Profile Method is enabled  This governs the \"selfservice.methods.profile.enabled\" setting.
576    #[serde(rename = "kratos_selfservice_methods_profile_enabled", skip_serializing_if = "Option::is_none")]
577    pub kratos_selfservice_methods_profile_enabled: Option<bool>,
578    #[serde(rename = "kratos_selfservice_methods_saml_config_providers", skip_serializing_if = "Option::is_none")]
579    pub kratos_selfservice_methods_saml_config_providers: Option<Vec<models::NormalizedProjectRevisionSamlProvider>>,
580    /// Configures whether Ory Kratos SAML Login is enabled  This governs the \"selfservice.methods.saml.enabled\" setting.
581    #[serde(rename = "kratos_selfservice_methods_saml_enabled", skip_serializing_if = "Option::is_none")]
582    pub kratos_selfservice_methods_saml_enabled: Option<bool>,
583    /// Configures Ory Kratos TOTP Issuer  This governs the \"selfservice.methods.totp.config.issuer\" setting.
584    #[serde(rename = "kratos_selfservice_methods_totp_config_issuer", skip_serializing_if = "Option::is_none")]
585    pub kratos_selfservice_methods_totp_config_issuer: Option<String>,
586    /// Configures whether Ory Kratos TOTP Method is enabled  This governs the \"selfservice.methods.totp.enabled\" setting.
587    #[serde(rename = "kratos_selfservice_methods_totp_enabled", skip_serializing_if = "Option::is_none")]
588    pub kratos_selfservice_methods_totp_enabled: Option<bool>,
589    /// Configures whether Ory Kratos Webauthn is used for passwordless flows  This governs the \"selfservice.methods.webauthn.config.passwordless\" setting.
590    #[serde(rename = "kratos_selfservice_methods_webauthn_config_passwordless", skip_serializing_if = "Option::is_none")]
591    pub kratos_selfservice_methods_webauthn_config_passwordless: Option<bool>,
592    /// Configures the Ory Kratos Webauthn RP Display Name  This governs the \"selfservice.methods.webauthn.config.rp.display_name\" setting.
593    #[serde(rename = "kratos_selfservice_methods_webauthn_config_rp_display_name", skip_serializing_if = "Option::is_none")]
594    pub kratos_selfservice_methods_webauthn_config_rp_display_name: Option<String>,
595    /// Configures the Ory Kratos Webauthn RP Icon  This governs the \"selfservice.methods.webauthn.config.rp.icon\" setting. Deprecated: This value will be ignored due to security considerations.
596    #[serde(rename = "kratos_selfservice_methods_webauthn_config_rp_icon", skip_serializing_if = "Option::is_none")]
597    pub kratos_selfservice_methods_webauthn_config_rp_icon: Option<String>,
598    /// Configures the Ory Kratos Webauthn RP ID  This governs the \"selfservice.methods.webauthn.config.rp.id\" setting.
599    #[serde(rename = "kratos_selfservice_methods_webauthn_config_rp_id", skip_serializing_if = "Option::is_none")]
600    pub kratos_selfservice_methods_webauthn_config_rp_id: Option<String>,
601    #[serde(rename = "kratos_selfservice_methods_webauthn_config_rp_origins", skip_serializing_if = "Option::is_none")]
602    pub kratos_selfservice_methods_webauthn_config_rp_origins: Option<Vec<String>>,
603    /// Configures whether Ory Kratos Webauthn is enabled  This governs the \"selfservice.methods.webauthn.enabled\" setting.
604    #[serde(rename = "kratos_selfservice_methods_webauthn_enabled", skip_serializing_if = "Option::is_none")]
605    pub kratos_selfservice_methods_webauthn_enabled: Option<bool>,
606    /// Configures the Ory Kratos Session Cookie Persistent Attribute  This governs the \"session.cookie.persistent\" setting.
607    #[serde(rename = "kratos_session_cookie_persistent", skip_serializing_if = "Option::is_none")]
608    pub kratos_session_cookie_persistent: Option<bool>,
609    /// Configures the Ory Kratos Session Cookie SameSite Attribute  This governs the \"session.cookie.same_site\" setting.
610    #[serde(rename = "kratos_session_cookie_same_site", skip_serializing_if = "Option::is_none")]
611    pub kratos_session_cookie_same_site: Option<String>,
612    /// Configures the Ory Kratos Session Lifespan  This governs the \"session.lifespan\" setting.
613    #[serde(rename = "kratos_session_lifespan", skip_serializing_if = "Option::is_none")]
614    pub kratos_session_lifespan: Option<String>,
615    /// Configures the Ory Kratos Session Whoami AAL requirement  This governs the \"session.whoami.required_aal\" setting.
616    #[serde(rename = "kratos_session_whoami_required_aal", skip_serializing_if = "Option::is_none")]
617    pub kratos_session_whoami_required_aal: Option<String>,
618    #[serde(rename = "kratos_session_whoami_tokenizer_templates", skip_serializing_if = "Option::is_none")]
619    pub kratos_session_whoami_tokenizer_templates: Option<Vec<models::NormalizedProjectRevisionTokenizerTemplate>>,
620    /// The project's name.
621    #[serde(rename = "name")]
622    pub name: String,
623    /// The Revision's Project ID
624    #[serde(rename = "project_id", skip_serializing_if = "Option::is_none")]
625    pub project_id: Option<String>,
626    #[serde(rename = "project_revision_hooks", skip_serializing_if = "Option::is_none")]
627    pub project_revision_hooks: Option<Vec<models::NormalizedProjectRevisionHook>>,
628    #[serde(rename = "serve_admin_cors_allowed_origins", skip_serializing_if = "Option::is_none")]
629    pub serve_admin_cors_allowed_origins: Option<Vec<String>>,
630    /// Enable CORS headers on all admin APIs  This governs the \"serve.admin.cors.enabled\" setting.
631    #[serde(rename = "serve_admin_cors_enabled", skip_serializing_if = "Option::is_none")]
632    pub serve_admin_cors_enabled: Option<bool>,
633    #[serde(rename = "serve_public_cors_allowed_origins", skip_serializing_if = "Option::is_none")]
634    pub serve_public_cors_allowed_origins: Option<Vec<String>>,
635    /// Enable CORS headers on all public APIs  This governs the \"serve.public.cors.enabled\" setting.
636    #[serde(rename = "serve_public_cors_enabled", skip_serializing_if = "Option::is_none")]
637    pub serve_public_cors_enabled: Option<bool>,
638    /// Whether the project should employ strict security measures. Setting this to true is recommended for going into production.
639    #[serde(rename = "strict_security", skip_serializing_if = "Option::is_none")]
640    pub strict_security: Option<bool>,
641    /// Last Time Project's Revision was Updated
642    #[serde(rename = "updated_at", skip_serializing_if = "Option::is_none")]
643    pub updated_at: Option<String>,
644}
645
646impl NormalizedProjectRevision {
647    pub fn new(name: String) -> NormalizedProjectRevision {
648        NormalizedProjectRevision {
649            account_experience_favicon_dark: None,
650            account_experience_favicon_light: None,
651            account_experience_logo_dark: None,
652            account_experience_logo_light: None,
653            account_experience_theme_variables_dark: None,
654            account_experience_theme_variables_light: None,
655            created_at: None,
656            disable_account_experience_welcome_screen: None,
657            enable_ax_v2: None,
658            hydra_oauth2_allowed_top_level_claims: None,
659            hydra_oauth2_client_credentials_default_grant_allowed_scope: None,
660            hydra_oauth2_exclude_not_before_claim: None,
661            hydra_oauth2_grant_jwt_iat_optional: None,
662            hydra_oauth2_grant_jwt_jti_optional: None,
663            hydra_oauth2_grant_jwt_max_ttl: None,
664            hydra_oauth2_grant_refresh_token_rotation_grace_period: None,
665            hydra_oauth2_mirror_top_level_claims: None,
666            hydra_oauth2_pkce_enforced: None,
667            hydra_oauth2_pkce_enforced_for_public_clients: None,
668            hydra_oauth2_refresh_token_hook: None,
669            hydra_oauth2_token_hook: None,
670            hydra_oidc_dynamic_client_registration_default_scope: None,
671            hydra_oidc_dynamic_client_registration_enabled: None,
672            hydra_oidc_subject_identifiers_pairwise_salt: None,
673            hydra_oidc_subject_identifiers_supported_types: None,
674            hydra_secrets_cookie: None,
675            hydra_secrets_system: None,
676            hydra_serve_cookies_same_site_legacy_workaround: None,
677            hydra_serve_cookies_same_site_mode: None,
678            hydra_strategies_access_token: None,
679            hydra_strategies_jwt_scope_claim: None,
680            hydra_strategies_scope: None,
681            hydra_ttl_access_token: None,
682            hydra_ttl_auth_code: None,
683            hydra_ttl_id_token: None,
684            hydra_ttl_login_consent_request: None,
685            hydra_ttl_refresh_token: None,
686            hydra_urls_consent: None,
687            hydra_urls_error: None,
688            hydra_urls_login: None,
689            hydra_urls_logout: None,
690            hydra_urls_post_logout_redirect: None,
691            hydra_urls_registration: None,
692            hydra_urls_self_issuer: None,
693            hydra_webfinger_jwks_broadcast_keys: None,
694            hydra_webfinger_oidc_discovery_auth_url: None,
695            hydra_webfinger_oidc_discovery_client_registration_url: None,
696            hydra_webfinger_oidc_discovery_jwks_url: None,
697            hydra_webfinger_oidc_discovery_supported_claims: None,
698            hydra_webfinger_oidc_discovery_supported_scope: None,
699            hydra_webfinger_oidc_discovery_token_url: None,
700            hydra_webfinger_oidc_discovery_userinfo_url: None,
701            id: None,
702            keto_namespace_configuration: None,
703            keto_namespaces: None,
704            kratos_cookies_same_site: None,
705            kratos_courier_channels: None,
706            kratos_courier_delivery_strategy: None,
707            kratos_courier_http_request_config_auth_api_key_in: None,
708            kratos_courier_http_request_config_auth_api_key_name: None,
709            kratos_courier_http_request_config_auth_api_key_value: None,
710            kratos_courier_http_request_config_auth_basic_auth_password: None,
711            kratos_courier_http_request_config_auth_basic_auth_user: None,
712            kratos_courier_http_request_config_auth_type: None,
713            kratos_courier_http_request_config_body: None,
714            kratos_courier_http_request_config_headers: None,
715            kratos_courier_http_request_config_method: None,
716            kratos_courier_http_request_config_url: None,
717            kratos_courier_smtp_connection_uri: None,
718            kratos_courier_smtp_from_address: None,
719            kratos_courier_smtp_from_name: None,
720            kratos_courier_smtp_headers: None,
721            kratos_courier_smtp_local_name: None,
722            kratos_courier_templates_login_code_valid_email_body_html: None,
723            kratos_courier_templates_login_code_valid_email_body_plaintext: None,
724            kratos_courier_templates_login_code_valid_email_subject: None,
725            kratos_courier_templates_login_code_valid_sms_body_plaintext: None,
726            kratos_courier_templates_recovery_code_invalid_email_body_html: None,
727            kratos_courier_templates_recovery_code_invalid_email_body_plaintext: None,
728            kratos_courier_templates_recovery_code_invalid_email_subject: None,
729            kratos_courier_templates_recovery_code_valid_email_body_html: None,
730            kratos_courier_templates_recovery_code_valid_email_body_plaintext: None,
731            kratos_courier_templates_recovery_code_valid_email_subject: None,
732            kratos_courier_templates_recovery_invalid_email_body_html: None,
733            kratos_courier_templates_recovery_invalid_email_body_plaintext: None,
734            kratos_courier_templates_recovery_invalid_email_subject: None,
735            kratos_courier_templates_recovery_valid_email_body_html: None,
736            kratos_courier_templates_recovery_valid_email_body_plaintext: None,
737            kratos_courier_templates_recovery_valid_email_subject: None,
738            kratos_courier_templates_registration_code_valid_email_body_html: None,
739            kratos_courier_templates_registration_code_valid_email_body_plaintext: None,
740            kratos_courier_templates_registration_code_valid_email_subject: None,
741            kratos_courier_templates_registration_code_valid_sms_body_plaintext: None,
742            kratos_courier_templates_verification_code_invalid_email_body_html: None,
743            kratos_courier_templates_verification_code_invalid_email_body_plaintext: None,
744            kratos_courier_templates_verification_code_invalid_email_subject: None,
745            kratos_courier_templates_verification_code_valid_email_body_html: None,
746            kratos_courier_templates_verification_code_valid_email_body_plaintext: None,
747            kratos_courier_templates_verification_code_valid_email_subject: None,
748            kratos_courier_templates_verification_code_valid_sms_body_plaintext: None,
749            kratos_courier_templates_verification_invalid_email_body_html: None,
750            kratos_courier_templates_verification_invalid_email_body_plaintext: None,
751            kratos_courier_templates_verification_invalid_email_subject: None,
752            kratos_courier_templates_verification_valid_email_body_html: None,
753            kratos_courier_templates_verification_valid_email_body_plaintext: None,
754            kratos_courier_templates_verification_valid_email_subject: None,
755            kratos_feature_flags_cacheable_sessions: None,
756            kratos_feature_flags_cacheable_sessions_max_age: None,
757            kratos_feature_flags_faster_session_extend: None,
758            kratos_feature_flags_use_continue_with_transitions: None,
759            kratos_identity_schemas: None,
760            kratos_oauth2_provider_headers: None,
761            kratos_oauth2_provider_override_return_to: None,
762            kratos_oauth2_provider_url: None,
763            kratos_preview_default_read_consistency_level: None,
764            kratos_secrets_cipher: None,
765            kratos_secrets_cookie: None,
766            kratos_secrets_default: None,
767            kratos_selfservice_allowed_return_urls: None,
768            kratos_selfservice_default_browser_return_url: None,
769            kratos_selfservice_flows_error_ui_url: None,
770            kratos_selfservice_flows_login_after_code_default_browser_return_url: None,
771            kratos_selfservice_flows_login_after_default_browser_return_url: None,
772            kratos_selfservice_flows_login_after_lookup_secret_default_browser_return_url: None,
773            kratos_selfservice_flows_login_after_oidc_default_browser_return_url: None,
774            kratos_selfservice_flows_login_after_passkey_default_browser_return_url: None,
775            kratos_selfservice_flows_login_after_password_default_browser_return_url: None,
776            kratos_selfservice_flows_login_after_totp_default_browser_return_url: None,
777            kratos_selfservice_flows_login_after_webauthn_default_browser_return_url: None,
778            kratos_selfservice_flows_login_lifespan: None,
779            kratos_selfservice_flows_login_ui_url: None,
780            kratos_selfservice_flows_logout_after_default_browser_return_url: None,
781            kratos_selfservice_flows_recovery_after_default_browser_return_url: None,
782            kratos_selfservice_flows_recovery_enabled: None,
783            kratos_selfservice_flows_recovery_lifespan: None,
784            kratos_selfservice_flows_recovery_notify_unknown_recipients: None,
785            kratos_selfservice_flows_recovery_ui_url: None,
786            kratos_selfservice_flows_recovery_use: None,
787            kratos_selfservice_flows_registration_after_code_default_browser_return_url: None,
788            kratos_selfservice_flows_registration_after_default_browser_return_url: None,
789            kratos_selfservice_flows_registration_after_oidc_default_browser_return_url: None,
790            kratos_selfservice_flows_registration_after_passkey_default_browser_return_url: None,
791            kratos_selfservice_flows_registration_after_password_default_browser_return_url: None,
792            kratos_selfservice_flows_registration_after_webauthn_default_browser_return_url: None,
793            kratos_selfservice_flows_registration_enable_legacy_one_step: None,
794            kratos_selfservice_flows_registration_enabled: None,
795            kratos_selfservice_flows_registration_lifespan: None,
796            kratos_selfservice_flows_registration_login_hints: None,
797            kratos_selfservice_flows_registration_ui_url: None,
798            kratos_selfservice_flows_settings_after_default_browser_return_url: None,
799            kratos_selfservice_flows_settings_after_lookup_secret_default_browser_return_url: None,
800            kratos_selfservice_flows_settings_after_oidc_default_browser_return_url: None,
801            kratos_selfservice_flows_settings_after_passkey_default_browser_return_url: None,
802            kratos_selfservice_flows_settings_after_password_default_browser_return_url: None,
803            kratos_selfservice_flows_settings_after_profile_default_browser_return_url: None,
804            kratos_selfservice_flows_settings_after_totp_default_browser_return_url: None,
805            kratos_selfservice_flows_settings_after_webauthn_default_browser_return_url: None,
806            kratos_selfservice_flows_settings_lifespan: None,
807            kratos_selfservice_flows_settings_privileged_session_max_age: None,
808            kratos_selfservice_flows_settings_required_aal: None,
809            kratos_selfservice_flows_settings_ui_url: None,
810            kratos_selfservice_flows_verification_after_default_browser_return_url: None,
811            kratos_selfservice_flows_verification_enabled: None,
812            kratos_selfservice_flows_verification_lifespan: None,
813            kratos_selfservice_flows_verification_notify_unknown_recipients: None,
814            kratos_selfservice_flows_verification_ui_url: None,
815            kratos_selfservice_flows_verification_use: None,
816            kratos_selfservice_methods_captcha_config_cf_turnstile_sitekey: None,
817            kratos_selfservice_methods_captcha_enabled: None,
818            kratos_selfservice_methods_code_config_lifespan: None,
819            kratos_selfservice_methods_code_config_missing_credential_fallback_enabled: None,
820            kratos_selfservice_methods_code_enabled: None,
821            kratos_selfservice_methods_code_mfa_enabled: None,
822            kratos_selfservice_methods_code_passwordless_enabled: None,
823            kratos_selfservice_methods_code_passwordless_login_fallback_enabled: None,
824            kratos_selfservice_methods_link_config_base_url: None,
825            kratos_selfservice_methods_link_config_lifespan: None,
826            kratos_selfservice_methods_link_enabled: None,
827            kratos_selfservice_methods_lookup_secret_enabled: None,
828            kratos_selfservice_methods_oidc_config_base_redirect_uri: None,
829            kratos_selfservice_methods_oidc_config_providers: None,
830            kratos_selfservice_methods_oidc_enabled: None,
831            kratos_selfservice_methods_passkey_config_rp_display_name: None,
832            kratos_selfservice_methods_passkey_config_rp_id: None,
833            kratos_selfservice_methods_passkey_config_rp_origins: None,
834            kratos_selfservice_methods_passkey_enabled: None,
835            kratos_selfservice_methods_password_config_haveibeenpwned_enabled: None,
836            kratos_selfservice_methods_password_config_identifier_similarity_check_enabled: None,
837            kratos_selfservice_methods_password_config_ignore_network_errors: None,
838            kratos_selfservice_methods_password_config_max_breaches: None,
839            kratos_selfservice_methods_password_config_min_password_length: None,
840            kratos_selfservice_methods_password_enabled: None,
841            kratos_selfservice_methods_profile_enabled: None,
842            kratos_selfservice_methods_saml_config_providers: None,
843            kratos_selfservice_methods_saml_enabled: None,
844            kratos_selfservice_methods_totp_config_issuer: None,
845            kratos_selfservice_methods_totp_enabled: None,
846            kratos_selfservice_methods_webauthn_config_passwordless: None,
847            kratos_selfservice_methods_webauthn_config_rp_display_name: None,
848            kratos_selfservice_methods_webauthn_config_rp_icon: None,
849            kratos_selfservice_methods_webauthn_config_rp_id: None,
850            kratos_selfservice_methods_webauthn_config_rp_origins: None,
851            kratos_selfservice_methods_webauthn_enabled: None,
852            kratos_session_cookie_persistent: None,
853            kratos_session_cookie_same_site: None,
854            kratos_session_lifespan: None,
855            kratos_session_whoami_required_aal: None,
856            kratos_session_whoami_tokenizer_templates: None,
857            name,
858            project_id: None,
859            project_revision_hooks: None,
860            serve_admin_cors_allowed_origins: None,
861            serve_admin_cors_enabled: None,
862            serve_public_cors_allowed_origins: None,
863            serve_public_cors_enabled: None,
864            strict_security: None,
865            updated_at: None,
866        }
867    }
868}
869/// Defines access token type  This governs the \"strategies.access_token\" setting. opaque Oauth2AccessTokenStrategyOpaque jwt Oauth2AccessTokenStrategyJwt
870#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
871pub enum HydraStrategiesAccessTokenEnum {
872    #[serde(rename = "opaque")]
873    Opaque,
874    #[serde(rename = "jwt")]
875    Jwt,
876}
877
878impl Default for HydraStrategiesAccessTokenEnum {
879    fn default() -> HydraStrategiesAccessTokenEnum {
880        Self::Opaque
881    }
882}
883/// Define the claim to use as the scope in the access token.  This governs the \"strategies.jwt.scope_claim\" setting:  list: The scope claim is an array of strings named `scope`: `{ \"scope\": [\"read\", \"write\"] }` string: The scope claim is a space delimited list of strings named `scp`: `{ \"scp\": \"read write\" }` both: The scope claim is both a space delimited list and an array of strings named `scope` and `scp`: `{ \"scope\": [\"read\", \"write\"], \"scp\": \"read write\" }` list OAuth2JWTScopeClaimList string OAuth2JWTScopeClaimString both OAuth2JWTScopeClaimBoth
884#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
885pub enum HydraStrategiesJwtScopeClaimEnum {
886    #[serde(rename = "list")]
887    List,
888    #[serde(rename = "string")]
889    String,
890    #[serde(rename = "both")]
891    Both,
892}
893
894impl Default for HydraStrategiesJwtScopeClaimEnum {
895    fn default() -> HydraStrategiesJwtScopeClaimEnum {
896        Self::List
897    }
898}
899/// Defines how scopes are matched. For more details have a look at https://github.com/ory/fosite#scopes  This governs the \"strategies.scope\" setting. exact Oauth2ScopeStrategyExact wildcard Oauth2ScopeStrategyWildcard
900#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
901pub enum HydraStrategiesScopeEnum {
902    #[serde(rename = "exact")]
903    Exact,
904    #[serde(rename = "wildcard")]
905    Wildcard,
906}
907
908impl Default for HydraStrategiesScopeEnum {
909    fn default() -> HydraStrategiesScopeEnum {
910        Self::Exact
911    }
912}
913/// Configures the Ory Kratos Recovery strategy to use (\"link\" or \"code\")  This governs the \"selfservice.flows.recovery.use\" setting. link SelfServiceMessageVerificationStrategyLink code SelfServiceMessageVerificationStrategyCode
914#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
915pub enum KratosSelfserviceFlowsRecoveryUseEnum {
916    #[serde(rename = "link")]
917    Link,
918    #[serde(rename = "code")]
919    Code,
920}
921
922impl Default for KratosSelfserviceFlowsRecoveryUseEnum {
923    fn default() -> KratosSelfserviceFlowsRecoveryUseEnum {
924        Self::Link
925    }
926}
927/// Configures the Ory Kratos Strategy to use for Verification  This governs the \"selfservice.flows.verification.use\" setting. link SelfServiceMessageVerificationStrategyLink code SelfServiceMessageVerificationStrategyCode
928#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
929pub enum KratosSelfserviceFlowsVerificationUseEnum {
930    #[serde(rename = "link")]
931    Link,
932    #[serde(rename = "code")]
933    Code,
934}
935
936impl Default for KratosSelfserviceFlowsVerificationUseEnum {
937    fn default() -> KratosSelfserviceFlowsVerificationUseEnum {
938        Self::Link
939    }
940}
941