# NOTE: This file is auto generated by OpenAPI Generator # https://openapi-generator.tech # Do not edit this file manually. defmodule DocuSign.Model.AccountPasswordRules do @moduledoc """ Contains details about the password rules for an account. """ alias DocuSign.Deserializer alias DocuSign.Model.AccountMinimumPasswordLength alias DocuSign.Model.AccountPasswordExpirePasswordDays alias DocuSign.Model.AccountPasswordLockoutDurationMinutes alias DocuSign.Model.AccountPasswordLockoutDurationType alias DocuSign.Model.AccountPasswordMinimumPasswordAgeDays alias DocuSign.Model.AccountPasswordQuestionsRequired alias DocuSign.Model.AccountPasswordStrengthType defstruct [ :expirePassword, :expirePasswordDays, :expirePasswordDaysMetadata, :lockoutDurationMinutes, :lockoutDurationMinutesMetadata, :lockoutDurationType, :lockoutDurationTypeMetadata, :minimumPasswordAgeDays, :minimumPasswordAgeDaysMetadata, :minimumPasswordLength, :minimumPasswordLengthMetadata, :passwordIncludeDigit, :passwordIncludeDigitOrSpecialCharacter, :passwordIncludeLowerCase, :passwordIncludeSpecialCharacter, :passwordIncludeUpperCase, :passwordStrengthType, :passwordStrengthTypeMetadata, :questionsRequired, :questionsRequiredMetadata ] @doc false defimpl Jason.Encoder, for: __MODULE__ do def encode(struct, opts) do struct |> Map.from_struct() |> Enum.reject(fn {_k, v} -> is_nil(v) end) |> Map.new() |> Jason.Encode.map(opts) end end @type t :: %__MODULE__{ :expirePassword => String.t() | nil, :expirePasswordDays => String.t() | nil, :expirePasswordDaysMetadata => AccountPasswordExpirePasswordDays.t() | nil, :lockoutDurationMinutes => String.t() | nil, :lockoutDurationMinutesMetadata => AccountPasswordLockoutDurationMinutes.t() | nil, :lockoutDurationType => String.t() | nil, :lockoutDurationTypeMetadata => AccountPasswordLockoutDurationType.t() | nil, :minimumPasswordAgeDays => String.t() | nil, :minimumPasswordAgeDaysMetadata => AccountPasswordMinimumPasswordAgeDays.t() | nil, :minimumPasswordLength => String.t() | nil, :minimumPasswordLengthMetadata => AccountMinimumPasswordLength.t() | nil, :passwordIncludeDigit => String.t() | nil, :passwordIncludeDigitOrSpecialCharacter => String.t() | nil, :passwordIncludeLowerCase => String.t() | nil, :passwordIncludeSpecialCharacter => String.t() | nil, :passwordIncludeUpperCase => String.t() | nil, :passwordStrengthType => String.t() | nil, :passwordStrengthTypeMetadata => AccountPasswordStrengthType.t() | nil, :questionsRequired => String.t() | nil, :questionsRequiredMetadata => AccountPasswordQuestionsRequired.t() | nil } def decode(value) do value |> Deserializer.deserialize( :expirePasswordDaysMetadata, :struct, AccountPasswordExpirePasswordDays ) |> Deserializer.deserialize( :lockoutDurationMinutesMetadata, :struct, AccountPasswordLockoutDurationMinutes ) |> Deserializer.deserialize( :lockoutDurationTypeMetadata, :struct, AccountPasswordLockoutDurationType ) |> Deserializer.deserialize( :minimumPasswordAgeDaysMetadata, :struct, AccountPasswordMinimumPasswordAgeDays ) |> Deserializer.deserialize( :minimumPasswordLengthMetadata, :struct, AccountMinimumPasswordLength ) |> Deserializer.deserialize( :passwordStrengthTypeMetadata, :struct, AccountPasswordStrengthType ) |> Deserializer.deserialize( :questionsRequiredMetadata, :struct, AccountPasswordQuestionsRequired ) |> then(&struct(__MODULE__, &1)) end end