/// <summary>
 /// Initializes a new instance of the <see cref="ClientSelfServiceLoginFlow" /> class.
 /// </summary>
 /// <param name="active">and so on..</param>
 /// <param name="createdAt">CreatedAt is a helper struct field for gobuffalo.pop..</param>
 /// <param name="expiresAt">ExpiresAt is the time (UTC) when the flow expires. If the user still wishes to log in, a new flow has to be initiated. (required).</param>
 /// <param name="forced">Forced stores whether this login flow should enforce re-authentication..</param>
 /// <param name="id">id (required).</param>
 /// <param name="issuedAt">IssuedAt is the time (UTC) when the flow started. (required).</param>
 /// <param name="requestUrl">RequestURL is the initial URL that was requested from Ory Kratos. It can be used to forward information contained in the URL&#39;s path or query for example. (required).</param>
 /// <param name="type">The flow type can either be &#x60;api&#x60; or &#x60;browser&#x60;. (required).</param>
 /// <param name="ui">ui (required).</param>
 /// <param name="updatedAt">UpdatedAt is a helper struct field for gobuffalo.pop..</param>
 public ClientSelfServiceLoginFlow(string active = default(string), DateTime createdAt = default(DateTime), DateTime expiresAt = default(DateTime), bool forced = default(bool), string id = default(string), DateTime issuedAt = default(DateTime), string requestUrl = default(string), string type = default(string), ClientUiContainer ui = default(ClientUiContainer), DateTime updatedAt = default(DateTime))
 {
     this.ExpiresAt = expiresAt;
     // to ensure "id" is required (not null)
     this.Id       = id ?? throw new ArgumentNullException("id is a required property for ClientSelfServiceLoginFlow and cannot be null");
     this.IssuedAt = issuedAt;
     // to ensure "requestUrl" is required (not null)
     this.RequestUrl = requestUrl ?? throw new ArgumentNullException("requestUrl is a required property for ClientSelfServiceLoginFlow and cannot be null");
     // to ensure "type" is required (not null)
     this.Type = type ?? throw new ArgumentNullException("type is a required property for ClientSelfServiceLoginFlow and cannot be null");
     // to ensure "ui" is required (not null)
     this.Ui                   = ui ?? throw new ArgumentNullException("ui is a required property for ClientSelfServiceLoginFlow and cannot be null");
     this.Active               = active;
     this.CreatedAt            = createdAt;
     this.Forced               = forced;
     this.UpdatedAt            = updatedAt;
     this.AdditionalProperties = new Dictionary <string, object>();
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="ClientRegistrationFlow" /> class.
 /// </summary>
 /// <param name="active">and so on..</param>
 /// <param name="expiresAt">ExpiresAt is the time (UTC) when the flow expires. If the user still wishes to log in, a new flow has to be initiated. (required).</param>
 /// <param name="id">id (required).</param>
 /// <param name="issuedAt">IssuedAt is the time (UTC) when the flow occurred. (required).</param>
 /// <param name="requestUrl">RequestURL is the initial URL that was requested from Ory Kratos. It can be used to forward information contained in the URL&#39;s path or query for example. (required).</param>
 /// <param name="type">The flow type can either be &#x60;api&#x60; or &#x60;browser&#x60;..</param>
 /// <param name="ui">ui (required).</param>
 public ClientRegistrationFlow(string active = default(string), DateTime expiresAt = default(DateTime), string id = default(string), DateTime issuedAt = default(DateTime), string requestUrl = default(string), string type = default(string), ClientUiContainer ui = default(ClientUiContainer))
 {
     this.ExpiresAt = expiresAt;
     // to ensure "id" is required (not null)
     this.Id       = id ?? throw new ArgumentNullException("id is a required property for ClientRegistrationFlow and cannot be null");
     this.IssuedAt = issuedAt;
     // to ensure "requestUrl" is required (not null)
     this.RequestUrl = requestUrl ?? throw new ArgumentNullException("requestUrl is a required property for ClientRegistrationFlow and cannot be null");
     // to ensure "ui" is required (not null)
     this.Ui     = ui ?? throw new ArgumentNullException("ui is a required property for ClientRegistrationFlow and cannot be null");
     this.Active = active;
     this.Type   = type;
     this.AdditionalProperties = new Dictionary <string, object>();
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="ClientSelfServiceRegistrationFlow" /> class.
 /// </summary>
 /// <param name="active">active.</param>
 /// <param name="expiresAt">ExpiresAt is the time (UTC) when the flow expires. If the user still wishes to log in, a new flow has to be initiated. (required).</param>
 /// <param name="id">id (required).</param>
 /// <param name="issuedAt">IssuedAt is the time (UTC) when the flow occurred. (required).</param>
 /// <param name="requestUrl">RequestURL is the initial URL that was requested from Ory Kratos. It can be used to forward information contained in the URL&#39;s path or query for example. (required).</param>
 /// <param name="returnTo">ReturnTo contains the requested return_to URL..</param>
 /// <param name="type">The flow type can either be &#x60;api&#x60; or &#x60;browser&#x60;..</param>
 /// <param name="ui">ui (required).</param>
 public ClientSelfServiceRegistrationFlow(ClientIdentityCredentialsType active = default(ClientIdentityCredentialsType), DateTime expiresAt = default(DateTime), string id = default(string), DateTime issuedAt = default(DateTime), string requestUrl = default(string), string returnTo = default(string), string type = default(string), ClientUiContainer ui = default(ClientUiContainer))
 {
     this.ExpiresAt = expiresAt;
     // to ensure "id" is required (not null)
     if (id == null)
     {
         throw new ArgumentNullException("id is a required property for ClientSelfServiceRegistrationFlow and cannot be null");
     }
     this.Id       = id;
     this.IssuedAt = issuedAt;
     // to ensure "requestUrl" is required (not null)
     if (requestUrl == null)
     {
         throw new ArgumentNullException("requestUrl is a required property for ClientSelfServiceRegistrationFlow and cannot be null");
     }
     this.RequestUrl = requestUrl;
     // to ensure "ui" is required (not null)
     if (ui == null)
     {
         throw new ArgumentNullException("ui is a required property for ClientSelfServiceRegistrationFlow and cannot be null");
     }
     this.Ui                   = ui;
     this.Active               = active;
     this.ReturnTo             = returnTo;
     this.Type                 = type;
     this.AdditionalProperties = new Dictionary <string, object>();
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="ClientSelfServiceVerificationFlow" /> class.
 /// </summary>
 /// <param name="active">Active, if set, contains the registration method that is being used. It is initially not set..</param>
 /// <param name="expiresAt">ExpiresAt is the time (UTC) when the request expires. If the user still wishes to verify the address, a new request has to be initiated..</param>
 /// <param name="id">id (required).</param>
 /// <param name="issuedAt">IssuedAt is the time (UTC) when the request occurred..</param>
 /// <param name="requestUrl">RequestURL is the initial URL that was requested from Ory Kratos. It can be used to forward information contained in the URL&#39;s path or query for example..</param>
 /// <param name="returnTo">ReturnTo contains the requested return_to URL..</param>
 /// <param name="state">state (required).</param>
 /// <param name="type">The flow type can either be &#x60;api&#x60; or &#x60;browser&#x60;. (required).</param>
 /// <param name="ui">ui (required).</param>
 public ClientSelfServiceVerificationFlow(string active = default(string), DateTime expiresAt = default(DateTime), string id = default(string), DateTime issuedAt = default(DateTime), string requestUrl = default(string), string returnTo = default(string), ClientSelfServiceVerificationFlowState state = default(ClientSelfServiceVerificationFlowState), string type = default(string), ClientUiContainer ui = default(ClientUiContainer))
 {
     // to ensure "id" is required (not null)
     if (id == null)
     {
         throw new ArgumentNullException("id is a required property for ClientSelfServiceVerificationFlow and cannot be null");
     }
     this.Id = id;
     // to ensure "state" is required (not null)
     if (state == null)
     {
         throw new ArgumentNullException("state is a required property for ClientSelfServiceVerificationFlow and cannot be null");
     }
     this.State = state;
     // to ensure "type" is required (not null)
     if (type == null)
     {
         throw new ArgumentNullException("type is a required property for ClientSelfServiceVerificationFlow and cannot be null");
     }
     this.Type = type;
     // to ensure "ui" is required (not null)
     if (ui == null)
     {
         throw new ArgumentNullException("ui is a required property for ClientSelfServiceVerificationFlow and cannot be null");
     }
     this.Ui                   = ui;
     this.Active               = active;
     this.ExpiresAt            = expiresAt;
     this.IssuedAt             = issuedAt;
     this.RequestUrl           = requestUrl;
     this.ReturnTo             = returnTo;
     this.AdditionalProperties = new Dictionary <string, object>();
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="ClientSelfServiceLoginFlow" /> class.
 /// </summary>
 /// <param name="active">active.</param>
 /// <param name="createdAt">CreatedAt is a helper struct field for gobuffalo.pop..</param>
 /// <param name="expiresAt">ExpiresAt is the time (UTC) when the flow expires. If the user still wishes to log in, a new flow has to be initiated. (required).</param>
 /// <param name="id">id (required).</param>
 /// <param name="issuedAt">IssuedAt is the time (UTC) when the flow started. (required).</param>
 /// <param name="refresh">Refresh stores whether this login flow should enforce re-authentication..</param>
 /// <param name="requestUrl">RequestURL is the initial URL that was requested from Ory Kratos. It can be used to forward information contained in the URL&#39;s path or query for example. (required).</param>
 /// <param name="requestedAal">requestedAal.</param>
 /// <param name="returnTo">ReturnTo contains the requested return_to URL..</param>
 /// <param name="type">The flow type can either be &#x60;api&#x60; or &#x60;browser&#x60;. (required).</param>
 /// <param name="ui">ui (required).</param>
 /// <param name="updatedAt">UpdatedAt is a helper struct field for gobuffalo.pop..</param>
 public ClientSelfServiceLoginFlow(ClientIdentityCredentialsType active = default(ClientIdentityCredentialsType), DateTime createdAt = default(DateTime), DateTime expiresAt = default(DateTime), string id = default(string), DateTime issuedAt = default(DateTime), bool refresh = default(bool), string requestUrl = default(string), ClientAuthenticatorAssuranceLevel requestedAal = default(ClientAuthenticatorAssuranceLevel), string returnTo = default(string), string type = default(string), ClientUiContainer ui = default(ClientUiContainer), DateTime updatedAt = default(DateTime))
 {
     this.ExpiresAt = expiresAt;
     // to ensure "id" is required (not null)
     if (id == null)
     {
         throw new ArgumentNullException("id is a required property for ClientSelfServiceLoginFlow and cannot be null");
     }
     this.Id       = id;
     this.IssuedAt = issuedAt;
     // to ensure "requestUrl" is required (not null)
     if (requestUrl == null)
     {
         throw new ArgumentNullException("requestUrl is a required property for ClientSelfServiceLoginFlow and cannot be null");
     }
     this.RequestUrl = requestUrl;
     // to ensure "type" is required (not null)
     if (type == null)
     {
         throw new ArgumentNullException("type is a required property for ClientSelfServiceLoginFlow and cannot be null");
     }
     this.Type = type;
     // to ensure "ui" is required (not null)
     if (ui == null)
     {
         throw new ArgumentNullException("ui is a required property for ClientSelfServiceLoginFlow and cannot be null");
     }
     this.Ui                   = ui;
     this.Active               = active;
     this.CreatedAt            = createdAt;
     this.Refresh              = refresh;
     this.RequestedAal         = requestedAal;
     this.ReturnTo             = returnTo;
     this.UpdatedAt            = updatedAt;
     this.AdditionalProperties = new Dictionary <string, object>();
 }