/* tslint:disable */ /* eslint-disable */ /** * authentik * Making authentication simple. * * The version of the OpenAPI document: 2026.8.0-rc7 * Contact: hello@goauthentik.io * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import { mapValues } from '../runtime'; import type { PolicyEngineMode } from './PolicyEngineMode'; import { PolicyEngineModeFromJSON, PolicyEngineModeFromJSONTyped, PolicyEngineModeToJSON, PolicyEngineModeToJSONTyped, } from './PolicyEngineMode'; /** * Mixin to validate that a valid enterprise license * exists before allowing to save the object * @export * @interface RequestRuleBindingRequest */ export interface RequestRuleBindingRequest { /** * * @type {string} * @memberof RequestRuleBindingRequest */ uuid?: string; /** * * @type {PolicyEngineMode} * @memberof RequestRuleBindingRequest */ policyEngineMode?: PolicyEngineMode; /** * * @type {string} * @memberof RequestRuleBindingRequest */ rule: string; /** * * @type {string} * @memberof RequestRuleBindingRequest */ target: string; /** * How long a request against this binding stays pending before it automatically lapses if not approved or denied. * @type {string} * @memberof RequestRuleBindingRequest */ expiryPending?: string; /** * The maximum duration a grant approved against this binding can last. * @type {string} * @memberof RequestRuleBindingRequest */ expiryGrantedMax?: string; } /** * Check if a given object implements the RequestRuleBindingRequest interface. */ export function instanceOfRequestRuleBindingRequest(value: object): value is RequestRuleBindingRequest { if (!('rule' in value) || value['rule'] === undefined) return false; if (!('target' in value) || value['target'] === undefined) return false; return true; } export function RequestRuleBindingRequestFromJSON(json: any): RequestRuleBindingRequest { return RequestRuleBindingRequestFromJSONTyped(json, false); } export function RequestRuleBindingRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): RequestRuleBindingRequest { if (json == null) { return json; } return { 'uuid': json['uuid'] == null ? undefined : json['uuid'], 'policyEngineMode': json['policy_engine_mode'] == null ? undefined : PolicyEngineModeFromJSON(json['policy_engine_mode']), 'rule': json['rule'], 'target': json['target'], 'expiryPending': json['expiry_pending'] == null ? undefined : json['expiry_pending'], 'expiryGrantedMax': json['expiry_granted_max'] == null ? undefined : json['expiry_granted_max'], }; } export function RequestRuleBindingRequestToJSON(json: any): RequestRuleBindingRequest { return RequestRuleBindingRequestToJSONTyped(json, false); } export function RequestRuleBindingRequestToJSONTyped(value?: RequestRuleBindingRequest | null, ignoreDiscriminator: boolean = false): any { if (value == null) { return value; } return { 'uuid': value['uuid'], 'policy_engine_mode': PolicyEngineModeToJSON(value['policyEngineMode']), 'rule': value['rule'], 'target': value['target'], 'expiry_pending': value['expiryPending'], 'expiry_granted_max': value['expiryGrantedMax'], }; }